Coder Social home page Coder Social logo

song-generation-webapp's Introduction

Song-Generation-App

Generates lyrics with given constraints.

may take few minutes to load

Details of Files present in Repository

  • dataset

    • 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.
  • files

    • 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)
  • static

    • all CSS,JS files are present here in their respective folders.
  • templates

    • 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.

Details of Project

Song Generator is web-app deployed on Heroku.

  • Model Training

    • 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
  • Frontend

    • used an online template and made changes to HTML,CSS,JS files.
  • Deployment

Things I couldn't do because of memory constraint ๐Ÿ˜ข(500MB)

  • Using better pretrained models to get good results.

song-generation-webapp's People

Contributors

shanmukh05 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.