Rap Song Writing Neural Network

Hey Sup Forums - I'm a high school student (18) and I wrote a neural network that reads a bunch of Kanye lyrics and learns how to write rap songs based on them. The raps it generates aren't really that bad, they're surprisingly coherent, they rhyme, and they flow to an extent. With the help of a markov chain it writes them *word by word* (generates it's own lines).

Github:
github.com/robbiebarrat/rapping-neural-network

Output of 'speechtest.py':
soundcloud.com/rapping_neural_network/networks-with-attitude

What do you think? How could I improve it?
Thanks.

Other urls found in this thread:

pastebin.com/raw/MUDc9Unt
pastebin.com/raw/5y1x9vHk
en.wikipedia.org/wiki/Universal_approximation_theorem
youtube.com/watch?v=mMBCeOnMt18
github.com/pybrain/pybrain
scikit-learn.org/stable/modules/neural_networks_supervised.html
boingboing.net/2017/02/14/rhymes-from-a-machine-learning.html
twitter.com/SFWRedditVideos

Oh yeah, forgot to mention - I need a clever name for the network.

So far I have "Notorious I.B.M.", which is alright, but let me know some more names please.

that's fucking hilarious but why not have it read a bunch of rappers lyrics instead of just kanye?

Lol they couldn't be any worse than Kanye originals. Post some examples.

you don't really need a nueral network to make rap tho

like a depth 3 makorov chain will do it as well as real rappers

>makarov
lol

can a depth three markov chain rhyme/count syllables? I think not - although they're quite useful I don't know how well they'd assist in this specific matter.

Well, if you go to the github page you'll find you can just fill "lyrics.txt" with lyrics of your choosing (newline delimited) - and it'll work with whatever you feed it. I just found a HUGE dataset of ~6,000 kanye lyrics and decided to use that as an example.

give me a second

Funny story - originally i tried it with "Lil' B" - he's a horrible rapper and my goal was to get a neural network to write better raps than the human it learned from, and i figured that using Lil' B would make this the easiest for me.

I moved to Kanye lyrics after someone linked me to the dataset (it's in the github repo as 'kanye_lyrics.txt' - and again if you don't want to use kanye lyrics you can just fill 'lyrics.txt' with anything you like as long as it's newline delimited).

Some examples of good stuff it's written are:
pastebin.com/raw/MUDc9Unt
pastebin.com/raw/5y1x9vHk

uhhhh... no it won't?
like he said they can't rhyme and stuff - and if they were as good as normal rappers we'd be listening to them already...

Lil' Compy
Compy West

>le babby's first neural network

this impresses only the uninitiated.

Find a voice that doesnt sound like shit

Kanye is unironically a great rapper. Youre taste is objectively shit

Agreed - Kanye is really great imo.

I think you're right and I do need to, to an extent though. I don't want it to sound like a person (like a super realistic tts)- because i still want it to be obvious that it's not a human rapping but rather a neural network (the voice makes this obvious, and is slightly more true to my vision for the project than a realistic one), but i do believe that you're right in the respect that the voice needs to be *understandable*.

I'll look around and see what i can find, thanks!

Where is a good place to learn about using neural networks? I want to get into them as they seem very interesting. I used to make chatbots which used markov chains, but i've never messed around much with neural networks.

Any suggestions?

MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS
MACHINE LEARNING

NEURAL NETWORKS

NiggerNet Explorer

This is nice. Suggestions? Look into formant speech synthesis. You could maybe make your own voice.

WHERE DO I SIGN UP FOR TURING POLICE TO STAND MY GROUND / SERVE AND PROTECT AGAINST THIS CLEARLY THREAT TO PUBLIC SAFETY???

Notorious HTTP.
Puff Lappy
NAS
Networks With Attitude
Algaholics
x0rbit
RIAA-quan
.man()

As a kanye stan can i get a copy of the lyrics

>markov chains
>"""""""""""""deep""""""""""""" learning

>IBM
literally just call yourself Big Blue.
It's a rapper-ish name.

come off it, he's 18

what the fuck were you coding at that age?

Call it "gay fish"

multilayer perceptron if you will

run the speech through some autotune

MACHINE NETWORKS
NEURAL LEARNING

God damn are you guys retarded or just social inept? How can a joke go that far over someones head. He's joking about rap and the vocabulary used. Not funny if it has to be spelled out for you.

Let's see you provide something at least as meme as this with your technical skills.

This.

I am fucking dying

...

just learn python and then read the documentation for pybrain - worked for me

i don't know what you're
>implying
but yes i used markov chains, and no that isn't why i consider it deep learning - but rather because i used a deep recurrent neural net.

nice work, this sounds better than i exepted

thanks!

>implying that it's easy to code a neural network

fuck off

ur an fagit

nice dubs - i really do think that neural nets and machine learning are slightly more than a meme/buzzword/fad.

They've been around for a real long time - but they're getting popular now because of a lot of open source libraries/projects/etc that make it easy for anyone to develop them, and also the hardware we have today enables us to train neural nets practically.

So yes, they're popular now, and they may seem like a fad, but I believe we'll be seeing a lot of important developments regarding neural nets / machine learning in the immediate future.

They've definitely improved from where they were, but I think we'll hit another wall as to what they're capable of doing within the next few years. Of course this doesn't mean people shouldn't play around with them, and push them to the limit of what they can do.

Well, there's always stuff like the en.wikipedia.org/wiki/Universal_approximation_theorem , which states that a neural network with a finite amount of neurons can approximate *any* function- after making a few humble assumptions first, but still - i don't think the issue is going to be something like "neural networks are too dumb to do x, y, and z".

Personally, I think that the two challenges that we're faced with today are
>being able to see what neural networks are "thinking" - being able to see what is going on inside of them, rather.
>finding a more elegant way to link neural networks together

who knows, maybe it won't be neural networks, maybe another machine learning model that will make the difference, but i guess only time will tell. It's real interesting stuff.

Ah, the naive optimism of youth, I hope you truly relish the feeling of that being crushed out of you over the next twenty to thirty years

Neat!

The lyrics are actually decent. Not that I understand a word about it. Cuz its all in the beat.

You know. You can sell this directly to Kanye and get payed in millions! Then he dont need them rap writers anymore since its painfully obvious that modern singers dont write their own songs today.

Jesus Christ user, wouldn't it just be easier and more dignified to offer him your boipussy directly?

>You the number one I'mma beat my brother

TOPKEK

This is cool.
A tip for naming: it can be fun to pick a fun name from a technical description.
I came across this one recently:
Annotation QUick Analysis for PhylOgeNY, "AQUA PONY".

>Bust a playa with the kids I never had
>All his time, all he had, all he had, all he had

Wew what a great song OP, you totally shouldn't kill yourself!

Going to add a word-by-word method instead of letter-by-letter to the one I made for Sup Forums.

i wouldn't want to sell it and make money... i'd rather just publish it open source...

lmfao

>the universal approximation theorem is naive optimism of youth

>Namefag
>replies using multiple short posts
Perhaps you should have built one that diagnoses cancer instead, then we could figure out exactly what your problem is

>namefag
i'm not even using a tripcode - only using my name so you can tell who i am (it's sort of relevant to discussion).

>getting mad over posting style
c'mon...

Didyou fucking dare disrespect the basedGod!

AI has seen a recent surge due to advances in deep learning brought about by geoffrey hinton. you clearly have no idea what you'e talking about and you're just an arrogant child brute forcing with a library until you see some sort of results. not necessarily a bad thing but stop being so arrogant and continue learning.

youtube.com/watch?v=mMBCeOnMt18

Sorry - you're right, my reply does make it seem that way (i typed it in like, a minute on my phone between classes at school) - and you aren't completely wrong.

I'm quite familiar with geoffrey hinton - the guy is crazy good;
>first to use back propagation
>invented boltzmann machines
>time-delay networks
>a bunch of other stuff i can't quite understand yet

I really don't know if i would attribute the ENTIRE recent surge of AI/ML to him though - although he definitely is responsible for a vast majority of it.

As for being an arrogant child - you're pretty much right about me being an arrogant child, but I haven't just been 'brute forcing with a library until i see some sort of results', I like to think it's been a little bit more sophisticated than that. Anyways - care to point me in the right direction for learning? What sort of thing should I be trying to learn, any materials that helped you grow out of the arrogant child phase? Should I read up more on the actual inner-workings of ANNs and machine learning models? Maybe try and write my own functions instead of using a library? Help me out.

I thought the surge in AI/learning is due to the vast corpus it now can draw from

read \/
its a combo of this, computer power, the internet, open source projects, rapidly spreading interest, corporations pouring a shit ton of money into ml, and a plethora of other factors. geoffrey hinton is cool but you're a faggot
>you're just an arrogant child brute forcing with a library
you can be wrong but don't be a bitch about it

>memerap track starts
>producer screaming his name in my ears
>rap man tells me I'm not ready for this one
>rap man reminds me what album I'm listening to
>rap man reminds me which year said album was recorded in
>rap man reminds me where he is in the "rap game" (at the top, of course)
>rap man tells me his name, moniker, "rap name", or all three
>rap man tells me he's "going in" before starting a verse
>rap man tells me how much money he has
>rap man says "uh... yeah"
>rap man name drops a bunch of clothing lines and automobile companies

can't understand shit because of the stupid voice

I'm working on the voice - if anyone reading this knows of good tts libraries hit me up.

here are the lyrics; pastebin.com/raw/MUDc9Unt

>google their website
>see this

I think their site is having a meltdown right now lel

anyone got a link to a 3rd party site lol

github.com/pybrain/pybrain
the documentation is in the 'docs' folder

>he listens to ASAP rocky

Much appreciated

scikit-learn.org/stable/modules/neural_networks_supervised.html

How long does it take for it to finish making a song?

Kill yourself, you dumb fucking shit stain.

This. I was basically OP at his age (though I wouldn't have been retarded enough to post my full name and photo on Sup Forums). Now I'm currently taking ML, CV, and AI courses and my dreams are being crushed as time goes on. Don't get me wrong though. There are constant breakthroughs and new applications for any combination of these topics which are interesting to learn about.

>code
there is nothing being coded here
he literally imported a python lib and fed it a dataset

about 5 minutes on my old thinkpad (using the already trained one)

if you could have done anything differently - what would you have done?

Whelp, I'm getting an issue with Dataset being empty

>posts cool thing you did on Sup Forums
>Hundred people see it
>20% call you retarded
>posts cool thing on reddit
>Millions of people see it
>1% call you retarded

I don't think this is the best place to post your stuff op

Not been an arrogant cunt?

I'm a CS student and I would have started talking to professors during their office hours earlier in my university career. I only really started going regularly during the latter part of my third year. I regret not going in to talk to them earlier because they have such great insight on whatever you might be interested in and will always encourage you to learn. Your professors will likely be on the forefront of research as well, and they love to talk about their work if you are truly interested.

Not me

have you filled lyrics.txt with lyrics? (just paste some rap lyrics in there)

i'm taking some classes at the nearby uni and i LOVE stopping by and seeing them during office hours - you're 100% right. I'll do that more with my data professor - as he's the one who knows about neural networks and such. thank you

yes, it runs but it doesn't do anything it just stalls half way through. rip

just go back to rebbit

i'll post it there - which board though? i'm not very familiar with reddit...

Probably /r/programming or /r/compsci not /r/machinelearning though, they would rip you to shreds.

Straight outta Computer

>hundred
more like 16 geeks on g or if you go to pol like 24 smelly viral marketers see it. b is a porn board now so it will be invisible.

How long should this take? Mine has been sitting here for around five minutes saying it's writing the rap.

nono - let it go, does it "stall" after it makes the list of possible rhymes? it'll come at you all at once and generate the rap like, 5 minutes after that.

give it a few more minutes - it'll work. maybe try cutting the dataset down to ~1000 lines? (just backspace in lyrics.txt)

also changing word by word to 0 at the top makes it run considerably faster...

if that still doesn't work open an issue on github please

It stalls after saying " *Writing the rap 'word by word'* "

You are unironically a wanker

How has OP "robbie" been at all arrogant? He's answered all your "yor a dum fagit" critiques of him without getting wound up like a little bitch you are now. Grow a set and stop being a coward.

No one who actually knows anything about hiphop thinks Kanye is a great rapper. He's not even close to the top.

>t. robbie

Robbie,

please stop coming here. You're young, pretty/moderately talented (it's still too early to judge that, but you seem really passionate). I've seen your work mentioned on other media outlets recently. You have just learned python and you've still a long way to go.

Just don't fuck up and stop asking for validations here. You'll find little to zero valid input or contribution here and literally every project which crossed its road with Sup Forums vanquished or rotted badly.

My two cents:
- the robotic voice is horrible
- I'd plow your mouth (no homo)

it's funny but this

Make an issue on github please - i'd really like to get this worked out ASAP.

i know you won't believe it, but surprisingly wasn't me.

thank you this is actually very good advice. I don't think i'll come to Sup Forums for a while after this - nothing wrong with this thread in particular but i do see your point, and i'll heed your advice.

Also
>I've seen your work mentioned on other media outlets recently.
!?!? what, where? Link me?

As for your two cents; - i'm working on the robotic voice i swear, and i'm glad you said no homo :^)

>!?!? what, where? Link me?
boingboing.net/2017/02/14/rhymes-from-a-machine-learning.html

"Notorious cmd"

holy crap what why would someone write an article about that

Saw something similar to this a couple of months ago, it was an artificial intelligence using machine learning to develop lyrical music.

Looked through your code, and I have to say, pretty neat what you're doing here, definitely keep it up.

I'm your age at the moment, started teaching myself programming at 8th grade and it branched into EE, CE, cryptography and mathematics more and more each subsequent year, though I try to keep everything tied together in my projects.

I'm more of an engine guy myself, programming things like interpreters, graphical engines, development environments, you know the lot.

Been playing around with synthesizers recently as a means of practicing EE in the same sort of independent way I've taught myself CS, definitely recommend you to check those out if you're interested.

If I ever see you in the future, I'll say hi. You seem like a great person to work with, so good day to you.