Applications for tagging music collections

Posted by: nbpf on 02 February 2015

Most applications for controlling music replay from UPnP and MPD servers ignore collection-specific tags.

If you are interested in classical music, your music collection might contain, among others, tags like "Conductor", "Orchestra", "Soloist" and, perhaps, "1st violin".

But most MPD clients, Naim apps and the likes will bluntly ignore your collection's tags and force you to browse your data through Apple's low dimensional world of "Artist", "Album", "Genre" and, perhaps, "Composer": you will not be able to search your collection for all pieces in which Guy Braunstein is the first violin!

While this is mean and dumb, it should not prevent us from carefully tagging our collections according to our individual needs: control apps will improve and -- with Naim's will or with a little help from some friend -- I am pretty sure we soon will be able to browse our music collection in much the same way as we are used to browse our digital photographs: using our own tags.

But what are good tool for tagging our music files ? I have spent some time during the weekend testing a few popular applications and I have collected a few notes below.

 

And I would be interested in learning about the applications you use to tag your music collections, the reasons why you picked up these applications and the set of tags you use.

 

Thanks,

nbpf

* Notes on tagging software (verdict):

** lltag: most flexible, command line based tagging program. Support for user-defined tags, multi-

   valued tag fields and much more. No GUI. (usable)

** Ex Falso: flexible GUI-base tagging program. Support for user-defined tags, multi-valued tag

   fields and tags for classical music. Tagging whole directory trees and large sets of files is

   cumbersome. User interface a bit awkward. (usable with limitations)

** EasyTag: GUI-base tagging program. Support for multi-valued tag fields. No support for

   user-defined tags and tags for classical music. (not usable)

** Qoobar: flexible GUI-base tagging program. Support for user-defined tags and tags for classical

   music. Apparently no support for multi-valued tag fields. (not usable)

 

** ?

Posted on: 02 February 2015 by gert

I am using kid3 on ubuntu, but it is available for windows and mac, too.

http://kid3.sourceforge.net/

 

But I do not know how it will fit your requirements in detail.

Posted on: 02 February 2015 by Harry

I use dBpoweramp. I have not been moved to look elsewhere and it's good at stripping out tags as well.

Posted on: 02 February 2015 by Mike-B

Second vote for dBpoweramp

Posted on: 02 February 2015 by engjoo
Media monkey gets my vote!
Posted on: 02 February 2015 by Foxman50

mp3tag, http://www.mp3tag.de/en/, its free and really quite powerful with great support on its forum. I have been able to make sweeping changes to my whole collection with this app in minutes

 

Only issue, if it is an issue, is it doesn't support WAV.

 

Graeme

 

 

Posted on: 02 February 2015 by Aleg

 

Originally Posted by Foxman50:

mp3tag, http://www.mp3tag.de/en/, its free and really quite powerful with great support on its forum. I have been able to make sweeping changes to my whole collection with this app in minutes

 

Only issue, if it is an issue, is it doesn't support WAV.

 

Graeme

 

 

Which is just a case of thickheadedness of the developer, as wav support has been asked for for years now and he keeps refusing to do it. 

 

 

 

Posted on: 02 February 2015 by nbpf
Originally Posted by Harry:

I use dBpoweramp. I have not been moved to look elsewhere and it's good at stripping out tags as well.

Yes, dBpoweramp supports user-specific tags and multivalued tags, thanks! The UI is a bit awkward but it works. Maybe it is also because I am running it in a virtual machine.

 

Do you have a set of tags that you find particularly useful for your collection ? Best, nbpf

Posted on: 02 February 2015 by nbpf
Originally Posted by gert:

I am using kid3 on ubuntu, but it is available for windows and mac, too.

http://kid3.sourceforge.net/

 

But I do not know how it will fit your requirements in detail.

Thanks gert ! I am probably mistaken but, after a very cursory test, kid3 does not appear to support tagging a set of files with a multivalued tag. For instance, when I select two file, it always shows the first artist even when both files have the same multivalued artist tag. Is there a specific set of tags you find useful for your collection ? Best, nbpf

Posted on: 02 February 2015 by nbpf
Originally Posted by Foxman50:

mp3tag, http://www.mp3tag.de/en/, its free and really quite powerful with great support on its forum. I have been able to make sweeping changes to my whole collection with this app in minutes

Yes, I have checked it out in the virtual machine. It seems to support user-definable tags and multi-valued tag fields, thanks! It is free in the sense that it costs nothing but I am not sure it is open source. Is there a particular set of tags you consistently use or have added to the core tags ? Best, nbpf

Posted on: 02 February 2015 by nbpf
Originally Posted by Aleg:

 

Originally Posted by Foxman50:

mp3tag, http://www.mp3tag.de/en/, its free and really quite powerful with great support on its forum. I have been able to make sweeping changes to my whole collection with this app in minutes

 

Only issue, if it is an issue, is it doesn't support WAV.

 

Graeme

Which is just a case of thickheadedness of the developer, as wav support has been asked for for years now and he keeps refusing to do it. 

On the other hand writing these kind of software is not really funny ... doesn't dbPoweramp support wav formats ? Best, nbpf   

Posted on: 02 February 2015 by Aleg
Originally Posted by nbpf:
Originally Posted by Aleg:

 

Originally Posted by Foxman50:

mp3tag, http://www.mp3tag.de/en/, its free and really quite powerful with great support on its forum. I have been able to make sweeping changes to my whole collection with this app in minutes

 

Only issue, if it is an issue, is it doesn't support WAV.

 

Graeme

Which is just a case of thickheadedness of the developer, as wav support has been asked for for years now and he keeps refusing to do it. 

On the other hand writing these kind of software is not really funny ... doesn't dbPoweramp support wav formats ? Best, nbpf   

Yes dBPoweramp supports tagging of WAV as does KID3, but as you said the UI of dBPoweramp is not very advanced when having to edit tags on files after ripping.

I think MP3Tag is the best/advanced/friendliest tag-editor for existing files.

 

dBPoweramp is great for ripping with proper tagging and converting between formats.

 

Adding support for ID3 tags in WAV is not really such a great deal as there exist free libraries that have solved that already if he doesn't want to build it from scratch himself.

 

But he is a bit strong headed and has taken a stand in the past.

 

cheers

 

 

Posted on: 02 February 2015 by gert
Originally Posted by nbpf:
Thanks gert ! I am probably mistaken but, after a very cursory test, kid3 does not appear to support tagging a set of files with a multivalued tag. For instance, when I select two file, it always shows the first artist even when both files have the same multivalued artist tag. Is there a specific set of tags you find useful for your collection ? Best, nbpf

I am not sure what you mean.

 

When selecting two or more files at once there are two possibilities:

1) A tag has the same value for all the files. => The value is displayed and you can edit and save it for all files in one go. This is good for editing the album title or year, e.g.

2) A tag has different values for one or some of the files. => Some dummy value (IIRC "#") is displayed and you certainly should not edit it (if you do not want to make the values equal).

 

Or is a "multivalued tag" something different than I think?

Posted on: 02 February 2015 by nbpf
Originally Posted by gert:
Originally Posted by nbpf:
Thanks gert ! I am probably mistaken but, after a very cursory test, kid3 does not appear to support tagging a set of files with a multivalued tag. For instance, when I select two file, it always shows the first artist even when both files have the same multivalued artist tag. Is there a specific set of tags you find useful for your collection ? Best, nbpf

I am not sure what you mean.

 

When selecting two or more files at once there are two possibilities:

1) A tag has the same value for all the files. => The value is displayed and you can edit and save it for all files in one go. This is good for editing the album title or year, e.g.

2) A tag has different values for one or some of the files. => Some dummy value (IIRC "#") is displayed and you certainly should not edit it (if you do not want to make the values equal).

 

Or is a "multivalued tag" something different than I think?

A tag can have no values (empty tag), a single value (ARTIST = Jan Garbarek) or multiple values (ARTIST = Jan Garbarek - Marilyn Mazur). Some applications show tags with multiple values in one single line, typically with "-", "/" or "&" as separator. Other applications show multiple values on different line, for instance lltag:

 

lltag -S 1-01\ Symphony\ No.1\ in\ C\,\ Op.21_\ 1.\ Adagio\ molto\ -\ Allegro\ con\ brio.flac
1-01 Symphony No.1 in C, Op.21_ 1. Adagio molto - Allegro con brio.flac:
  NUMBER=01
  DATE=2012
  MYTAG=lalal
  encoded by=dBpoweramp Release 14.4
  genre=Classical
  DISCNUMBER=1
  length=2147483000
  tracknum=01
  album=Beethoven For All, Symphonies 1-9
  artist=Daniel Barenboim
  artist=West-Eastern Divan Orchestra
  orchestra=West-Eastern Divan Orchestra
  conductor=Daniel Barenboim
  title=Symphony No.1 in C, Op.21: 1. Adagio molto;Allegro con brio
  composer=Beethoven, Ludwig van (1770-1827)

 

Now if I select this file and another one which has the same artist tag values in kid3, I see two artist tags, something like (I am not sure I can insert a screenshot)

 

Artist   |   Daniel Barenboim

Artist   |   #

 

This suggests that kid3 might treat fields with multiple values incorrectly. Unfortunately this turns out to be the case. if I replace "#" with "West-Eastern Divan Orchestra" and save I get the following

 

Artist   |   West-Eastern Divan Orchestra

Artist   |   West-Eastern Divan Orchestra

 

As "lltag" shows, I have effectively deleted a value of the artist tag:

 

lltag -S 1-01\ Symphony\ No.1\ in\ C\,\ Op.21_\ 1.\ Adagio\ molto\ -\ Allegro\ con\ brio.flac
1-01 Symphony No.1 in C, Op.21_ 1. Adagio molto - Allegro con brio.flac:
  ARTIST=West-Eastern Divan Orchestra
  TITLE=Symphony No.1 in C, Op.21: 1. Adagio molto;Allegro con brio
  ALBUM=Beethoven For All, Symphonies 1-9
  NUMBER=01
  GENRE=Classical
  DATE=2012
  LENGTH=2147483000
  MYTAG=lalal
  CONDUCTOR=Daniel Barenboim
  DISCNUMBER=1
  TRACKNUM=01
  COMPOSER=Beethoven, Ludwig van (1770-1827)
  ENCODED BY=dBpoweramp Release 14.4
  ORCHESTRA=West-Eastern Divan Orchestra

 

I tend to have many values in the artist tag, partly because control applications do a very bad job in distinguishing between different kinds of "artists" or "performers". But also because there can truly be many artists associated to a given album or single file. Thus, for me kid3 is not really usable. Best, nbpf


 

Posted on: 02 February 2015 by Huge
Originally Posted by Aleg:
Originally Posted by nbpf:
Originally Posted by Aleg:

 

Originally Posted by Foxman50:

mp3tag, http://www.mp3tag.de/en/, its free and really quite powerful with great support on its forum. I have been able to make sweeping changes to my whole collection with this app in minutes

 

Only issue, if it is an issue, is it doesn't support WAV.

 

Graeme

Which is just a case of thickheadedness of the developer, as wav support has been asked for for years now and he keeps refusing to do it. 

On the other hand writing these kind of software is not really funny ... doesn't dbPoweramp support wav formats ? Best, nbpf   

Yes dBPoweramp supports tagging of WAV as does KID3, but as you said the UI of dBPoweramp is not very advanced when having to edit tags on files after ripping.

I think MP3Tag is the best/advanced/friendliest tag-editor for existing files.

 

dBPoweramp is great for ripping with proper tagging and converting between formats.

 

Adding support for ID3 tags in WAV is not really such a great deal as there exist free libraries that have solved that already if he doesn't want to build it from scratch himself.

 

But he is a bit strong headed and has taken a stand in the past.

 

cheers

 

 

Maybe he's been put off by complaints when some (rare) WAVE renderers won't play tagged WAV files, and people blame his software.

 

It's perfectly legitimate for WAVE renderers to reject a tagged wave file, although most will actually play them as they're also generic RIFF interpreters (but they don't have to).

 

Posted on: 02 February 2015 by Aleg
Originally Posted by Huge:
Originally Posted by Aleg:
Originally Posted by nbpf:
Originally Posted by Aleg:

 

Originally Posted by Foxman50:

mp3tag, http://www.mp3tag.de/en/, its free and really quite powerful with great support on its forum. I have been able to make sweeping changes to my whole collection with this app in minutes

 

Only issue, if it is an issue, is it doesn't support WAV.

 

Graeme

Which is just a case of thickheadedness of the developer, as wav support has been asked for for years now and he keeps refusing to do it. 

On the other hand writing these kind of software is not really funny ... doesn't dbPoweramp support wav formats ? Best, nbpf   

Yes dBPoweramp supports tagging of WAV as does KID3, but as you said the UI of dBPoweramp is not very advanced when having to edit tags on files after ripping.

I think MP3Tag is the best/advanced/friendliest tag-editor for existing files.

 

dBPoweramp is great for ripping with proper tagging and converting between formats.

 

Adding support for ID3 tags in WAV is not really such a great deal as there exist free libraries that have solved that already if he doesn't want to build it from scratch himself.

 

But he is a bit strong headed and has taken a stand in the past.

 

cheers

 

 

Maybe he's been put off by complaints when some (rare) WAVE renderers won't play tagged WAV files, and people blame his software.

 

It's perfectly legitimate for WAVE renderers to reject a tagged wave file, although most will actually play them as they're also generic RIFF interpreters (but they don't have to).

 

Hugh

 

I don't believe it is legitimate to reject tagged WAV-files, according to the standard the renderer is supposed to ignore unknown (to him) tags but not to reject the whole file.

 

The real issue here is the wav standard doesn't prescribe where the INFO chunk is supposed to be located and some/many/most put it before the data. But with ID3 tags inside that chunk the length is variable and if the chunk isn't large enough to hold all the new tags, the file has to be rewritten or the chunk has to be moved to the end of the file. Some people don't like this sloppiness in the standard and chose not to support it at all instead of following what the rest is doing or even using a standardized library (and place the decision with someone else).

 

cheers

 

aleg

Posted on: 02 February 2015 by likesmusic

dBpoweramp is very good for ripping cds and retrieving tags from online databases, but if you want to manipulate tags, change tags, define your own, change folder structures, then imo JRiver Media Center is hard to beat. It has wizards and a good gui for everyday use, and a programming language and even regular expressions for advanced users. Free trial for a month.

Posted on: 02 February 2015 by Simon-in-Suffolk

I agree with Aleg, with RIFF files such as AIF and WAV, the files structure is built in such a way that if the file parser doesn't understand a particular chunk of data, it  ignores and jumps to the next chunk. each chunk of data is built like [chunk_id][chunk_length][chunk_data....]

 

The issue with wav files was/is the header. The original format was not entirely clear how hidef or multichannel audio data should be described unambiguously .. This was later resolved with the updated extendable wave file format. But it is possible, although these days I would expect rare, to find software that might not correctly read certain Wav files. This has nothing to do with the RIFF structure or metadata etc.

Simon

 

Posted on: 03 February 2015 by nbpf
Originally Posted by likesmusic:

dBpoweramp is very good for ripping cds and retrieving tags from online databases, but if you want to manipulate tags, change tags, define your own, change folder structures, then imo JRiver Media Center is hard to beat. It has wizards and a good gui for everyday use, and a programming language and even regular expressions for advanced users. Free trial for a month.

Thanks likesmusic, I appreciate your suggestion but I'm afraid JRiver is a little bit beyond my mental horizon! I'm after specialized, lightweight tools and I almost never managed to get along with integrated tools (with the exception of emacs, of course ...). Best, nbpf

 

 

Posted on: 03 February 2015 by nbpf

A lot of interesting suggestions, thanks ! As a preliminary wrap up , it appears that lltag, dBpoweramp, Ex Falso, mp3tag and JRiver all support user-specific tags and multi-valued tags. I have not yet checked Media monkey.

 

What about tagging schemes or conventions ? Is there a particular set of tags you tend to systematically apply to your music data ? I am mostly interested in tagging schemes for classical music. Best, nbpf

Posted on: 03 February 2015 by gert

It was interesting to learn about multivalued tags. But I wonder how the UPnP servers and clients handle them? Will e.g. the track with two artists occur twice in the by-artist list? 

Posted on: 03 February 2015 by Aleg

The 'default' way to enter multiple values is to separate them with a semicolon ";"  character.

The values will appear each as their own entry in filters and searches.

 

Posted on: 03 February 2015 by likesmusic
Originally Posted by nbpf:

 

What about tagging schemes or conventions ? Is there a particular set of tags you tend to systematically apply to your music data ? I am mostly interested in tagging schemes for classical music. Best, nbpf

Depends on your mental horizons really.

Posted on: 03 February 2015 by Huge

Aleg, Simon,

 

As I said that view is correct for a WAVE renderer that is also a generic RIFF file reader, however the WAVE definition only includes a very specific subset of RIFF.

 

No type of generic metadata block is defined for WAVE and WAVE renderers do not have to read unknown blocks.  That requirement isn't included in the WAVE definition (although it is included in the definition for a RIFF reader).  The majority will read past unknown blocks, but according to the WAVE specification they don't have to.

 

I have re-read the WAVE specification several times.  A WAVE rendered that can only read WAVE data blocks is still perfectly within specification.

Posted on: 03 February 2015 by Huge

I personally find MP3Tag very clear, concise and simple to use.  The only time it's not worked well for me was when I forgot to save the changes - and that's not the programme's fault.

Posted on: 03 February 2015 by Aleg
Originally Posted by Huge:

Aleg, Simon,

 

As I said that view is correct for a WAVE renderer that is also a generic RIFF file reader, however the WAVE definition only includes a very specific subset of RIFF.

 

No type of generic metadata block is defined for WAVE and WAVE renderers do not have to read unknown blocks.  That requirement isn't included in the WAVE definition (although it is included in the definition for a RIFF reader).  The majority will read past unknown blocks, but according to the WAVE specification they don't have to.

 

I have re-read the WAVE specification several times.  A WAVE rendered that can only read WAVE data blocks is still perfectly within specification.

Hugh

 

I remember you saying that before, but looking at the "Multimedia Programming Interface and Data Specifications 1.0 Issued as a joint design by IBM Corporation and Microsoft Corporation August 1991", it clearly states on page 56 (my emphasis):

 

Waveform Audio File Format (WAVE)

 

This section describes the Waveform format, which is used to represent digitized sound. The WAVE form is defined as follows. Programs must expect (and ignore) any unknown chunks encountered, as with all RIFF forms.

Source: http://www-mmsp.ece.mcgill.ca/...AVE/Docs/riffmci.pdf

 

So I would say that any wave-renderer must comply with the wave-format specifications and thus be able to ignore chunks that are unknown to it?!

 

Cheers

 

aleg