Tagging Flac and Ogg files

Dear all,

I notice that flac and ogg files can have multple tags or the same type. For example you can list all the performers on a corroborative work or classify a track as being of multiple genres.

Using metaflac I can edit these fields:

PERFORMER=Balkan Beat Box
ARTIST=Balkan Beat Box
TITLE=Keep ´em Straight (Intro)

But I was wondering what nice gui tools people used on what platforms for doing tagging a file as say:

PERFORMER=Balkan Beat Box
ARTIST=Balkan Beat Box
TITLE=Keep ´em Straight (Intro)


"easytag" is the nicest UI I have found for tagging flac files and mp3's but does not support multi Genre tagging (or multi artist).

I have just found "exfalso" which is part of another media player for linux, and wonderfully it does support multi Genre tagging. Unfortunately its not as nice a GIU as "easytag".
The IMO best taggingtool I came across is puddletag (Linux).
It's IMO even better than mp3tag (Windows). (and much better then easytag)

I just went through a cleanup session of my collection using puddletag.
I love that tool.

Puddletag gets you access to several databases (cddb/musicbrainz).
It allows mass-tagging. You can setup macros. Asf. Asf.

Highly recommended! On a Debian based system you get .deb archives for download and easy implementation.

Dear Soundcheck,

I have to agree that puddletag is better than easytag, and it supports multiple tags of the same type reasonably. Thank you for the suggestion.

I tried it on debian squeeze at the end of 2010 and it was unfortunately not in the main debian repository and proved a little annoying to install. A Couple of modifications to the source code allowed it to be installed.
$ puddletag 
puddletag Version: 0.9.11
/usr/lib/pymodules/python2.6/musicbrainz2/model.py:21: DeprecationWarning: the sets module is deprecated
  from sets import Set
Traceback (most recent call last):
  File "/usr/local/bin/puddletag", line 186, in <module>
    from puddlestuff.puddletag import MainWin
  File "/usr/local/lib/python2.6/dist-packages/puddlestuff/puddletag.py", line 18, in <module>
    import puddlestuff.masstagging
  File "/usr/local/lib/python2.6/dist-packages/puddlestuff/masstagging.py", line 16, in <module>
    from puddlestuff.tagsources import RetrievalError
  File "/usr/local/lib/python2.6/dist-packages/puddlestuff/tagsources/__init__.py", line 157, in <module>
    import musicbrainz, amazon, freedb, discogs
  File "/usr/local/lib/python2.6/dist-packages/puddlestuff/tagsources/musicbrainz.py", line 17, in <module>
    releaseEvents=True, labels=True, ratings=True, isrcs=True)
TypeError: __init__() got an unexpected keyword argument 'isrcs'
This was resolved by removing the keys 'isrcs' and also in the process 'ratings' from line 17 in
File "/usr/local/lib/python2.6/dist-packages/puddlestuff/tagsources/musicbrainz.py", line 17
So that the new line looks like:
@@ -14,10 +14,9 @@
 Release = brainzmodel.Release
 RELEASEINCLUDES = ws.ReleaseIncludes(discs=True, tracks=True, artist=True,
-    releaseEvents=True, labels=True, ratings=True, isrcs=True)
+    releaseEvents=True, labels=True)
-ARTIST_INCLUDES = ws.ArtistIncludes(ratings=True,
-    releases=[Release.TYPE_OFFICIAL], releaseRelations=True,
+ARTIST_INCLUDES = ws.ArtistIncludes(releases=[Release.TYPE_OFFICIAL], releaseRelations=True,
     trackRelations=True, artistRelations=True)

Thanks for the suggestion, I would never have tried this application without your suggestion. :)