You hum a song, and nobody knows what you're trying to sing.
Have you ever remembered a song which you don't know the name of, but know the tune to? Well look no further, Hummit is here for you! Inspired by Shazam, we thought of a new way to intelligently search for songs by the way they sound; by converting frequencies into actual, musical notes.
What it does
While Shazam and other big companies rely on huge databases of audio data files, we rely on simple arrays that contain these musical notes that can be compared with easily and more efficiently. Essentially, we're comparing a dataset of values which are frequencies with the frequencies of an actual song that exist in our database. We can use Microsoft Azure Bot Service for Cortana so that discovering a new song is more user-friendly.
How we built it
Challenges we ran into
Problems with the application were all tied to unnecessary frequencies being detected in our application. This made matching algorithms and the error rate difficult to compute. In order to reduce errors, the framerate was decreased in the FFT and more song data was added to the database. The second challenge that we ran into was with Microsoft Azure and Cortana. They don't have a bot service that works well in the Canadian region.
Accomplishments that we're proud
Using Java sound APIs were difficult; so being able to implement a FFT processing application without a Java sound API was quite an accomplishment. The success rate of the detection of the songs is reasonably high when the user hums the notes slowly. In all, our biggest accomplishment is that our app is working.
What we learned
- Learning brand new libraries and implementing Java files for sound filtration algorithms was one of the biggest things we learned.
- Cross platform use of APIs between different languages and different systems