# ID3v2 - Änderungen von Tag Felder mit perl

**URL:** https://community.mp3tag.de/t/id3v2-anderungen-von-tag-felder-mit-perl/9462
**Category:** Off-Topic - Deutsch
**Created:** [December 2, 2009, 11:01am UTC](https://community.mp3tag.de/t/id3v2-anderungen-von-tag-felder-mit-perl/9462 "2009-12-02T11:01:37Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![bora99](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/c5a1d2/32.png) [@bora99](https://community.mp3tag.de/u/bora99)
#### Post date: [December 2, 2009, 11:01am UTC](https://community.mp3tag.de/t/id3v2-anderungen-von-tag-felder-mit-perl/9462/1 "2009-12-02T11:01:37Z")

</div>

Hallo,

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'
- encoding =\> '1'  
TENC Encoded by: 'TEST'  
TALB Album/Movie/Show title: ''TEST'  
1 Files | 1 ID3v1 Tags | 1 ID3v2 Tags | 1s

Gruss

---

<div class="post-metadata">

### Author: ![bora99](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/c5a1d2/32.png) [@bora99](https://community.mp3tag.de/u/bora99)
#### Post date: [December 8, 2009, 10:25pm UTC](https://community.mp3tag.de/t/id3v2-anderungen-von-tag-felder-mit-perl/9462/2 "2009-12-08T22:25:31Z")

</div>

Hallo,

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:

1. Setzen mit "perl" Format ID3v2 %year%, entspricht TYER:

2. Anzeigen mit "MP3Tag"

3. Speichern mit aktuellen Werten in "MP3Tag"

4. Speichern in "MP3Tag" mit Setzen von "%year%" auf 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 ?

Gruss,

[tag\_perl\_ID3v2.txt](https://community.mp3tag.de/uploads/default/original/2X/8/8166ca0048c7a504ec53aa12411afb50d33bab2f.txt) (1020 Bytes)

 ![](https://community.mp3tag.de/uploads/default/original/2X/b/b27ae6bdf021a634f43f1d90e32f0ebc1440710e.jpg)  

[tag\_nach\_mp3tag.txt](https://community.mp3tag.de/uploads/default/original/2X/3/3471289c822770253a9337d0a3ccf81683552a24.txt) (998 Bytes)

[tag\_nach\_mp3tag\_01.txt](https://community.mp3tag.de/uploads/default/original/2X/0/0a1e0059c39d774b5c6c50910afb30c6319e17e6.txt) (991 Bytes)

---

<div class="post-metadata">

### Author: ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)
#### Post date: [December 9, 2009, 6:16am UTC](https://community.mp3tag.de/t/id3v2-anderungen-von-tag-felder-mit-perl/9462/3 "2009-12-09T06:16:34Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![dano](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dano/32/6_2.png) [@dano](https://community.mp3tag.de/u/dano)
#### Post date: [December 9, 2009, 9:36am UTC](https://community.mp3tag.de/t/id3v2-anderungen-von-tag-felder-mit-perl/9462/4 "2009-12-09T09:36:55Z")

</div>

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

Deshalb die Anzeige in Mp3tag.

---

<div class="post-metadata">

### Author: ![bora99](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/c5a1d2/32.png) [@bora99](https://community.mp3tag.de/u/bora99)
#### Post date: [December 9, 2009, 6:04pm UTC](https://community.mp3tag.de/t/id3v2-anderungen-von-tag-felder-mit-perl/9462/5 "2009-12-09T18:04:01Z")

</div>

> [@dano](#):
>
> 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](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.

Danke für die Unterstützung
