Song selection screen
Press the play button to hear the new track, or show the lyrics
Karaoke file is now playing
Tracking down instrumental version of songs to use for karaoke can be extremely difficult and frustrating. For some rare songs, it can also be difficult to find accurate lyrics for them, forcing you to to either transcribe the audio manually, or give up. By providing a service that automatically generates an instrumental song file and its corresponding lyrics for you, it is no longer necessary to waste your time searching.
What it does
Karaoke Generator allows the user to quickly and efficiently get the instrumental track and lyrics for a song of their choice. All that's required by the user is to upload the chosen music file, and the application will remove the vocal track, convert the vocal track into lyrics and return the track without vocals.
How we built it
The front end that the user interacts with was made using Android. After the user selects a song, the song is uploaded to a Django server for file processing. Once the audio file is uploaded, signal processing is done in python to strip the vocal tracks from the song. In addition, lyrics are generated by breaking up the song into multiple files, and sending it to Google's speech-to-text API. Once processing is complete, the lyrics are returned to the android app, along with a path to the instrumental file on the server. Finally, the file is retrieved and the user can use the new instrumental track as they please.
Challenges we ran into
The major challenge that was encountered was the conversion of speech to text. Due to the fact that there's no perfect algorithm to convert speech to text, some songs will result in more accurate lyric output, while others will result in less accurate lyrics. Another challenge is the separation of the vocal and instrumental tracks, as in some songs, the lines between vocal and instrumental are blended.
Accomplishments that we're proud of
By combining signal processing, Django, and Android development, our project tried to enable self-service entertainment, by significantly reducing the amount of time and work involved in karaoke production. We believe our project has great market potential since Karaoke is incredibly popular around the world.
What we learned
We learnt how to do signal processing in python, and how access Google's speech to text API. Insights were also made on the complexity of the algorithms needed to properly isolate the vocal and instrumental tracks. On the android front, we learnt how to properly send multipart data files like audio files and then play them.
What's next for KaraokeGenerator
- Improved signal processing algorithm for vocal removing and speech recognition
- Lyric time-stamps
- Improved UI