web-dev-qa-db-fra.com

Outil de ligne de commande pour la liste des étiquettes ID3 sous Linux

Je veux écrire un script qui manipule des balises ID3 de fichiers MP3. J'ai besoin d'un outil qui lit les étiquettes et les distribue dans un format dans un format lisible par la machine. Par exemple, si je veux que cela ne produisit que le titre, il diffuse le titre, rien d'autre. J'ai essayé différents outils comme id3 ou alors eyeD3, mais ils ne peuvent être utilisés que pour écrire des balises ou pour les produire dans un format lisible par l'homme. Bien sûr, je pouvais simplement filtrer cette sortie via sed, mais cela me semble inutilement compliqué.

24
petersohn

id3info IN ID3LIB Sorties les étiquettes ID3 dans un format SIMPLE SIMPLE À LA MACHINE-PARSE.

Je regarderais dans la Bibliothèque de marquage mutagen pour Python, qui comprend un outil de ligne de commande scriptable de base, MID3V2. Tandis que MID3V2 La sortie est principalement lisible par l'homme, le --list-raw L'option peut être appropriée en soi:

$ mid3v2 --list-raw 09_Walk\ Away.mp3
Raw IDv2 tag info for 09_Walk Away.mp3:
TDRC(encoding=3, text=[u'1996'])
TIT2(encoding=3, text=[u'Walk Away'])
TRCK(encoding=3, text=[u'9'])
TPE1(encoding=3, text=[u'Tom Waits'])
TALB(encoding=3, text=[u'Dead Man Walking'])
TCON(encoding=3, text=[u'Soundtrack'])

Remarque Cet outil ne répertorie que ID3 Tags, pas d'attributs supplémentaires du fichier MP3 comme Exifool. Mais si vous ne vouliez qu'une balise particulière, un simple grep pour le tagname prendra que pour vous:

$ mid3v2 --list-raw 09_Walk\ Away.mp3 | grep TIT2
TIT2(encoding=3, text=[u'Walk Away'])

Si MID3V2 ne suffit pas pour vous, et vous êtes à l'aise avec Python, vous pouvez scripter votre propre outil pour interfacer avec la bibliothèque Mutagen et lire ou manipuler les balises directement.

5
quack quixote