I will build a song recognition backend for your music app


About this gig
Get a production-ready backend that identifies songs in real-time from live microphone audio. Perfect for music apps, karaoke tools, research projects, or any service needing reliable song recognition all in Python, with minimal setup.
What you get:
- WebSocket server for streaming audio bytes
- Real-time song recognition powered by ShazamIO
- Fixed 10-second recognition window (optimal for accuracy)
- JSON responses with track metadata + confidence score
- Duplicate detection to avoid repeated results
- Clean, well-documented Python code
Audio input: raw PCM (browser-friendly)
Output: structured JSON events
Optional upgrades include a demo client and Dockerized deployment.
- If you need reliable, integration-ready audio recognition, this is built for you.
Song used in demo video:
Song: Rameses B - ALL IN MY HEAD
Music provided by NoCopyrightSounds
Free
Get to know Joseph N
I build AI powered revenue automations for ecommerce brands
- FromUnited Kingdom
- Member sinceJan 2026
Languages
English
Other Software Development Services I Offer
FAQ
Can I use this backend with a browser client?
Yes! The backend receives raw PCM or WAV bytes over WebSocket, so you can stream audio directly from a browser using MediaRecorder or libraries like WavTools.
Why does it use 10-second chunks instead of a continuous sliding window?
Fixed 10-second chunks make the system simpler, more reliable, and easier to integrate. It ensures ShazamIO has enough audio for accurate recognition without overwhelming the server.
Can I change the chunk length or window size?
Technically yes, but it may impact accuracy. 10 seconds is recommended for the best balance between speed and recognition reliability.
Does the backend provide lyrics or streaming audio?
No. The service only returns track metadata (title, artist, Shazam track key, and confidence score).
What kind of audio formats are supported?
The backend expects raw PCM/WAV. The client handles microphone recording and conversion before sending. FFmpeg is used internally for any necessary conversion to MP3 bytes for ShazamIO.
Can this run in production?
Yes! The Dockerized package provides a ready-to-deploy backend suitable for apps, bots, or other real-time audio recognition projects.
What if ShazamIO doesn’t recognize a track?
You’ll get a no_match JSON event. Recognition depends on Shazam’s database, so some tracks may not be detectable.
How fast is detection?
Recognition is processed in 10-second chunks, so the delay is typically around the chunk duration plus network latency and ShazamIO processing time.

