We all love karaoke, so we wanted to turn our vocal performances into a song that we could play back and share with our friends!
What it does
The user inputs an artist and a song of their choice, and our program finds the best instrumental using YouTube's API. After the song downloads, you are ready to record yourself singing with the instrumental in the background! Make sure you plug in a good microphone and put your headphones on for the best experience. After you record your amazing performance aided by lyrics displayed thanks to Genius API, you can play back and listen to the merged audio files and hear yourself as a Superstar!
How we built it
API: YouTube & Genius Language: Python (100%) (modules: pydub, wave, pyaudio, urllib, youtube_dl, lyricsgenius) Website: Bootstrap link
We utilized Genius and YouTube API to find the best instrumental and lyrics for the inputted song details. We used Tkinter for the GUI (yeah we know) and used a variety of modules to edit and convert the audio files.
Challenges we ran into
We ran into a lot of compatibility issues with many of our modules. Specifically, we struggled to convert YouTube audio files (.webm) to .wav files. This is mainly due to YouTube's strict policies on separating audio and video for copyright reasons. Conversion issues took up most of our time, however, we had smaller issues with our GUI not displaying what we needed it to and crashing when it was trying to display the lyrics, but we eventually pushed through and figured it out.
Accomplishments that we're proud of
We have never dealt with "audio engineering" per se, so this was an enthralling experience to learn new technologies and methods to dissect audio files with python! We also have not really worked APIs as extensively as we got to during this project. Additionally, we are very proud that we were able to merge to audio files and create an amazing karaoke experience for the user.
What we learned
Never get too stressed over minuscule details because of the time constraint we have. It overall degrades the team morale when both of us are down, so it is important to stay driven and motivated to finish our project.
What's next for Secret Superstar!
We are definitely going to continue this project. There is a lot to improve, especially in the UI department. We eventually want to be able to display the lyrics live as you are supposed to sing them, but given our time constraints, we are happy with what we made.