⭐ Inspiration
We built the HacKaraoke mostly thorough JavaScript while using API from discord.js to connect with Discord application to play the karaoke and listen to the user to score them based on how a transcribe lyrics of their singing compares with the lyrics from genius. If the other people want to ever use our bot we would have them go through the website made with Tailwind CSS as way to add it to their own server.
✌️How we built it
Whenever we are in a voice call with our friends, we would always have a bot that would play music in the voice channel, and we would sing to the song if it was something catchy or everyone knows. This interaction in the voice channel reminded us of karaoke party we would hang out in-person, so why not make a bot that would be our very own Karaoke machine, and that is how the HacKaraoke came to life as a way for everyone to sing in virtual just as they sing in-person party.
💥 Challenges we ran into
The challenges we ran into was the way we would integrate the many API to the HacKaraoke so that it can be fully usable to the bot for example: getting the lyrics from genius as their API needed the song ID instead of song and artist name; and the Discord.js voice API documentation was either old and doesn't work with our version. However our biggest problem was how to get the audio from the user and store it, as the documentation wasn't straight forward, we didn't know how to store it in a file where we could hear; for most of the time we were able to the .ogg file but couldn't play as it was too small meaning it was leaving to early or there was something wrong with getting the data from the Discord voice API.
🤔 What we learned
Through HacKaraoke we learned how to integrate many API to a discord bot and how to use the very buggy voice API that Discord.js have. We also learned how an outdated documentation would be an unfriendly user experience to someone else using your API when they don't know most of the variable and classes that functions would use.
🏆 Our Accomplishments
We were able to setup and implement most of the services and APIs, including learning how to use Google's Cloud Speech-To-Text API for voice session dictation. We were overall able to figure out the ins and outs of using both Discord's API and discord.js's library.
⏭️ What's next for HacKaraoke
If we were to continue on our development on our HacKaraoke we would add a feature to automatically turn the music given to us into instrumental when the url given is one with lyrics; then we would also add a way to display the lyrics in a way that its easier to sing a long with in discord, like maybe streaming the words up on the voice channel or maybe sending them to another website with lyrics. We also try to bug fix the scoring system to that of a better one that would listen to the rhythm, tone and diction of the user to better reflect a better score if words don't match up instead of them just comparing the lyrics to each other.
Log in or sign up for Devpost to join the conversation.