# Instrument Divisi Script



## ScoringFilm

*This script is no longer being developed. The multiscript version, still in development, is here.*


----------



## DynamicK

Thanks Justin once again for this update to your previous release...appreciated.


----------



## damstraversaz

thanks for the update ! I will try it as soon as possible.the first version was very useful.
Damien


----------



## ThomasL

Thank you!

Hhmmm, now it seems I've got a good reason to upgrade K4 to K5 and try this on Cinematic Strings


----------



## ScoringFilm

ThomasL @ 9/3/2012 said:


> ...upgrade K4 to K5 and try this on Cinematic Strings



These scripts will work with K4 - I don't know about CS.

Justin


----------



## lee

ScoringFilm @ Fri Mar 09 said:


> These scripts will work with K4 - I don't know about CS.
> 
> Justin



Great!

Thanks for making this available.  Really generous of you!

/Johnny


----------



## Mike Greene

This is very generous of you, Justin. Thank you! 8)


----------



## xoandxo

i use on K5,looks work very good
thank you ,man


----------



## EvilGrandmother

Wow thank you. Trying it out right now!!


----------



## DuaneT

Thanks Justin, 

I will try these out this weekend.


----------



## ScoringFilm

You're welcome!


----------



## tfishbein82

ScoringFilm @ Mon Apr 09 said:


> After 55 downloads; some feedback would be much appreciated :wink:


I haven't downloaded yet, but I will give you feedback once I do. I wrote myself a divisi script awhile ago, and it worked really well when I played sustains that moved synchronously. I expect yours will be much more flexible.

Thanks!


----------



## snattack

Nice script! Is there any way to make kontakt send midi-out so it can be used with Play or other software? So I'd just use kontakt as a "midi-bridge".

Best,
A


----------



## ScoringFilm

snattack @ 9/4/2012 said:


> Is there any way to make kontakt send midi-out so it can be used with Play or other software? So I'd just use kontakt as a "midi-bridge".



The answer is, possibly, maybe!

I would think this method would work with the multiscript, but in all honesty; I don't know!

Justin


----------



## Ozymandias

There's a function to send MIDI to "the outside world" under Options>Engine.

If your DAW has an input FX/VST chain of some description where you can put your MIDI-sending Kontakt instance, this is probably the easiest way of going about recording and/or re-directing script-generated notes (Reaper has this, but I'm not sure about other DAWs). 

The only problem I've encountered is getting multiscript-generated data out of Kontakt. This doesn't seem to work for me, but to be honest I haven't tested it out very thoroughly.


----------



## Apolo

Thanks so much for spending the time on this and sharing it with us all.

Your script works beautifully on instruments with little/no other scripts. I tested it on an old VSL library and it worked great. 

I'm having trouble with it on several other libraries though. I hear no notes playing and at the bottom of Kontakt (V5) I noticed it flashes the message 
"*** Too many notes held! ***"

It does this for the whole playing range of the instrument, with or without legato scripts running, with only a single note press or multiple keys.

I'm using the Divisi KSP script

I've tried adjusting all the settings to no avail. Changing part numbers from 1-4, various modes Divisi, Poly etc, Maximum parts (1-4). All with the same result. 

Any ideas what might be causing this?

Thanks


----------



## ScoringFilm

@Apolo,

Huge apologies; I have only just seen this reply.

The script will only allow 10 consecutive notes at any one time (aimed at all fingers, both hands!).

If you have another script in operation (i.e. legato) that is generating other notes then this script will soon max out. You should place this script before any others e.g. if a script is already in slot one, save it and re-load it into slot two; then place the divisi script into slot one.

Justin


----------



## Apolo

ScoringFilm @ Fri Sep 21 said:


> @Apolo,
> 
> Huge apologies; I have only just seen this reply.
> 
> The script will only allow 10 consecutive notes at any one time (aimed at all fingers, both hands!).
> 
> If you have another script in operation (i.e. legato) that is generating other notes then this script will soon max out. You should place this script before any others e.g. if a script is already in slot one, save it and re-load it into slot two; then place the divisi script into slot one.
> 
> Justin



Thanks very much Justin.
I tried your suggestion and it works now - I am so pleased with it!

Earlier you were asking for suggestions...
The only thing I can think of as a suggestion is to add a feature I have seen in 2 other scripts which add an "ensemble" effect to a single sample. 
http://nilsliberg.se/ksp/scripts/scripts.html (see Part Maker)

It works surprisingly convincingly. If you aren't aware of it, Part Maker basically takes the note you are playing and pitch-shifts a nearby sample (user-editable either up or down) to the same pitch as the trigger note. The upshot is you can get a decent layered ensemble sound, even from a solo instrument.
But it has limits when trying to combine it with a divisi script. It is either always on, or always off, which is a huge waste of computer resources
So......

If this feature was utilised with a conditional instruction, specifically when the divisi script receives fewer notes than the set number of maximum parts; then the pitch-shift effect kicks in. 

eg
If you had 4 instances of 1 instrument loaded, using your 4 part divisi script and a conditional pitch-shift effect: 
(In brackets means actual sample note which is pitch-shifted)

4 notes: *A, B, C, D* 
3 notes: *A, B, C, C*(c#)
2 notes: *A, A*(a#), *B, B*(c) 
1 note: *A, A*(a#), *A*(b), *A*(c) 

Of course this might get too tricky trying to pair your script with this effect. But I thought I'd suggest it anyway.

Thanks again


----------



## ScoringFilm

Apolo @ 29/9/2012 said:


> The only thing I can think of as a suggestion is to add a feature I have seen in 2 other scripts which add an "ensemble" effect to a single sample.
> http://nilsliberg.se/ksp/scripts/scripts.html (see Part Maker)



@Apolo,

Ironically Nils actually made that script for me way back when I no idea about scripting!

You can just place it after each divisi script and it will work just fine, however it might not get on very well if you have other scripts generating legato etc.

Justin


----------



## lee

Justin, I think Apolo meant the conditional approach instead of the ensemble effect always on:



> If this feature was utilised with a conditional instruction, specifically when the divisi script receives fewer notes than the set number of maximum parts; then the pitch-shift effect kicks in.
> 
> eg
> If you had 4 instances of 1 instrument loaded, using your 4 part divisi script and a conditional pitch-shift effect:
> (In brackets means actual sample note which is pitch-shifted)
> 
> 4 notes: A, B, C, D
> 3 notes: A, B, C, C(c#)
> 2 notes: A, A(a#), B, B(c)
> 1 note: A, A(a#), A(b), A(c)


----------



## ScoringFilm

OK, I'll have a look at it when I get chance.

Justin


----------



## gwillimw

Hi Justin - thanks for posting this script! I use Apple's Mainstage to control wind/brass instruments in live theatre productions, and I've been using WIVI almost exclusively because of the divisi programming. This script may become VERY helpful to me.

I've re-programmed a few Kontakt factory instruments (solo trumpet, sax, etc.) using Big Bob's instructions to allow for velocity control via the modwheel. Also, I've loaded up a new NI Session Strings instruments, which have velocity control via CC11. I'm finding that once the divisi script is enabled, none of the instruments respond to modwheel or expression data. I've tried sending the CC1 and CC11 data to specific MIDI channels (as well as 'Any' as per Logic, which I assume sends to all channels), but it doesn't seem to work. Any thoughts on this? I'm certainly not an expert with Kontakt, so perhaps I'm missing something gapingly obvious... ~o) 

Thanks
Wayne


----------



## ScoringFilm

Hi Wayne,

The latest version has fixed this issue (midi CC thru is now enabled).

Regards,

Justin


----------



## ScoringFilm

Updated a couple of minor errors - new scripts attached at the top.

Justin


----------



## xoandxo

hi,justin,i'm personal user,how can i get the Max Parts nkp?


----------



## DynamicK

Thanks for the updates Justin


----------



## ScoringFilm

*@xoandxo*

I'm not sure what you mean; you must be logged in to see/download the attachments and Max Parts is a setting in the scripts, which should be put in the following folders:

*Windows 7 onwards:* C:/Users/%username%/Documents/Native Instruments/Kontakt ***/Presets/Scripts (or Multiscripts)
*Win XP:* C:/Documents And Settings/%username%/My Documents/Native Instruments/Kontakt ***/Presets/Scripts (or Multiscripts)
*Mac:* StartVolume/Users/%username%/Documents/Native Instruments/Kontakt ***/Presets/Scripts (or Multiscripts)

*** = Kontakt version (4 or 5)

*@DynamicK*

You're welcome!

Justin


----------



## molemac

Hi,

Thnaks for this script , its exactly what I need ( using it with Berlin strings non legato patches )but I am having real problems with notes either dropping out or sticking . I have to reset Kontakt 5 every minute or so by hitting the exclamation mark. I dont have any other scripts loaded.
Any thoughts welcome


----------



## ScoringFilm

You must ensure that this script is placed in front of all others. Simply save factory lib scripts and open them in a script slots 2-5.
J


----------



## emid

Thanks a bunch SF. I will try it out soon. All responses seem promising. So again thanks.


----------



## molemac

Thanks for the response . I dont have any other scripts loaded only the ones built in to Berlin strings . Can you please explain exactly what you mean by Simply save factory lib scripts and open them in a script slots 2-5. DO you mean assuming I have some loaded in slot 1 ? the only thing loaded is the Divisi script. Thanks


----------



## ScoringFilm

If there are scripts in Berlin Strings then you have scripts loaded.


----------



## Peter Alexander

Berlin Strings has been having initial issues with some sticking notes which will be fixed in the first update after NAMM.


----------



## emid

My impression: Works perfectly well on latest kontakt version. I found no problem running and using it. Thanks again SF for the share. Very nice of you.


----------



## molemac

Thanks again . I just want to be clear about how to set this up and make sure I have got it right as I am new to using scripts . Forgive me if this sounds too basic. I have loaded the divisi script into slot 1 and loaded 4 seperate sections on different midi chanels . Then I clicked on the Kontakt wrench icon of each instrument and cliked the script editor . I then hit preset save , deleted the preset and loaded it into the next available slot. I did this for all 4 instruments. Is this what you meant ? or are the presets for each instrument supposed to be in the main script slots after the divisi one in slot 1 ( see attached pic which shows the divisi script in slot one and the others empty ) Thanks for your patience


----------



## ScoringFilm

@molemac,

I was under the impression that you were using the instrument level KSP divisi script; hence the reason I was suggesting factory scripts to be placed in slots 2-5.

You have set everything up correctly for the multiscript, however I would say that your legato overlap time is excessive and may cause stuck notes. You shouldn't really need any more than 1-2ms.

If this doesn't work try the instrument level scripts (one for each instrument in script slot 1) and obviously remove the multiscript.

Hope this helps; with almost 300 downloads no-one else has reported this issue so I can only assume it is Berlin strings.

J


----------



## molemac

Great stuff , used the Ksp as suggested and all is perfect , Thanks so much


----------



## saxmand

wooow. Really beautiful script Justin. So complete with functions. I'm amazed and happy that you are sharing this with us. BUT =o for you!!!

A small thing that took me quite some time to figure out. I don't know if others have found and shared the trick... 
But if you want to use the Multi divisi script together with Kontakts MIDI to the outside world just add an transpose script (or any other) that are not changing the note in all the separate instrument instances. Now Kontakt will send multi channels out. What's great is that you get the different tones from the divisi script on seperate channels into what ever DAW you are using. I'm very excited about this for orchestra writing. More on this later!

Once again, thanks Justin, keep it up o=?


----------



## ScoringFilm

@saxmand

You're welcome; as a matter of interest I am giving these scripts a complete overhall at the moment to add conditional re-tuning (for using multiple instances of the same instrument) and re-trigger on release. This is taking quite some time as you can imagine it is not simple!

Regards,

Justin


----------



## saxmand

COOL! 
I've experiencing a few hanging notes sometimes, but I need a bit more time to figure out the tendency...

No, it's not simple indeed. I've been struggling a lot with the MIDI scripts for Logic, also trying to make a divisi script. But it's not a very good script API and it's taken way to much CPU for what it's doing. 

Actually I have two suggestions you could consider: 
1) Right now when you strike a full chord, the notes are divided from bottom (P1) to top(P4) note. It could be nice to able to turn that around. Let's say we are playing a woodwind quartet in part mode. If you only play one note, it'll be played by the bassoon (P1). Cause when all 4 notes are played, P4 will be the highest note(flute). 
2) Also when you play 2 voices in "4 part harmony" they players will play in fork position: P1+P3 = bottom voice, P2+P4 = top voice. It would be nice to have them, P1+P2 and P3+P4...

Well, for now I'm looking forward to develop some templates and work routines with you script and see were it's taking me  It's very promising.


----------



## enricofabiocortese

Very interesting and useful script but t i cannot use this script. i have put in the same folder of other multiscripts and when i go to choose it from the menu the slot remains empty. No interface to edit. What am i doing of wrong?


----------



## ScoringFilm

@enricofabiocortese

Are you sure you put the multiscript version in the right folder and are not using the instrument level KSP script (there are two different versions)

@saxmand

Just swap the parts round and you can achieve what you want.

J


----------



## enricofabiocortese

thanks for the help.

Maybe i am doing something of wrong but i can t realize it. i have only put the Divisi Multiscript in the same folder where i have other kind of scripts. I have taken a screen picture. There is some instructions text somewhere?


----------



## ScoringFilm

I have just tested it and there is no problem here. Can you do a screen shot for me?

J


----------



## enricofabiocortese

I attached a screen shot to show where i have installed the script. But i continue to see nothing when i load it in the multiscript section.


----------



## ScoringFilm

@enricofabiocortese

I realise that it is installed in the correct directory; I meant a screen shot of Kontakt showing the issue!

J


----------



## enricofabiocortese

AH sorry... i didnt get it...anyway i send you 3 screen shots in succession. After clicking the script nothing happens. I tought maybe i have downloaded a wrong file ? Thanks for the help


----------



## ScoringFilm

You seem to have an extra sub folder that should not be there. Try the attached K5 Kontakt Multi to see if this works.

J


----------



## enricofabiocortese

thanks for the support. I opened your file. The extension is nkm . a multis? As i go to load it kontakt says me the script was created with a newer version. I have kontakt 5.2.

thanks


----------



## ScoringFilm

Here's a K4 multi


----------



## enricofabiocortese

now yes! it s working, Thanks


----------



## molemac

Just wondering how you were getting on with the new script and if there was any chance of making it work with more than 4 notes , sometimes when I hold down more than 4 nothing plays . Is there a work round that ? thanks


----------



## Ah_dziz

This thing is great. The only thing I really wish it had is a midi switchable on/ off with an option to still pass input data to all four output channels without the divisi or to only pass input data to the input channel. Also having out of range notes passed to all four output channels could be extremely useful for keyswitching. (I'm only referring to the multiscript here)

Great work and thank you for sharing it with the world!

JJ


----------



## ScoringFilm

After quite a few PMs I'll have another look at this project. No time-scale promised though as life is very busy at the moment!

J


----------



## vicontrolu

YAY! Thanks justin


----------



## Phryq

Hi guys. I'm trying this but having a hard time figuring it out. What are
Block OOR
Low
High
Leg Overlap
Chord etc.

Maybe there's a newer divisi script? My main problem is that notes are dropping with this script. I wish I could simply have 

Highest note played by ch. 1
Second highest by ch. 2

etc.

Thanks!


----------



## ScoringFilm

As per the first post: if you press the 'i' button and hover over each control there is an explanation of the controls:

Low & High are to set the instrument range so you can block or allow Out Of Range Key Switches (OOR). Leg Overlap is the amount of overlap when you play legato notes. Chord is the time in which you want the script to collect the chord notes and split. If you just want it to simply split to channel 1,2,3 etc use Part Mode.

J


----------



## patrick76

Hello ScoringFilm, sorry to go off topic, but I noticed on scoringfilm.net the soundcloud links on your main page are not working for me. I also checked the site on my phone and they were not working either so I assume there is some sort of issue. On my computer I am using chrome and have had no problem listening to the content in the past. I also checked other webpages with soundcloud stuff and did not have any problems. Just wanted to let you know. Thanks for the site, it is fantastic!


----------



## ScoringFilm

Thanks for pointing this out Patrick; it seems like Wordpress have changed their code again. This is the third time I have had to re-post all the Soundcloud links!


----------



## vicontrolu

+1 for opensourcing it

I have no ksp skills but if there is some beta testing count me in!


----------



## mickeyl

Any update here? The script linked in the first post performs erradic for me-- perhaps I'm using it wrong... Does it work for eveyone in k5 5.5.x?


----------



## ScoringFilm

Mickey, I have had a completely new version in the pipeline for quite some time, however there are not enough hours in the day! Soon I hope!

J


----------



## mickeyl

Excellent! Will be waiting patiently


----------



## ScoringFilm

As an update; I am considering posting this as semi 'open source' otherwise I just won't get it finished! Any ideas on the best place to share this, where I can monitor who is allowed access to it?

J


----------



## mickeyl

hmm, i would prefer github.com, but if you insist on access control you could just put it behind a .htaccess auth and tell everyone who's interested the password on (mail) request.


----------



## Levitanus

my little universal divisi script. Made for LASS when i was starting to scripting.
https://www.dropbox.com/s/yf4vr88t58nncol/Divisi.rar?dl=0

On LASS example: A B & C groups placed on 1, 2 and 3 channels respectively. in multi-script values for 2 & 3 channels must be 1 (childs of 1 channel). All thee groups will be played from the 1st channel, when 2 or 3 channel has midi-notes section related to this channel playing legato to this note, after the last note-off message from this channel note releases, or, if sustain pressed, next note on the 1st channel will provide legato to the 1st channel part.


----------



## ScoringFilm

Scripts updated - see opening post.


----------



## Batrawi

Many thanks for sharing this @ScoringFilm .
Very generous of you!

Works very well with Cinematic Studio Strings since their legato patches are monophonic.

Not very well with spitfire Chamber strings though specially when holding the sustain pedal. The notes will be added and not split.

I know this is how the library itself is programmed, but do you know a workaround for this?


----------



## ScoringFilm

My script should have no effect on the sus pedal; whatever function the pedal is performing can you not replace this with a Keyswitch or CC?

Are you using the multi or instrument level script?


----------



## Batrawi

Am using the divisi multiscript.

Am using the pedal to simply hold the notes as usual. Cant assign to KS or CC since I actually need my both hands to play.

I know it's not about your script. There should be some option in kontakt that forces the instrument to be monophonic I assume


----------



## ScoringFilm

First post updated with new multi version; added a midi thru button and fixed a couple of issues with channel assignments.


----------



## ScoringFilm

v6.02 updated in 1st post - fixed an issue with Keyswitches across channels.


----------



## newwest

Thank you so much for this script! I'm running the latest Kontakt 5.6.8 and it seems to want it in Library/App Support/N.I./Kontakt/presets/scripts. Then I get the JM Divisi showing up at the instrument level.

1) I more or less get it working, but it sustains the bottom note indefinitely.
2) Is it possible to get the script to show up at the top of the Kontakt instance and designate it by channel?

Thanks again for this! Do you have a donation page?


----------



## ScoringFilm

newwest, I have given up on developing the instrument level script due to the inconsistencies within KSP at the note and release callback level (NCB, RCB etc). It has not been tested with 5.6.8.

The multiscript (in another thread) will continue to be developed (when time allows!).

J


----------



## newwest

Thanks for this - I'll continue to watch!


----------



## scorefrog

Thanks for your script. I don't know how it works in the meanthime yet, as I had a long time not composing stuff but soon will see. Anyway this script helped me incredibly being one of my most important tools by far! And especially with Sample Modeling Brass!


----------



## BachN4th

On a related topic, I hope you don't mind me asking here - figured it was better than starting a new thread. I'm looking for something similar to this, but somewhere in the midi chain before going to VEP and Kontakt. I'm basically creating a full choir from soloists, so for now each instance of kontakt has 3 solo singers (ensemble made with the transpose +2 and -2 trick), with 8 kontakt instances (so each can have it's own Virtual Sound Stage position). 

So:

Voice 1 goes to VEP 1, Channels 1, 2 and 3
Voice 2 goes to VEP 2, Channels 1, 2 and 3
etc etc

Anyone know of a way to achieve this with live playing through Cubase?


----------



## ScoringFilm

Apologies; I have no experience of VEP or facilitating this outside of Kontakt. I have also stopped development of this (instrument level) script and am only continuing with the multiscript.

J


----------

