1. Installation
  2. Allgemeine Informationen
  3. Konfiguration
    1. Speicherpfade der importierten Musik
    2. Eigene Queries für Pfade
    3. PlugIns
  4. Musik importieren
  5. Musik abrufen
  6. Bibliothek aktualisieren
  7. Eigene Informationsfelder hinzufügen / entfernen
  8. Metadaten der Bibliothek abfragen

Installation

  • es sollte immer eine relativ aktuelle Version verwendet werden, da die Mächtigkeit von beets in seiner Programmierlogik steckt
  • daher Installation über den Python-Installer pip
    • pylast für das lastgenre-Plugin
    • requests für das fetchart-Plugin
    • flask für das web-Plugin
aptitude install pyhton-pip libchromaprint0 ffmpeg
pip install beets discogs-client pylast requests flask

Allgemeine Informationen

  • beets verwaltet Musik in einem eigenen Ordner und einer eigenen, separaten Datenbank
  • neue Musik wird per Befehl importiert
  • beim Importvorgang werden Informationen zu den Dateien hinzugefügt, aktualisiert und korrigiert
  • zu importierten Dateien speichert beets in seiner Datenbanken eine ganze Menge vordefinierte Informationsfelder
  • anhand einer Query-Syntax werden Dateien ausgewählt und so in der Konfiguration und Befehlen verwendet werden
    • ein einfacher Query könnte artist:kin oder year:2012 sein
  • Dateien können auch eigene Informationsfelder hinzugefügt werden

Konfiguration

Mit dieser Konfiguration werden Dateien aus dem Quellverzeichnis in die Bibliothek verschoben anstatt kopiert. Soll dies nicht gemacht werden, muss die Einstellung move: yes entfernt werden. Das Verschieben ist empfohlen, da bei einem erneuten Import bereits importierte Dateien nicht erneut geprüft werden. Man sollte nur darauf achten, dass Dateien ohne Tags nicht als Use-as-is importiert werden, da sonst alle diese Dateien ohne Namen mit fortlaufender Nummer im Root-Verzeichnis landen.
  • der Pfad zur Konfigurationsdatei lässt sich mit beet config -p auslesen
  • die Konfigurationsdatei lässt sich mit beet config -e bearbeiten
  • Darstellungsformat für Titel nach einem Query
  • Darstellungsformat für Alben nach einem Query
  • Bei mehreren Disks pro Album die Nummerierung bei jeder Disk wieder bei 1 beginnen
  • Thread-Benutzung sicherstellen
  • Import
    • Dateien aus dem Quellverzeichnis verschieben anstatt Kopieren
    • Pfad zum Musikverzeichnis, zur Beets-Datenbank und der Log-Datei
    • sicherstellen, dass beim quiet-Import unbekannte Alben übersprungen werden
  • Plugins
    • chroma um die Acoustid eines Titels zu bestimmen und mit der Online-Musik-DB abzugleichen
    • inline um später if-Anweisungen in Pfadangaben verwenden zu können
    • discogs, um Album-Informationen neben MusicBrainz auch von Discogs zu beziehen
    • lastgenre, um Genre-Informationen von Last.fm abzurufen
    • fetchart um automatisch Cover zu beziehen
    • embedart um diese automatisch in die MP3-Dateien zu integrieren
    • scrub um unnütze id3-Tags zu entfernen
    • web für einen minimalistischen Webbrowser
    • fuzzy um Musik ähnlich eines Suchbegriffes zu finden
    • info um MP3-Tags auszulesen
    • missing um fehlende Stücke eines Albums zu bestimmen
    • duplicates um Duplikate in der Musikbibliothek zu bestimmen
directory: /srv/nfs4/music/beets
library:   /srv/nfs4/works/beets/musiclibrary.blb
list_format_item: $artist - $album $disc - $track $title
list_format_album: $albumartist - $album (CD $disc / $disctotal)
per_disc_numbering: yes
threaded: yes

import:
    move: yes
    log: ~/.beets.log
    quiet_fallback: skip

plugins: chroma inline discogs lastgenre fetchart embedart scrub web fuzzy info missing duplicates

Speicherpfade der importierten Musik

paths:
   default: Alben/$albumartist/$album%aunique{}/%if{$multidisc,Disc $disc/}$track $title - $artist
    singleton: Songs/$genre/$artist/$title - $artist
    comp: Compilations/$genre/$album%aunique{}/%if{$multidisc,Disc $disc/}$track $title - $artist

item_fields:
    multidisc: 1 if disctotal > 1 else 0
  • singleton und comp sind Abkürzungen für die Queries singleton:true und comp:true
  • default ist kein Query sondern eine Spezialkonstante, falls kein weiterer Query passt
  • auch eigene Queries können verwendet werden
    genre:hoerbuch: Hoerbuecher/$albumartist/$album%aunique{}/$track $album - $artist
  • die Datei wird unter dem Pfad des ersten passenden Queries gespeichert

Eigene Queries für Pfade

  • Beispiel 1: vorhandene Informatonsfelder verwenden (z.B. Genre)
  • Beispiel 2: eigene Informationsfelder verwenen (z.B. Flag für selbst erstellte Stücke)
paths:
    ownmusic:true: Eigene/...
    genre:hoerbuch: Hoerbuch/...
   ...

PlugIns

Last.fm-Genre

  • canonical: nur einfache Genrebezeichnungen verwenden
  • source: Genre sowohl für das Album als auch für einzelne Tracks bestimmen
lastgenre:
    canonical: true
    source: track

Musik importieren

beet import <path/to/music>
  • sollen einzelne Tracks importiert werden, dann bei Abfrage mit Tracks bestätigen
  • ein umfangreicher Import kann im ersten durchlauf mit der Option -q (quiet) durchgeführt werden. Hierbei werden keine Nutzerabfragen getätigt und unbekannte Alben übersprungen.

Musik abrufen

beet ls QUERY

Query:

  • eines oder mehrerere Wörter, welche über alle Eigenschaften gesucht werden
  • mehrere Wörter in Hochkommas werden als ein zusammengehöriger Ausdruck gesucht
  • es kann auch nach Informationsfeldern, wie z.B. nach dem Jahr oder Author, gesucht werden
    • beet fields listet alle möglichen Informationsfelder auf
    • beet ls albumartist:bulb sucht z.B. nach allen Musiktiteln, in denen bulb  im Artist-Namen vorkommt
  • beginnt ein Query mit einem Doppelpunkt (bei Informationsfeldern dementsprechend mit zwei Doppelpunkten), wird der Query als Regulärer Ausdruck ausgewertet
    • beet ls albumartist::^Bulb$ sucht nach Musiktiteln, in denen der Artist-Name Bulb entspricht

Bibliothek aktualisieren

nach Änderungen an den Einstellungen kann die Dateistruktur wie folgt neu aufgebaut werden:

beet move

Wurden Einstellungen von außen geändert oder machen sich Änderungen nicht in der Dateistruktur bemerkbar, sollte vor dem move-Befehl der update-Befehl ausgeführt werden:

beet update

Eigene Informationsfelder hinzufügen / entfernen

Hinzufügen - am Beispiel des Besitzers der Musik

beet modify owner=alexander <query>

Query

beet ls owner:alexander

Entfernen

beet modify owner! <query>

Metadaten der Bibliothek abfragen

  • die Option -f des list-Kommandos erlaubt selbst formatierte Abfragen mit einer Syntax wie bei Pfadangaben
  • somit können alle Metadaten-Felder ausgegeben werden
  • sort sortiert die Ausgabe
  • mit unic fasst aufeinanderfolgende Zeilen zusammen (daher vorher das erste sort)
  • -c fügt jeweils die Anzahl aufeinanderfolgender Zeilen vorne an
  • Beispiel: alle Genres anzeigen
beet list -f '$genre' | sort | uniq -c

Ein weiteres sort Sortiert nummerisch nach Anzahl des Auftretens

beet list -f '$artist' | sort | uniq -c | sort -n

Ein sort nach der zweiten Spalte sortiert nach Name

beet list -f '$artist' | sort | uniq -c | sort -k 2
Tags:
Erstellt von ThomasS am 2014/07/31 12:53
    
Copyright 2004-2019 XWiki
7.4.5