Bash: Steuerzeichen in Verbindung mit eyeD3 ersetzen / Easytag und UTF-8
Nachdem "id3v2 -R" mit UTF8 nicht zurecht kommt (welcher MP3-Editor funktioniert denn überhaupt mit UTF-8 wenn mehr als ISO-8859-1 verwendet wird?), versuche ich einen Workaround. Exiftool packt es auch nicht. eyeD3 kommt IMHO noch am besten mit UTF-8 zurecht, es ist aber nicht ganz trivial zB das Album zu bestimmen. eyeD3 $datei zeigt die Tags in Spalten an. Den Doppelpunkt kann man nicht so ohne weiteres verwenden, da die Feldbezeichnung in Fett dargestellt wird. Leitet man eyeD3 $datei in eine Datei um, dann findet man in der Datei zB das: ID3 v1.1: [1mtitle [0m: Pequeño Vals Vienés [1martist [0m: Ana Belén [1malbum [0m: Lorquiana - Poemas [1myear [0m: None [1mtrack [0m: 4 [1mgenre [0m: Unknown (id 255) Ich habe absichtlich ein Beispiel gesucht, das über dt. Sonderzeichen hinaus geht. Easytag hat mir das span. ñ (nje) in ein q verwandelt. Ich lese daher aus einer simplen Textdatei aus, bestimme den passenden Titel so: `cat "$TITLEFILE" | sed -n "$TRACKNO"p` und da passt es dann. Ist vielleicht sowieso die einfacher Lösung, wenn man im Netz eine Titelliste findet. Es ist zum Kotzen mit diesen mp3-Editoren, es scheint mir, dass immer nur an englische Zeichen gedacht bzw. gestestet wird. Die UTF8-Einstellungen bei Easytag bringen nicht das gewünschte Ergebnis, selbst wenn man bei ISO-8859-1 bleibt, zeigt Konqueror bei "mouse over" die Zeichen nicht richtig an. Wenn wer also einen Mp3-Editor kennt, der UTF8 nicht verändert, bitte nennen. Rufe ich easytag aus der Shell auf, dann lese ich EasyTAG 2.0 wird gestartet (PId: 5990)... Verwendet id3lib Version 3.8.3 ... Verwende momentan die Spracheinstellung 'de_DE.UTF-8' (letztendlich 'ISO-8859-1')... ... Trying to fix string '\301 ... ..OK, obwohl für Lesen und Speichern Unicode eingestellt.ist, rührt easytag die Dateien an. Somit bleibt nur, einen Workaround zu finden und das ist der Hintergrund meiner Frage. Schickt man also das Ergebnis von eyeD3 $datei in eine Pipe, zB | cut -f2 -d":" | sed -e 's/year//' -e "s/[:cntrl:]//g" -e 's/^ *//' -e 's/ *$//' > test.txt dann ist man die Steuerzeichen noch immer nicht los, d.h. die "halben" Worte der Feldbezeichnungen existieren noch immer und das Problem, wenn zB das Wort "Album" im Feld "Album" vorkommt, ist auch noch nicht gelöst. Man müsste also Anfang und Ende berücksichtigen, doch das klappt nicht auf die Art, wie oben die Leerzeichen am Anfang und Ende entfernt werden. [:print:] kann man auch nicht verwenden, dann sind die span. Sonderzeichen weg, aber die Steuerzeichen noch immer da. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag, 4. März 2007 12:42 schrieb Al Bogner:
Nachdem "id3v2 -R" mit UTF8 nicht zurecht kommt (welcher MP3-Editor funktioniert denn überhaupt mit UTF-8 wenn mehr als ISO-8859-1 verwendet wird?), versuche ich einen Workaround. Exiftool packt es auch nicht.
Ich habe mittlerweile doch einen anderen Workaround gefuden. Der Thread soll aber bitte doch diskutiert werden. Wenn es Latin1 ist, dann könnte das passen bzw. passt hier zu 99% CDDBALBUMTAG=`exiftool -q -q -s -s -s -Album "$MP3FILE" | iconv -f latin1 -t utf-8 | sed -e 's/<Unknown encoding> \.//' -e 's/^ *//' -e 's/ *$//'` Ist der Zeichensatz UTF-8, dann läßt man die Konvertierung natürlich weg. Letztlich ist das natürlich nicht besonders elegant, vor allem, wenn aus der CDDB _manche_ Titel nicht passen, obwohl es Latin1 zu sein scheint. Ich verwende Exiftool 6.76 und habe diesbzgl. mit dem Autor Kontakt aufgenommen. Wie ich Phil kenne, wird sich da sicher was ändern. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 04 Mär 2007, Al Bogner schrieb:
Nachdem "id3v2 -R" mit UTF8 nicht zurecht kommt (welcher MP3-Editor funktioniert denn überhaupt mit UTF-8 wenn mehr als ISO-8859-1 verwendet wird?), versuche ich einen Workaround. Exiftool packt es auch nicht.
eyeD3 kommt IMHO noch am besten mit UTF-8 zurecht, es ist aber nicht ganz trivial zB das Album zu bestimmen. [..] ID3 v1.1: [1mtitle [0m: Pequeño Vals Vienés [1martist [0m: Ana Belén [1malbum [0m: Lorquiana - Poemas [1myear [0m: None [1mtrack [0m: 4 [1mgenre [0m: Unknown (id 255)
Das sind Konsolen-Steuercodes die Regelmäßig sind. Ein sed 's/\[[0-9]*m//g' ^^ESC, eingeben mit Strg-v ESC oder im Emacs mit Strg-q ESC sollte klappen. Den Rest kannst du dann wie gehabt bearbeiten. -dnh -- Support bacteria - it's the only culture some people have! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag, 4. März 2007 18:14 schrieb David Haller: Hallo David,
Am Son, 04 Mär 2007, Al Bogner schrieb:
Nachdem "id3v2 -R" mit UTF8 nicht zurecht kommt (welcher MP3-Editor funktioniert denn überhaupt mit UTF-8 wenn mehr als ISO-8859-1 verwendet wird?), versuche ich einen Workaround. Exiftool packt es auch nicht.
eyeD3 kommt IMHO noch am besten mit UTF-8 zurecht, es ist aber nicht ganz trivial zB das Album zu bestimmen.
[..]
ID3 v1.1: [1mtitle [0m: Pequeño Vals Vienés [1martist [0m: Ana Belén [1malbum [0m: Lorquiana - Poemas [1myear [0m: None [1mtrack [0m: 4 [1mgenre [0m: Unknown (id 255)
Das sind Konsolen-Steuercodes die Regelmäßig sind. Ein
sed 's/\[[0-9]*m//g' ^^ESC, eingeben mit Strg-v ESC oder im Emacs mit Strg-q ESC sollte klappen.
Was meinst du mit eingeben? Ich rufe das per Bash-Script auf. Mit "copy and paste": Da dürfte das Steuerzeichen wohl verlorengegangen sein. eyeD3 sample88591.mp3 | sed 's/[[0-9]*m//g' aple88591.p3 3.07 MB ] ------------------------------------------------------------------------------- ie: :36 MPEG1, Layer III [ ~165 kb/s @ 44100 Hz - Joint stereo ] -------------------------------------------------------------------------------- ID3 v1.1: itle Canción tonta rtist Ana Belén lbu Lorquiana - Poeas ear None rack 8 enre Unknown (id 255) Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 05 Mär 2007, Al Bogner schrieb:
Am Sonntag, 4. März 2007 18:14 schrieb David Haller:
ID3 v1.1: [1mtitle [0m: Pequeño Vals Vienés [1martist [0m: Ana Belén [1malbum [0m: Lorquiana - Poemas [1myear [0m: None [1mtrack [0m: 4 [1mgenre [0m: Unknown (id 255)
Das sind Konsolen-Steuercodes die Regelmäßig sind. Ein
sed 's/\[[0-9]*m//g' ^^ESC, eingeben mit Strg-v ESC oder im Emacs mit Strg-q ESC sollte klappen.
Was meinst du mit eingeben? Ich rufe das per Bash-Script auf.
Im Script musst du das ESC eingeben. s slash ESC backslash [ [ 0 ... Und das ESC muss ein echtes ESC sein. Mit nem neuen sed könnte es auch gehen wenn du s/\033\[[0-9]*m//g oder s/\e\[[0-9]*m//g verwendest.
Mit "copy and paste": Da dürfte das Steuerzeichen wohl verlorengegangen sein. eyeD3 sample88591.mp3 | sed 's/[[0-9]*m//g' ^^^ hier fehlt das ESC und du nimmst das [ mit in die Zeichenklassen in den [] mit hinein, was flasch ist. aple88591.p3 3.07 MB ] ie: :36 MPEG1, Layer III [ ~165 kb/s @ 44100 Hz - Joint stereo ] ID3 v1.1: itle Canción tonta rtist Ana Belén
Und deswegen stimmt auch die Ausgabe nicht. -dnh -- Subtlety is the art of saying what you think and getting out of the way before it is understood. -- BSD fortune file -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Al Bogner
-
David Haller