Enhrmonics - E#?

Has anyone else experienced this bug? You can see in the screenshot that an F natural is being displayed as an F# in the score.

Actually it´s an E#, which enharmonically is a F. Somewhat correct…
No idea, why Cubase decides to display it as an E#…there´s lots of automatic stuff going on in the new score editor, which is against the user´s intention most of the time :confused:

Yes you’re right it’s E# which makes no sense in a C key signature.

I was getting a serious number of double flats. They said there’s “some problems with the spelling algorithm”.

This is a known issue currently. The existing spelling algorithm is quite sophisticated in terms of how it analyses pitch classes, morphs and chrome across a longer context (disclaimer: this is way outside my own music theory knowledge). I think it’s designed to work well where you have complex or ambiguous situations However, there are some cases like this where it doesn’t produce a useful result such as F rather than E# (or double sharps and flats).

We’re considering how to improve this in the future.

In terms of “local harmony”, the first 6 bars of the example could be understood as a transitory C# major chord, so the E# is perfectly logical from the tonal point of view.
Not sure anyway that this is the reason for the Cubase algorithm doing this…

2 Likes

I wonder if that’s what cubase is doing, I guess it could be. I certainly don’t want cubase to be trying to think about harmonies for me. I should be sticking to key signatures like previous versions.

What would be good is if you could switch off any automated enharmonic features like that if you wanted to. In my day to day scoring for jazz this kind of thing just gets in the way.

1 Like

exactly!
Cubase should take it easy, respecting the key signature and nothing more. Then let the user edit the score until he or she is pleased.
Notation is too complex, with all the different styles and personal habits. Automation that is going too deep is bound to fail!

Are you sure it is a C major key signature in the example above?

I’m asking because Dorico uses by default an “atonal” key signature if you don’t create one, which is different from a C major or A minor key signature even though it looks the same. I’m not entirely sure if it makes a difference with this, but it might.

From playing around a bit (entered this same passage myself and tried some things) I’m convinced the reason the Cubase Score Editor is doing this is because of the contents of bar 6. If I change the D natural in bar 6 to a D#/Eb in the piano roll, the entire passage spells differently with Ab and F instead of G# and E#.

Obviously the way you would want to spell the pitches from bar 1 to the downbeat of 6 is as a Db major chord instead of C# major. If I make another change like changing the key signature to something else that more strongly suggests the use of an F and Ab instead of E# and G#, then it shows the first few bars as a Db major chord but then it tries to represent the C#-D movement in bar 6 as D-flat to E-double-flat.

So I strongly suspect that it has a rule that it must always try to have express movement by semitone as a change of letter-name (like C#-D) rather than moving chromatically over a single letter-name (like Db-D natural). With this as a “fixed rule” of sorts, it then tries to decide whether it is preferable to show the first few 6.2 bars as a C# major harmony and then the notes in bar 6 become C# and D, or whether to show the first 6.2 bars as a Db major harmony in which the contents of 6 become Db and E double flat. It is probably deciding that having the note halfway through 6 as E double flat would be worse than the E sharps in 1-3, so it chooses the C# major interpretation.

EDIT: I should clarify that I don’t necessarily believe that it is actually analyzing “harmony” and identifying a C# and Db major chord - more likely it is actually not looking at the chord/harmony and trying to figure it out, but is instead probably looking at the melodic intervals in relation to the key signature and avoiding unusual melodic intervals like augmented seconds and diminished fourths, which would give much the same end result. But it is easier in the context of this thread for me to say “C# major chord” or “Db major chord” instead of having to list the notes or intervals.

Really in this case, Db to D natural would be the least bad option in 6, and it shouldn’t be trying this hard to avoid this type of chromatic motion where there is no corresponding change of letter-name.

Absolutely! They should at least give us the option to switch off the ‘smart’ feature so we can notate the way we want to.

2 Likes

Yes and I honestly don’t want cubase to be second guessing my intentions like this.

1 Like

I don’t think it is “second guessing intentions”, but the piano roll is ambiguous when it comes to spelling. Do you want G# or Ab? How does it know the difference? Even if it is a “white note”, certain situations can justify an atypical spelling (ex. if you are in Cb major, you probably don’t want a B natural, or if you are in F# minor, you probably want the leading-tone to show up as E# instead of F#). It does need to be able to make some kind of guess, since entering the notes on the piano roll first (rather than entering directly into notation) leaves some ambiguity. It is probably better that the system that makes the guess is the smartest it can be, to cut down on the workload of the user. At least in this case you can respell that entire passage in a better way by bulk selecting all notes in the first 6 bars and respelling them all simultaneously to note name above via the menu (or a hotkey if you have assigned one) to fix this with just a few clicks. It is theoretically easier than if every few notes was spelled wrong and you had to find and just select those notes and respell those instead of being able to select the entire passage and fix it all with one click, especially if the passage was quite busy.

A more dumb/simple spelling choice algorithm would probably be much more likely to spell random pitches in a line not the way you want, and then you’d have to select those individual pitches to respell them. Right now with the smarter system you can select all the notes in the first 6 bars simultaneously rather quickly and respell them all simultaneously with one command.

You do get these types of weird enharmonic decisions occasionally in Dorico when doing step entry with a MIDI keyboard (or entering in the piano roll in Dorico), but most Dorico users are entering the notes in a more traditional way in the score with computer keyboard and/or mouse and specifying what accidental you want. That doesn’t get changed by the program to something else, because you are telling it what letter name and accidental you want so these automated systems don’t have to kick in.

How would the old score editor have handled that? It is ages since I used it.

The broader question, and this comes up a lot in the new editor, is there a way to override whatever “smart” feature is being applied? If not, we’re gonna get the wrong result 10% of the time (or more, depending).

The user always needs to be able to override any smart feature that’s being auto applied, both locally, and ideally globally.

1 Like

Yes of course - so in this case you can override the spelling of the notes that are incorrect by selecting all notes up to and including the downbeat of bar 6, and in the “Score” menu go into “Respell” and choose “Respell using note name above”. That will turn the C# E# and G# in the first 6 bars of the example at the top to Db F and Ab all at once. The respell using note name above and respell using note name below can be added as key commands.

I have been able to fix this now so that you should never see E#, B#, Cb or Fb by default (you should still be able to respell manually if that’s what you really want). I’ve also fixed the problem with unexpected double sharps and flats.

For background, Dorico and the Score Editor use a version of the PS13 algorithm which intends to find optimal spellings in the tonal context. It’s rather sophisticated, however it seems that something that may be ‘correct’ for a music theorist may not be the same as what a practising musician requires.

Thanks, PaulWalmsley, I ran into crazy situations, but nothing I couldn’t fix with the respell tool.