Identify songs in DJ Mix

I was all excited to use this open source Chromaprint thing. My plan was, (please correct me)… well… Say a DJ mix is about 60 minutes… The songs overlap… sometimes for long durations… I would use an average song length about 5 mins for house music… we multiply that times 3 (to get three samples for each song on average)… so… 60 mins = 1 sample every 1.66 minutes. The sample would ten seconds… I would send 36 samples (60 / 5) * 3 to AcousID… for identification… Discard the duplicates

But then I read something about Chromaprint is designed for entire songs… any advice please? Will this work for 10 second clips? and if not… Can I use the shazam way with an open source database?

I did see something about identifying songs in a live stream… can the DJ Mix be treated like a live stream even though theres no gaps in the songs?

Chromaprint is designed to work with static files and works by process the song and produce a hash of the samples and is turned into an image.
A recording starting with a slightly different offset of will be calculated differently and produce different result.
So unfortunately you could not use it to create an open source shazam, it just does not have the resolution.

One thing that might get you closer to shazam style music detection would be acousticbrainz.org
This is a metabrainz project that collects low level acoustic information by applying a series of algorithms to find details such as key, bpm, beat patterns etc.
So theoretically you could combine some of these parameters and find matching recordings.
The system is not designed to be queried like that and it might not have high enough resolution to be useful for music detection and no code has been written.

1 Like