Better custom key signatures

• Apr 20, 2021 - 19:03

I brought this up on Reddit (…) as part of a more general observation about the state of microtonal composition in MuseScore, and the reception seemed positive enough for me to float the idea here.

MuseScore's support for custom key signatures is kinda sad. While it does let you create them by dragging and dropping accidentals onto a staff, it's entirely cosmetic - the key signature doesn't adapt to the clef in any way, there's no attempt to automatically position the accidentals horizontally (thus ensuring that a custom key signature is almost guaranteed to look amateurish and bad) and scripts cannot interrogate the current key signature to determine what the default accidental is for a given note. (While staves can tell you the current key signature, they do so by providing an integer representing the number of sharps/flats, which is fine for 12TET but meaningless as soon as you work with divisions of the octave which don't have a circle of fifths. (In 31TET, the key signature for C semisharp major has seven semisharp accidentals. The one for B semiflat major has five semisharp accidentals and two semiflat accidentals!)

Dorico is running circles around MuseScore by comparison with its concept of a tonality system; while I don't think it's unfair to relegate some of what it supports to scripts like the n-EDO retuner plugin, good support for custom key signatures matters to everyone, not just microtonalists.


It's true the accidentals don't adapt. As has been discussed here, that's actually a far more complex topic than one might imagine, trying to guess - or provide explicit controls for - exactly which line/space should be used for every possible clef, also every possible transposition, etc. But indeed, someday it would be nice to make an attempt.

Note though it's still unfair to say these are entirely cosmetic - they do affect playback and the internal representation of the note, they apply to all octaves, etc. And while horizontal spacing needs to be dealt with manually, vertical at least is automatic. This is all an improvement over where things were just a few years ago. No reason to think they cannot continue to improve. but some concrete proposals from users who rely on these on how to solve those difficult AI and/or design problems would be helpful!

Do you still have an unanswered question? Please log in first to post your question.