Erstellt aus CDs Musik für Jellyfin
Find a file
dschlueter 7554cade50 feat: auto-rename album directory after in-place apply
After all file operations (rename, tag, cover, playlist), apply now
renames the album root directory to match album.json metadata:

- input_dir = CD1/CD2 etc.: parent directory is renamed automatically
  e.g. Kärntner_Doppelsextett/ → Du_Berührst_Mi_20_Jahre_Kärntner_Doppelsextett/
- input_dir = album root: a hint with the mv command is printed instead
  (avoids renaming an actively used path)
- Existing directory with target name: warning, no rename

Also: _sanitize_filename() in organizer.py made public (sanitize_filename),
used consistently across organizer, playlist and cli modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 06:49:17 +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 feat: auto-rename album directory after in-place apply 2026-02-18 06:49:17 +01:00
tests feat: auto-rename album directory after in-place apply 2026-02-18 06:49:17 +01:00
.gitignore Fix and expand tests: 63 tests passing, covers all core modules 2026-02-18 00:00:44 +01:00
BEDIENUNGSANLEITUNG.md docs: document MusicBrainz barcode lookup in README and Bedienungsanleitung 2026-02-18 06:16:18 +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 docs: document MusicBrainz barcode lookup in README and Bedienungsanleitung 2026-02-18 06:16:18 +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 (interaktiv, mit optionaler EAN-Abfrage für MusicBrainz)
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.