The algorithm for enharmonic spelling leads to a lot of extra work

Dorico’s algorithm notates ascending chromatic lines always with sharps and descending lines with flats. This is plain wrong in even many basic tonal contexts, not to mention non-tonal music. For example, in C major, Dorico spells G Gb F D instead of the much more common (ie. incorrect) G F# F D. When one instance of Gb is manually changed to F#, Dorico does not learn to prefer that spelling in subsequent occurrences.

Cleaning up the poor choices of the algorithm leads to a lot of extra work.

I couldn’t find a way to change the enharmonic preferences or override the algorithm. Is there a way?

n

You cannot directly influence the algorithm used for enharmonic spelling (and I would take issue with your characterisation of it as “poor”, though of course it is your judgement as to whether you find it more or less helpful), but you can disable the contextual retrospective respelling of notes by switching off ‘Allow spelling of notes to be adjusted retrospectively’ on the MIDI Input page of Note Input Options.


Yes, that was a little thoughtless title, sorry about that. Edited.

I enclose a musically primitive example that shows how random the results of the algorithm may look. Obviously G flat shouldn’t be used here at all but Dorico chose to put it in those two bars.

Switching the retrospective spelling off helps with the chromatic lines a but introduces new unwanted spellings. It would be very useful to be able to determine your own spellings for the MIDI keys, or to force a spelling at the moment of playing a note. Is this being planned at all?

n

Presumably the algorithm analyzes melodically. I doubt it takes chords (on another staff) into account to do a harmonic analysis.
Melodically the algorithm is correct. Asking Dorico to vertically analyze the harmony of an entire score is probably asking a lot, at least for now.

In a tonal context, the rule “use flats when descending” is not automatically applied. I’d say in D major, A Ab G E would be an unusual and tonally erroneous spelling even for an unaccompanied line. And as you can see from my example, the algorithm does take the other staff into account (sometimes). For me, there would be less extra work in cleaning up the score if I could pre-determine the spellings of the MIDI notes myself (as in Finale). This would be a welcome option, in addition to an algorithm. And it would be nice to have more options in the preferences of the algorithm.

A Ab G E would be one less accidental than A G# Gnat E. Maybe that’s the way Dorico is programed. In the key of D, the flat would look weird.

Daniel, will more user control be added to the enharmonic spelling algorithm in the future? Sometimes a certain fixed spelling is used for a whole piece or over large sections, and I’d like to be able to tell Dorico how I want the input MIDI notes spelled. A good example is the music I’ve written for organ or harpsichord in meantone tuning. Whatever the context of the notes in the music, the notes on the black keys are C# Eb F# G# Bb because the enharmonic equivalences of 12-equal do not exist. There can be no Db’s or A#'s in the score - those would require special extra keys. So writing such a score in Dorico, inputting the notes with a MIDI keyboard, leads to a messy result that needs a lot of cleaning up.

We certainly don’t rule out any reasonable future developments, but we’re not actively working on this right at this moment.