robbiebarrat / rapping-neural-network

Rap song writing recurrent neural network trained on Kanye West's entire discography
1.04k stars 167 forks source link

Feedback: Great work, heres more lyrics for you #6

Closed korymath closed 7 years ago

korymath commented 7 years ago

Congrats on the great project and nice work.

Here is a nice dataset of Kanye lyrics which may help you https://www.kaggle.com/viccalexander/kanyewestverses

Fantastic work so far, and looking forward to seeing how this progresses.

korymath commented 7 years ago

Also, once you have 6000 lines, you may need to start thinking about performance for how you handle data structure operations in rhymeindex()

robbiebarrat commented 7 years ago

Thank you so much - the rap it made with this turned out REALLY good - I haven't tried such a large dataset before.

As for performance, I don't see it being a huge problem as it only took my laptop (first gen i5 processor) about 6 or 7 minutes to write a rap. Training could be another issue though... I'll make sure that if there are issues with this i'll redo how rhymeindex() handles the operations.

korymath commented 7 years ago

Can you share the rap?!

Did you use the same beat? Did you use the all 6000 lines?

Any ideas on how to set the voice to the rhythm? or to calculate the tempo from the beat?

Also, does your software depend on AABB rhyme schemes?

On 1 February 2017 at 10:19, Robbie Barrat notifications@github.com wrote:

Closed #6 https://github.com/robbiebarrat/rapping-neural-network/issues/6.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/robbiebarrat/rapping-neural-network/issues/6#event-945116122, or mute the thread https://github.com/notifications/unsubscribe-auth/AAK3s6q3rVG9KT725oW5TAiypm_vSGlUks5rYL60gaJpZM4LzcU3 .

--


Kory Mathewson

robbiebarrat commented 7 years ago

Can you share the rap?!

Sure! Here it is: http://pastebin.com/raw/wGsf515H

Did you use the same beat?

I've ran it through speechtest.py and it seems alright but i haven't recorded it. I did use the same beat as i used in my example.

Did you use all 6000 lines?

no, it used 278. It doesn't use too many because if you have so many lines, it is much easier finding a small portion of them that combine into a song rather than rearranging ALL of them to rhyme, etc. The program has a limit (I believe a third of the lyric length is the cutoff -- that or ~100 lines.) The reason this exceeded the 100 lines limit is because it was all one "verse" (it is one single output of the nn), and the check for length is after each verse is written.

Any ideas on how to set the voice to the rhythm? or to calculate the tempo from the beat?

Usually it's just about ~4 tries of trial and error. In speechtest.py you will be adjusting the variable "rate". I have yet to find a link between "rate" and bpm of a song.

Also, does your software depend on AABB rhyme schemes?

No - the neural network learns the rhyme schemes. You could train it on a rapper that uses some obscure rhyme scheme, and it would start rhyming like that. It learns - there are no hard rules that it follows when arranging the lines, really.