← Beiträge

ListenBrainz & MusicBrainz: Das Wikipedia der Musikdaten


Auf meiner Homepage läuft seit kurzem ein kleines Widget: Ein pulsierender Punkt zeigt an, was ich gerade höre — oder, wenn ich offline bin, was ich zuletzt gespielt habe. Auf der Konsum-Seite gibt es ein Album-Grid, das sich aus Songs speist, die ich bei ListenBrainz mit einem Herz markiert habe.

Die Datenquelle dahinter: ListenBrainz — mein Ersatz für Last.fm, das ich jahrelang genutzt habe. Und damit beginnt eine Geschichte, die weit über ein schlichtes Scrobbling-Widget hinausgeht.


Was ist MusicBrainz?

MusicBrainz ist eine offene, kollaborative Musikdatenbank — betrieben von der gemeinnützigen MetaBrainz Foundation. Das Konzept ist verblüffend einfach und gleichzeitig enorm ambitioniert: Jeder Künstler, jedes Album, jede Aufnahme, jede Veröffentlichung bekommt eine eindeutige ID — eine sogenannte MBID (MusicBrainz Identifier), die global einmalig und dauerhaft gültig ist.

Die Analogie zu Wikipedia trifft es gut: Eine weltweite Community pflegt die Daten ehrenamtlich, nach klaren Regeln und mit einer offenen API. Das Ergebnis ist heute eine der vollständigsten und strukturiertesten Musikdatenbanken der Welt — mit Millionen von Künstlern, Alben, Tracks, Texten, Beziehungen zwischen Bands, Remixes, Erscheinungsdaten und mehr.

Was Wikipedia für enzyklopädisches Wissen ist, ist MusicBrainz für Musikmetadaten: ein offenes, freies, gemeinsames Gut.


Das MetaBrainz-Ökosystem

MetaBrainz ist nicht nur MusicBrainz. Über die Jahre ist daraus ein ganzes Universum verwandter Projekte entstanden:

ListenBrainz

ListenBrainz ist der freie, quelloffene Nachfolger des klassischen Last.fm-Scrobblings. Musik abspielen → Scrobbler erfasst den Track → ListenBrainz speichert ihn in deinem Profil, dauerhaft und exportierbar.

Ich habe Last.fm viele Jahre genutzt, um mein Hörverhalten zu tracken. Der Wechsel zu ListenBrainz war trotzdem einfach: Die eigene Listen-History lässt sich vollständig importieren, und der Umstieg fühlt sich rückblickend längst überfällig an.

Was ListenBrainz von Last.fm unterscheidet: Die eigenen Daten gehören einem selbst. Kein Lock-in, kein Abo-Modell für Statistiken, keine undurchsichtige Datennutzung. Die gesamte API ist öffentlich und kostenlos zugänglich — auch für Daten anderer Profile, solange diese öffentlich sind.

Dazu gibt es nette Extras: Empfehlungen, Jahresrückblicke, Playlist-Export, und eine wachsende Community von Entwicklerinnen und Entwicklern, die Clients und Integrationen bauen.

Cover Art Archive

Das Cover Art Archive ist ein gemeinsames Projekt von MusicBrainz und dem Internet Archive. Es speichert Albumcover frei zugänglich — verknüpft über die MBIDs der Releases. Das bedeutet: Wer eine MBID kennt, kann mit einer einzigen URL das zugehörige Cover in verschiedenen Auflösungen abrufen.

In meiner Konsum-Implementierung mache ich genau das: Für jedes gelikte Album hole ich über die MusicBrainz-API das Erscheinungsjahr — und über das Cover Art Archive das Coverbild.

AcoustID & AcousticBrainz

AcoustID löst ein klassisches Problem: Wie identifiziert man einen Musiktitel, wenn man nur die Audiodatei hat, aber keine Tags? AcoustID generiert einen akustischen Fingerabdruck des Audiosignals und gleicht ihn gegen eine Datenbank ab — verknüpft ebenfalls mit MusicBrainz-IDs.

AcousticBrainz war ein Versuch, akustische Eigenschaften (Tempo, Tonart, Stimmung) für Millionen von Tracks zu erfassen. Das Projekt wurde 2022 eingestellt, aber die gesammelten Daten sind weiterhin öffentlich verfügbar.

BookBrainz

Ganz folgerichtig gibt es auch BookBrainz — dasselbe Konzept, angewendet auf Bücher: Autoren, Verlage, Ausgaben, Übersetzungen, alles mit dauerhaften IDs und offener API.


Die Software

Zum Ökosystem gehört auch eine Reihe praktischer Programme, die MusicBrainz-Daten nutzen:

MusicBrainz Picard ist der offizielle Tag-Editor für Musikdateien. Er berechnet akustische Fingerabdrücke lokaler Dateien, findet die passenden Releases in der Datenbank und schreibt saubere, standardisierte Tags zurück — inklusive MBIDs, Cover Art und allem anderen. Für jemanden mit einer großen MP3-Sammlung ist das Gold wert.

Beets ist ein Kommandozeilen-Werkzeug für die Verwaltung von Musikbibliotheken. Es nutzt MusicBrainz im Hintergrund, um importierte Dateien automatisch zu identifizieren und zu sortieren. Mit Plugins lässt es sich zu einem vollständigen Musikverwaltungssystem ausbauen.

ListenBrainz Scrobbler — zum Scrobblen gibt es Clients für praktisch alles: Plugins für Spotify, VLC, MPD, Plex, Kodi, Jellyfin und viele mehr. Wer Spotify nutzt, kann direkt verknüpfen; wer ein eigenes Setup betreibt, greift zum passenden Plugin.


Meine Integration

„Now Playing” auf der Homepage

Das Widget auf der Startseite ruft alle 60 Sekunden (gecacht) den ListenBrainz-Endpunkt /user/altner/playing-now ab. Wenn dort ein Track gelistet ist, erscheint ein pulsierender Punkt — das klassische „jetzt läuft”-Signal.

Einen Sonderfall gibt es: ListenBrainz sendet kein explizites „Stopp”-Signal, wenn ein Track endet. Liegt ein Track seit mehr als 15 Minuten im „playing-now”-Status, interpretiere ich das als fehlenden Stop-Event und falle auf den letzten Eintrag aus der normalen Listen-History zurück.

const PLAYING_NOW_MAX_MS = 15 * 60 * 1000;

if (
	cache.playingNow.data &&
	playingSince &&
	Date.now() - playingSince > PLAYING_NOW_MAX_MS
) {
	return null; // Kein "now playing" mehr — stale Signal
}

Album-Grid auf der Konsum-Seite

Der interessantere Teil: Ich frage die /feedback-API ab und filtere nach score=1 — das sind alle Tracks, die ich mit einem Herz markiert habe. Aus diesen Tracks extrahiere ich die zugehörigen Releases über das mbid_mapping-Feld im Response.

Dann passieren zwei Dinge parallel:

  1. Über die MusicBrainz-API hole ich für jede Release-MBID das Erscheinungsjahr.
  2. Über das Cover Art Archive lade ich das Albumcover.

Beide Quellen werden serverseitig gecacht — Albumcover als Datei auf dem Server (1 Stunde TTL), Metadaten in einer JSON-Datei. So entstehen keine unnötigen API-Anfragen bei jedem Seitenaufruf, und die Seite bleibt schnell.

Das Ergebnis ist ein horizontaler Scroll-Grid, der zeigt, welche Alben mich gerade begleiten — direkt verlinkt auf die jeweilige MusicBrainz-Release-Seite.


Warum das alles so richtig gut ist

Was mich an MusicBrainz und ListenBrainz wirklich begeistert, ist nicht das einzelne Feature — es ist die Haltung dahinter.

Offene Daten statt Silos. Musikmetadaten sind ein kollektives Kulturgut. Dass eine gemeinnützige Organisation sie konsequent frei hält, unter freien Lizenzen veröffentlicht und mit einer stabilen API zugänglich macht, ist keine Selbstverständlichkeit. Spotify, Apple Music und Co. sitzen auf riesigen Metadatenbeständen und geben nichts davon zurück.

Stabile IDs. Eine MBID für einen Track ist dauerhaft. Kein Streaming-Dienst kann sie löschen oder umbenennen. Wer heute eine MBID kennt, kann in zehn Jahren noch dieselbe URL aufrufen und die Daten abrufen. Das ist archivtauglich.

Community-Qualität. Millionen von Einträgen, von echten Menschen gepflegt, die Musik mögen und Wert auf korrekte Daten legen. Das schlägt algorithmisch generierte Metadaten in vielen Bereichen.

Kein Lock-in. Alle Listening-Daten lassen sich aus ListenBrainz exportieren — als JSON, als JSPF-Playlist, was auch immer. Wer wechseln will, kann wechseln. Das fühlt sich in einer Welt von Plattformen, die Daten als Bindungsmittel einsetzen, geradezu radikal an.

Wer Musik hört und bislang nur auf Last.fm scrobbelt: ListenBrainz ist einen Blick wert. Das Datenschutzversprechen ist echt, die API ist großartig, und die Community wächst.

Und wer eine wilde Musiksammlung auf der Festplatte hat: Picard läuft einmal durch, und danach hat man Tags, die wirklich stimmen.

Per E-Mail kommentieren
← Beiträge