Generate new lyrics in the style of any artist using LSTMs and TensorFlow.
Branch: master
Clone or download
Latest commit 32c1732 Jan 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets added new tag lines and thumbnail images Sep 20, 2016
code Fix tensorflow API change Jan 23, 2018
data_wrangling Remove Blue border around thumbnails Sep 18, 2016
.gitignore Remove Blue border around thumbnails Sep 18, 2016
LICENSE Initial commit Sep 17, 2016
README.md Update README.md Apr 10, 2017

README.md

encore.ai

Generate new lyrics in the style of any artist using Deep Learning.
Winner of "Best Machine Learning Hack" at HackMIT!

Check it out at http://encore.ai.

Music Lives Forever.

From Elvis to The Beatles, Nirvana to Tupac, many of the musicians we love are no longer creating. encore.ai lets you revive the spirit of your favorite artists in the modern age.

We are impatient.

Cant wait for the next Kanye album to drop? Were you part of the public outcry over the delayed release of Frank Ocean's new record? Fret no more – encore.ai delivers your favorite artist's next single at the touch of a button.

But How Does It Work?!

We used TensorFlow to create an LSTM (Long Short Term Memory) Neural Network that reads all of the lyrics of any musical artist. The network learns the style of how the artist writes – the context of words, rhymes, line/stanza breaks, etc. Given a seed word or phrase, it will generate a new song in that artist's style.

Some Examples:

Kanye West

Never I admit I can't do I see a drug som...
I’m ’bout to re-united
I'll need have to play me alone
I'll fade back O extra until they cover from an ultralight beam

Because you do her money before my Sean harder
Now, 2 West I one away
I’m up, so quit, One:]
yeah, I will
You see, you need)
All your mic from a moment
I'm saying, violate

Let’s got no goodbyes to a dem me
now?
I been nothing funny but we go n****
Get all my racks steps

And rockin' (Grandma) watch my strippers got getting this bitch a shot, is like somebody It's old shit
And oh precious *
Cause we call that ready for not

[Hook]
It's an room 2 now, in the restaurant, clothing on.
Standing dem my money

[Kanye West:]
Let's fly off beats that I’m at these good life with you
keep the big ass, take my things and throw my shit’s is stronger

Taylor Swift

paper lying here
'Cause I swear out there ain't where
You outta be
And you flashback to when he said forever and always
Oh, and it rains in your bedroom
Everything is wrong
It rains when the sun came up, you were lookin' at me
Santa baby, forgot to mention one little thing
A ring

And I don't think it all through? All these things will change
Can you feel it now?
I fall in love with you
Give me a photograph to hang on my wall, superstar

How'd we got problems
And I don't think we can solve them
You were the prince
I used to see
The one we danced to all night long

Cause you got me a nice new apartment
In a city, wouldn't you have to make me go back there again."

Find the wrong wrong
On our last night
Ooh, ooh, love's like this
It's something I missed
Ooh, ooh, ooh, ooh
It was the best night, never would forget how he moved.

Instructions to Train:

If you want to use our model to train your own artists, follow these steps:

  1. Pick an artist – it should be someone with a lot of lyrics. (Over 100,000 words).
  2. Collect all of the artist's lyrics from your favorite lyrics website. Save each song as a text file in data/artist_name/. We recommend leaving newlines in as a special token so that the network will learn line and stanza breaks.
  3. Train by navigating to the code directory and running python runner.py -a <artist_name> -m <model_save_name>.
  • Our models were all trained for 30,000 steps.
  1. Generate new songs by running
    python runner.py -a <artist_name> -l ../save/models/<model_save_name>/<ckpt_file> -t.
  • Optional: If you would like to specify "prime text" – the initial text that the model will generate from – pass in a string with the -p flag.
  1. Share your trained models with us so we can feature them on our website! Create an issue with a link to a public Dropbox or Google Drive containing your model's .ckpt file.