Week of Apr 8 - 12
- Continued implementation of melody generator tool
- Added ability for longer words to get different note types to make it flow more naturally
- Brainstormed outline ideas for collaborative group paper
- Next Steps:
- More sophisticated library of notes to pull from
- Get more music theory into the melody generation
- Time permitting: Look into some deep learning approaches
Week of Apr 1 - 5
- Worked on implementation of melody generator tool
- Status:
- Given any .txt file, it breaks up the lines into the individual words, checks the ending phoneme and assigns all phonemes the same note.
- For example:
- "One fish, two fish. Red fish, blue fish" would be mapped to something like
- "A B, C B. D B, C, B."
- Uploaded code to github: https://github.gatech.edu/ohaileyesus3/vip-spring19
- Next steps:
- implement more complex notes/chords
- check for more complex rhymes; examine more than just the last phoneme
Week of Mar 25- 29
Week of Mar 18- 22
Week of Mar 11 - Mar 15
- Wanted to see if the kanye_network linked in previous weeks was actually detecting number of syllables but it turns out it was just a hyperparameter not actually determined by the network
- After exploring a variety of neural nets and lyric generators to little avail, I realized that given my lack of technical music training, it would be better to back track and gain a better fundamental understanding of the technical side of rhyme scheme, meter, and rhythm
- https://spinditty.com/industry/How-to-Set-Words-to-Music
- Rhythm in music refers to the way the beats are arranged, the stresses that give us strong and weak accents
- break the words up into their constituent syllables
- when analyzing iambic pentameter, the strong-weak accents are regular so can provide easy basis for creating a melody
- final stage of the process involves turning your rhythm into a melody
- Base it on a scale pattern - that could be a major, minor, pentatonic, blues or whole tone scale, going up or going down
- Return back to the stress/rhyme models from Deep-speare: https://people.eng.unimelb.edu.au/tcohn/papers/acl18lau.pdf
Week of Mar 4 - Mar 8
- No meeting; Guthman Competition
Week of Feb 25 - Mar 1
- Continuing goals from last week; no significant updates
Week of Feb 18 - Feb 22
- Took a deeper look into https://github.com/robbiebarrat/rapping-neural-network
- Tried changing the lyrics on which it trains
- Next week:
- May try to incorporate Rob's lyric scraping tool to train network above^^^ on other artists
- First iteration of demo could just be hitting a key at the end of a line or on every rhyme
- Should shift focus less about lyrics themselves and observe how these repos actually do the analysis
Week of Feb 11 - Feb 15
- Looked into implementing Raplyzer
- Got it running locally & tried manipulating existing repo of lyrics
- When I originally ran it, it printed results normally. Then I erased the contents of the .txt file that had the highest rating and it had no effect on results. If I decide to pursue Raplyzer further, I need to take a deep dive into the code to figure out why this happened
- Looked into trying to implement DopeLearning
- looks like it's powered by DeepBeat: http://deepbeat.org/
- Doesn't look like its open source, or at least I couldn't find a repo
- Found another rap lyric generator github repo - https://github.com/kjaisingh/rap-lyrics-generator
- Ran it locally and began training the model
- Kept interrupting and only message is "Killed: 9"
- so I ran it on the weinberg-lenovo-1.music.gatech.edu machine
- soooo, I found another one: https://github.com/robbiebarrat/rapping-neural-network
- and this one seems very promising. It currently trains on just kanye's discography, but I ran it in the google colab notebook linked in the github readme and got it to generate a whole verse in a matter of minutes.
- will spend next week looking into how this one was implemented
- During next week, send Shannon rap songs that are happy, sad or informative
- Potential Demo Idea: Given an existing rap verse, we can auto-detect the flow/bpm/tempo and have shimon play along. (If successful, maybe get this working with a live rap verse that dynamically changes tempo)
Week of Feb 4 - Feb 8
- Raplyzer
- multi-syllable rhyme schemes: not only the last syllable but multiple syllables that share a vowel sound
- great open source speech synthesizer, eSpeak, which can be used to obtain a phonetic transcription of the lyrics
- how it works:
- For each word, find the longest matching vowel sequence that ends with one of the 15 previous words (doesnt not consider duplicate words or lines)
- (could we look into a different pool of words other than the previous 15?)
- Compute the average rhyme length (= Rhyme factor) by averaging the lengths of the longest matching vowel sequences of all words.
- Battlebot:
- “spit” any line that comes to your mind and BattleBot will respond with a list of the best rhyming lines
- page forbidden but the concept seems pretty similar to what we want to do
- DopeLearning: A Computational Approach to Rap Lyrics Generation
- RankSVM algorithm, and a deep neural network
- uses same rhyme density measure as raplyzer
- "use our model to identify the best next line among a set of candidate next lines taken from the lyrics repository"
- not from the same song and that they do not end with the same words
- outperforms the top human rappers by 21 % in terms of length and frequency of the rhymes in the produced lyrics
- (we can look into incorporating emotion when considering next line)
- (if shimon is simply producing melodies, we may not need lyric generation)
- Deep-speare: tools to analyze rhyme schemes
- implement raplyzer and look into nltk
- look into vocaloid
Week of Jan 28 - Feb 1
- Background Research/Potential Ideas:
- Look into rhyme scheme analysis of existing rap songs
- How can we analyze a given rap verse and identify which artist it most resembles
- Using last semester's work of using deep learning to generate melodies and blending them with the analyzed rhyme schemes
- Look into: http://www.rapscience.net/
- Look into: NLTK