Scriptorium : Multiscripts & Key Split

By Dan Powell  |  14.12.2013

This is the first post in our KSP series that involves a Multi script, so I thought I’d take the time here to explain briefly what a Multi script is and how it’s different from the Instrument scripts we’ve been dealing with so far.

The main, perhaps obvious, difference is that Multi scripts are loaded and saved with a Multi, whereas Instrument scripts are loaded and saved within an Instrument.   But this also means that they are able to do and access slightly different things.   An Instrument script has access to the synthesis engine within the Instrument itself, you can adjust filters and so on.   A Multi has none of that, because it lives on a higher level of the structure.   It doesn’t really “know” what Instruments are within it, and is only able to adjust incoming MIDI data itself.

  But this is useful for some functions that are not so convenient to do within an Instrument.

It’s very important to remember that you cannot use a Multi script as an Instrument script, nor vice versa.   They will each only work if in their proper location.  Multi scripts have the same extension as Instrument scripts (.NKP) which sometimes adds to the confusion, so be sure you know what type of script you’re dealing with before you try to install it.

Multi scripts also need to be in a different directory than Instrument scripts, they live here:

/ Documents / Native Instruments / Kontakt 4 / presets / multiscripts /

Once you’ve downloaded a new Multiscript from somewhere, drop it into that folder and re-start Kontakt.    You then need to open the Multiscript window by clicking on the little “paper scroll” icon at the top right of the Kontakt window.

Then using the Preset menu on the far left, you can then choose Presets from the “user” submenu, which will list everything you’ve put in your “multiscripts” folder.

KEYBOARD SPLIT

We’ve had several emails requesting this function, so here’s our version of a handy Multi script.

Sometimes it’s convenient to have one sound on the upper part of your keyboard and a completely different sound on the lower part.   Live players often need this kind of feature, and many controller keyboards have this functionality built in.    If you don’t have a controller keyboard that can do it, it can be a bit tedious to edit all your Instruments to the range you want, and also to transpose them how you need, etc.

Multi scripting is ideal for this kind of job.   All the script does is check the incoming note, if it’s above the split point it’s routed to one MIDI channel, if it’s below the split point it’s routed to another.  This means you can have two Instruments loaded in Kontakt, on different MIDI channels, and arrange these as you like on the keyboard.

Keyboard_Split_Grab

You’ll notice in the screen grab that you can adjust the split point (default middle C).  You can also shift the octave of the upper and lower sections of the keyboard, which is handy for getting each sound in the desired range.  I’ve layered a Broken Wurli lead type sound with a Novachord Pad in the above example, and for my purposes I wanted to play the Novachord an octave up from my left hand’s input, so I set the left knob to +1.

Controllers (Mod Wheel, Aftertouch, Pitch Bend, etc) are by definition “channel wide”, so you can’t route these based on an input pitch.   The last menu on the right allows you to choose one of three options for the controllers.  They can be routed to the Upper or Lower Instrument, or both.

If you save a multi, the settings of this script will be saved with the multi.   But remember that this script is not saved with the Instruments included in the multi at all.

I’ve left this script unlocked, so curious users can have a look at how it works, and edit it if they like.   It’s conceivable, for example, to edit this script so that each individual note could be set to any output note and MIDI channel, thus allowing you to build large Multi drum kits from many Kontakt Instruments.    I may do that in a future example.

DOWNLOAD THE SCRIPT