Keyswitch Import

In searching the forum I wasn’t able to find an exact solution.
So my problem: I write in ProTools (where Expression Maps don’t exist) so I use Keyswitching on my MIDI instrument tracks for articulation switching (etc). On exporting that MIDI so I can import it into Dorico the keyswitches remain as do the rest of the music. And so when I import this into Dorico I have my keyswitches along with the music that I want to clean up.
What I would like: Is there a way to either, 1. On import of MIDI have keyswitches import as articulations? I have the expression maps defined in Dorico, but there doesn’t seem to be a way to import say C-2 as Legato, or F#-2 as Pizz. and have that defined on a per-instrument basis? Or… 2. Can I at least filter out the keyswitches so at least I don’t have to manually go through and delete all of the keyswitches one by one?

Does anyone have any bright ideas, or have a better workflow to suggest to me? It occurs to me that I could simply have an extra session in ProTools for cleanup and delete all of the keyswitches in that session, prepping the MIDI to have a cleaner export. But I’d prefer not needing to necessarily do my cleanup in ProTools.


I think I’ve seen requests for this kind of thing (import/export of maps) but the team is pretty busy. AFAIK you’ll have to input it manually. You could take a look at at the saved configuration, if your lucky they’re a XML or something. Do a search and you’ll find where expression maps are stored.

Hey DanMcL,
Thanks for the reply, I know the Dorico team is exceptionally busy, so fingers crossed that they can get to some sort of solution soon. I actually have Expression maps made out for all of my VIs that match my DAW key switches so that isn’t the issue. The issue, as I think you may have misread what I wrote, is that I still have the MIDI key switches as notes on import into Dorico, and getting rid of them, or translating them to the correct articulation efficiently is what I was hoping there was a solution for that I just hadn’t found. But it sounds like this isn’t something that is solved yet? What about deleting a certain range of notes across all instruments. It would be nice at the very least to filter and delete C-2 to A-1 or so in one fell swoop so I can delete the keyswitches more easily rather than having to individually select them and delete them that way.

This functionality is already there.
Select all, filter notes by pitch (Edit>Filter>Notes by pitch) and delete.

I don’t use PT, but run into the same thing with my DAW.

My approach is where possible, to keep key-switches in a track of their own over in my DAW. Obviously I still attach the key-switch track to the same plugin/channel as the track with the ‘music’ on it, so it works. When I export the MIDI file, I just don’t include the track with the key-switches.

Of course there are projects long done already, and key-switches are already in the track. In that case I use my DAW features to either delete the key-switches, or move them off on a track of their own real quickly before exporting.

In Cubase it’s really simple. Make new track, use a DAW logic editor move/remove/mute/whatever all the notes living in the key-switch range. I’d imagine PT has similar features.

1 Like


I think if you export as MIDI type I, and your key-switches are living on a unique track and included in the export, Dorico will pull them on a staff of their own.

This can lead to some interesting possibilities. Of course you get an ugly extra staff showing up in write mode, but there are ways to hide that stuff over in the Engrave mode.

This could come in handy if you’re in a hurry and don’t have time to mess with expression maps and stuff!

Over in your DAW:

  1. Quantize the arrangement so it’s close to grid perfect.

  2. Extract Key Switches to dedicated tracks.

  3. Export as MIDI Type 1, including the tracks with key-switches on them.

  4. Bring into Dorico.

  5. In Dorcio’s Play tab, reproduce the same VSTi plugin-structure you had in your DAW, connect the stave end-points accordingly. Yes, you can divert different staves into the same plugin/channel, so no problem that your key-switches are on their own separate stave.

  6. Choose from the generic expression maps included in Dorcio that best suit the plugin/library/instrument (default, mod wheel, or expression volume expression maps).

While I haven’t really tried this approach yet…in theory, it seems like it’d work if your plugins and instruments match what you were doing in the DAW 1:1 in terms of key-switches working.

If something needs adjustment, go to that ‘ugly extra staff’ loaded with extremely low notes, and change them to trigger whatever key-switches you need.

As time allows, you could start to build up a proper expression map, and delete the notes/switches on that ‘ugly extra stave’ on an as need basis, until eventually, you can get rid of the entire stave!

Back in my Sibelius days, I remember using percussion staves (that I’d usually hide for printing, or when in the way) to get a handle on complicated organ plugins. I’d assign key-switches, CC events, and other things to different percussion symbols and stave positions that I could point to the respective plugin(s) and just drop complete rank changes and stuff onto that percussion stave.

Because percussion staves have features that allow control over exactly what line/space, and note-head shape, etc…plus the ability to work with multiple plugins from the same stave (near unlimited ‘voices’), it was a lot more organized and way less messy to look at than scads of notes with a 27 added lines under a treble clef stave. It gave me more ‘impromptu’ access to a plugin/instrument’s key-switches and such (or array of independent plugins) than messing with soundworld/expression maps, and was a little more elegant than using all those ~midi:commands.

I see no reason that similar tactics can’t be used in Dorico.