Die perfekte Musiksammlung

Veröffentlicht am

„Die perfekte Musiksammlung„? Keine Sorge, ich werde euch jetzt nicht sagen, welche „Scheiben“ in eine gute Musiksammlung gehören – obwohl ich das liebend gern mache. Ein Musik-Blog wäre sicherlich auch mein Ding…

Du bist aber immer noch bei „ME and my U“ – und somit bei meinem Ubuntu-bezogenen Blog.

Worum geht es also? Ich möchte euch meinen Weg zu einer, sagen wir, sauberen und ordentlichen Musiksammlung zeigen. Eine, bei der die Metadaten ordentlich gepflegt sind. Eine, bei denen das Filesystem sauber und einheitlich aufgebaut ist. Und da wir eben in Ubuntu unterwegs sind, soll es sich dabei auch um Banshee drehen…

Banshee

Konfiguration

Zunächst einmal eine kleine Aufführung der Einstellungen (BearbeitenEinstellungen) in Banshee, die ich wichtig finde bzw. auf denen die folgenden Aktionen teils basieren.

Reiter Allgemein:

  • Beim Importieren alle Dateien in den Medienordner kopieren: alle Musikdateien, die ich importiere, sollen in meine Musiksammlung (Filesystem) übernommen werden, klar.
  • Metadaten in Datei schreiben: ebenfalls unbedingt sinnig – und bedarf wohl keiner Erklärung.
  • Datei- und Ordnernamen aktualisieren: sorgt dafür, dass Banshee das Filesystem laut den Metadaten aktualisiert. So erhält man eine einheitliche Benennung der Dateien und Verzeichnisse. Wirkt sich allerdings erst aus, sobald Banshee die Metadaten neu in die Datei schreiben muss – also bei Änderung der Metadaten.

Reiter Quellspezifisch → Quelle Musik:

  • Hier ist meine Wahl:
  • Ordnerhierarchie = Album-Künstler/Album
  • Dateiname = Nummer. Titel – das habe ich mittlerweile geändert, bitte seht dazu unten im Abschnitt Was mir noch nicht gefällt… – dort habe ich ein Update hierzu beschrieben.

Pflege der Metadaten

Naja, da gibt es sicherlich viele Unterschiede darin, was wie gepflegt wird. Auf folgende Punkte achte ich bei den Metadaten:

  • Titelnummern: jeder Titel hat eine Nummer und die Gesamtanzahl der Titel gespeichert – also z.B. 4 von 9.
  • Album-Künstler: Alben auf denen Titel verschiedener Künstler gesammelt sind, laufen unter dem Album-Künstler Various Artists. Es gibt aber auch Remix-Alben, bei denen der Album-Künstler eingegeben werden sollte. Die einzelnen Titel behalten dabei Ihren abweichenden Titel-Künstler.
  • CD-Nummer: bei Alben mit mehreren CDs bekommt jede CD eine Nummer und die Gesamtanzahl der CDs – also z.B. 1 von 2. Die CDs bekommen dabei den selben Alben-Namen und nicht, wie oft zu sehen, Namen mit dem Zusatz CD1 o.ä.
  • Optimalerweise sollte noch das Genre ordentlich gepflegt werden. Allerdings bin ich soweit selbst noch nicht. Wenn ich das mal machen sollte, werde ich darauf achten, dass die Genres nicht zu vielfältig bzw. detailliert sind.
  • Bei Künstlern mit Vor- und Nachname wird der Sortiername angegeben, wo zunächst der Nachname, gefolgt von Komma und Vorname aufgeführt wird.

Das Cover-Problem

Banshee speichert die CD-Cover im Verzeichnis ~/.cache/media-art. Im Medienverzeichnis (des Albums) gefundene Bilder namens Cover.jpg werden dorthin übernommen. Ermittelt das Programm für ein Album selbst das Cover (aus dem Netz) oder legt man manuell ein Cover in Banshee fest, so wird es ausschließlich im o.g. Verzeichnis gespeichert.

Man hat also wohl keine Möglichkeit ordentlich konsistent die Cover in der Verzeichnisstruktur der Musiksammlung zu speichern. Aber genau das würde m.E. doch Sinn machen!

Meine Musiksammlung liegt auf einer getrennten Daten-Festplatte, die zudem auf eine externe Festplatte synchronisiert wird. Die Speicherung der Cover ist allerdings davon getrennt und stattdessen mit dem Homebereich gekoppelt?! Ich verstehe das nicht.

Legt man übrigens die Covers trotzdem im Verzeichnis des Albums ab, macht das spätestens dann Probleme, wenn man den Künstler oder das Album umbenennt. Natürlich nur dann, wenn man die o.g. automatische Aktualisierung des Filesystems an Hand der Metadaten (s.o.) aktiviert hat. Dann nämlich bleibt das alte Alben-Verzeichnis bestehen – darin liegt dann nur noch das Cover. Käse eben.

Das Fazit in diesem Punkt heißt für mich: in der Musiksammlung werden alle Cover gelöscht. Die Cover werden nun ausschließlich im Verzeichnis ~/.cache/media-art geführt. Aber: dieses Verzeichnis ist bei mir nun ein symbolischer Link, der ebenfalls auf die synchronisierte Festplatte zeigt – direkt „neben“ die Musiksammlung.

Musiksammlung aufräumen

Schließlich wollte ich meine Musiksammlung auf Verzeichnis- und Dateiebene bereinigen. Also: unbenötigte Dateien und leere Verzeichnisse löschen und die Covers verschieben.

Erst einmal:

  • Die Befehle löschen teilweise Dateien – ohne Rückfrage. Seid euch dessen bewusst. Keine Gewähr meinerseits!
  • Ich gehe bei den genannten Befehlen davon aus, dass eure Musiksammlung unter ~/Musik zu finden ist. Ist das nicht der Fall, setzt den für euch passenden Pfad ein.

Zunächst einmal habe ich überflüssige Dateien entfernt. Zum Beispiel die aus der Windows-Zeit vorhandenen desktop.ini und Thumbs.db, aber auch m3u-Dateien (Playlists), die für mich ebenfalls überflüssig sind. Mit den folgenden Befehlen habe ich das erledigt:

cd ~/Musik
find . -iname "desktop.ini" -exec rm {} \;
find . -iname "Thumbs.db" -exec rm {} \;
find . -iname "*.m3u" -exec rm {} \;

Als Nächstes wollte ich die Covers, die in den Alben-Ordnern enthalten waren, wegsichern – für den Fall, dass ich sie später teilweise wieder importieren wollte. Warum ich das gemacht habe, sollte der o.g. Abschnitt Das Cover-Problem erklären.

mkdir ~/covers.tmp
cd ~/Musik
find . -iname "*.jpg" -exec mv {} ~/covers.tmp \;

Das muss natürlich ggfs. für weitere Dateiendungen wiederholt werden.

Nun war es Zeit, einmal zu prüfen, ob es noch weitere Dateien gab, die in der Musiksammlung nichts verloren haben. Ich wollte in meiner Musiksammlung ausschließlich .flac-, .mp3– und .ogg-Dateien dulden. Um die übrigen Dateien zu finden, habe ich folgenden Befehl verwendet:

cd MUSIKSAMMLUNG
find . -type f -print | grep -Pvi '(flac|mp3|ogg)$'

Die gefundenen Dateien habe ich dann einzeln von Hand gelöscht, weil es mir zu heiß war, das automatisch machen zu lassen. Ich wollte einfach noch einmal von Fall zu Fall entscheiden, was ich mit der jeweiligen Datei anstelle.

Gut, der Stand war nun: eine Musiksammlung, in der nur die benötigten Musikdateien enthalten sind.

Nun gab es noch einige leere Verzeichnisse, die durch Umbenennungs-Aktionen entstanden sind. Um diese zu finden habe ich eingegeben:

find . -type d -empty -print

Auch hier habe ich die Verzeichnisse anschließend manuell gelöscht.

Benennung vereinheitlichen

Schließlich habe ich dafür gesorgt, dass die Benennung der Verzeichnisse und Dateien vereinheitlicht wurde.

Bei den Verzeichnissen war das Problem, dass manche Künstlernamen mit Vorname Nachname geführt wurden und andere mit Nachname, Vorname. Bei den Dateien gab es je nachdem, mit welcher Software ich die CD einmal gerippt hatte, unterschiedliche Namensgebungen.

Was das Thema mit den Künstlernamen angeht, habe ich zunächst einmal die Meta-Daten in Banshee überarbeitet – von den Künstlern, die mit Vor- und Nachnamen geführt werden. Zwar waren die Namen grundsätzlich schon richtig, bei einigen wollte aber noch der Sortiername hinterlegt werden. Der ist beispielsweise bei Heather Nova eben dann doch Nova, Heather, so dass die Dame dann unter N aufgeführt wird und nicht unter H.

Abschließend habe ich dann in Banshee einmal alle (!) Titel selektiert und in der Bearbeitung der Metadaten, und dort auf dem Reiter Extra den Button hinter dem Feld Kommentar betätigt (Alle Kommentare auf diesen Wert setzen) und gespeichert. Das hat dafür gesorgt, dass alle Titel von Banshee noch einmal gespeichert und so überarbeitet werden. So wurden endlich alle Verzeichnisse und Dateien nach gleichem Schema benannt.

Was mir noch nicht gefällt…

Natürlich gibt es noch ein paar Dinge, die mir noch nicht wirklich gefallen:

  • Banshee sollte die Möglichkeit bieten, die CD-Nummer mit im Dateinamen aufzuführen. Bei einem Album, das aus zwei CDs besteht, gebe ich das in den Metadaten entsprechend korrekt ein – was mir zunächst sehr gut gefällt. Innerhalb von Banshee ist eigentlich alles wunderbar: ich habe ein paar Titel auf CD 1 von 2 und ein paar auf CD 2 von 2. Allerdings erkennt man im Filesystem nicht, welche Titel auf welche CD gehören. Das ist natürlich recht unpraktisch, wenn man sich die Titel einmal auf den MP3-Player ziehen möchte.
    Update: Dieser Punkt ist von der Liste gestrichen – dank der Idee von Jan Battenfeld (siehe Kommentar). Über den gconf-editor (kann über das gleichnamige Paket installiert werden), kann man die Einstellung für die Dateinamen etwas feiner einstellen. Man öffnet im gconf-editor also den Pfad apps/banshee-1/library und editiert dann den Konfiguration-Parameter file_pattern (oder je nach Gusto das folder_pattern). Mein Eintrag sieht nun so aus:

    {CD%disc_number%-}{%track_number%. }%title%

    hinzugekommen ist also der vordere Teil mit der CD-Nummer. Dass dieser Parameter in geschweiften Klammern steht, bewirkt, dass der Teil nur dann eingefügt wird, wenn die CD-Nummer in den Metadaten gepflegt ist – und das tue ich nur bei Alben mit mehreren CDs.

  • Banshee sollte m.E. eher den Album-Künstler im Browser anzeigen und nicht den Titel-Künstler. Noch besser sollte der Browser anpassbar sein. Denn eigentlich würde ich auch gerne mal nach Genre browsen können (nicht suchen – browsen!).
  • Außerdem fände ich es eben toll, wenn die Covers in der Musiksammlung bzw. im jeweiligen Album-Verzeichnis abgelegt würden.

Dieser Artikel wurde in der/den Kategorie(n) Planet-U, Praxis veröffentlicht und mit den Tags , , , versehen.

12 Kommentare zu Die perfekte Musiksammlung

  1. Kommentar von Jan Battenfeld
    21. August 2011, 15:23 Uhr.

    Unter gconf-editor -> /apps/banshee-1/library/file_pattern und folder_pattern hab ich mir das Muster auf „Nr – Titel“ gestellt, weil ich das schon immer so gewöhnt war.
    Ich habs zwar nicht ausprobiert aber vielleicht gibt es ja ein %album_number% analog zum %track_number% ?

    Sehr schöne Zusammenfassung, danke dafür
    Jan

    • Kommentar von Gerald
      21. August 2011, 18:05 Uhr.

      Super! Danke für den klasse Tipp, Jan! Das war die richtige Richtung. Ich habe im Banshee-Quellcode mal nachgesehen und die richtige Variable gefunden: %disc_number%. Wie du oben sehen kannst habe ich den Artikel auch schon entsprechend erweitert.

  2. Kommentar von Scout
    6. September 2011, 13:20 Uhr.

    Klasse Blog, ich habe mich auch gerade in Ubuntu verliebt und hier ein paar Tipps gefunden. Zu den Tags wollte ich mal meinen Senf posten.

    Ordner Artist: Artist
    Ordner Album: Artist – Albumname-CD1-VÖJahr(Orignalversion)
    Titel: 101. Artist – Titel

    Egal wieviel CD’s, alle Titel liegen im gleichen Ordner. Der erste Titel von CD1 fängt mit der Nummer 101 an, der erste Titel von CD2 fängt mit Nummer 201 an und so weiter. Achja mit VÖ Jahr (Originalversion) ist das Jahr der Erstveröffentlichung gemeint, unabhängig ob remastered oder nicht.

  3. Kommentar von Sepp
    23. April 2012, 18:39 Uhr.

    Kleiner Tipp zu den Covern: Es ist möglich, die in den Dateien selbst zu hinterlegen. Damit sind die Daten dann zwar redundant vorhanden, was die Gefahr von Inkonsistenz birgt, aber so hat man sie immer beim Lied, was hier und da auch von Vorteil sein kann.

    Einen kleinen Wehmutstropfen bringt das aber mit sich: Android ist bis dato unfähig, die Coverbilder aus ogg-Dateien auszulesen. Ich habe deshalb immer noch das Coverbild mit dem Dateinamen „AlbumArt.jpg“ in meinen Ogg-Alben-Ordnern. Ärgerlich, aber zum jetzigen Zeitpunkt unvermeidbar. Ich pflege die Musiksammlung eh mit EasyTAG und MusicBrainz Picard, da habe ich dann auch garantiert keine leeren Ordner (:

    • Kommentar von Gerald
      23. April 2012, 19:35 Uhr.

      Ja, richtig. Das sehe ich auch als einzig richtige Lösung. Hab‘ ich auch gemacht – ich habe mal alle Cover in die Musikdateien übernehmen lassen, per Skript…
      Gruß, Gerald

  4. Kommentar von Marcus
    14. April 2013, 09:33 Uhr.

    Vielen Dank für den Tipp mit dem gconf-Editor um die Tags in den Dateinamen zu bekommen. Gibt es auch eine Möglich bei der CD-Nummer eine führende Null reinzubekommen? Gerade bei Hörbüchern wäre es praktisch, da es oft mehr als 9 CDs gibt und ab der 10. CD die Sortierung auf manchen Playern durcheinander kommen.

    VG
    Marcus

    • Kommentar von Gerald
      14. April 2013, 11:26 Uhr.

      Hallo Marcus,

      ich fürchte das geht erst einmal nicht. Schau mal hier in den Quellcode von Banshee.
      Da findest du alle Möglichkeiten aufgelistet. Auch ohne Programmierkenntnisse einigermaßen verständlich, denke ich. Für track_number und track_count, die beide mit führenden Nullen arbeiten gibt es jeweils noch Variablen mit _nz dahinter für „no zero“, also ohne die Null davor.
      Wenn du Banshee selbst kompilieren würdest könntest du eine kleine Änderung vornehmen und dir so deinen Wunsch erfüllen:
      Im Code-Block zu disc_number findest du das hier:

      StringFormat ("{0}, disc_number)

      das müsstest du m.E. ersetzen durch:

      StringFormat ("{0:00}, disc_number)

      Du könntest zusätzlich auch eine Variable disc_number_nz einführen.

      Vielleicht kannst du das ja auch mal den Machern von Banshee vorschlagen…

      Gruß, Gerald

    • Kommentar von Gerald
      14. April 2013, 12:00 Uhr.

      Hab gerade mal noch die Wiki-Seite bei ubuntuusers.de diesbezüglich etwas erweitert… Aber eins noch: für Audiobooks gibt es ja eigene Einstellungen, und da gibt es auch andere Variablen für die Patterns, z.B. %author% und %book_title%.
      Die entsprechende Quelldatei ist dann hier zu finden. Allerdings ist auch die CD-Nummer nur ohne führende Nullen zu haben.

      • Kommentar von Marcus
        14. April 2013, 18:26 Uhr.

        Hallo Gerald,
        vielen Dank für die Tipps und den Hinweis auf die eigenen Einstellungen für die Audiobooks. Banshee selbst zu übersetzen wäre kein Problem für mich, da ich auf meinem Arch Linux alle relevanten Bibliotheken installiert habe die man dafür braucht. Derzeit verwende ich auch die git-Version. Vielleicht werde ich es mal mit der vorgeschlagenen Änderung probieren.

        Was mich aber noch viel mehr wurmt, ist die Tatsache das die Sache mit den Audiobooks scheinbar nicht funktioniert. Das Thema wurde schon oft und viel in der Mailingliste und im Bugtracker diskutiert.

        Quellspezifisch werden für Musikdateien und Audiobookdateien unterschiedliche Verzeichnisse eingestellt. Man importiert ein Audiobook und es wird in die Verzeichnisstruktur der Musik einsortiert :/ Verschiebt man es dann über Banshee zu den Audiobooks, bleibt es bei der Musik auf der Festplatte stehen und wird nicht in das separate Verzeichnis geschubst….

        Wird Banshee beendet und das Audiobook manuell in den entsprechenden Ordner gelegt, wird das Audiobook ebenfalls nciht verwendet. Auch das schon vielfach propagiert Genre-Tag habe ich ausprobiert. Angeblich soll Banshee darauf reagieren… tut es aber nicht wenn man das Genre-Tag auf „Audiobook“ stellt.

        Eigentlich sehr schade… die ältesten Beiträge zu diesem Problem sind knapp 3 Jahre alt und bisher habe ich noch keinen nützlichen Hinweis darauf gefunden wie man

        – Audiobooks in das konfigurierte Audiobook-Verzeichnis importiert
        – und/oder Audiobooks aus dem Musik-Bereich physikalisch in den Audiobook-Bereich verschiebt.

        Viele Grüße,
        Marcus

        • Kommentar von Gerald
          14. April 2013, 18:41 Uhr.

          Da ich wenig mit Audiobooks mache kann ich da leider nichts dazu sagen… Hört sich aber nicht gut an… :(

          • Kommentar von Marcus
            14. April 2013, 18:46 Uhr.

            Alles klar :) Vielleicht hat einer deiner Leser oder Leserinnen ja noch einen Tipp für mich. Vielleicht bin ich auch nur „Betriebsblind“ oder setze eine Funktion voraus die so gar nicht gemeint ist.

            Viele Grüße,
            Marcus

  5. Pingback: Banshee mit Problemen unter Ubuntu 15.04 | ME and my U

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>