Did you ever want to sing along to a song but don't know the lyrics?
Tired of going through the tedious process of searching for multiple sites to find the right lyrics?
We have a solution!
Flyrics uses Artifical Intelligence and Machine Learning to generate lyrics for a song in a matter of minutes.
No need to search online databases just to find out the lyrics to a song.
Check out the project details below in order to learn how flyrics works, and get started right away!
Report Bug
·
Submit Feature
Flyrics uses an Artifical Intelligence and a Machine Language approach to generate lyrics on the fly. The project is divided into a backend (python & flask) and a frontend (react native). The user is able to either record a sample of a song, or upload an already existing file in the frontend. The frontend then communicates with the flask server in the backend which is responsible for all of the processing. This processing includes the usage of a python library spleeter which uses a trained model to separate the vocals from the song that was inputted. The vocals are then slowed down in order to increase speech recognition accuracy. The slowed file is passed on to Google's Speech-to-Text API which handles the conversion of the vocals into text. The result is a JSON object which is passed back to the frontend. Finally, the result is displayed in the frontend and the files that were created in the backend are deleted to save disk space.
The process of getting started is twofold, and is described below.
- Make sure you have git installed on your computer.
- Run the following command to clone the repo:
git clone https://github.com/AhadKhan98/Flyrics.git
- Flyrics uses a library that is dependent on an external audio tool FFmpeg.
- Please refer to their instructions on setting it up. Downnload FFmpeg
- Browse into the
flask-backend
folder. - Make sure you have python3 and pip installed.
- Install dependencies using the following command:
pip install -r requirements.txt
ORpip3 install -r requirements.txt
- Run the following command to start the server:
python main.py
ORpython3 main.py
- If you see a message like the one below, you have successfully started the backend server.
- Browse into the
frontend
folder. - Make sure you have Node and NPM installed.
- Install dependencies using the following command:
npm install
- Once dependencies are installed, start the metro bundler using
react-native start
. - Start the emulator using
react-native run-android
or if for iOSreact-native run-ios
. - If on windows, use
npx
as prefix before commands. - If everything is set up correctly, you'll see android or iOS emulator depending on the command with App working.
NOTE: Make sure that you have Android Studio or iOS emulator all set up before hand. For detailed instructions to set up React Native Development environment, read React Native Documentation.
We would absolutely love for you to help us in making Flyrics better by contributing to our project. Head to the Contributors page to get started right away!
We promote an open and a welcoming environment in this community. We pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. Learn more about our Code of Conduct.
Watch our demo on YouTube
Made with ❤ by Ahad Zai and Saurabh Kumar Suryan during MLH Fellowship Explorer Sprint 3 (Fall 2020)