Ich möchte MP3-Files im Format ID3v2 mit perl ändern.
Ich habe getestet mit Modul MP3::Tag mit den Demo-Beispielen.
Ich dachte, wenn man MP3 mit Format ID3v2 verwendet, dann ist Format ID3v1 im File nicht mehr vorhanden. Dem ist nicht so, richtig ?
ID3v2 steht in einem reservierten Bereich am Anfang vom File im Gegensatz zu ID3v1 , richtig ?
Ich möchte das Feld Year (TYER) ändern. Soll man jetzt aus Konsistenz-Gründen das
Year für beide Formate (ID3v2 / ID3v1) ändern ?
Aufgefallen, ist es mir, als ich das Year nur für ID3v1 geändert habe (mit Demo-Beispiel) und Mp3Tag dann nicht das geänderte anzeigte.
Hat jemand Erfahrung mit perl und ID3-Tag Handling ? Nachdem ich die Änderung am Test-File gemacht hatte, habe ich keine Probleme entdeckt. Analyse mit "mediainfo" OK und Abspielen konnte ich File.
Info von File, hier sieht, daß Year (2005) im ID3v1 Tag anders ist als für im ID3v2 - TAG :
-- test.mp3:
** found ID3v1 - TAG
Song: TEST
Artist: TEST
Album: Test Hits
Comment: Created with EAC/REACT v2.0.
Year: 2005
Genre: Blues
Track: 1
** found ID3v2 - TAG; size = 1056 (+10);
TRCK Track number/Position in set: '1/18'
TDRC Recording time: '2004'
TIT2 Title/songname/content description: 'TEST'
TYER Year: '2004'
TCON Content type: 'Blues'
TPE1 Lead performer(s)/Soloist(s): 'TEST'
TSSE Software/Hardware and settings used for encoding: 'LAME 3.98.2 -V2 --noreplaygain --nohist'
Frame-Name COMM Comments
COMM Comments:
Language => 'eng'
Description => ''
Text => 'Created with EAC/REACT v2.0.akku.b04, 2009-11-30'
Habe jetzt MP3-Files mit Perl bearbeitet und nun stellt sich folgender Sachverhalt dar :
%year% ist nicht kompatibel mit den Perl-Änderungen.
In "Usrfields" habe ich für "Jahr2 die Anzeige "%year%\%year%" (z.B.:2000\\2000) ,
In Columns (value=%year%) wird Jahr richtig angezeigt.
Folgendes habe ich jetzt analysiert:
Setzen mit "perl" Format ID3v2 %year%, entspricht TYER:
TYER Year: '2000' entspricht %year%
Ausgabe in file tag_perl_ID3v2.txt
Column : TYER Year: '2000' richtig
Anzeigen mit "MP3Tag"
Ausgabe in file "anzeige_mp3tag_nach_perl.jpg"
Column %year" ist '2000\\2000' !!!
Dazu meine Format Einstellungen
Speichern mit aktuellen Werten in "MP3Tag"
Ausgabe von "perl" in file " tag_nach_mp3tag.txt"
TYER Year: '2000 / 2000' !!!
Speichern in "MP3Tag" mit Setzen von "%year%" auf 2000
Danach ist Wert OK , aber wenn man mit perl MP3 verändert, hat man wieder
dasselbe Verhalten
Ausgabe von "perl" in file " tag_nach_mp3tag_01.txt"
TYER Year: '2000' !!!
Was mir aufgefallen ist, daß nach Bearbeitung von MP3 mit Perl
TDRC Recording time: '2000' gesetzt ist und nach Änderunng mit "MP3Tag" dieser Wert nicht gesetzt wird.
Gibt es eine Erklärung dafür ? Wie schaffe jetzt ein Komp. - Mode ?
Kann man mit "MP3Tag" %year%\%year%" auf %year%"
setzen ?
Ich hab nicht versucht die Ausführungen im einzelnen nachzuvollziehen, jedoch deutet die Anzeige von year\\year auf zwei TYER Felder im Tag hin. Statt das Feld neu zu setzen, fügst Du also ein weiteres hinzu.
Dieses Script schreibt anscheinend immer TYER und TDRC in den Tag obwohl es eigentlich nur eines der beiden sein sollte:
TYER bei ID3v2.3
TDRC bei ID3v2.4
Danke für die Info, beim Durchlesen von https://docs.mp3tag.de/mapping habe ich auch dies schon vermutet. Das Script bestätigt deine Info: es schreibt TYER / ID3v2.3 & TDRC / ID3v2.4 gleichzeitig ... habe darauf auch keinen Einfluss ..
Habe jetzt Tag TDRC / ID3v2.4 gelöscht & jetzt paßt auch die Anzeige von %year% in "mp3tag" wieder.