# Beets funktioniert so, dass es die Musik aus einem Ordner nimmt, taggt und # dann in deine library verschiebt oder kopiert mit den richtigen tags und filename. # Beets hat eine interne DB die sich merkt was importiert ist, damit es keine duplikate gibt. # Ich habe mehrere tag-sources angelegt, da es eindeutige IDs von MusicBrainz und Spotify gibt, mit denen auch externe Programme arbteiten können # Plugins-liste ist selbstverständlich. Wenn du ein Plugin nicht nutzen willst, einfach entfernen oder unten aus der config streichen. plugins: fetchart embedart scrub replaygain lastgenre chroma web spotify musicbrainz inline lyrics duplicates deezer unimported # Lass das so und mounte /music in docker directory: /music # Die DB von beets. Lass das auch so und mounte den config ordner library: /config/musiclibrary.blb # Album cover wird unter dem namen im directory des albums abgelegt art_filename: cover threaded: yes original_date: yes per_disc_numbering: no # Da ich will, dass vorm Track immer zwei nummern sind, hab ich diese custom funktion # 09 - Track9, 10 - Track10 item_fields: twodigittrack: "'{:02n}'.format(track)" # Es gibt verschiedene pfade die man anlegen kann für alben, singles, usw. Wenn man nur default einstellt, wird immer default genommen. # Mit meinen Settings entstehen lange file-namen, aber es ist immer eindeutig und tagger können auch metadaten aus den filenames ziehen. # Da man die filenames sowieso nie sieht, empfehle ich dir das zu lassen # Du solltest IMMER zumindest nach Album sortieren, da beets darauf ausgelegt ist immer ganze alben zu taggen # Wenn du jetzt The Silent Force von Within Temptation runterlädst, wird es unter dem Pfad gespeichert: # Music/Within Temptation/Within Temptation - The Silent Force/Within Temptation - The Silent Force - 01 Intro.flac paths: default: $albumartist/$albumartist - $album%aunique{}/$albumartist - $album - ${twodigittrack} $title # Ohne meine custom funktion mit zwei digits: # default: $albumartist/$albumartist - $album%aunique{}/$albumartist - $album - $track $title # import beschreibt wie Musik getaggt wird und was nach dem taggen passiert. # write immer 'yes' lassen # copy bedeutet dass musik von /downloads zu /music kopiert wird # move verschiebt die musik stattdessen # wenn du alles movst lass incremental auf 'no', aber wenn du nur kopierst, setz es auf 'yes', # damit die gleichen Sachen nicht immer wieder getaggt werdn import: write: yes copy: no move: yes resume: ask incremental: no quiet_fallback: skip timid: no log: /config/beet.log incremental_skip_later: yes duplicate_action: skip # or something similar # plugin mit dem man alben auflisten lassen kann, die zwar im Ordner /music sind aber nicht mit beets importiert wurden unimported: ignore_extensions: jpg png ignore_subdirectories: venv _Playlists # fügt genre metadaten hinzu # auto heißt immer dass es automatisch beim import passiert. ansonsten musst du das plugin manuell starten lastgenre: auto: yes source: album force: no keep_existing: yes # einstellungen wie entschieden wird, dass es ein 'match' gibt # ich habe eingestellt dass er digital media bevorzugen soll. country 'XW' heißt worldwide, also für digitale releases # lass das einfach so für die aktuellsten tags. match: preferred: countries: ['XW', 'XE', 'EU'] media: ['Digital Media', 'CD'] # normalerweise will beets, dass du alles was kein 100% match ist, selbst entscheidest. # mit der einstellung wird alles was über 85% accuracy ist ohne user-confirmation getaggt strong_rec_thresh: 0.85 # mit dem plugin werden metadaten von spotify gezogen # musst in der spotify entwickler konsole einen api key anlegen spotify: mode: list region_filter: show_failures: no tiebreak: popularity regex: [] search_query_ascii: no client_id: DeineClientID client_secret: DeinClientSecret tokenfile: spotify_token.json # lass das data_source_mismatch_penalty: 0.5 # bei mehreren taggern, welche bevorzugt werden. Höher bedeutet niedrigere Prio. 0.0 - 1.0 search_limit: 5 # wie viele suchergebnisse pro anfrage # mit dem plugin werden metadaten von musicbrainz gezogen # würde ich spotify bevorzugen, ist ne riesen datenbank an musik musicbrainz: host: musicbrainz.org https: no ratelimit: 1 ratelimit_interval: 1.0 extra_tags: [] genres: yes genres_tag: genre external_ids: discogs: no bandcamp: yes spotify: yes deezer: no beatport: no tidal: yes data_source_mismatch_penalty: 0.4 # hat im vergleich höhere prio als spotify search_limit: 5 # mit dem plugin werden metadaten von deezer gezogen # hab ich nur als fallback deezer: search_query_ascii: no data_source_mismatch_penalty: 0.6 # prio musicbrainz > spotify > deezer search_limit: 5 # damit werden embedart: auto: yes # damit werden album covers gezogen. Braucht man nicht unbedingt, da alles auf tidal schon eins hat # einfach auto > no, wenn dus nicht willst fetchart: auto: yes minwidth: 1000 maxwidth: 1200 sources: filesystem spotify lastfm amazon itunes enforce_ratio: yes cautious: yes lastfm_key: lastfmkey # hab ich selbst noch nicht eingestellt. Tidal hat aber als auch schon lyrics lyrics: auto: no # Songs sind verschieden laut, deswegen gibts das plugin was die lautstärke taggt. # Ohne den Tag funktioniert Lautstärke-Normalisierung von Musikplayern nicht und du hast ständig schwankende lautstärke replaygain: backend: ffmpeg method: ebu auto: yes overwrite: yes targetlevel: 89 r128: [Opus] chunk_at: 5000 per_disc: yes scrub: auto: yes # Ersetzt sonderzeichen in musikdateien # lass das an, sonst bekommst du richtig probleme mit dem filesystem replace: '^\.': _ '[\xE8-\xEB]': e '[\xEC-\xEF]': i '[\xE2-\xE6]': a '[\xF2-\xF6]': o '[\xF8]': o '\.$': _ '\s+$': '' '[<>:"\?\*\|]': '' # finger weg web: host: 0.0.0.0 port: 8337