Kid3-cli
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
kid3-cli 🇬🇧 ist ein Shell-Programm zum bearbeiten der Tags (Metadaten) von zahlreichen Audioformaten. Es handelt sich um die Shell-Variante von Kid3, stammt vom gleichen Entwickler und basiert auf der gleichen Kernkomponente kid3-core.
Installation¶
kid3-cli (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install kid3-cli
Oder mit apturl installieren, Link: apt://kid3-cli
Überblick¶
kid3-cli verfügt über einen interaktiven Modus der bei einem einfachen Programm aufruf verwendet wird:
kid3-cli
Ferner können auch wie gewohnt Optionen und Zieldateien direkt übergeben werden. Hierfür muss die Option -c
zuerst angegeben werden:
kid3-cli -c [Optionen] [Befehle] [Dateien]
Interaktiver Modus¶
Hierbei übernimmt kid3-cli das Terminal und wird mit seinen eigenen Befehlen gesteuert:
Befehle¶
Navigation und Grundlegendes¶
Befehl | Beschreibung |
pwd | Den aktuellen Pfad anzeigen |
cd PFAD | In PFAD wechseln |
ls | Dateien auflisten und zeigen Welche ausgewählt, sowie verändert wurden |
select NAME | Die Datei NAME auswählen |
select first | Die alphanumerisch erste Datei im Verzeichnis auswählen |
select next | Nächste Datei auswählen |
select previous | Vorige Datei wählen |
select all | Alle Dateien auswählen |
select none | Alle gewählten Dateien abwählen- Nötig bevor Alle ausgewählt werden können |
save | Die Änderungen für die ausgewählte(!) Datei abspeichern |
revert | Alle Änderungen für die ausgewählte Datei verwerfen |
exit | Interaktiven Modus verlassen. Gesperrt falls nicht-gespeicherte Änderungen vorhanden sind |
exit force | Interaktiven Modus verlassen, alle Änderungen verwerfen |
Ausgabe von ls
:
kid3-cli> ls 1-- 01. Irgend ein Lied.mp3 > 12- 02. Noch ein Lied.mp3 *1-- 03. Und wieder eins.mp3
>
signalisiert ausgewählte Dateien*
signalisiert geänderte, aber noch nicht gespeicherte Tags1--
zeigt das nur ein Tag mit der Nummer 1 vorhanden ist (siehe unten) während bei der zweiten Datei12-
zeigt, das auch ein Tag Nummer 2 existiert.
Tags¶
Es können je Datei bis zu drei Tags gespeichert werden, die allesamt ihre eigenen Elemente beinhalten. Tag 2 ist bei allen Audioformaten der Standard. Bei MP3 wird zusätzlichen zwischen den ID3-Tag-Versionen 1 und 2 unterschieden. Sind beide vorhanden sieht dies bei der Abfrage (z.B. mit kid-3cli -c "get" Datei.mp3
) so aus:
Tag 1: Titel Ein langer Titel der von id3-V Interpret Sonstwer ... Tag 2: Titel Ein langer Titel der von id3-Version 1 nicht komplett angezeigt werden kann. Interpret Sonstwer ...
Die Versionen werden Tag 1 respektive 2 zugeordnet.
Befehl | Beschreibung |
tag NUMMER | Tag auswählen. Ist er nicht vorhanden, wird er angelegt. |
remove NUMMER | Tag entfernen |
syncto NUMMER | Ausgewählten Tag zu Tag NUMMER kopieren |
Elemente¶
Die Elemente befinden sich innerhalb der Tags, sie beschreiben die eigentlichen Informationen wie Liedtitel, Interpret etc.
Befehl | Beschreibung |
get | Alle Elemente des Tags anzeigen |
get ELEMENT | Nur das beschriebene Element anzeigen |
set ELEMENT "INHALT" | Dem Element diesen Inhalt zuweisen |
set ELEMENT "" | Element entfernen indem es mit "Nichts" überschrieben wird |
Die gebräuchlichsten Elemente:
Element | Beschreibung |
title | Liedtitel |
album | Albumtitel |
artist | Interpret |
date | Erscheinungsjahr |
track | Liednummer |
genre | Musikalisches Genre |
discnumber | CD-Nummer für Alben mit mehreren CDs |
albumartist | Haupt-Interpret vom Album |
performer | Ausführender Interpret z.B. Orchester |
composer | Komponist |
picture:'/pfad/zu/bilddatei.jpg' 'Bildbeschreibung' | Cover in Tag einbetten |
Besondere Befehle¶
Titel nummerieren¶
Mit dem Befehl numbertracks
zählt kid3-cli die Dateien alphanumerisch und setzt die Stücknummer in jedem Tag:
select all numbertracks
Tags von/zu Dateinamen¶
Tags werden von Dateinamen mit totag
übernommen gefolgt von Variablen welche die Struktur beschreiben. Die Variablen benutzen die Namen der Elemente:
select "Toller Interpret - Tolles Album - 01. Tolles Lied.flac" ## Dateiname wird beschrieben mit: totag %{artist} - %{album} - %{track}. %{title}
Dateiendung wird immer ignoriert.
fromtag
bewirkt das Gegenteil:
select Irgendwas.flac fromtag "%{artist} - %{album} - %{track}. %{title}" ## Ergibt wieder Dateiname: Toller Interpret - Tolles Album - 01. Tolles Lied.flac
Tags ex-/importieren¶
Mittels export
können Tags in andere Dateiformate exportiert werden. Zur Wahl stehen: CSV unquoted, CSV quoted, Extended PLS, Extended M3U, HTML. Am Ende die Nummer des gewünschten Tags:
select 01. Tolles Lied.flac export Zieldatei.csv "CSV unquoted" 2
Umgekehrt zum importieren:
select 01. Tolles Lied.flac import Zieldatei.csv "CSV unquoted" 2
Nicht-interaktiver Modus¶
Mit der Option -c
werden die obigen Befehle kid3-cli übergeben und auf Dateien angewandt. Das Programm lässt sich so auch in Skripten verwenden. Spätestens hier wird man wahrscheinlich etwas Wissen über die Maskierung von Anführungszeichen und Apostrophen benötigen:
kid3-cli -c "set album 'Tolles Album'" tolles_lied.flac
Mehrere Elemente gleichzeitig setzen:
kid3-cli -c "set album 'Tolles Album'" -c "set title 'Tolles Lied'" -c "set date '2022'" tolles_lied.flac
get
gibt den Inhalt eines Elements aus:
kid3-cli -c "get date" tolles_lied.flac ## Gibt das Jahr aus: 2022
Links¶
Handbuch 🇩🇪
Multimedia (Abschnitt „Verwaltung“) Programmübersicht