Music-lyric trivia meets Kahoot in our fast-paced, phone-based music guessing game!
Using a experimental speech recognition system, karaoke files, and the Spotify API, compete against your friends in a game of peer-to-peer karaoke.
We wanted to make a framework for Kahoot and JackBox-like games that was very modular. We also knew we wanted to have a musical component. Upon discovery of files used for karaoke machines, we decided to adapt these files for use with spotify and create a quiz game.
A computer connects to the Spotify API and calibrates streaming of music with the karaoke-style display. Clients connect to the host and take turns singing missing sections of well known songs into their microphones. They are scored on their accuracy, and at the end of the game a winner is determined.
Very carefully! We split into three groups in charge of client, server, and host. We then connected the components together using sockets.
Karaoke files - while great due to the way they split up a song into the sung syllables, are often off from their studio-recorded original counterparts. To fix this, we manually synced the timing for every syllable with the timing of the Spotify versions of the songs. We did this by tapping the syllables out on a keyboard, creating a fun rhythm-game-like way of calibrating the karaoke files.
We are proud of our ability to divide and focus on many different components, and then quickly and seamlessly integrate them to a finalized product we enjoyed playing.
We all learned a lot about Javascript, intricacies of asynchronous programming, and the usage of the Spotify API. We also learned the experimental speech to text API, and how to utilize sockets for cross component communication
Difficulty levels: Easy levels would pull from the chorus, and hard levels would pull from lesser known verses.
In a wider scope, we would like to focus on turning this app into an open source framework that will allow many other users to create phone and computer interconnected webapplications.
Git, Heroku, the Spotify API, Node.js, an experimental speech to text API, and love.