Programme pour vider la structure des balises ID3

12

Existe-t-il un programme qui viderait la structure complète des balises ID3v2?

Pas seulement les noms et les valeurs de trame, mais des informations complètes telles que l'ordre des trames, l'encodage de texte, l'encodage de description (pour les trames TXXX), la présence de désynchronisation, la présence de plusieurs balises ...

Contexte: Je suis plutôt curieux de savoir pourquoi certains fichiers sont incompatibles avec certains programmes. Par exemple, certaines balises ID3v2.4 écrites par foobar2000 ne sont pas lues par Winamp; l'édition avec Mutagen les corrige mais l'édition avec foobar2000 s'arrête à nouveau. Ce n'est pas la version ou l'encodage des données - la plupart des autres balises UTF-16 v2.4 fonctionnent bien ... Cependant, si j'utilise foobar2000 pour convertir les balises en v2.3, puis de nouveau en v2.4, elles commencent à bien fonctionner dans Winamp - ce dernier morceau n'a tout simplement aucun sens.

Edit: Linux ou / et Windows.

user1686
la source

Réponses:

4

mp3diags sur les fenêtres devrait à la fois vérifier les erreurs connues et vous permettre de regarder les balises brutes - il répertorie les erreurs connues mais vous pouvez également regarder les balises brutes. Je n'arrive pas à trouver un moyen de le vider dans un fichier texte. Avec un nombre limité d'étiquettes, c'est bon pour l'inspection et pour la fixation en vrac des étiquettes.

entrez la description de l'image ici

Compagnon Geek
la source
Cela semble très intéressant. Merci. (Il n'affiche toujours pas les codages utilisés par les trames de balises, mais il fournit plus qu'assez de détails sinon.)
user1686
Il semble que MP3Diags ait également ses propres inconvénients (toutes les modifications apportées aux balises ID3 les rétrogradent à 2.3.0, par exemple), même si cela fonctionne bien pour corriger d'autres types de flux.
user1686
10

exiftool peut donner beaucoup d'informations:

exiftool -v3 -l FILENAME.mp3

eug
la source
exiftool est vraiment capable de vider les informations brutes, y compris ID3v4! Vraiment génial!
haimg
2

La bibliothèque MP3 beaglebuddy fait ce que vous demandez. Il prend en charge les balises ID3v2.3 et la prise en charge des balises ID3v2.4 sera terminée d'ici mai 2014. Il affiche les octets bruts ainsi que les valeurs analysées. J'ai inclus un exemple de sortie.

ID3v2.4 frame: SONG_TITLE
frame header
   bytes..................: 0x54 0x49 0x54 0x32 0x00 0x00 0x00 0x0A 0x00 0x00 
   frame type.............: TIT2: SONG_TITLE - title/songname/content description
   frame header size......: 10
   frame body size........: 10
   tag  alter preservation: false
   file alter preservation: false
   read only..............: false
   compression............: false
   encryption.............: false
   grouping identity......: false
   uncompressed size......: 0
   encryption method......: 0
   unsynchronized.........: false
   data length indicator..: 0
   group Id...............: 0
frame body: text information
   bytes...: 10 bytes
             0x03 0x54 0x65 0x73 0x74 0x20 0x4E 0x61 0x6D 0x65 
   encoding: 3 - UTF-8
   text....: Test Name
Joneric Wennerstrom
la source
1

Vous devrez peut-être écrire votre propre outil. TagLib et id3lib pourraient être utiles dans ce cas.

La liste des projets sur la page d'accueil d'id3lib, qui contient plusieurs outils qui pourraient résoudre votre problème sans aucune programmation, est particulièrement intéressante.

harrymc
la source
J'avais déjà essayé l' outil id3info qui fait partie d'id3lib, et il ne reconnaissait même pas les fichiers avec des balises ID3v2.4, seulement la v2.3. Je ne sais pas si cela est dû à l'outil ou à la bibliothèque elle-même. J'examinerai les deux, mais ces bibliothèques ont généralement tendance à masquer la structure des balises (encodages, ordre, etc.) au développeur, exposant uniquement les paires de balises-valeurs.
user1686
1

La bibliothèque python Mutagen comprend un utilitaire appelé mid3v2 qui fournit un vidage / exportation très propre et complet des valeurs appropriées pour faire des comparaisons différentes avant / après.

Si vous n'avez jamais configuré de script python, alors peut-être que exiftools vaudra le coup, mais je trouve que mid3v2 est beaucoup plus facile.

metamp3 est conçu pour cela, mais IMO est un peu dépassé, montre certains champs standard de facto assez communs (lire: iTunes) comme "non définis".

ID3RawTagViewer et ID3TagBackup sont également des outils assez anciens, mais vous pouvez également les trouver utiles.

MP3Tags a un plugin "exportation globale", mais dans certains cas, il "cache" les vrais noms de trame en utilisant ses noms de champs "mappés" internes afin qu'ils soient les mêmes dans différents formats (par exemple FLAC et MP3).

Hors sujet, mais Ex Falso est un autre membre de la famille Mutagen / Quod Libet qui le fait très bien pour FLAC, mais pour une raison quelconque, "cache" toutes les balises TXXX personnalisées non QL pour ID3.

BTW beaucoup de gens utilisent simplement leur éditeur HEX préféré. . .

HansBKK
la source
J'ai utilisé Mutagen plus tôt, je vérifierai metamp3 et ID3RawTagViewer. Les autres outils affichent uniquement des balises abstraites "nom = valeur", ils ne conviennent donc pas à cet effet.
user1686
0

Je ne suis en aucun cas un expert de l'id3, cependant, j'ai récemment travaillé sur ma bibliothèque. Vous n'avez pas spécifié de système d'exploitation. J'utilise presque exclusivement Linux. Certains outils que j'utilise, qui peuvent vous être utiles, sont id3info (CLI) et kid3-qt (qt KDE id3). Ce dernier est intéressant. Je ne sais pas si cela vous apporte tout ce dont vous avez besoin, mais cela montre beaucoup d'informations qui peuvent, au moins, vous procurer certaines des choses que vous semblez rechercher. Si vous cherchez un outil plus portable, ce qui semble vous procurer peut- être tout ce que vous cherchez est un outil python appelé mid3v2. Je viens de le vérifier et il a un argument --list-raw, qui semble assez utile!

cloaked1
la source
Merci, mais ni id3info ni kid3-qt ne font ce que je veux, ils ne montrent que des valeurs formatées. En fait, id3info ne reconnaît pas du tout les balises ID3v2.4. mid3v2 n'est qu'une interface avec Mutagen, qui est l'une des meilleures en matière de prise en charge des balises, mais ni l'outil ni la bibliothèque Mutagen elle-même ne me donneront suffisamment d'informations sur la structure brute - même si elle semble assez bonne jusqu'à présent.
user1686