Scale/mode support

• Aug 26, 2022 - 06:23
Reported version
Ergonomical (UX)
S5 - Suggestion

As far as I understand, MuseScore supports common key signatures, but not full-blown scales, because for that it would need to understand two more things, namely...

  1. Root notes
  2. "Key signatures" that don't follow the usual circle of fifth pattern (think melodic and harmonic minor, maybe blues notes (note sure if these are handled as separate scale degrees or "inbetween" from a theoretical PoV), and wilder animals like symmetric scales).

An understanding of these two concepts would allow MuseScore (or plugins thereof) to do a number of cool things. Off the top of my head :

  • When you type in a note name in note input mode, the defaut alteration could be correct even in more exotic scales like harmonic minor.
  • Roman numeral analysis could be less manual (e.g. you type a degree, and it automatically determines the standard chord quality for that scale and degree, or you type a note name and it automatically turns that into a degree and standard chord quality)
  • Roman numeral analysis could be better integrated with chord symbols (you change one, MuseScore adjusts the other, and given an RNA, MuseScore can generate basic chords matching this RNA for you)
  • Out-of-scale notes could be automatically highlighted (some DAWs do this and it does wonders for composers who are getting started with a new scale and learning to stay in the scale or depart from it purposely)

I pointed this out in Marc Sabatella's course, who replied that in his opinion, this could be handled by a plugin. I don't know enough about MuseScore plugin development to assess how correct this is (it seems to me that you would need to somehow save some extra information in the score file, but maybe plugins can do that ?).

I tested this in 3.6, but am not sure if this is still true as of current MuseScore 4 nightlies, which seem to possibly understand minor now judging by its evocation in the "new score" dialog. However, without extra documentation, I couldn't tell if this is just a more convenient way to select key signatures or if this reflects a deeper departure towards full scale support.


MuseScore already supports custom key signatures, so if you want to write harmonic minor using a special key signature, that works already. Just see the "More" section on the key signatures palette for the customization options.

What I was saying might be doable via a plugin was things like going through a score to identify notes out of the scale. Of course, if you have a custom key signature, that's already done to some extent because the accidental will appear, but it only for the first note of that pitch in a measure. So you'd need something like the existing courtesy accidentals plugin to highlight the other altered notes within the measure.

But I thought you mean, specifying a custom scale that isn't connected to your custom key signature.

For RNA, the issue is that these are rarely connected to the key signature for more than a few measures at a time - RNA typically reflects the "key of the moment", not necessarily the key signature. So there would need to be a way to specify that. This also is what I thought you were talking about.

Anyhow, probably best to discuss your ideas further in the forum to get a more concrete idea of exactly what is possible already and what is not - and of the latter, what is doable via a plugin and what might make sense to consider as a new feature someday.

Thanks for the clarifications !

I was misled to think that custom key signatures were not fully supported (e.g. did not affect feedback) by your lecture, which apparently needs updating to match the current state of MuseScore : . Indeed, I checked that as you say, this now works properly :)

With this, the situation is better than I understood. MuseScore allows smooth note input of harmonic minor and other 7-tone scales where the "key signature" just doesn't follow the usual circle of fifth rule. Note input usability will only start to suffer when attempting input of melodic minor (where upwards and downwards intervals must be handled differently, which I can easily imagine would require significant support code), scales with more than 7 tones (which would be better served by an interval-based input logic, as used for chords, than by the A-G notation) and scales that are not octave-repeating and are thus not properly represented by key signatures. All of this being admittedly fairly exotic.

Indeed, the improvements I had in mind for RNA would require ability to handle that "key of the moment" notion, not treat key as a score-wide property.

Let me open a forum topic if this is a more appropriate venue for this sort of discussion.

In reply to by Hadrien Grasland

True enough, the playback for custom key signatures is relatively new as I guess I forgot to update that particular video. I'm in the process of updating the entire course for MuseScore 4, but I'll add a note to that one now.

And yes, forum topics are better, as then they'll be seen by many more users (hardly anyone outside of a few developers looks here in the issue tracker) who can then participate in discussions about how any proposed new feature might work. Then once some sort of consensus is reached, a summary can be posted here.