Erstellt aus CDs Musik für Jellyfin
- Python 100%
Neue Hilfsfunktion _scale_cover_for_embed() skaliert das Coverbild mit Pillow auf max. 500px (EMBED_COVER_MAX_SIZE) und kodiert es als JPEG quality=85 in-memory. embed_cover() liest nicht mehr die rohen Bytes der Originaldatei, sondern nutzt das skalierte Bild. Ergebnis: eingebettete Cover ~40–100 KB statt 200–500 KB des 1200px-Originals, auf HiDPI-Displays noch scharf erkennbar. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| 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.