Inspiration
One of the reasons we listen to music is to enjoy the mood of a song. However, it is difficult sometimes to find a song that matches our current mood. As music lovers, our team wants to utilize deep learning to solve this problem, by generating a song with a set of words(not necessarily directly about emotion).
Data
Lyrics dataset (MusicOSet) and Melodies dataset (Lakh MIDI)
What it does and how it does
Our project will consist of 2 main parts. For the first part, we want to process an input in the forms of words. Then, we would like to generate the lyrics by having list of words using RNN. To build this model, we will have lyrics data as an input and use important generator to get a list of important words from the lyrics. Then, we will train this model by having important words as an input and the lyrics as an output using RNN. (Hence, we will have two models in this part (important word generator and words2lyrics) The second part will focus on generating songs(or melodic notes) by using CNN. Our data sets will be lyrics as input and melodies (loaded into Music21 stream object) as output. Using that stream object, we can get a list of all the notes and chords in the file. Therefore, with two parts, we can generate songs (lyrics+melodies) using set of words.
Metrics
First part: We can find accuracy of words2lyrics by comparing the input (set of words) and words from important word generator of the output from words2lyrics. Second part: We can normally use accuracy and loss of CNN model Overall: We define "success" by the results. If the songs generated using this model sounds decent and are related to the input words, we will call this "success". Although this is quite subjective, this makes sense in a non-programmers' perspective.
Ethics
Song dataset would be mainly collected from Spotify or other mainstream streaming platforms mostly consisting of pop American and European pop songs. This is because their simplicity in both aspects. This decision will greatly affect our output. We will keep in mind that our output does not diverse and represent all groups of music genre. There is no definite way to measure the accuracy of our model as there is no ‘correct’ lyrics and melodies. We will estimate the accuracy of the lyrics by its relevance to the input words, and the accuracy of the melodies by music theories principles.
Division of labor
First part: Chayathorn and Nop Second part: Phunn
Built With
- python
- tensorflow
Log in or sign up for Devpost to join the conversation.