Search code examples
audiocommand-line-interfacefingerprintfingerprintingmusicbrainz

Musicbrainz fingerprinting


I've been busy with understanding the MusicBrainz database in the past few hours and as I noticed there's no command line application to tag or fingerprint audio files. Are there any CLI implementations on Musicbrainz's fingerprinting? And how can I create those fingerprints?

I found some development tools on their website (python-musicbrainz2, libdiscid and the XML webs service) but I couldn't find a simple tool or app which creates those fingerprints (the developments tools only seem to be useful for retrieving track/artist information using a fingerprint). Am I understanding something wrong?

Kind regards


Solution

  • The fingerprinting is done with the external libofa library. (Also see MusicDNS.) So, in fact it is not ‘Musicbrainz’s fingerprinting’ but Amplifind’s.

    I don’t know if any command line tool currently exists but the code being shown in the documentation does not look very complicated to me (but you will need a license to get access to the database); so if needed, you might be able to write your own.

    Also, you could have a look at the musicdns directory from the Musicbrainz Picard sourcecode; they are using the Python interface there.

    I think it not easy for Musicbrainz to give a CLI implementation since the MusicIP is not always reliable and there are cases when user input is needed; which is why they might be concentrating on their GUI Picard.