Strumento da riga di comando per elencare i tag ID3 su Linux


24

Voglio scrivere uno script che manipola i tag ID3 dei file mp3. Ho bisogno di uno strumento che legge i tag e lo emetta in un formato in un formato leggibile dalla macchina. Ad esempio, se voglio che produca solo il titolo, quindi genera il titolo, nient'altro. Ho provato diversi strumenti come id3o eyeD3, ma possono essere utilizzati solo per scrivere tag o per riprodurli in un formato leggibile dall'uomo. Ovviamente potrei semplicemente filtrare quell'output sed, ma a me sembra inutilmente complicato.

Risposte:


30

È possibile utilizzare il exiftoolcomando dal libimage-exiftool-perlpacchetto che consente di leggere (e scrivere) metadati da file multimediali, inclusi mp3. Può produrre in una varietà di formati tra cui valori-chiave, json, xml e formati definiti dall'utente. Puoi scegliere di elencare solo i tag specificati.

% exiftool -json 09\ -\ \(Tom\ Waits\)\ -\ Walk\ Away.mp3
[{
  "SourceFile": "09 - (Tom Waits) - Walk Away.mp3",
  "ExifToolVersion": 7.82,
  "FileName": "09 - (Tom Waits) - Walk Away.mp3",
  "Directory": ".",
  "FileSize": "2.5 MB",
  "FileModifyDate": "2008:07:12 13:58:52+01:00",
  "FileType": "MP3",
  "MIMEType": "audio/mpeg",
  "MPEGAudioVersion": 1,
  "AudioLayer": 3,
  "AudioBitrate": 128000,
  "SampleRate": 44100,
  "ChannelMode": "Stereo",
  "MSStereo": "Off",
  "IntensityStereo": "Off",
  "Emphasis": "None",
  "ID3Size": 1678,
  "Title": "Walk Away",
  "Album": "Dead Man Walking",
  "Genre": "OST",
  "Track": 9,
  "Artist": "Tom Waits",
  "Year": "",
  "Comment": "",
  "Duration": "02:42 (approx)"
}]

+1 "sudo port install p5.16-image-exiftool" - ti fa andare su un mac con MacPorts ... Solo "exiftool-5.16 / Volumes / MMED / music / Esperanza \ Spalding / Esperanza / 02. \ I \ Know \ You \ Know.mp3 "e ottieni tutti i metadati sputati! Grazie!
mimoralea,

+1 Ho appena avuto lo stesso bisogno, ma per l'audio FLAC. Ha funzionato come un fascino. Peccato che il nome del programma non dia alcun suggerimento per quanto riguarda la portata delle sue possibilità ...


5

Vorrei esaminare la libreria di tagging Mutagen per Python, che include uno strumento di riga di comando di base scriptabile, mid3v2 . Mentre l'output di mid3v2 è principalmente leggibile dall'uomo, l' --list-rawopzione può essere adatta da sola:

$ 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'])

Nota che questo strumento elenca solo tag ID3 , non attributi aggiuntivi del file MP3 come exiftool . Ma se volessi solo un tag particolare, un semplice grep per il tagname lo afferrerà per te:

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

Se mid3v2 non è abbastanza per te e sei a tuo agio con Python, potresti creare uno script con il tuo strumento per interfacciarsi con la libreria Mutagen e leggere o manipolare direttamente i tag.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.