Invisible random key-switches

Excited by this new version - now hoping to ‘move over’. Great stuff Team Dorico

However, trying to get to grips with creating expression maps for my various sound libraries - mainly to add appropriate key-switches to my scores. I can’t figure out the best way to add a ‘random’ (and invisible) keyswitch. For example in the choir library ‘Voxos’ you can create 12 phrases consisting of different sequences of syllables and access them with keyswitches 24-35. Can anyone advise as to the best method to add keyswitches that don’t necessarily relate to any ‘playing technique’ that you would also want to be visible in the score.

Have been experimenting with creating new playing techniques simply called K24, K25, etc. but can’t get the key-switches to work using my expression map. Also, for no reason I can see, slurs trigger a key-switch.

Any advice would be hugely appriciated.

Thanks, Ian

Slurs trigger a key switch probably because they produce the “legato” playing technique, which you can’t actually disable, though of course you can remove any “legato” entry from your expression map, which should prevent it from happening.

When you switch to K24, K25, etc., make sure you put an intervening “nat.” switch in, otherwise Dorico will try to keep adding the playing techniques on top of each other.

Thanks for your reply, Daniel. The problem is I haven’t created a ‘legato’ key-switch entry in the map - there isn’t a ‘legato’ articulation in this instrument.

I don’t understand the need for a “nat” switch in between other key-switches. Surely that is merely another possible key-switch which would, if appropriate, change the articulation to something considered natural for that particular instrument. (and that is something chosen within the expression map) In this instrument (Voxos) all key-switches can do is select the appropriate sequence of syllables - there is no ‘natural’ as such.

If you don’t put the “nat” technique in, then e.g. K24 will never be removed, so when Dorico then sees K25 it will go looking for K24+K25 and not find it, and therefore not play K25.

Okay, so “nat” doesn’t, or indeed, can’t be used to select an particular articulation it merely cancels the existing. So what actually plays back after a “nat” command? I’ve tried plastering ‘nats’ all over the score to no effect - which is exactly what I would expect because I haven’t put a ‘Nat’ in the expression map.

Would you also need to put a ‘nat’ in-between say staccato and trem in a string part to prevent Dorico looking for a staccato+Trem and not find it?

All I actually need is to be able to switch seamlessly between 12 possible key-switches. Is that actually possible?

You should indeed put a “Natural” in the expression map, so that Dorico knows what the “normal” sound of that instrument should be. Provided you switch back to “nat.” you should be able to switch between your different key switches, yes.

Okay - but I don’t see why Dorico needs to know that. Why can’t it just play back the sound triggered by the key-switch And when it sees a new key-switch change to whatever sound is triggered by that? What could be simpler? As it is now, I’ve got a to choose one of the key-switches to be nominally ‘normal’ i.e. selectable by inserting ‘nat’ and re-insert that between every other key-switch! Can you actually insert anything that would function as a key-switch in-between notes? So far I have only been able to add the ‘spurious’ ‘nat’ on the note before I need the new key-switch, which, of course, results in that note being played by the wrong sound.

Also, I can see now that slurs function as a key-switch selecting the the switch allocated to be ‘normal’. In many instances (all with this particular instrument) this will mean the wrong articulation will be selected for all slurred notes.

Having typed this, its just occurred to me that a solution might be to select a ‘normal’ with a key-switch that the instrument won’t recognise (i.e outside its key-switch range) I’ll give that a go and report back.

Ian, read this:

that solution seems quite promising - seems to work - unless I’ve created a fertile environment for unintended consequenses!

Next up however, I haven’t found a way a hiding the key-switch commands in the score. Any suggestions?

Thanks, Ian

I’m not an expert here, and I’m not even in front of a computer now so this is a complete shot in the dark (informed by the Version History document) :

Select whatever it is in the score that illustrates the key switch (a signpost? an articulation mark?) and look down into the bottom panel. In the Playing Techniques you should find a “hidden” option.

Thanks pianoleo, you are correct - I’ve found the hide button. Also, thanks for the link - I wrote a reply which I think I must have failed to send by mistake.
I don’t really see the point of this ‘build up of articulations’ I can see that it makes sense for the musician playing their part, but as far as playback is concerned all we need is a simple way of adding basic midi commands (none of which needs to make sense to a real player) in order to access the articulations that works best at that moment in the score.

What the link says is “this is not ideal; we’re planning something better; this is why it works like this for now”.
It’s not about you or me “seeing the point”, it’s about the limitation that currently exists in the software. Does that make sense, now?

I think what you are saying is that the reason key-switches don’t work properly is because there is still work to be done to complete the vision and that once that vision has been realised all will be well.

Possibly, but for me, Daniel’s explanation that Dorico needs to be taught the difference between techniques that are mutually exclusive and those that aren’t is a bit worrying. Either way, if a change in sound is to be reflected in playback a different articulation needs to be selected which, by default, replaces the previous.

Also, such potential micro-management would play havoc with users that, for example, have multiple alternatives for the common articulations, or where (such as in Orchestral Tools) up to four articulations can be selected at once, etc. etc.

Dorico will never know what sound-library developers will come up with next. But, almost certainly, whatever it is a basic set of midi commands will deal with it.

The reason this is complex (and incomplete) is because the behaviour depends entirely on the combination of playing techniques that are in effect. It’s not necessarily the case that when you see a technique change that it instantly replaces the previous one. Rather, some are cumulative, some are mutual exclusive and some are a ‘reset’ (such as nat/ord).

There are few specific cases that you need to deal with. eg if you had ‘con vibrato’ followed by ‘legato’, the latter adds to the former. If these are controlled by separate CCs in the sample library, say CC8=64 and CC12=64, then you would want Dorico to output the CC8 when you reach the con vib and CC12 when you reach the legato (but the CC8 would still be ‘sounding’). However, your sample library may instead have dedicated keyswitches for ‘legato’, ‘vibrato’ and ‘legato+vibrato’, so Dorico has to know to output the appropriate ones. If you then issue a ‘senza vibrato’ then it has to know how to handle that.

Conversely if you have ‘pizz’ and then ‘arco’ then those are mutually exclusive, and so Dorico has to ensure that they aren’t rendered cumulatively. The same goes for other sets of mutually exclusive techniques. So the situation is a lot more complicated than just a few MIDI commands that can be considered independently.

Because at the moment Play Mode isn’t “complete”. Because the developers have focused on fixing notation first. Because (as explained in the link) sometimes “pizz” is followed by “accent” and in that instance “accent” doesn’t mean “accent”, it means “pizz accent”.

It’s simple for a human to understand, but it’s not simple for a computer to understand. This area of Dorico hasn’t yet had the time and energy spent on it to get this stuff “right”.

You have a workaround, which involves sticking “nat.” instructions before each new instruction, and you have the clarification that time WILL be spent on this in future.

In the meantime, please understand that a) this is a difficult problem and b) each user has a different set of hopes and expectations for future improvements and features in Dorico.


Thanks for you explanation, Paul, but it seems to me that the complexity you are talking about derives from the ambition to control playback simply from the player instructions used in scores.

You describe a situation in which (presumably) we have a instrument being played back by a suitable long-note articulation. We now add the instruction con vibrato (presumably previously the player was instructed to play senza vib.) In order to hear this in playback I may want to either change the actual articulation in which case I would need to add a key-switch, program change, or even (in the case of the Spitfire libraries) a C32 value - which I guess I should now be able to do using a midi controller lane. Whatever the chosen method this would result in the previous articulation being replaced.

Alternatively, if the current articulation includes controllable vibrato I might want to use a midi controller lane to draw in a suitable envelope. Yet another way might be to key-switch into play two articulations - one with vibrato and another without, and use a midi CC to crossfade musically between the the two. Because I might want to do any or all of these things in a score - the last thing I want the ‘con vib’ instruction to do is trigger a pre-determined one-size-fits-all ‘solution’.

Next, you add the instruction ‘legato’ this would not typically require a change of articulation or indeed the change of a CC value - it’s only a question of note lengths.

I know that many sound libraries have articulations labelled ‘legato’ but this means something different in the library context. You wouldn’t necessarily want the instruction ‘legato’ to change to this, or any specific articulation - legato is possible with any sample longer than the note required.

So, as far as I can see, the ultimate in flexibility derives from human control over a few basic midi commands - easy for the computer and easy for the human.

Well, as a composer who writes scores and wants them to be played back to me, of course I want Dorico to control playback “simply from the instructions used in scores”. That’s what scores are for, and that’s what my human players will do.

While the ability to hide playing techniques is an absolutely wonderful feature, I can’t seem to ‘unhide’ them … What am I missing?

Make sure you have signposts shown (switch off View > Signposts > Hide Signposts), then select the playing technique signpost and switch off the ‘Hide’ property in the Properties panel.

Thanks so much Daniel, but this part was clear … It was my fault for not mentioning that this was my own playing technique … I didn’t realise that signposts won’t work in this situation if there is no popover text defined …