Add iTunes and AcoustID as additional free music enrichment sources

- itunes.py: zero-auth fallback for album artwork when MusicBrainz/Cover Art
  Archive has no match — kicks in automatically during music enrichment,
  toggleable in Settings (on by default, no key required).
- acoustid.py: audio fingerprint identification (Chromaprint fpcalc + the
  AcoustID API) for tracks with missing/unknown artist or album — nothing
  to text-search on, so this identifies from the actual audio content
  instead. Requires a free user-supplied API key from acoustid.org/api-key,
  off by default. New /music/identify endpoint + admin trigger button.
- Dockerfile: added libchromaprint-tools for fpcalc.
- Settings page: new Music Metadata & Artwork section with both toggles.
This commit is contained in:
Myron Blair
2026-07-27 21:03:59 -05:00
parent 628a729afd
commit 671074764e
6 changed files with 299 additions and 7 deletions
+7
View File
@@ -225,6 +225,9 @@ class AppSettings(BaseModel):
trakt_client_secret: str = ""
auto_transcode: str = "off"
queue_paused: bool = False
music_itunes_fallback: bool = True
music_acoustid_enabled: bool = False
acoustid_api_key: str = ""
class AppSettingsPublic(BaseModel):
@@ -243,6 +246,10 @@ class AppSettingsPublic(BaseModel):
trakt_client_secret: str = ""
auto_transcode: str = "off"
queue_paused: bool = False
music_itunes_fallback: bool = True
music_acoustid_enabled: bool = False
acoustid_api_key: str = ""
acoustid_configured: bool = False
# ---------- Shows / Episodes (Sonarr) ----------