Distinguishing Artists

In the post-pudding Christmas after-glow, I have come to the conclusion that if I am going to put the recording year into the ALBUM tag (because only by including it there do we properly and completely use recorded classical music's primary key), we might as well not fear duplicating data in another important matter: namely, the business of declaring who is the "distinguishing artist" for a recording.

It should already be common practice to have this data already present in the ALBUM tag (it's why I own Symphony No. 5 (Karajan - 1970) for example).

It is also, probably, buried in your COMMENT tag: my standard practice, which I've long argued for on these pages, is to include all performer details in the COMMENT tag for a recording. So, for example, you'll see my tagging for the aforementioned symphony looks like this:

In general, I will always enter a comma-separated list of performers, usually in the order: conductor, orchestra, choir, soloists. The first item in the COMMENT tag is, therefore, likely to be the same name (though in a more complete form) that appears within the final bracketed part of the ALBUM tag.

And that's the approach I've used since about 2001 and it works fine: most music software lets you search the COMMENT tag, so if ever I need to pull up a list of all recordings by Karajan, I can do something like this:

...and you can see that, provided I am consistent in the way I type Herbert's full name when tagging my music, I can find all his recordings without difficulty, even though he's merely one bit of text amongst many others, hidden away within the COMMENT tag.

But... for reasons that may become clear to you in a few subsequent posts' time, it's not particularly ideal to bury important data amongst a list like this: finding it when you need it can sometimes be harder than it should be.

I've therefore decided we need to save the full "distinguishing artist" name into a tag all of its own... and one that a lot of music players are aware of and can display and search is... (drum roll, please)... PERFORMER. You can see that tag being displayed two screenshots ago, in that view of all the tags associated with the Beethoven Symphony conducted by Karajan. There, the PERFORMER tag is empty; my contention is now that it should be filled with the data Herbert von Karajan.

This is not a trivial change to my tagging habits, however: all my audio-related software scripts need to be aware of 'PERFORMER' and to handle and save it correctly, for example. Additionally, there's the not-so-minor problem of how I go about "back-filling" the PERFORMER tag for all 60,000+ music tracks I already own and which, currently, lack such a tag.

So, firstly, I've released new PERFORMER-aware versions of all my scripts, all dated 24th December 2020. They are downloadable from the places that each of their associated articles will point you to.

Secondly, I've written a  new set-performer.sh script, which will batch-update a whole pile of music files to have a distinct PERFORMER tag, culled from the first bit of the existing COMMENT tag. Installing set-performer is a simple process of issuing the following commands:

wget https://absolutelybaching.com/abc_installer
bash abc_installer --set-performer

The first command downloads a generic installer script. The second command is an instruction to run that installer script, specifying (with a double-hyphen parameter) that it's set-performer you want to install. You will be prompted at one point for your sudo password, without which the installer cannot install the software in the /usr/bin folder correctly.

That done, you can now cd to a folder containing your music files (I suggest you try it out on a small copied test sample of your music collection first, not the live, whole thing -not until you are comfortable with what it does, anyway!) and invoke the script by simply typing the command:


The script will then find all FLAC files (it only works on FLACs) and for each one found, it will read the COMMENT tag, extract the first item from it (assuming that commas are used to delimit one performer's name from another) and write that into a new PERFORMER tag.

For example:

Here's a little sample of some music files, with their existing tags exposed on the right-hand side of the screen. You'll notice that there's a COMMENT tag, in this case of the form "Philip Ellis, The Philharmonia, Nicholas Walker &..." and so on.

Here's me navigating to that directory of music in a command prompt and running the set-performer script:

You can see that the program immediately sets to work and declares that the PERFORMER tag has been set for each of the files making up this recording. We can then see the effect of its work:

You can see that the COMMENT tag has not been altered (or damaged!) in any way by the actions of the script... but that a new PERFORMER tag exists (4 up from the bottom of the list on the right), and it's got a value of "Philip Ellis'... which happens to be the first item in the COMMENT tag, assuming commas are the delimiter of items in that tag.

It is possible you are one of the strange band of people that don't delimit things with commas, though! Suppose that the COMMENT tag was delimited by... let's say, hyphens, in this manner:

...then if you simply ran the command "set-performer", you'd end up with this result:

Since there are no commas to delimit things in the COMMENT tag, the "first" item that the script can identify is the entire COMMENT tag! So, the PERFORMER ends up being just a copy of the COMMENT, which is less than useful!

Fortunately, there's a fix: the script takes a -d= or --delimit= parameter. Set that to be the character you usually use to delimit items in a list, and the script can still work. So here you see me invoking the script and specifying a non-default delimiter as I do so:

When the script runs, the header area tells you what the delimiter is that it's using:

And the results are good:

This time, although the COMMENT uses hyphens, the PERFORMER is correctly set, because it was told about the (fairly unusual!) use of hyphens to delimit items in the COMMENT list of artists.

Anyway, you don't need to worry about the use of the --delimit parameter if you use the far more sensible comma as your list delimiter! The comma is what the script uses by default, after all.

Remember, you only need to run set-performer once, to back-fill your large music collection that previously lacked a PERFORMER tag. If you are using CCDT to tag your rips, or CDDR to make them... then those tools now already know how to create and populate the PERFORMER tag, so there's no need to run this new script over the digital music files created by those other tools.

4 thoughts on “Distinguishing Artists”

  1. This is not a question about the performer tag, but I'm not sure where a better place to ask is.

    I like your idea of using the "Album" tag to indicate the composition, not the CD from which the recording came. It seems to encourage you to think about coherent "pieces" of music in your listening choices. I also like the idea of making "compilation" albums an exception to this.

    But how do you handle something like Chopin's Nocturnes? I believe there are 19 of them, most < 5 minutes, spread over 9 opus numbers. It seems a little crazy to have 19 "albums" for each recording of these.

    Scarlatti's Sonatos would be an extreme case of this ... 555 different albums again seems excessive. Not that I'm faced with this quandry yet ... my music collection is so small that I don't yet own any Scarlatti 🙁

  2. You've mentioned two exceedingly good examples! There's no hard-and-fast rule about it, I think. You have to ask yourself 'how do I approach this music'. If you ever think, "I fancy listening to Chopin Nocturne No. 8", then clearly, each individual Nocturne is important to you and you should split a CD full of them into 19 different compositions. But if you ever think, "I fancy some Chopin Nocturnes", then you probably think of them in the aggregate and they should stay in the aggregate. I cover this in Section 2.1 of my Axioms of Classical Tagging article, where I find a CD of 21 Benjamin Britten folksongs counts as a single 'composition' called 'Folksongs'!

    I used to say that about 5 minutes was the cut-off point: if the 'work' was shorter than that, it couldn't really count as a standalone composition (and hence 'album') in its own right. And whilst that's not a bad rule-of-thumb, it's just a starting point and is really much subtler than that... as I just recently discovered!

    My Percy Grainger collection CDs are lovely things and a lot of his pieces are in the 8+ minute range, so I originally ripped each 'work' as a separate album. And then I noticed that I hardly ever played Grainger -because the huge wall of 'albums' that would appear in my music player navigation pane just made it impossible to scroll through them and pick them carefully. It dawned on me that, really, Percy Graingers pieces are, in most cases, quite long but not terribly distinctive. I mean, they're all unique, but they're short enough and similar enough to each other that I just don't think, 'Oh, I need to listen to Blithe Bells'. I'd really just want to play some Grainger. So even though all his pieces were way over my 5 minute mark, I went back and re-ripped the Percy Grainger collection back into its constituent 19 CDs. I didn't want them all ripped into one work, mind: there's enough variety for that not to need to happen! Also, I'd never want to listen to 19 hours of Percy Grainger at a stretch -so chopping it into 19 or so separate hour-long pieces seemed about right for him.

    So, I tend not to think in terms of a 5-minute cut off any more, but 'what best grouping would encourage me to play these, by minimising the things I have to scroll through in my player, whilst preserving the maximum ability to play the good bits by themselves'. So it's a bit of a balancing act.

    Again, I recently realised that having ripped all my J.S. Bach organ works as separate pieces was a mistake: the scrolling involved to get from 'Harpsichord' works to 'Violin' ones, because of the wall of 'organ' pieces in the way: and none of them are particularly distinctive (with obvious exceptions!). So it's not as if I'd ever sit down and think, 'oh I need to play BWV 544'. So since I don't think that way, there's no need to rip/catalogue that way. On the other hand, I know and love all his cantatas as individual pieces with unique and highly distinctive characters -so, they get the indivdual works of art treatment!

    I think the 'Bach organ treatment' would similarly apply to your Scarlatti sonatas: no way would I create 555 different albums, because I'd never think of one of the sonatas independent from the others (with one or two outliers that I might make an exception for). But I also wouldn't rip them as a single 'album' either, because there's no way I'd want to sit through all 555 of them at a sitting! So I'd look for a way to group them into 'programs' that might be agreeable to play from time to time. If Chandos are selling them in 26+ volumes, I'd probably rip them as 26 separate 'albums'.

    Thanks for taking the time to get in touch, anyway!

  3. Thanks for the response, I think your point here is spot-on:

    "what best grouping would encourage me to play these, by minimizing the things I have to scroll through in my player, whilst preserving the maximum ability to play the good bits by themselves"

    For me, I'm quite unfamiliar with the Chopin Nocturnes, so I think it's best to group them all together.

    1. Absolutely. And then, as you get decades of experience with them under your belt, you might find that too broad a grouping and need to revise your cataloguing accordingly. I definitely think that what one thinks of as a 'work' or 'album' changes as your experience with the music in question develops.

Comments are closed.