Preferential enharmonisation

Even though it might have a key signature, a lot of music jumps around harmonically so wildly that it would be next to impossible for a program to guess what might be logical or desired. At times like this, I’ve found Finale’s feature to prefer sharps or flats (thereby overriding the spelling tables inherent in a tonality) handy, especially if it’s changeable with a simple keypress. This prevents having to do a lot of correcting afterwards. Does Dorico have a feature like this?

Dorico does not yet have any features like this, but that’s an interesting approach that we could consider. We expect to be doing some work on improving the default enharmonic spelling during MIDI note input in the next few weeks, so we’ll certainly consider this as a possible approach to solving some of the problems.

Is there any news on this? I’m entering a piece in C major (i.e. not A minor) and, for some reason, Dorico enters all my A-flats as G-sharps. Changing them all is a lot of extra work. Am I missing something?

I’m not sure what news you’re after: Dorico doesn’t yet have any features to influence enharmonic spelling, and the earliest it could have them is 1.0.10, which is absolutely the plan, but it’s a big job and might not fit entirely into the schedule for 1.0.10, in which case it will be targeted for the update immediately following 1.0.10.

All I’m saying is that we need the ability to change the enharmonic preference on the fly while entering notes. I just tried notating a song by Massenet in C major and most of the accidentals are notated as flats. I had so much correcting to do that it turned out to be considerably quicker to notate it elsewhere and import it as an XML. This was especially true of chords, the correction of which required exiting note enter mode, selecting all the notes which needed changing one-by-one and then pressing Alt-=. I’m a bit surprised by two things: that the need for flexible enharmonic preferences hasn’t been anticipated, and that in major keys Dorico notates only the lowered 7th with a flat and all the other accidentals as sharps. This is, from the point of view of traditional harmony, not correct most of the time. In C major one generally needs D-flats, E-flats, A-flats and B-flats more often than C-sharps, D-sharps, G-sharps and A-sharps.

It’s not that the need for flexible enharmonic preferences was not anticipated: it’s simply that we haven’t had a chance to implement this yet. Dorico’s existing enharmonic respelling features for selected notes and chords are already considerably smarter than the equivalent features in other scoring software (try respelling a whole selected chord in Dorico in one operation, and then try respelling the same chord in other scoring software), so I think you will find that once we have been able to spend the time necessary to make this work as well as possible, you will find it more than satisfactory.

I’m interested in your notion that flat accidentals are generally more needed in C major than sharp accidentals. I admit that it has been twenty years since my last serious study of harmony (when I was an undergraduate), but this is definitely not what I learned. Perhaps you could point me at a text I could read to find out more about this?

I hope I’m missing something. If I play an A-flat major chord in C major, Dorico spells it G#-C-D#, and if I change it enharmonically in one go, it gets spelled Ab-Dbb-Eb. I still have to change the Dbb back to a C or change the two sharps to flats. Being able to prefer flats beforehand would prevent any of this. Or is there a different way of changing the enharmonisation in Dorico?

As far as choice of accidentals is concerned, the needs of users may be so varied that a single set of assumptions will only work in some situations. We agree that F# is more common than Gb and Bb more common than A# in C major (because Dorico does it this way), but you’re right, the rest is dependent on the piece and the era in which it was written. Besides being able to toggle between favouring sharps or flats, Finale also has a set of ‘spelling tables’ in which the user can determine which accidentals are preferred on each scale step. Something like this would be very handy.

Dorico’s respell commands are designed to maintain the intervallic relationships between the notes in the chord, which is why respelling G#-C-D# using the note name above gives you Ab-Dbb-Eb.

We have the notion of spelling tables in the guts of Dorico, and in due course I fully expect that we will be able to expose a fixed spelling table for each key that will allow you to get exactly the results you want. I’m not yet sure exactly what we will end up with in the 1.0.10 or 1.0.20 updates in this area: as I have already mentioned elsewhere, we also have our own implementation of an algorithm based on the PS13 spelling algorithm to bring to bear on the problem, which works remarkably well on tonal (even quite chromatic tonal) music. The reason we can’t use this algorithm directly to do spelling during input is that it requires both forward and backward context to make its decisions, and we thought it would probably be too weird to have previous notes spontaneously changing spelling as you input future ones. However, it will be possible to select a range of music and use the algorithm to improve the enharmonic spelling in a single operation. Again, I’m not sure if we will be able to expose this in either the 1.0.10 or 1.0.20 update, and it might come later, but I can assure you that just because Dorico 1.0 doesn’t have particularly advanced enharmonic spelling functions for MIDI input, that doesn’t mean we haven’t been giving it a great deal of thought already.

That sounds really promising and I’ll bet that, once it has been implemented, it’ll function more intelligently than anything in the existing notation programs and will work well in the majority of cases, although I would still vote for an easily selectable preferential override.

what about respelling and enharmonisation, je cherche et je ne trouve pas!

What about it, JLC?

JLC: https://www.steinberg.net/forums/search.php?keywords=enharmonic&fid[0]=246

I played in an F#, followed by an F natural, in a piece with no set key. Dorico rendered the first as a Gb, and when I tried to “lower” it, it went directly to an E x. !!
In the end, I had to just replay an F natural, and sharpen it with a sharp from the key sig pane.

Anecdotally, I find Dorico usually gets it right, but I’m already inured to the fact that occasionally, some notes are going to need alteration from any expectation.

Ben, I really don’t understand why you’re not using the respell shortcuts.

How do I change the enharmonic spelling of a note or chord?
Select the note or chord you want to respell, and use > Alt> +> > (minus) to respell using the note name below (e.g. this will respell a B flat as an A sharp) or > Alt> +> = > (equals) to respell using the note name above (e.g. this will respell a B flat as a C double flat). These functions can also be found in the > Write > menu.

(From the pinned Frequently Asked Questions thread at the top of this forum: https://www.steinberg.net/forums/viewtopic.php?f=246&t=104450#p573804)

What makes you think I’m not? turns a G flat into an E double sharp. If I do alt = after that, I get A triple flat. I can’t get back to G flat, and I can’t get to F sharp!
Screen Shot 23.png
Screen Shot 22.png

You said in a previous post

While the screenshots you posted don’t contain a key signature, I have to assume that either there is a key signature off screen, or the notes in your screenshot are not the same notes you were talking about previously. Either that or I’m being particularly dense today…

They are exactly the notes. There is no key signature. As soon as I play the F natural after the F sharp, it turns to a G flat, and I cannot enharmonically nudge it back!
There may be some settings somewhere that are causing it, but a brand new document (with my defaults) behaves thus.

I’m scratching my head, then. This is what I get here:
[Incidentally I get exactly the same result in Dorico 1.2, which I still have installed on this machine]

Aha! I’ve got it. It seems to be a side-effect of adding Editorial Accidentals to the Tonality System. See my post here.
https://www.steinberg.net/forums/viewtopic.php?f=246&t=142558

Once I remove the extra accidentals that I created, the enharmonics work normally.

I’m glad you got that solved, and I’m sorry I was so flummoxed by your issue.

You might add something cautionary to your linked thread, as a courtesy, to ensure other users don’t suffer from similar accident(al)s :wink:

edit: already done - thank you!