Erstellt aus CDs Musik für Jellyfin
Find a file
dschlueter b30aaa617d Add MusicBrainz barcode lookup (scan --barcode and interactive rip)
- New module musicbrainz.py: lookup_by_barcode() via EAN-13/UPC-12,
  two-step API (barcode search → release detail with recordings),
  respects 1 req/s rate limit with User-Agent header
- cli.py: scan command gets --barcode option as highest-priority mode
  (no images needed); _scan_to_album() dispatches to MusicBrainz first
- ripper.py: interactive_rip() prompts for optional EAN after album name;
  MusicBrainz data (incl. year) takes priority over CDDB for album.json;
  album_root.mkdir() added so JSON can be written even when MB changes dir
- tests: test_musicbrainz.py (16 tests), test_ripper.py +6 barcode tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 06:13:10 +01:00
.forgejo/workflows Lint-Fixes, process-Disc-Validierung und Forgejo-CI 2026-02-18 00:51:14 +01:00
idea initial commit 2026-02-15 01:00:12 +01:00
src/musiksammlung Add MusicBrainz barcode lookup (scan --barcode and interactive rip) 2026-02-18 06:13:10 +01:00
tests Add MusicBrainz barcode lookup (scan --barcode and interactive rip) 2026-02-18 06:13:10 +01:00
.gitignore Fix and expand tests: 63 tests passing, covers all core modules 2026-02-18 00:00:44 +01:00
BEDIENUNGSANLEITUNG.md LLM-Parser-Tests, check-Befehl und Cover-Doku 2026-02-18 00:45:49 +01:00
LICENSE Initial commit 2026-02-15 00:53:30 +01:00
pyproject.toml Add project skeleton: CLI pipeline for CD digitization 2026-02-15 01:00:12 +01:00
README.md Add work-in-progress warning to README and BEDIENUNGSANLEITUNG 2026-02-17 17:47:41 +01:00

Musiksammlung

ACHTUNG! Das Programm ist nicht fertig!

CLI-Tool zum Digitalisieren von CD-Sammlungen für Jellyfin.

Überblick

Musiksammlung automatisiert die Digitalisierung physischer CDs:

  1. CDs rippen (via abcde, CDDB-Lookup)
  2. Coverbilder per OCR oder Vision-LLM analysieren
  3. Tracklisten per LLM extrahieren und als JSON speichern
  4. Audiodateien umbenennen, taggen und in Jellyfin-Struktur ablegen
  5. M3U-Playlisten erzeugen

Voraussetzungen

  • Python 3.11+
  • abcde (CD-Ripping)
  • tesseract (OCR, optional)
  • Ollama oder OpenAI-kompatibles LLM (optional)

Installation

pip install -e ".[dev]"

Schnellstart

# CDs rippen
musiksammlung rip -j 0 -P

# Coverbild scannen → album.json erzeugen
musiksammlung scan back.jpg -o album.json

# Audiodateien organisieren und taggen
musiksammlung apply temp/Album1/CD1 album.json ~/Musik

Ausführliche Anleitung: BEDIENUNGSANLEITUNG.md

Lizenz

Siehe LICENSE.