mp3info: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der Shell-Befehl <b>mp3info</b> zeigt und verändert die ID3-Tags in MP3-Dateien. Wid das Programm direkt aus dem Quellcode erstellt, so erhält man nach d...) |
Michi (Diskussion | Beiträge) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
Wid das Programm direkt aus dem Quellcode erstellt, so erhält man nach dem Übersetzen zwei Versionen. | Wid das Programm direkt aus dem Quellcode erstellt, so erhält man nach dem Übersetzen zwei Versionen. | ||
* <b>mp3info</b> ist eine Befehlszeilenversion, die sich für den automatisierten Einsatz in Skripten eignet. | |||
* <b>gmp3info</b> ist eine Version mit grafischer Oberfläche und eignet sich besonders gut, um einzelne ID3-Tags zu verändern. | |||
== Installation == | == Installation == | ||
Zeile 23: | Zeile 17: | ||
Falls das Kompilieren aus dem Tarball mit Fehler abbricht kann auch das RPM-Paket zur Installation verwendet werden. | Falls das Kompilieren aus dem Tarball mit Fehler abbricht kann auch das RPM-Paket zur Installation verwendet werden. | ||
=== Ubuntu 12.04 Precise Pangolin === | |||
$ <b>sudo apt-get install mp3info</b> | |||
== Verwendung == | == Verwendung == | ||
Zeile 113: | Zeile 111: | ||
* [http://www.ibiblio.org/mp3info/ MP3Info] (IBiblio.org) | * [http://www.ibiblio.org/mp3info/ MP3Info] (IBiblio.org) | ||
* https://packages.debian.org/bookworm/mp3info | |||
{{cat|ID3-Tag}} | |||
{{cat|MP3}} | {{cat|MP3}} | ||
{{cat|Shell-Befehl}} | {{cat|Shell-Befehl}} |
Aktuelle Version vom 28. August 2024, 18:14 Uhr
Der Shell-Befehl mp3info zeigt und verändert die ID3-Tags in MP3-Dateien.
Wid das Programm direkt aus dem Quellcode erstellt, so erhält man nach dem Übersetzen zwei Versionen.
- mp3info ist eine Befehlszeilenversion, die sich für den automatisierten Einsatz in Skripten eignet.
- gmp3info ist eine Version mit grafischer Oberfläche und eignet sich besonders gut, um einzelne ID3-Tags zu verändern.
Installation
Herunterladen: http://www.ibiblio.org/mp3info/
$ tar xzf mp3info-0.8.5a.tgz $ cd mp3info-0.8.5a $ vi Makefile $ make # checkinstall # yast -i /usr/src/packages/RPMS/i386/mp3info-0.8.5a-1.i386.rpm
Falls das Kompilieren aus dem Tarball mit Fehler abbricht kann auch das RPM-Paket zur Installation verwendet werden.
Ubuntu 12.04 Precise Pangolin
$ sudo apt-get install mp3info
Verwendung
Aufruf der interaktiven Version:
$ mp3info -i file.mp3 MP3Info 0.8.5a ┌──────────────────────────────────────────────────────────────────────────────┐ │Song Title: Reconnez chérie │ │Artist Name: Wreckless Eric │ │Album Name: │ │Year: │ │Comment: │ │Track: │ │Genre: │ └─── (1/1) Wreckless Eric-Reconnez cherie.mp3 ──────────── Press ^C to quit ───┘
Auslesen der ID3-Tags. Dabei wird die Ausgabe von mp3info mit "-p" so formatiert, dass zuerst die Tracknummer (%n), dann ein "#" und schliesslich der Dateiname (%f) angezeigt wird. Die Informationen zu einer Datei beendet ein Zeilenumbruch (\n). Der Befehl sort bringt die Zeilen wieder in die richtige Reihenfolge und awk operiert die störenden Zeichen wieder heraus - dazu wird "#" als Trennzeichen zwischen Feldern (-F)benutzt und nur das zweiten Feld ({print $2}) mit dem ursprünglichen Dateinamen ausgegeben.
$ mp3info -p '%n#%f\n' *.mp3 | sort -n | awk -F# '{print $2}'
Beispielskript "mp3sort".
#!/bin/bash # Name mp3sort # Find first file FFILE='ls | grep -i .mp3 | head -1' # Check for track number TNR='mp3info -p %n "$FFILE"' if [ "#$TNR" == "#" ]; then echo "Warning: no track number in $FFILE" exit 1 fi # "#" must not appear in names mp3info -p '%n#%f\n' *.mp3 | sort -n | awk -F# '{print $2}'
Setzen der ID3-Tags.
#!/bin/bash # Name mp3set # Description Set ID3 tag track number # IFS is set to interpret newlines as field separators IFS=" " for i in *.mp3; do TNR="'echo $i | awk -F '- ' '{print $1}'" echo "Setting track number $TNR in $i" mp3info -n $TNR $i done
Beispiele
Erstellen eines Inhaltsverzeichnisses aus den vorhandenen ID3-Tags der MP3-Sammlung. Folgende Schleife durchsucht in einem Verzeichnis alle MP3-Dateien und gibt formatiert die Nummer des Tracks, den Titel und den Interpreten aus
for i in *.mp3; do mp3info -p "%02n %t %a\n" "$i" done | sort | lpr
Soll das für eine ganze Verzeichnis-Hierarchie gemacht werden (bei mir gilt die Struktur Anfangsbuchstabe/Interpret/Album), so geht das wie folgt. Für jedes aufgefundene Verzeichnis wird eine Liste erstellt und als separater Druckauftrag zu Papier gebracht. Bei anderer Organisation auf der Festplattemuss evtl. der Parameter "-mindepth 3" entsprechend angepasst werden.
base_dir=`pwd` find . -type d -mindepth 3 -print | while read d; do cd "$base_dir/$d" for i in *.mp3; do mp3info -p "%02n %t %a\n" "$i" done | sort | lpr done
Im folgenden wird darauf verzichtet, für jedes gefundene Verzeichnis einen eigenen Druckafutrag zu starten und stattdessen ein einzelner Job aufgebaut. Wie zu sehen ist, werden nur die Pipes zum Weiterreichen der Ausgaben ein wenig anders angeordnet.
base_dir=`pwd` find . -type d -mindepth 3 -print | while read d; do cd "$base_dir/$d" basename "$d" for i in *.mp3; do mp3info -p "%02n %t %a\n" "$i" || break done | sort echo done | lpr
Weblinks
- MP3Info (IBiblio.org)