Erstellt aus CDs Musik für Jellyfin
- Python 100%
- tagger.py: embed_cover() unterstützt jetzt .opus (Vorbis-Comment METADATA_BLOCK_PICTURE) und .m4a (MP4Cover); imports ergänzt - test_tagger.py: 2 neue Tests für Opus/M4A; minimale Audio-Fixtures als base64-Konstanten (176 B Opus, 856 B M4A) - test_cover.py: TestPrepareCover (5 Tests) und TestCopyCovers (6 Tests) für prepare_cover() und copy_covers() - test_ocr.py: 13 Tests für run_ocr(), _detect_and_fix_rotation() und ocr_images(); Tesseract via subprocess.run gemockt 144 Tests, 0 Fehler Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| idea | ||
| src/musiksammlung | ||
| tests | ||
| .gitignore | ||
| BEDIENUNGSANLEITUNG.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
Musiksammlung
ACHTUNG! Das Programm ist nicht fertig!
CLI-Tool zum Digitalisieren von CD-Sammlungen für Jellyfin.
Überblick
Musiksammlung automatisiert die Digitalisierung physischer CDs:
- CDs rippen (via
abcde, CDDB-Lookup) - Coverbilder per OCR oder Vision-LLM analysieren
- Tracklisten per LLM extrahieren und als JSON speichern
- Audiodateien umbenennen, taggen und in Jellyfin-Struktur ablegen
- 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.