Reading (and writing?) audio file tags

darren kirby bulliver at badcomputer.org
Thu May 24 12:22:26 EDT 2007


quoth the Paul Moore:
> I'd like to write some scripts to analyze and manipulate my music
> files. The files themselves are in MP3 and FLAC format (mostly MP3,
> but FLAC where I ripped original CDs and wanted a lossless format).
> I've no idea what form of tags are used in the files (ID3v1, ID3v2,
> OGG, APE, ...)

Flac files use Vorbis comments, the same that Ogg Vorbis files use. As for 
MP3, they use ID3v2 or ID3v1, or both.

Anyway, what you want is Mutagen. It handles both Flac and Mp3 tags, as well 
as many others: http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen

> I just used whatever the program that set them up used. 
> I'm completely confused by the various tag formats that exist - there
> seems to be little standardisation, and quite a few compatibility
> pitfalls. For example, I have files with tags using accented
> characters - I suspect that this causes some tools to switch format
> (because I've seen what looked like corrupt data at times, which
> turned out to be the program displaying the "wrong format" of tag).
>
> I've seen various Python libraries that talk about ID3 tag reading -
> but I'm not clear if they read other tag formats (many applications
> which call themselves "ID3 readers" actually handle multiple formats,
> but I don't know if that's true for (Python) libraries. Also, there
> seem to be few libraries that will *write* tags.

ID3 = MP3 only. A lot of people call _all_ tags 'id3' tags to save having to 
say 'Flac tags, and Vorbis tags, and Ape tags' etc....these people are the 
source of your confusion. 

> Is there a good "music file tag handling" library for Python that's
> worth looking at? I use Windows, so it would have to be for that
> platform, and although I have a compiler, I don't really want to spend
> a lot of time collecting and porting/building support libraries, so
> I'd be looking for a binary distribution.

From the read me: "Mutagen works on Python 2.3+ and has no dependencies 
outside the CPython standard library" so it should work on Windows I think. 
It is just pure Python so there you go...

> In the absence of something suitable, I'll probably go back to dumping
> the tags via a generic "MP3 tag reader" program, then manipulate them
> as a text file, then try to do some sort of bulk reload.
>
> Thanks,
> Paul.

-d

-- 
darren kirby :: Part of the problem since 1976 :: http://badcomputer.org
"...the number of UNIX installations has grown to 10, with more expected..."
- Dennis Ritchie and Ken Thompson, June 1972



More information about the Python-list mailing list