Artificial harmonics default: octave? why?

I’m curious why Dorico defaults to an artificial harmonic of an octave (I mean with the diamond notehead being one octave up from the fundamental, partial 2 instead of 5)?

Is there a way of having Dorico by default insert harmonics as 4ths?
Since I mostly write orchestra/symphonic/string music, I find myself needing 4th and 5th harmonics most often, with major and minor 3rd harmonics when writing strictly contrabass parts.

But it makes for a LOT of button presses to change from the default behaviour to what I need.
I’d love a quicker way of achieving my end result.

4 Likes

There isn’t really a good default that will work well for all types of instrument - although “touch 4th” harmonics are the most common on string instruments, “touch octave” harmonics are the most common on guitar.

it seems that there should be a toggle or something that lets you select which you want as default behaviour.
I never write for guitar. Ever. I have absolutely no use for a touch octave artificial harmonic. It’s unplayable on pretty much every string instrument in the orchestra.

Are the majority of Dorico users really writing mainly for guitar?

4 Likes

Second this. Would be great to have an option to make touch-4th the default.

3 Likes

Not to pile on, but I agree. I never write for guitar; I’m using harmonics only for strings and almost always want the 4th.

4 Likes

Dorico already knows what’s the difference between a guitar and a violin, as the filled diamond noteheads don’t play back properly on strings.
So why not make the default behavior dependent on the instrument type?

3 Likes

I’ve made an LUA script that sets these settings for the selected notes. Unfortunately, due it appears to some glitch or undocumented behaviour, it has to be run twice, the first time sets the artificial harmonic and the second time sets the partial to 4.

local app=DoApp.DoApp()
app:doCommand([[UI.InvokePropertyChangeValue?Type=kNoteHarmonicType&Value=string: "kArtificial"]])
app:doCommand([[UI.InvokePropertyChangeValue?Type=kNoteHarmonic&Value=int: 4]])
1 Like

Could you copy the code in there twice? :slight_smile:

I essentially tried this, as well as some LUA code to add a delay of a few seconds by creating a wait function, in case it was due to a timing issue. The wait function worked but the partial does not get set.

now that I belong to the “select few” who own Stream Decks (it’s a joke! I’m making a funny…), I wonder if there would be any way to make a button for the SD-XL that immediately inserts a touch 4 or touch 5 (or 3) artificial harmonic, for us classical peoples.

You would still probably need to use an LUA script like the one above to make that button actually do something.

I suspect the reason why my LUA script above doesn’t work is that the kNoteHarmonic property doesn’t appear until kNoteHarmonicType is set to “kArtificial”. It seems that the script does not pick up on new properties that appear as a result of other properties being changed unless that property has already been changed at the time the script is run.