Korrekte Einstellungen für abcde unter UTF-8?

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
dirk11
Beiträge: 2813
Registriert: 02.07.2013 11:47:01

Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von dirk11 » 05.03.2014 19:16:48

Hi Leute,

entstanden aus diesem thread möchte ich hier mal meine abcde.conf zur Korrektur stellen. Ich habe Probleme mit deutschen Umlauten und Sonderzeichen, ich glaube, dass sich das Problem auf das id3v1-tag begründet. Wenn ich eine meiner CDs, z.B. eine von Hr. Grönemeyer, mit abcde rippe und danach dann aus den tracks .flac und .mp3 erstellen lasse, so sehen diese prinzipiell erstmal gut aus. Die Titeldaten werden ja per cddb aus dem Internet geholt, oft editiere ich noch etwas (Tippfehler o.ä.) und lasse die Files dann schreiben. Schaue ich sie mir auf dem PC an (UTF-8), so sehen sie gut aus, und zwar alle tags. Kopiere ich hernach aber ein mp3-file auf mein Android-Smartphone und spiele es dort z.B. mit dem musicPlayerPro ab, so sind alle Sonderzeichen und Umlaute durch je zwei kryptische Zeichen ersetzt.
Wie kann ich das verhindern, was ist an meiner .abcde.conf falsch?

Code: Alles auswählen

OGGENCODERSYNTAX=oggenc			# Specify encoder for Ogg Vorbis
MP3ENCODERSYNTAX=lame			# Specify encoder for MP3
FLACENCODERSYNTAX=flac			# Specify encoder for FLAC
#MPPENCODERSYNTAX=mppenc		# Specify encoder for Musepack
#AACENCODERSYNTAX=faac			# Specify encoder for AAC

OGGENC=oggenc				# Path to Ogg Vorbis encoder
LAME=lame				# Path to MP3 encoder
FLAC=flac				# Path to FLAC encoder
#MPPENC=mppenc				# Path to Musepack encoder
#AACENC=faac				# Path to AAC encoder

OGGENCOPTS='-q 6'			# Options for Ogg Vorbis
LAMEOPTS='--preset standard'		# Options for MP3
#LAMEOPTS='--preset extreme'		# Options for MP3
#LAMEOPTS='--preset insane'		# Options for MP3
FLACOPTS='--verify --best'		# Options for FLAC
#MPPENCOPTS='--extreme'			# Options for Musepack
#AACENCOPTS='-q 250 -w -s'		# Options for AAC

#OUTPUTTYPE="ogg,mp3,flac,mpc,m4a"	# Encode to all 5 formats!
#OUTPUTTYPE="ogg,mp3,flac"
OUTPUTTYPE="mp3,flac"
#OUTPUTTYPE="mp3"

CDROMREADERSYNTAX=cdparanoia
CDPARANOIA=cdparanoia
CDPARANOIAOPTS="--never-skip=40"

# Give the location of the CD identification program:
CDDISCID=cd-discid

OUTPUTDIR="/home/dirk/music/"
#OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'
#OUTPUTFORMAT='${ARTISTFILE}*${ALBUMFILE}*-${TRACKNUM}-${TRACKFILE}'
#VAOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'
VAOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${TRACKNUM} - ${ARTISTFILE} - ${TRACKFILE}'
#ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'
#VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}'

mungefilename ()
{
  echo "$@" | sed s,:,-,g | tr / _ | tr -d \'\"\?\[:cntrl:\]
}
#CDDBPROTO=5				# 5=retrieve ISO-8859-15 encoded CDDB information,
					# and we tag and add comments with Latin1 encoding.
					# 6=retrieves CDDB entries in UTF-8 format (default).
MAXPROCS=2				# Run a few encoders simultaneously
PADTRACKS=y				# Makes tracks 01 02 not 1 2
EXTRAVERBOSE=y				# Useful for debugging
EJECTCD=y				# Please eject cd when finished :-)
# KEEPWAVS=n				# temp erase
METAFLACOPTS="--no-utf8-convert"

ID3V2=eyeD3				# Use eyeD3 for tagging
ID3SYNTAX=eyed3				# Let abcde know that eyeD3's syntax is requiered
ID3V2OPTS="--set-encoding=utf8"		# Some characters can't be matched to latin-1

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von wanne » 05.03.2014 19:38:11

abcde macht nichts falsch.
Ich nehme an, dass du ein älteres Smartphone hast, bei dem du noch direkt die FAT-Formatierte spiecherkarte mountest. FAT kann eigentlich nur ASCII-Großbuchstaben und wurde mit vfat nur recht grauenhaft auf mehr erweitert das Gerät muss wissen wie andere Buchstaben abgespeichert werden, weil FAT selbst das nicht vorhält.
Da musst du mal gucken wie die richtig gemounted wird. (einfach ein android terminal installieren und mal "mount | grep sdcard" ausführen. Hier bei mir will das glaube ich das:

Code: Alles auswählen

mount -o codepage=cp437,iocharset=8859-1,shortname=mixed,utf8 /dev/sdxX
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
CH777
Beiträge: 1464
Registriert: 27.05.2008 16:37:17

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von CH777 » 05.03.2014 21:17:01

dirk11 hat geschrieben:

Code: Alles auswählen

#CDDBPROTO=5				# 5=retrieve ISO-8859-15 encoded CDDB information,
					# and we tag and add comments with Latin1 encoding.
					# 6=retrieves CDDB entries in UTF-8 format (default).
Jetzt bin ich verwirrt...du liest die Titel als ISO-8859-15 und schreibst sie dann als utf8 oder wie?
Hast du es mal mit dem default-Wert versucht?

dirk11
Beiträge: 2813
Registriert: 02.07.2013 11:47:01

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von dirk11 » 05.03.2014 22:28:23

wanne hat geschrieben:abcde macht nichts falsch.
Ich nehme an, dass du ein älteres Smartphone hast, bei dem du noch direkt die FAT-Formatierte spiecherkarte mountest. FAT kann eigentlich nur ASCII-Großbuchstaben und wurde mit vfat nur recht grauenhaft auf mehr erweitert das Gerät muss wissen wie andere Buchstaben abgespeichert werden, weil FAT selbst das nicht vorhält.
Da musst du mal gucken wie die richtig gemounted wird. (einfach ein android terminal installieren und mal "mount | grep sdcard" ausführen. Hier bei mir will das glaube ich das:

Code: Alles auswählen

mount -o codepage=cp437,iocharset=8859-1,shortname=mixed,utf8 /dev/sdxX
Ich würde mich ja freuen, wenn du recht hast, aber noch zweifle ich, denn bei den letzten CD hat es geholfen, die Titel-Einträge mit kid3tag (hieß doch so, oder?) nochmal manuell einzugeben. Das war aber verhaltensmäßig auch schon sehr strange...

Zwei Telefone, gleiches Verhalten, beide Ice Cream Sandwich, gerootet, Stock-ROM, installiert ist Android Terminal Emulator:
- Motorola Razr Maxx
mount|grep sdcard geht nicht, "not found". Mal manuell abgetippt:

Code: Alles auswählen

/dev/block/vold/179:97 /storage/sdcard1 vfat rw,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=is8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
Der interne sd-Speicher wird identisch gemountet, nur hat er 179:25 und sdcard0 als Name.

- Samsung Galaxy Note 1:

Code: Alles auswählen

/dev/block/vold/179:9 /sotrage/extSdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
Auch hier interner sd-Speicher identisch, aber 259:3 und /storage/sdcard0.

Hilft das weiter?

dirk11
Beiträge: 2813
Registriert: 02.07.2013 11:47:01

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von dirk11 » 05.03.2014 22:29:27

CH777 hat geschrieben:
dirk11 hat geschrieben:

Code: Alles auswählen

#CDDBPROTO=5				# 5=retrieve ISO-8859-15 encoded CDDB information,
					# and we tag and add comments with Latin1 encoding.
					# 6=retrieves CDDB entries in UTF-8 format (default).
Jetzt bin ich verwirrt...du liest die Titel als ISO-8859-15 und schreibst sie dann als utf8 oder wie?
Hast du es mal mit dem default-Wert versucht?
Du verwirrst mich, da steht doch eine # vor dem Parameter, der ist doch gar nicht gesetzt.

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von Lohengrin » 06.03.2014 01:52:05

dirk11 hat geschrieben:ich glaube, dass sich das Problem auf das id3v1-tag begründet.
id3v1 gibt es in der Konfigurationsdatei nicht vor. Falls es ID3V2 ist, kenne ich mich leider nicht damit aus.
dirk11 hat geschrieben:Kopiere ich hernach aber ein mp3-file auf mein Android-Smartphone und spiele es dort z.B. mit dem musicPlayerPro ab, so sind alle Sonderzeichen und Umlaute durch je zwei kryptische Zeichen ersetzt.
Wenn es nur um Dateinahmen geht, wird es falsch gemountet, und wanne hat den richtigen Hinweis gegeben.

Wenn es um Daten geht, die in mp3-Datei stecken, macht musicPlayerPro etwas, das du nicht willst. Möglicherweise kann die mp3-Datei Information über die Zeichenkodierung enthalten, was musicPlayerPro möglicherweise berücksichtigt. Es gibt einen utf8-BOM, der aus guten Gründen nicht benutzt werden soll, weil er oft stört. Aber hier könnte er nützlich sein.
Ein zweiter Weg ist, die Konfiguration des musicPlayerPro. Möglicherweise kann man dem mitteilen, was default ist.
Ein dritter Weg ist, die Daten in die Zeichenkodierung zu überführen, von der musicPlayerPro ausgeht.
Ein vierter Weg ist, einen anderen mp3-Abspieler zu benutzen.
Harry, hol schon mal das Rasiermesser!

dirk11
Beiträge: 2813
Registriert: 02.07.2013 11:47:01

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von dirk11 » 06.03.2014 02:34:13

Lohengrin hat geschrieben:Wenn es nur um Dateinahmen geht, wird es falsch gemountet, und wanne hat den richtigen Hinweis gegeben.
Nein, um die Datei-Namen geht es nicht.
Wenn es um Daten geht, die in mp3-Datei stecken, macht musicPlayerPro etwas, das du nicht willst. Möglicherweise kann die mp3-Datei Information über die Zeichenkodierung enthalten, was musicPlayerPro möglicherweise berücksichtigt.
Ein zweiter Weg ist, die Konfiguration des musicPlayerPro. Möglicherweise kann man dem mitteilen, was default ist.
Ein dritter Weg ist, die Daten in die Zeichenkodierung zu überführen, von der musicPlayerPro ausgeht.
Ein vierter Weg ist, einen anderen mp3-Abspieler zu benutzen.
Es gibt einen fünften Weg: es lag an "Altlasten", also CDs, die ich früher schon fehlerhaft geript habe. Ich habe das heute anhand einer Beispiel-CD erneut gemacht, und die Daten werden korrekt angezeigt.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von wanne » 06.03.2014 03:20:28

dirk11 hat geschrieben:Hilft das weiter?
Ja, und dann solltest du das smartphne mit den gleichen Optionen mounten, wenn du es an den Rechner anschließt.
Kann aber auch an den ID3 Tags liegen v1 benutzt hoffentlich nichts mehr und eye3D erstellt die auch nicht. Aber UTF8 ist neu im standard. Grottigere player (WMP) können das noch nicht. Nimm mal utf16-LE oder latin1 UTF8 BOM sind in dem Fall quatsch. Im ID3 sthet ja ausdrücklich drin, dass da UTF8 verwendet wird. Und eben ohne BOM => Wer das implementiert wird es so implementieren, das der BOM quatsch verursacht.
dirk11 hat geschrieben:Nein, um die Datei-Namen geht es nicht.
Sicher?
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
CH777
Beiträge: 1464
Registriert: 27.05.2008 16:37:17

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von CH777 » 06.03.2014 10:51:07

dirk11 hat geschrieben:da steht doch eine # vor dem Parameter, der ist doch gar nicht gesetzt.
Äh ja...wie gesagt, ich war verwirrt :?

dirk11
Beiträge: 2813
Registriert: 02.07.2013 11:47:01

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von dirk11 » 06.03.2014 16:01:55

wanne hat geschrieben:Ja, und dann solltest du das smartphne mit den gleichen Optionen mounten, wenn du es an den Rechner anschließt.
Kann aber auch an den ID3 Tags liegen v1 benutzt hoffentlich nichts mehr und eye3D erstellt die auch nicht. Aber UTF8 ist neu im standard. Grottigere player (WMP) können das noch nicht. Nimm mal utf16-LE oder latin1 UTF8 BOM sind in dem Fall quatsch. Im ID3 sthet ja ausdrücklich drin, dass da UTF8 verwendet wird. Und eben ohne BOM => Wer das implementiert wird es so implementieren, das der BOM quatsch verursacht.
BOM? Was ist BOM?
dirk11 hat geschrieben:Nein, um die Datei-Namen geht es nicht.
Sicher?
Ja, ganz sicher, weil ich auch files ganz anders benannt habe.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von wanne » 06.03.2014 17:08:54

dirk11 hat geschrieben:BOM? Was ist BOM?
Byte Order Mark. Eigentlich um zu seigen eb man Big oder Little endian arbeitet. Hat bei UTF-8 aber den sinn zu zeigen, dass es UTF-8 ist. Aber wie gesagt vergiss es. Ist im standard schon festgelegt. Wenn es nicht an den Dateinamen hängt würde ich ganz stark tippen, dass der Player kein UTF-8 kann nimm. Wie gesagt latin1 ist viel weiter verbreitet und auch utf16-LE implementieren glaube ich wesentlich mehr player als UTF-8.
rot: Moderator wanne spricht, default: User wanne spricht.

dirk11
Beiträge: 2813
Registriert: 02.07.2013 11:47:01

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von dirk11 » 06.03.2014 22:36:36

wanne hat geschrieben:utf16-LE
WTF? Ich hatte gehofft und geglaubt, mit UTF8 hätte der ganze codepage- und localization-Wahn endlich ein Ende, weil man alles in einem hat. Täuschung?

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von wanne » 06.03.2014 23:59:25

DIe 8859er standards (und damit latin1) ist eben historisch das erste gewesen, weil es relativ einfach zu implementieren ist. (Und vor allem einfach auf ASCII aufzusetzen.) hat aber eben den Nachteil dass nicht alle Zeichen funktionieren. Einige häufige wurden in latin1 aber vergessen. (oder erlangten ihre häufigkeit erst später) cp-1252 hat da einige häufige zuätzlich reingepackt und das problem so gefixt.

Danach kamen einige andere die eben international funktionieren:
UCS-4 (im moment equivalent mit UTF-32) hat schön feste Zeichenlängen das macht viele Programme erheblich einfacher und viel performanter. Viele fordern im Moment, dass das überall gentutz werden soll und wenn es zu sperrig wird, soll man halt komprimieren.
UTF-8 ist für typische Westliche Texte schön platzsparend und bleibt kompatibel zu ASCII. Deswegen wird es für anwendungstexte ganz gerne verwendet.
UTF-16 ist eine gute mischung aus platzsparsamkeit und performance. Deswegen kommt es in vielen low-level Sachen zum Einsatz. (Dateisysteme, Java-Strings...) Bleibt in welcher reihenfolge die Bytes hintereinander gesetzt werden. Ist eigenltich wurst. Durchsetzen konnte sich keine Variante. => es existieren 2 inkompatible Varianten. (Das gilt auch für UCS-4)
BOM ist ein "Zeichen" am Anfang das das Problem lösen indem es zeigen ob Big oder Little Endian gentzt wird womit für jede mehrbyte-Codierung nochmal so viele hinzukommen weil jetzt je eine Codierung mit und ohne BOM existiert.
Wie du sieht hat von den letzteren alles seine Vor- und Nachteile. Und keiner wird einsehen, warum er da was ändern soll, wo seine Codierung doch auch recht verbreitet ist.

EDIT: etwas ausführlicher
rot: Moderator wanne spricht, default: User wanne spricht.

dirk11
Beiträge: 2813
Registriert: 02.07.2013 11:47:01

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von dirk11 » 07.03.2014 00:39:05

Danke für die Zusammenfassung! Was ein Chaos...

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von wanne » 07.03.2014 09:06:21

Was ein Chaos...
Ja und das war nur der Anfang: DOS hat CP850, Apple wollte auch eine eigene haben und hat MacRoman erfunden. IBM hat mit seinen EBCDIC nochmal seine ganz eigene Suppe gekocht und ist gar nicht komßpatibel zu ASCII geblieben, die Russen haben ihren KOI8 der auch auf Geräten die nur ASCII können lesbar bleibt, Für chinesische Zeichen wird gerne Big5 verwendet außer in China da haben sie für simpilified Chinese GB2312 und für traditionelles GB/T 12345. Die Japaner haben dagegen SJIS obwohl das gar nicht alle japanischen schriften darstellen kann... Ja und der 8859 standard enthält ja immerhin 16 verschiedene Codierungen.
Ja und so kommt das halt, dass schon iconv 1168 verschiedene Codierungen kennt. Und da habe ich auch schon eine gefunden, die nicht enthalten ist (UTF-EBCDIC).
Wobei da viele doppelt drin sind latin-1 ist ein anderer name für ISO8859-1 der sich wiederum nur um einzeichen von ISO8859-15 unterscheidet, der auch Latin-9 heist und CP1252 hat nur ein paar zusätzliche Zecihen und wird auch als WINDOWS-1252 aufgeführt. => Für viele Texte, passen viele codierungen weil sie für die verwendeten Zeichen GLecih sind.
rot: Moderator wanne spricht, default: User wanne spricht.

sonya
Beiträge: 84
Registriert: 28.07.2007 07:55:33

Re: Korrekte Einstellungen für abcde unter UTF-8?

Beitrag von sonya » 04.12.2014 13:26:34

Das Thema ist zwar schon etwas äleren Datums. Eine Frage hätte ich dazu.
Wie bekomme ich "bessere" Dateinamen ausgegeben?
Reicht folgende Ergänzung:

Code: Alles auswählen

mungefilename ()
{
  echo "$@" | sed s,:,-,g | tr / _ | tr -d \'\"\?\[:cntrl:\] 
}
zu ===>

Code: Alles auswählen

mungefilename ()
{
  echo "$@" | sed s,:,-,g | tr / _ | tr -d \'\"\?\[:cntrl:\] | sed s/ü/ue/ | sed s/ö/ou/
}
oder stellt sich das Ganze viel komplizierter dar?
Wie bekomme ich z.B. Hochkommata und eckige Klammern aus dem Dateinamen?
sed ist für mich ein Schloss mit Hunderten von Siegeln :O

LG
Sonya

Antworten