Giter Site home page Giter Site logo

aswinjayaji / manglish_lyrics_generator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nandakishormpai/manglish_lyrics_generator

0.0 0.0 0.0 25.17 MB

TinkerHub Build From Home || ML track

Python 37.43% HTML 6.47% JavaScript 3.15% CSS 15.39% Jupyter Notebook 37.56%

manglish_lyrics_generator's Introduction

BFH Banner

Sithara Song Generator

A Manglish lyrics generator that can give you Lyrics of a Malayalam Song that doesn't exist! in our favourite Manglish language. When User requests for one, API call is sent and pretrained model generates a lyrics and it is returned as response and displayed for you using JavaScript.

You can view the website here

Team members

  1. Nanda Kishor M Pai
  2. Aswin Jayaji
  3. Hari Krishnan U

Team Id

BFH/recEHiCGthePHSlQQ/2021

Link to product walkthrough

Watch the video by clicking image below

Product Walkthrough

How it Works ?

  1. The project website can be found here. A manglish lyrics gets generated when the user enters a keyword and clicks the Generate Lyrics button and the lyrics gets cleared when the user uses the Clear button. If the keyword entered by the user is not found in our dataset, then an alert is shown an user is given sample keywords from which they can choose from. The website was built using HTML, CSS and JS along with axios module for API request and response. On pressing the Generate Lyrics button, an API GET request gets called which returns the lyrics. The API is built on the micro-web framework Flask. The ML model along with the prediction script is incorporated into Flask and deployed onto Heroku after testing it locally. The api can be found here. The source code regarding the api and website can be found in the api and frontend folders respectively.

    The dataset collected was splitted into train and validation in the ratio 85:15. Minimal Data Preprocessing was done on the collected dataset, as more would have result in the loss of song lyrics structure. A Deep Learning model with an architecture including an Embedding layer, LSTMs and fully connected layers were built using PyTorch and the model was trained on the dataset. We obtained a validation CrossEntropyLoss of 3.325. Since the training was RAM intensive, it was carried out in Goole Colab and the jupyter notebook used for training and validation can be found here. The Validation Loss, was found out and was compared with the number of epochs, using suitable plot diagrams drawn with matplotlib. Required Hypertuning of parameters was done by varying batch size, number of epochs and learning rate. The source code regarding the model can be found in model folder.

    For collecting the dataset, we scraped the lyrics (in manglish) of Sitara songs from the internet. We used this website to scrape them and organized the lyrics in separate text files for training and validation. We used Beautiful Soup for web scraping. The source code regarding the same can be found in scrapper folder.

Live Demo

Watch the video by clicking image below

Live Demo

Libraries used

  • pandas - 1.2.4

  • numpy - 1.20.3

  • torch - 1.8.0+cpu

  • matplotlib - 3.4.2

  • flask - 2.0.0

  • gunicorn - 20.1.0

  • beautifulsoup4 - 4.9.3

How to configure

Inorder to train the model, load the python jupyter notebook found here in a Google Colab and make a copy of it for your use.

How to Run

After configuring the project as above mentioned, Run cells of the notebook in chronological order and download the model after training.

To see the Live demo, try this website. hello hai

manglish_lyrics_generator's People

Contributors

harikrishnan6336 avatar nandakishormpai avatar aswinjayaji 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.