You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project generates new lyrics which did'nt exist before of your favourite artists , using Recurrent-Neural-Networks (RNNs) from a data-set created by web scrapping The GENIUS website using its API.
After vectorizing the text and creating training examples and targets , a four layer model was used. The Four layers used are :
1. Embedding layer -> The input layer. A trainable lookup table that will map the numbers of each character to a vector with embedding_dim dimensions
2. GRU layer -> A type of RNN with size units=rnn_units (Birectional-LSTM could also be used here.)
3. Dense layer -> The output layer, with vocab_size outputs and 'RELU' as the activation fuction
4. Dropout layer -> Benifits regularisation and prevents overfitting
The final prediction loop for text generation works as follows
3. Head over to https://genius.com/api-clients/new , create your GENIUS account and then generate a client api and get your 'CLIENT ACCESS TOKEN'.
4. Install 'lyricsgenius' module in your local terminal. Execute lyrics_scrapper_from_GENIUS_website.py for each individual artist , to fetch their songs from The GENIUS website in a JSON file. (number of songs , title , popularity and be mentioned). Repeat execution for many artists.
5. Execute lyrics_dataset_creator.py to parse the JSON files which selects just the 'lyrics' key. It also creates the dataset named 'lyrics_dataset.txt' after doing some data-cleansing.
6. Run the Lyrics_Generation.ipynb notebook (preferably in Google Collab with GPU support for faster execution) , uploading the 'lyrics_dataset.txt' file , getting the new lyrics being generated.
7. Tweak the hyper-parameters according to "YOUR" best results