HydrogenAudio

Hydrogenaudio Forum => General Audio => Topic started by: romor on 2012-08-30 05:13:15

Title: Echonest fingerprinting
Post by: romor on 2012-08-30 05:13:15
The script: view (http://goo.gl/v17ov)  download (http://goo.gl/6nNiN)

Req:
1. SoX
2. ENMFP_codegen (http://static.echonest.com/ENMFP_codegen.zip) (just unpack codegen.dll and test.exe from Release folder somewhere)

Script expects audio file path, then SoX decodes it to single channel 22k raw file which is than passed to test.exe (it does not accept feeding from stdin unfortunately, so small, 20 sec, temp file is created and deleted afterwards. After test tool provides code sequence, track is identified through echonest api requests.

For formats not supported by SoX, suitable decoder can pipe data to SoX obviously
Correct path to sox.exe and test.exe needs to be set inside script

More about this fingerprinting tool can be read here: http://notes.variogr.am/post/27796385927/t...e-echo-nest-faq (http://notes.variogr.am/post/27796385927/the-audio-fingerprinting-at-the-echo-nest-faq)

In action:
- from console (verbose is set to 1 which is not the default)
(http://i.imgur.com/8zweXt.png) (http://imgur.com/8zweX.png)

- from foobar2000 as run service
(http://i.imgur.com/MNU8yt.png) (http://imgur.com/MNU8y.png)

Additionally track ID can be retrieved for querying more services: http://developer.echonest.com/docs/v4/index.html#rosetta (http://developer.echonest.com/docs/v4/index.html#rosetta)

They claim 35 M unique track database and future musicbrainz interoperability (http://echoprint.musicbrainz.org)