Ich möchte Euch eine neue Möglichkeit zur Erkennung (Fingerprint) von Musikstücken vorstellen: AcoustID
Der grosse Vorteil von "AcoustID" ist die Tatsache, dass sämtliche benötigten Komponenten "Open Source" sind. Der Quellcode für den Client, den Server und die Datenbank selber stehen öffentlich bei github.com zur Verfügung. Zudem gibt es fertig kompilierte und downloadbare Pakete für Windows, Linux und Mac.
Die einfachste Anwendung zum Erzeugen von AcoustID-Fingerprints ist folgende:
a ) Den passenden Client für das eigene Betriebssystem von dieser Seite http://acoustid.org/chromaprint downloaden.
b ) Unter Windows kann man das aktuell nur mal gerade 700kb grosse chromaprint-fpcalc-1.5-win32.zip in ein beliebiges Verzeichnis entpacken, es enthält nur eine einzige Datei: fpcalc.exe
c ) Dieses Fingerprinting-Programm ruft man in einem CMD-Fenster wie folgt auf:
fpcalc.exe "Dateiname.mp3"
d ) Dabei werden standartmässig 120 Sekunden des Songs analysiert. Details dazu findet man hier: http://oxygene.sk/lukas/2011/01/how-does-chromaprint-work/
Als Ausgabe erhält man 3 Werte:
1.) FILE=Dateiname.mp3
2.) DURATION=259 (die erkannte Liedlänge)
3.) FINGERPRINT=AQADtI-icJEkPMOzSRnc.... (ca. 3600 Zeichen)
e ) Das Problem besteht nun darin, die 'Duration' und den 'Fingerprint' in die entsprechenden id3v2.3-Tags zu schreiben. Sobald ich offiziell vom Author Lukáš Lalinský höre, wie diese Tags heissen müssen, werde ich hier meinen dafür verwendeten Commandline-Batch und die Mp3tag-Aktionsgruppe mit dem Import veröffentlichen.
-> Leider existiert bis heute (März 2021) noch keine Commandline-Möglichkeit, die Werte direkt in die Tracks zu schreiben.
Was nützen denn nun diese Fingerprints?
Nur weil man seine eigenen Tracks dank obigem Verfahren mit Fingerprints versehen hat, nützt einem das noch gar nichts. Bis hierhin wurden auch noch keinerlei externe Datenbanken oder Abgleiche verwendet. Bis hierhin wird alles lokal auf der eigenen Maschine erstellt.
Damit diese Fingerprints einen Nutzen haben, muss mindestens 1 anderer AcoustID-Benutzer den gleichen Fingerprint schon mal erstellt und in die AcoustID-Datenbank hochgeladen haben. Dies sollte man zum grössten Nutzen aller Anderen aber nur mit qualitativ möglichst gut getagten Stücken machen.
Folgendes Verfahren verwendet man um die Metadaten hochzuladen:
WICHTIG: Es werden nur Metadaten der Stücke wie "Artist", "Album", "AlbumArtist", "Bitrate", "Duration", "Fileformat", "Title", "Year", "Trackno", "Discno" und verschiedene ID's übermittelt. Es werden z.B. keine identifizierenden Daten des Benutzers übermittelt. Wer sich selber vergewissern will, kann den entsprechenden Sourcecode hier:
https://github.com/lalinsky/acoustid-finger...r/tagreader.cpp
und
https://github.com/lalinsky/acoustid-finger...ter/tagreader.h
kontrollieren.
Und hier steht, welche Metadaten via Webservice übermittelt werden können:
http://acoustid.org/webservice#submit
Wer sich aber fragt, wieso man sich trotzdem mit einer ID anmelden und einen kostenlosen API-Key für die Übermittlung anfordern muss, sollte den dritten Abschnitt der FAQ http://acoustid.org/faq lesen. Es geht hauptsächlich um anonyme Statistiken und um allfällige Bereinigungsläufe.
Wie funktioniert das mit dem Übermitteln der eigenen Metadaten an AcoustID?
1.) Man lädt sich das GUI-Tool "Fingerprinter" von http://acoustid.org/fingerprinter passend für seine Umgebung (Windows, Linux, Mac) runter.
2.) Dann entpackt man (unter Windows) das rund 7,7MB grosse Zip-Paket in ein beliebiges Verzeichnis.
3.) In diesem Verzeichnis findet man dann 14 *.DLL-Dateien und eine einzige "acoustid-fingerprinter.exe"
4.) Diese "acoustid-fingerprinter.exe" doppelklickt man, copy&pasted seinen hoffentlich inzwischen beantragten, kostenlosen API-Key und wählt ein Verzeichnis mit seinen qualitativ gut getagten Stücken aus.
5.) Dann klickt man auf den Button "Fingerprint" und schaut/hört zu, wie sämtliche Prozessorkerne endlich einmal auf Hochtouren drehen.
6.) Dieser Vorgang und die Übermittlung selber dauern je nach Anzahl zu taggenden Dateien entsprechend. Eine Fortschrittsanzeige hilft dabei.
HINWEIS: Es dauert NICHT 120 Sekunden pro Song bis er analysiert ist. Auf meinem Rechner ist das in knapp 2 Sekunden pro Song erledigt.
Ok, ich habe meinen Beitrag geleistet und meine getaggten Stücke übermittelt. Was hilft das nun?
Wie man aufgrund von Fingerprints seine eigenen Stücke "erkennen" lassen kann, steht detailliert hier beschrieben: http://acoustid.org/webservice
Hier hoffe ich auf Script-Künstler in diesem Forum, welche die bekannten und äusserst effektiven Websourcen so anpassen oder neue erstellen können, dass man auch neue, ungetaggte Stücke aufgrund eines erzeugten Fingerprints erkennen lassen kann.
Wenn man sich beispielsweise dieses Stück in MusicBrainz ansieht:
http://musicbrainz.org/recording/cd2e7c47-...7c-a1eb7bf599ff
kann man den dritten Tab "Fingerprints" anklicken.
Dort sieht man neben den vielleicht bereits bekannten PUID* neu auch die AcoustID-Fingerprints.
Klickt man auf die AcoustID in diesem Beispiel:
http://acoustid.org/track/9ff43b6a-4f16-42...c2-92307ca505e0
kommt man zurück auf die AcoustID-Webseite.
Man sieht daraus, dass AcoustID eng mit Musicbrainz und umgekehrt zusammenarbeitet. Ich finde das eine unterstützenswerte Sache.
Aus dem Bauch heraus kann ich mir sehr gut vorstellen, dass einmal mit Fingerprints versehene Stücke sehr viel einfacher und direkter gefunden werden können, als z.B. mit einer Suche über die Titel, den Interpreten, das Album etc.
Nun bin ich gespannt, was IHR zu AcoustID meint?