MusicBrainz Metadata Provider für disk2iso - liefert Album-/Track-Metadaten für Audio-CDs mit Disc-ID basierter Suche.
- Disc-ID Suche - Automatische Erkennung via CD-Disc-ID
- Album-Metadaten - Künstler, Album-Titel, Release-Jahr, Label
- Track-Informationen - Track-Titel, Künstler, Länge
- Cover-Art - Album-Cover von CoverArt Archive
- MusicBrainz API - Offene, freie Musikdatenbank
- Cache-System - Automatisches Caching für 30 Tage
- Multi-Language - Unterstützt 4 Sprachen (DE, EN, ES, FR)
- Provider-Framework - Registriert sich beim disk2iso Metadata-Framework
- Kein API-Key nötig - Komplett kostenlos und ohne Registrierung
- disk2iso >= v1.2.0 mit libmetadata.sh (Installation)
- curl - Für API-Requests
- jq - Für JSON-Parsing
- cd-discid oder libdiscid - Für Disc-ID Berechnung
- Optional: cdparanoia für Audio-CD Ripping
# Download neueste Version
curl -L https://github.com/DirkGoetze/disk2iso-musicbrainz/releases/latest/download/musicbrainz-module.zip -o /tmp/musicbrainz.zip
# Entpacken nach disk2iso
cd /opt/disk2iso
sudo unzip /tmp/musicbrainz.zip
# Service neu starten
sudo systemctl restart disk2iso
sudo systemctl restart disk2iso-web- Download neueste Release
- Entpacke nach
/opt/disk2iso/ - Setze Berechtigungen:
sudo chown -R root:root /opt/disk2iso/ - Restart Services:
sudo systemctl restart disk2iso disk2iso-web
- Öffne disk2iso Web-UI
- Gehe zu Einstellungen → Module → Metadata Provider
- Klicke auf MusicBrainz → Installieren
conf/libmusicbrainz.ini:
[module]
name=musicbrainz
version=1.2.0
description=MusicBrainz Metadata Provider für Audio-CDs
[api]
base_url=https://musicbrainz.org/ws/2
coverart_base_url=https://coverartarchive.org
user_agent=disk2iso/1.2.0
timeout=10
[settings]
active=true
cache_enabled=true
cache_duration_days=30
rate_limit_delay=1000# Deaktivieren
sudo nano /opt/disk2iso/conf/libmusicbrainz.ini
# Setze: active=false
# Service neu starten
sudo systemctl restart disk2isoDer Provider wird automatisch verwendet, wenn:
- Eine Audio-CD eingelegt wird
- libmetadata.sh aktiviert ist
- MusicBrainz als Audio-Provider konfiguriert ist
# Status prüfen
sudo systemctl status disk2iso
# Provider-Registrierung prüfen
sudo journalctl -u disk2iso -f | grep MusicBrainz- Öffne http://your-server:5000
- Lege Audio-CD ein
- Metadata-Dialog öffnet sich automatisch
- Wähle Album aus MusicBrainz-Suchergebnissen
- Metadaten werden in MP3-Tags gespeichert
# Suche nach Disc-ID
curl "http://localhost:5000/api/metadata/query?provider=musicbrainz&discid=Wn8eRBtfLDfL0qjYPdxrz.Zjs_U-"
# Response:
{
"success": true,
"provider": "musicbrainz",
"results": [
{
"id": "release-mbid",
"title": "Album Title",
"artist": "Artist Name",
"date": "2020",
"tracks": [...]
}
]
}/media/iso/metadata/musicbrainz/
├── cache/
│ ├── Wn8eRBtfLDfL0qjYPdxrz.Zjs_U-.nfo # Cached Query-Results
│ └── AbC123xyz...nfo
├── covers/
│ ├── release-mbid-123.jpg # Album-Cover
│ └── release-mbid-456.jpg
└── metadata.json # Provider-Statistiken
MusicBrainz registriert sich automatisch beim Metadata-Framework:
metadata_register_provider "musicbrainz" "audio-cd"musicbrainz_query(discid)- Suche nach Disc-IDmusicbrainz_parse(json)- Parse API-Responsemusicbrainz_apply(metadata, tracks)- Speichere Metadaten in MP3smusicbrainz_get_cover(release_id)- Download Cover-Art
- audio-cd - Audio-CDs
- Disc Lookup:
GET /discid/{discid}?inc=artist-credits+recordings - Release Details:
GET /release/{mbid} - CoverArt Archive:
GET http://coverartarchive.org/release/{mbid}/front
Dokumentation:
MusicBrainz hat strikte Rate Limits:
- 1 Request/Sekunde (default im Modul konfiguriert)
- Nutze Cache um Requests zu minimieren
- User-Agent ist erforderlich
Die Disc-ID wird automatisch beim Einlegen der CD berechnet:
# Mit cd-discid
cd-discid /dev/cdrom
# Output: Wn8eRBtfLDfL0qjYPdxrz.Zjs_U- 12 ...
# Mit libdiscid
discid /dev/cdromdisk2iso-musicbrainz/
├── conf/
│ └── libmusicbrainz.ini # Provider-Manifest
├── lang/
│ ├── libmusicbrainz.de # Deutsche Übersetzung
│ ├── libmusicbrainz.en # Englische Übersetzung
│ ├── libmusicbrainz.es # Spanische Übersetzung
│ └── libmusicbrainz.fr # Französische Übersetzung
└── lib/
└── libmusicbrainz.sh # Haupt-Bibliothek
# In disk2iso-Umgebung testen
cd /opt/disk2iso
source lib/libmetadata.sh
source lib/libmusicbrainz.sh
# Abhängigkeiten prüfen
musicbrainz_check_dependencies
# Test-Query mit Disc-ID
musicbrainz_query "Wn8eRBtfLDfL0qjYPdxrz.Zjs_U-"Siehe CHANGELOG.md für alle Änderungen.
- Fork das Repository
- Erstelle einen Feature Branch (
git checkout -b feature/amazing-feature) - Commit deine Änderungen (
git commit -m 'Add amazing feature') - Push zum Branch (
git push origin feature/amazing-feature) - Öffne einen Pull Request
MIT License - siehe LICENSE für Details.
- Kein API-Key nötig: MusicBrainz ist komplett kostenlos
- Rate Limits beachten: 1 Request/Sekunde
- User-Agent erforderlich: Wird automatisch gesetzt
- Cache nutzen: Reduziert API-Last erheblich
- Disc-ID Tool nötig: cd-discid oder libdiscid
- Issues: GitHub Issues
- Diskussionen: GitHub Discussions
- MusicBrainz Support: MusicBrainz Forums
- Core Projekt: disk2iso