Classical Work Title Guidelines

Tags: #<Tag:0x00007f29ffd59eb0> #<Tag:0x00007f29ffd59d70>


I’ve read this:

But it doesn’t help much with titles. My current question is would it be correct to reformat the individual part titles here:

To be more like these, with the work and op. #, then the details of the specific part:

In general, is there a consistent way that work, part #, etc are supposed to be arranged? I’m trying to write a script in Picard that will for most cases automatically separate work, movement number, and movement name/description into their own tags, but of course it depends on consistent formatting.


I think we generally like the full work title—so those should hsave “6 National Airs with Variations, op. 105” in front. Now, I’m not entirely sure we have any consistency on what should come next. Probably “…op. 105 no. 1”. But after that… Could be the key, could be tempo markings, could be one or more of the two names (Air écossais, The Cottage Maid).

It’s not even clear which language to name things in (though of course works have aliases). fails to give any guidance on work names whatsoever. gives a little.

I think the only thing that everyone agrees on is that regardless of how it’s done, it should be consistent. Don’t switch styles in the middle of a work. Personally, I’d go further and say if you’re willing to do the work to make an entire composer consistent, that’s good too. Especially if you get that composer to anywhere near complete & cleaned up.

There are so many different weird things composers, publishers, etc. have done over the years that actually writing up a good style guideline strikes me as a serious undertaking.


I suspect a lot of work names have been taken from the first recording/release entered with that work. And I would think that works would roughly follow the same rules as classical track titles, anyway, in terms of including the work.

So my script is based on a format to the effect of:

{main work}: {#}. {part title/description}

With some allowances for Roman numerals, “No. 1” vs “1.”, and skipping the number if it’s not readily available. The key piece is the main work name followed by the colon. Without that, extracting the rest becomes infinitely more complicated.


You can usually expect this, at least, to be present. We don’t really have work title guidelines because they’re hard, so currently the main idea for work titles is “if I can tell what it is with a search, it’s probably ok” (earlier guidelines proposals included things like trying to use official titles on the original score etc, which are… complicated to follow). We should eventually agree on some basic guidelines, but.

There is one exception to the main work name plus colon thing, which is piece/song collections. For those you’re as likely to find them with as without the main work name.

There’s also some cases where the parent work title and the main work title on the part works are written in different ways (because changing the latter used to be a pain and involve changing each part work by hand). @loujin made that much easier recently with another magic script of magic, but that a lot of them still don’t match. Ideally they probably should though.


Ok, thanks. Based on this info, I will go ahead with editing op. 105 parts. Thanks for pointing out the userscript!


BTW: The “op X no. Y” form, without the colon, is given as an example in — so presumably that’s actually the “correct” way to do it, at least for English. (Of course, your “with” example is in German, so that guideline doesn’t apply.)


It’s the correct way to format something where it says “Song, op. X no. Y”. It’s not the correct way to format “Pieces, op. X: No. Y. Intermezzo in D major”, because “Pieces, op. X no. Y. Intermezzo in D major” makes no sense (the *intermezzo" is no. Y, not “pieces”).


Ok, that particular work is done. I’m sure I’ll find more that need updating. :slight_smile:


Here’s the script I’m using right now, if it’s of interest to anyone else. WORK instead of of work was for compatibility with MusicBee, but I think it doesn’t force all caps as of the next patch. Waiting to see.

	$set(MVNM,$replace(%work%,%WORK%: ,))

$if($rsearch(%work%,: \([IVXLCDM]|\\d|No\)+\\.),
	$set(MVIN,$rreplace(%MVNM%,^\(No\\. \)*\([IVXLCDM]+|\\d+\).*,\\2))
	$set(MVNM,$rreplace(%MVNM%,^\([IVXLCDM]+\\. |\\d+\\. |No\\. \\d+ \),))