Erstellt aus CDs Musik für Jellyfin
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dschlueter 488149b8f9 Track CLAUDE.md in repository
Remove CLAUDE.md from .gitignore and add it to version control
so project instructions are shared across all Claude sessions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 14:47:42 +01:00
.forgejo/workflows Lint-Fixes, process-Disc-Validierung und Forgejo-CI 2026-02-18 00:51:14 +01:00
src/musiksammlung Add --from-photo to scan, retry in MB disc loop, temp/ to .gitignore 2026-02-19 14:43:37 +01:00
tests Add --from-photo to scan, retry in MB disc loop, temp/ to .gitignore 2026-02-19 14:43:37 +01:00
.gitignore Track CLAUDE.md in repository 2026-02-19 14:47:42 +01:00
BEDIENUNGSANLEITUNG.md Docs: add --from-photo (Variante E) to scan command documentation 2026-02-19 14:45:31 +01:00
CLAUDE.md Track CLAUDE.md in repository 2026-02-19 14:47:42 +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 Docs: add --from-photo (Variante E) to scan command documentation 2026-02-19 14:45:31 +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 A2: EAN per Foto (Vision-LLM liest Barcode) → MusicBrainz → album.json
musiksammlung scan --from-photo cover.jpg -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.