As there is no web version of Shazam we decided to create our own.

What it does

The application provides the user with a simple interface that allows the user to find the name of the song even in noisy environments by clicking a button and immediately recording a sample of a song through the device microphone. After processing the input, the application returns the name of the song, the artist and the YouTube video for it.

How we built it

We used recordRTC to record streams from the standard microphone input and then we take the WAV file and send it to out custom node.js package that goes to the Shazam API. We take the artist and the title from it and then using the Youtube API we print title artist and include a video of the song in an iframe.

Challenges we ran into

Recording audio samples in the browser. Closing the microphone stream permissions after using the microphone.

Accomplishments that we're proud of

It works reliably and recognises a wide range of songs.

What we learned

Real time communication, getting the audio/video from the microphone, webcam and screen. Node package management. Node.js promises. Express serving static pages and dynamic pages.

What's next for SongID

Use websockets to increase the speed of recognising the song.


Share this project: