Improve step entry accidental behaviour

• Dec 6, 2020 - 14:25
  1. In a key of 1 flat, step-input a G# (edit: using MIDI keyboard step entry)

MuseScore always writes it as an Ab, no matter what. Not great, but let's say we can live with that. Here is where it becomes annoying.

  1. change the input note to a G# with arrow keys (once down, then up).
  2. play another G# in the same measure

Here, MuseScore writes the input note again as an Ab. The previous input note was just changed to G#, so MuseScore should not be writing Ab any further in that measure, it should write G#. Until I change the input note back to Ab, it should keep writing G# whether the note is in the same measure or not.

Of course, ideally MuseScore would figure out correct accidentals based on a circle of fifths in the context of the key signature and the notes input (and that is really not that hard of a problem). But even without that, the case outlined above really ought to be ... improved. I'd rather like to say "fixed" because musically in my opinion this is a "bug", even though technically I know this is a "feature request". Thanks.


You are clearly doing this on a midi keyboard rather than the computer keyboard. I think if there are flats in the key signature MuseScore assumes all accidentals are flats. If there are sharps in the key signature accidentals are sharps. This isn't perfect but is probably right more than it's wrong. I do think that if you change an accidental from G# to Ab the next Ab entered should remain an Ab unless you tell it otherwise though.

In reply to by mike320

Thanks, yes I meant using a MIDI keyboard, so I added that info to the post in case it wasn't clear.

Being able to manually select whether sharps or flats are input is how some other notation software works and would be slightly better than how MuseScore behaves now, but a better situation would be auto-spelling notes up 8 5ths and down 3 5ths from Tonic (in other words, using transposed meantone).

Otherwise implementing local analysis would help, so if in the key of 1 flat, I've input a B natural, then playing an Eb against it should be auto-spelled as a D#, whereas now it gets idiotically spelled as an Eb. I vote for making the app if not "smart" in terms of note spelling, at least "slightly intelligent".

FWIW, easier way to change spelling: press J. But, this is but one reason I don't find MIDI particularly efficient compared to computer keyboard for entry. On the other hand, with the computer keyboard I have to correct octaves about as often, but at least I get instant audible feedback that I need to fix it.

Anyhow, I agree, it would be nice if we somehow detected the other spelling was used previously in the measure. This has been suggested before but I don't think there is an actual issue for it, so feel free to submit one (severity = Suggestion). Unfortunately, I suspect it's a bit more work to implement than one might hope.

Other context-dependent algorithms are also possibly, of course, but I predict an almost zero chance they would reliably produce better results.

But to be clear: MuseScore does choose the default spelling based on key and circle of fifths; it just doesn't pay attention to other notes.

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