Channel Switching and Kontakt Tutorial

Does anyone know of a tutorial that shows how to set up VSTs on multiple channels in Kontakt and how to switch between them in the expression map? Thanks.

I’m not sure this has been covered specifically in a tutorial, but hopefully it’s not too difficult to get going.

I believe there are two ways to approach setting this up in Kontakt, either simply using the regular 16 slots and assigning each one to respond to input on a specific MIDI channel, or to use Kontakt’s banks feature to create up to 127 slots that can be addressed by program and channel changes together.

Let’s assume you’re going to use the simpler approach of just loading sounds into each slot in an instance of Kontakt. We recommend you use the multi-output version of Kontakt, and assign each slot to a separate output, so that slot 1 returns on output channel 1 and slot 16 returns on output channel 16. This allows you to most easily balance the sounds using Dorico’s Mixer.

This page describes how to change the MIDI channel to be used for each slot in Kontakt’s UI as you load your sounds.

Let’s imagine that you have loaded four related sounds into the first four slots in a Kontakt instance and want to switch between them – perhaps it’s a solo violin instrument with legato in slot 1, pizzicato in slot 2, unmeasured tremolo in slot 3, and col legno in slot 4. In Kontakt you’ve loaded these sounds, and set slot 1 to receive MIDI input on channel 1 and return audio on output 1, slot 2 to receive channel 2 and return output 2, and so on.

You need a single expression map that addresses these four slots using four channels. Create a new expression map in Library > Expression Maps and select the default Natural switch that is pre-populated for you. In the Actions list on the right-hand side, click the Abs. Ch. button to add an absolute channel change to channel 1. Next, add a new switch for the Pizzicato playback technique. In the Actions list on the right-hand side, again click Abs. Ch. to create an absolute channel change to channel 2. Repeat for Tremolo with an absolute channel change to channel 3, and for Col legno with channel 4.

In Play mode, in the VST and MIDI panel, click the cog button in the card for the instance of Kontakt where you’ve loaded these patches to open the Endpoint Setup dialog. Choose your new expression map for channels 1 through 4, so that Dorico knows what sounds are provided by those channels.

Finally, switch to the Track Inspector panel in Play mode, and on the right-hand side select the track corresponding to the violin instrument you want to be played back by this set of patches. In the Routing section, choose the Kontakt instance, and choose channel 1.

That should do it. I hope it will take you a lot less time to do than it has taken me to type this out!


Thank you, Daniel! I will give this a try in the next couple of days when time permits. I have already attempted this while hosting in VEPro and somehow failed miserably. Perhaps it had something to do with using multiple outputs.

I want to take the opportunity to once again implore you to make some tutorial videos about making expression maps and using Dorico with Kontakt, Sine, and the Spitfire player as well as VEPro. I have learned the hard way that you really can’t host this stuff in Dorico without bringing it to a crawl if the project has any size. A few well-thought-out videos from Anthony Hughes would eliminate the necessity to write a lengthy email like this again.

Thanks for your help!

Yes, we do plan to produce further materials to help people get these kinds of libraries set up. It’s simply a matter of time and priority, but we will definitely get to it.


Hi Daniel,

I got this working fairly well with Pacific Strings. However, I feel like Dorico is messing with the trills and the tremolos. Does it try to execute these articulations when I use a tr~ marking or a triple slash?

Edit: It is switching to the correct channel.

You can specify in Playback Options whether Dorico should generate notes for trills, or whether it should rely on a sample. You also need to make sure that you have switches defined in your expression map for half-step and whole-step trills.

For tremolos, likewise you need to specify in Playback Options how many tremolo beams should trigger an unmeasured tremolo, and make sure that you have a tremolo switch defined in your expression map.

Thanks, Daniel. This partially worked. I couldn’t ever make the tremolo work, however. After I changed the tremolo to only respond with 4 slashes so that it would never engage–since I would never use more than three slashes–it would no longer channel switch. Not sure why. I am probably missing something. I got around it by simply creating a new Playing Technique and not assigning slashes to the note(s).

If you want to attach a minimal project that includes your expression map and a non-functional tremolo, I can try to troubleshoot it for you.

Hmmm. . . . I have already changed the template, but maybe I can put it back this weekend as I would be geniunely curious to know how to do this. It would be handy to be able to use the slashes.