Erstellt aus CDs Musik für Jellyfin
Find a file
dschlueter 2490293dcf Fix MB-hit path: poll scanner for backcover photo at disc insert prompt
If Cover Art Archive has no backcover, the scanner server (already running
since EAN prompt) is now also monitored at each disc insert prompt via
_input_or_scan. On photo upload, Vision-LLM starts in the background and
the photo is saved as backcover.jpg after ripping. Phone photo takes
priority over any CAA cover.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 14:31:09 +01:00
.forgejo/workflows Lint-Fixes, process-Disc-Validierung und Forgejo-CI 2026-02-18 00:51:14 +01:00
src/musiksammlung Fix MB-hit path: poll scanner for backcover photo at disc insert prompt 2026-02-19 14:31:09 +01:00
tests Fix sanitize_filename consistency, add scanner server tests, remove stray file 2026-02-19 14:20:03 +01:00
.gitignore Fix and expand tests: 63 tests passing, covers all core modules 2026-02-18 00:00:44 +01:00
BEDIENUNGSANLEITUNG.md Add phone-based EAN scanning, scanner server for cover upload, Vision-LLM integration 2026-02-19 14:05:59 +01:00
LICENSE Initial commit 2026-02-15 00:53:30 +01:00
pyproject.toml Add phone-based EAN scanning, scanner server for cover upload, Vision-LLM integration 2026-02-19 14:05:59 +01:00
README.md Add phone-based EAN scanning, scanner server for cover upload, Vision-LLM integration 2026-02-19 14:05:59 +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. Backcover automatisch via Smartphone-Upload erfassen
  3. Backcover per Vision-LLM parallel zum Ripping analysieren (Cloud-Modell, kein lokales VRAM nötig)
  4. Coverbilder per OCR oder Vision-LLM analysieren
  5. Tracklisten per LLM extrahieren und als JSON speichern
  6. Audiodateien umbenennen, taggen und in Jellyfin-Struktur ablegen
  7. M3U-Playlisten erzeugen

Voraussetzungen

  • Python 3.11+
  • abcde (CD-Ripping)
  • tesseract (OCR, optional)
  • Ollama oder OpenAI-kompatibles LLM (optional)
  • Firewall: Port 8765 (TCP) für Smartphone-Upload offen (sudo ufw allow 8765/tcp)

Installation

pip install -e ".[dev]"

Schnellstart

# CDs rippen (interaktiv, EAN-First: MusicBrainz → Auto-Rip bei Treffer)
# QR-Code im Terminal: Backcover mit Smartphone fotografieren → Vision-LLM analysiert parallel
musiksammlung rip -j 0 -P

# Variante A: EAN/Barcode → MusicBrainz → album.json (schnellste Methode)
musiksammlung scan --barcode 0602557360561 -o album.json

# Variante B: Coverbild per Vision-LLM → album.json
musiksammlung scan back.jpg --vision -o album.json

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

Ausführliche Anleitung: BEDIENUNGSANLEITUNG.md

Lizenz

Siehe LICENSE.