Generates lyrics with given constraints.
may take few minutes to load
-
- The datset folder consists of .txt files which contains lyrics of some of the singers.\
- The fromat of the txt file is
-Song Name-
Lyrics
-Song Name-
Lyrics - Dataset is uploaded on kaggle : Song Generation
- All the data is collected manually from web.
-
- vocab_text.csv
- contains vocabulary extracted from songs.
- vocab_line.csv
- contains unique count of words in line of song.
- generate_lines.h5
- model to generate list of number of words per line in a song.
- generate_text.csv.h5 (Due to memory constraint, I didn't upload this file. You can get this file here from my Kaggle Notebook)
- vocab_text.csv
-
- all CSS,JS files are present here in their respective folders.
-
- HTML files are present.
- app.py : python file
- Procfile : needed for Heroku to know what commands it need to run.
- requirements.txt : to specify the libraries needed to install to Heroku.
- runtime.txt : to specify specific version of python.
Song Generator is web-app deployed on Heroku.
-
- First the lyrics file(.txt) is preprocessed to get required inputs (No of songs,song as list,No of words....)
- NLTK wordnetlemmatizer is also used in preprocessing. To know more about NLTK toolkit visit NLTK.
- In the first model the preprocessed data is taken and given to model which gives a continuous words present in the required song as output.
- The same preprocessed data is taken and given to second model which gives a list of "Number of words" present in a line as output.
- Finally the outputs of the 2 models is taken and the final song is produced as per the given length and lines of song.
- I used the Tensorflow(2.3.0) ML library to do this task.To know more about TensorFlow library visit TensorFlow.
- Output lyrics are obtained by giving a starting word in first model and starting number of word per line in second model.
- More details are in my kaggle notebook
-
- used an online template and made changes to HTML,CSS,JS files.
-
- You can go through this YT playlist created by me for reference Deploying ML model on Heroku using Flask.
- For more details visit Heroku.
- Using better pretrained models to get good results.