A Digital Symphony

Classical music from Computer to HiFi

Tagging and How to do it

This section sets out what we are trying to achieve. Others may wish to do things slightly differently. Hopefully by setting out my objectives here, any differences in requirements can be identified and the appropriate changes made.

The key components of the system are:

  • Muso - to organise libraries and to view and queue music to play from the server to the player(s);
  • LMS - to play the music on the SB Touch and other players and to display the now playing info on the screens;
  • iPod touch (or iPhone or iPad) - to control the above; (optionally - to select and play music when not connected to the server, using the native player);
  • MusicBrainz website as the chief source of metadata, with Picard to provide the tagging.

In each case, we are trying to deal with the two main requirements, namely (1) to handle the structure of classical music and (2) to provide a rich set of metadata with as little effort as possible. In Muso, this is easily achieved as it is specifically designed with these purposes in mind - the album is displayed in a "CD Insert" format with tracks grouped as appropriate and all artist and composer information given; music can then be chosen either by browsing, through multi-dimensional hierarchies, or by searching and filtering. Without using a manager such as Muso, it is not so straightforward. It is possible to use the "custom tag" and "custom browse" plug-ins for LMS, but I find those slightly complex and they also appear to slow down the LMS scanning considerably as well as interfering with music playing while scanning; also once you have Muso, you will find that you rarely use LMS for browsing and selecting music. The new version of LMS (7.9 +) has “additional browse modes” which reduces the need for “custom browse”, making matters simpler and quicker.

The approach I use is to source all the metadata from MusicBrainz. If the data is missing or wrong I edit MusicBrainz to add or correct it, rather than just edit it in Muso: anyone can do this and it isn't very complex. This has the following benefits:

  • the metadata follows (fairly) strict guidelines, so is predictable and usable;
  • it is extensive and getting more so;
  • if you add the metadata in MusicBrainz rather than just in Muso, others benefit from your efforts...
  • ...including you, if you lose your hard disc and have to re-rip!

I then use MusicBrainz Picard to tag the files; my own plug-in "Classical Extras" is essential here to make the most of the rich metadata available for classical music in MusicBrainz.

This section provides an overview, firstly of the tagging approach and secondly of the main tags and how they are used in my “Classical” tagging scheme. While this is designed for classical music, it also works for other types of music, particularly those with more complex tagging needs, such as jazz.

Tagging process

My process is as follows (in outline):

  1. Rip the CD (or download it). I don't really care what tags the ripping app provides at this stage since they will all get overwritten later.
  2. In Picard (with the "Classical Extras" plugin), look up the CD (Tools -> Lookup CD) and load the metadata. Alternatively use SongKong to supply the MusicBrainz tags and other metadata.
  3. Import the album folder to Muso and review the album details. If there are missing or incorrect metadata, there are two options:
    1. (Recommended). Add or correct the metadata on MusicBrainz, re-run Picard and re-import to Muso.
    2. (If for some reason you don't want to edit MusicBrainz). Correct the metadata directly in Muso.

The full details of how to do this are set out in later sections. Note that if the album is not in MusicBrainz at all, then you can add it (also described later).


The main tags for any classical music track are:

  1. The album name
  2. The title of the track
  3. The “artists” – there are many roles, but arguably six principal ones. The term “role” will be used henceforth to avoid confusion. LMS uses the equivalent term “contributor”. The roles are:
    1. Album Artist
    2. Artist
    3. Band / Ensemble
    4. Composer (including arrangers)
    5. Conductor
    6. Performer
  4. The genre
  5. The work(s) of which the track is a recording

Before going into detail on these an overview is given of each tag. Don't worry too much about how to get the data into these tags - this is all described later and should be pretty automatic if you follow the process described. Muso stores tags in database “fields” and permits a variety of methods to map tags into these fields. The simplest scheme is to use tags and fields with the same names as far as possible, in which case little or no “custom import” action is required. However, if you want to optimise the display then some customisation may be necessary.


This is usually the name of the CD etc. from which the music is sourced. For popular music, this is fairly straightforward. However, for classical music it is usually helpful to use an album name which gives a bit more information.

Ideally the format is “Composer(s): Works description / Album name [artist/conductor]”, e.g. “Mendelssohn: Octet; Schubert: 'Trout' Quintet” or “Beethoven, Chopin, Debussy: The Romantic Piano [Gilham]” but this does not always fit. For an album where one artist plays many composers, “Artist: Works description / Album name” may be necessary.

One advantage of using an album name which has the artist or composer’s name at the start is that, if the same name is used for the folder containing the tracks, it is easier to find the album in (say) Windows. However, it is not crucial, as Muso supplies lots of ways of finding the album you want and when you are in Muso’s album view, you can click on “Browse Album Folder” to open the actual folder in Windows. Note that MusicBrainz does NOT prefix the album with the composer name, but if you use SongKong it gives you an option to add it, as does my Classical Extras plugin for Picard.

Finally, how to deal with odd collections of tracks which may have been downloaded from various sources? My approach is to compile “pseudo albums” of these. Muso permits the creation of albums from tracks spread across many different folders. Alternatively you can group them into a folder for each pseudo-album.

Track Title

Simple enough for a piece of pop music, the track title is a potential minefield for classical music. Helpfully, Muso allows you to structure the title into three levels – Track Group Header, Group Subheader and the track title itself. Writing the Title tag as, for example “Romeo and Juliet, op. 64:: Act I: Scene I. No. 1. Introduction” provides for the separation into these three levels while keeping all the information in the Title tag (for less capable systems). The rule is that everything before the first single colon is the Group Header, with anything in that header after a double colon being the Subheader. So this has the structure:

Romeo and Juliet, op. 64
Act I
Scene I. No. 1. Introduction

This approach is consistent with the MusicBrainz style guideline as regards the colon separation between work and movement, but the double colon is Muso-specific.

Using the "Classical Extras" plugin in Picard makes this all a lot simpler as you can source the work structure from the hierarchy in MusicBrainz and not have to worry about whether the title is in the right format.

Album Artist

If you do a bit of research you will find many different views on the use of “Album Artist”. Much depends on the library management / player software you are using. Muso hardly ever requires an Album Artist as it will determine its own view of who is the “Titled Artist” based on the roles present in the album. Specifying an Album Artist will over-ride Muso’s internal logic and make the Album Artist be the Titled Artist. I leave the Album Artist tag to that given by MusicBrainz, but blank it on importing to Muso unless there is a good reason otherwise - e.g. if Muso can’t discern a Titled Artist and I think there should be one (i.e. not a compilation album).


What you put in this tag is largely a question of personal preference. "Classical Extras" provides a wide variety of choices (as does SongKong). Typically, I tend to put any soloist here and only add other performers if there are no soloists.

Note that MusicBrainz classical style guidelines say to put the composer name in the artist tag, not the main performing artist(s). This probably dates from when most players could not display the Composer tag. So keep the MusicBrainz data in keeping with the MB style, but use the Artist tag on the file as you wish.

Also note that there is an "Artists" (plural) tag. This is often has the same data, but as multiple tags rather than a single tag. However, again, you can fill it according to your preference.


Fairly obvious for a simple band/ensemble name, this can be a bit more complicated if there are multiple ensembles. My practice is to include all ensembles in the Band tag, regardless of whether they are orchestras, choruses etc. Some music files have separate tags for Orchestra and Chorus. MusicBrainz will typically provide "performer:orchestra" and "performer:choir" tags which could be used instead of the "band" tag (but not LMS compatible). Do not include the conductor here (as there is a separate tag for conductors).


In the simplest case this is just the composer’s name in “FirstName(s) SecondName” format, e.g. “Johann Sebastian Bach”. Muso is pre-populated with a “composer roster” including dates and country of origin, so it is best to use the exact same name as is in the roster (or to add it if the composer is not there, or change it if you wish to use a different name - e.g. to be consistent with MusicBrainz); the roster also gives a “sort name” for each composer, e.g. “Bach JS”.

Some works may have more than one composer or (more frequently in classical music) a composer plus an arranger. I suggest you annotate the arranger's name, e.g. “Johann Sebastian Bach; (arr.) John Ireland”. If you use the Classical Extras Picard plugin then this can all be done automatically for you (and you can also use a specific "arranger" tag). If you place the "arr." annotation in brackets then Muso should get the sort order right.


The conductor’s name in “FirstName SecondName” format. More than one name can be included, separated by semi-colons or in separate FLAC tags. The specific role can be made clearer by putting additional attributes in brackets, e.g. “Anne Manson; David Jones (chorusmaster)” - again the Classical Extras plugin will do this for you.


This tag is for all supporting artists that you wish to be credited. Include them in “FirstName SecondName” format with their instruments in brackets, separated by semi-colons or as separate FLAC tags, e.g. “Christopher Hughes (organ); Kim Porter (mezzo-soprano vocals); Neil MacKenzie (tenor vocals); Stephen Charlesworth (baritone vocals)”. Muso will ignore the brackets when performing last.fm look-ups. This is achieved automatically by Picard and SongKong / Jaikoz, if the MusicBrainz database has the instrument associated with the performer.

A note about brackets
Assuming you configure Muso accordingly, all brackets in role names will be ignored in look-ups, so do not use them if they are genuinely part of the name – so “Joseph Hellmesberger, Jr.”, not “Joseph Hellmesberger (Jr)”. If this is a problem, Muso allows different bracket types to be configured – but note that SongKong and Picard write out instrument details to tags in round brackets, so specify those in Muso.


Just using the tag “Classical” is not very helpful. I prefer more specific genres such as Ballet, Opera, Orchestral, Concerto, Choral, Instrumental, Vocal, Chamber. An alternative approach is to prefix all classical genres with “Classical –“, e.g. “Classical – Concerto” or use multiple genres. You can also put instruments in here, if you wish.

The Picard "Classical Extras" plugin will (optionally) guess the genre based on performer roles as MusicBrainz does not store Genre and will also add "Classical". Muso allows you to specify all genres which are “Classical”: this then optimises the views to suit classical music (e.g. giving composers priority over artists in credits).

SongKong sometimes provides a "work type" attribute. This is sourced from the work entry in MusicBrainz and frequently provides useful sub-genre information and so can be added to the genre tag. The Classical Extras plugin does not (currently) do this as the use of the attribute is under discussion.


This can mean a multitude of things. In MusicBrainz, each track can be a "recording of" one or more works. The description of these works includes all the information relevant to the track - i.e. including the movement. Each such work can be a "part of" a higher-level work, which can also be a part of something else etc. So there can be multiple levels of works. These works are (or should be) only defined once in MusicBrainz and so will be the same regardless of the recorded album. Thus I will refer to these as the "canonical works". The text description of these works may or may not bear a resemblance to the description on the CD cover, which will usually be the "Track Title". As mentioned earlier, the MusicBrainz style guide is to write Title in the form "Work: Movement". The work in the title may well differ from the canonical works (especially, but not solely, owing to language differences).

What the user wishes to display as "work" is therefore a matter of taste and practicality. SongKong provides a number of tags to choose between. The Classical Extras Picard plugin provides an extensive range of options.

Other tags

There are a number of other tags worthy of mention. Some of these (such as Label and Year) I tend not to be very fussy about. Others, such as compilation, may need to be used occasionally to achieve the desired result. You can also add a comment tag, but this is not normally displayed anywhere. You can display comments in Muso by using the AlbumSubheader and DiscSubheader tags. You can also add your own tags such as Period and Instrument (although this could be in the genre tag). Muso also has a Period search capability based on the composer.

SongKong adds a special "is_classical" tag based on tables of composers etc., which can be very useful as Picard/MusicBrainz does not do this.

How you implement this tagging scheme depends on whether you want to follow the recommended approach of using MusicBrainz, or just modify metadata in Muso. If you go for the latter approach, then using SongKong before you import the album to Muso will significantly enhance the tags you get. Also SongKong can be useful as a pre-processor for Picard if there are a large number of files.


SongKong / Muso ('basic method')

MusicBrainz / Picard /  Muso ('enhanced method')

Initial tagging

Whatever you wish / manual

Whatever - not too important

Tag enhancement

SongKong and/or Muso

MusicBrainz & Picard (with Classical Extras plugin). Optionally do initial tagging with SongKong.

Work and other Custom tags

Various work tags if using SongKong. However, to use them effectively requires another tagging program (e.g. Mp3Tag)

Multiple options for work tags if using Classical Extras Picard plugin.

LMS display (on SB touch, iPeng etc.)

If using SongKong, the artist displayed depends on the options chosen in SongKong.

Classical Extras allows many different ways of specifying artist tags.

Which approach you adopt is up to you. However, provided it will fit into your playing platform, Muso is a must. If you start with the Muso-only approach, you can always retag using MusicBrainz/Picard later.

Alternatively, if Muso does not fit your scheme, you may find that MusicBee is a good alternative (particularly if you do not want a multi-room capability). In either case, using Picard with the Classical Extras plugin significantly enhances the tags.

Whichever method you use, I recommend that, wherever possible you keep each album in a separate folder on your hard drive, with a name similar to the album name.