# Multi Divisi Script v6.5



## ScoringFilm

*Multi Divisi Script v6.5*






This multiscript takes incoming polyphonic midi data and divides it between (up-to) six (monophonic) instruments.

v6.5 added:

Note Off Delay (NOD) can sometimes help with stuck notes in heavily scripted instruments.
User assignable CCs for various controls
Many improvements, fixes and streamlining under the hood
Since it's first inception in 2009 it has had well over 1000 downloads; I hope you don't mind too much if I now ask for a coffee in return so I can justify the development time.


----------



## DynamicK

Thanks Justin.


----------



## mickeyl

Thanks!


----------



## Silence-is-Golden

well done!

I will be trying this for sure. To be Able to SCS like LASS is a good proposition.


----------



## manuhz

Much appreciated. Thanks for your generosity!


----------



## nordicguy

Must join the group to add some many thanks to you!


----------



## tonaliszt

Thanks! Can't wait to check it out.


----------



## ScoringFilm

v6.04 uploaded in opening post; a couple more tweaks to fix display of incorrect midi channel data


----------



## Ah_dziz

It's seeming pretty great. I'm getting note one following note two here. Then it gets stuck when all notes are released. So when I play a triad the low note jumps up to the third along with the second instrument. Past that it responds as I would expect but that first fudged third remains stuck. I'll make sure I have the latest version and then run it through some monitoring and see what I can see if it's still acting odd. Good work though.


----------



## ScoringFilm

Ah-dziz; this will happen if you play more notes than parts (e.g. parts set to 3, number of notes played 4)


----------



## Ah_dziz

It happens with two notes played Unfortunately. As I said one triad with the root played an octave above only gives me three notes. Two instruments playing the third, then one on the fifth and one on the octave.


----------



## ScoringFilm

Ah_diz; I have checked this and no errors here.

All I can think is that you either have the parts set to three (i.e. it will only play three parts, no matter how many notes you play), or you are in polyleg mode and the first chord you played only has three notes, or you need to increase the chord collection time (or play tighter) or the notes you are playing are outside of the 'set range'


----------



## DanielBrunelle

Love this script, I'm trying to adapt it for the SixHorn/TwoHorn cinesamples patches. Is it possible to only activate the script if a chord is detected?

Id like to use 6 horns on Channel 1 if I'm playing a monophonic line and channel 2 for chords. I was thinking this script to do it if the "In" channel is simply muted when the chord detection happens. Like a "bypass unless chord is detected". The "Part" mode almost does this except that i would need it to exclude the 1st voice from the polyphonic routing once the script receives a chord. 

This script may be over powered something this simple. Id be very interested if theres MIDI Ch Router script that works off simple chord detection.

Thanks and apologies if this is off-topic


----------



## ScoringFilm

Daniel, I guess this is possible, however I would have to have a look when I get time!

J


----------



## DanielBrunelle

ScoringFilm said:


> Daniel, I guess this is possible, however I would have to have a look when I get time!
> 
> J



Hopefully you find the time! I think it'd be a cool little tweak


----------



## Aranael

Thanks a lot! You're very generous!


----------



## ScoringFilm

Script updated - there was an issue with midi thru/divisi on the input channel which caused hung notes.


----------



## Tombol

Thanks a lot for your great work on this script, I'll try it as soon as posible.


----------



## kro1002

thank you!!! genius!


----------



## Davidson Campos

Thanks a lot


----------



## Usernamed

Zillion dollar question: I'm trying to "send MIDI to outside world" (script "generated*" CC's and script "generated*" notes) with Cubase Pro 9/9.5 but I can't figure out _how_, hence wondering if it's currently possible? I'd LOVE to!
{*K's description of incoming CC's and notes _brilliantly_ rerouted by the Multi Divisi Script}


----------



## ScoringFilm

Usernamed said:


> Zillion dollar question: I'm trying to "send MIDI to outside world" (script "generated*" CC's and script "generated*" notes) with Cubase Pro 9/9.5 but I can't figure out _how_, hence wondering if it's currently possible? I'd LOVE to!
> {*K's description of incoming CC's and notes _brilliantly_ rerouted by the Multi Divisi Script}


I'm afraid I have no idea if this would work as I don't use Kontakt that way or indeed Cubase, sorry.


----------



## polypx

It works in Cubase, but you have to be careful. For example, if you receive MIDI from Kontakt on the same channel that's playing Kontakt, you'll get a MIDI loop. So usually best to play Kontakt on one track, set the other track to something else, and receive MIDI from Kontakt on the other track.


----------



## Usernamed

ScoringFilm, endless thanks for having created this liberating Script in the first place!

Polypx, I can't make it work despite decades of experience with Cubase :/ When you have a moment, would you mind screen capturing you setting it up? (if needed, LiceCap is a super straightforward opensource tool for s_imple animated screen captures_ populated in .gif format, available at https://www.cockos.com/licecap/ )

That would help immensely!


----------



## polypx

Here you go. You have to use MIDI tracks I think ... might not work with Instrument tracks.


----------



## Usernamed

Thanks a lot for the .gif Polypx. Unfortunately, this routing doesn't enable the user to capture an intelligible output from the Multi Divisi Script: resulting "world-outsided-MIDI-Notes" are unending and therefore unusable. I thought it was a routing issue but it's more likely a script design particularity: it wasn't designed for that purpose by ScoringFilm. Maybe v6.06, v7 or v10 will address that idea! I believe building intelligent tools is in itself a great way to compose and compensate for not having hypercalculia nor perfect pitch. Passion begets miracles.


----------



## ScoringFilm

The script *only* deals with pure midi information - it outputs across several channels.


----------



## polypx

I just checked Justin's script and it works correctly here using the two track method I GIF'd above.

I noticed that you MUST have an instrument for each midi channel in your Kontakt multi for that channel to be passed THRU to the output. Otherwise that MIDI channel is empty in the output MIDI.

But nothing I did caused the unending notes you describe.


----------



## Usernamed

The unending notes were probably due to an overly large number of midi tracks in Cubase. I started anew, and from what I just tested and screen captured, "script generated CC's" and "script generated notes" are not "sent to outside world", and when "incoming CC's" and "incoming notes" are, they are all sent to every track, not divided according to what the Multi Divisi Script does inside Kontakt. The 40Mo size (like my first HardDisk! Years fly by so fast...) of the .gif prevents attaching it to this forum but here is a permanent, free and safe download link: http://www.filehosting.org/file/details/710942/MultiDivisiScript.gif


----------



## ScoringFilm

Script updated to v6.06 in first post. Fixed an issue with KeySwitches in PolyLeg Mode.


----------



## polypx

Usernamed:
You can't use the Cubase MIDI channel select as a filter, it's a router. So you are sending all the MIDI channels from the output of Kontakt to all of those other Cubase tracks, duplicating the data several times. To sort the output of Kontakt by MIDI channel, you need to use a Local Input Transformer on each track. I've set you up a working example, in which the input channel 1 is sent to the script, and output on channels 2, 3, 4. Cubase file here:


----------



## Usernamed

Polypx, omg, thank you so much!! This is a dream come true!!


----------



## aaronventure

Notes tend to hang sometimes when playing short triads (maybe even other chords).

Sometimes after some playing the script just goes crazy and stops detecting third note. I noticed that really, really short note inputs during long chords (finger slip) can mess it up.


----------



## ScoringFilm

aaronventure said:


> Notes tend to hang sometimes when playing short triads (maybe even other chords). Sometimes after some playing the script just goes crazy and stops detecting third note. I noticed that really, really short note inputs during long chords (finger slip) can mess it up.



I know there are some issues that need my attention, however I just have not got the time to look at this at the moment. You should try adjusting the chord collection time; this might help.

Having scripted for many commercial releases I can tell you that this is perhaps THE hardest script to write - possibly the reason behind the (five year) delay of Greg's INTUITION script. The only two commercial release that come anywhere close are Cinesamples (which is not true divisi as it uses the same sample set) and LASS. Probably also the reason why there are no other alternatives to mine (especially at this price)!!

J


----------



## aaronventure

ScoringFilm said:


> I know there are some issues that need my attention, however I just have not got the time to look at this at the moment. You should try adjusting the chord collection time; this might help.
> 
> Having scripted for many commercial releases I can tell you that this is perhaps THE hardest script to write - possibly the reason behind the (five year) delay of Greg's INTUITION script. The only two commercial release that come anywhere close are Cinesamples (which is not true divisi as it uses the same sample set) and LASS. Probably also the reason why there are no other alternatives to mine (especially at this price)!!
> 
> J



It still sometimes goes off, although less often. It would be fine if I understood why, then I could work around it. 

It works fine when playing back cleaned up MIDI, it only fails during performance (non-perfect note alignment I guess). I'll use it that way. 

Also something I found out: if Re-trigger empty parts is enabled, there's a minimum note length introduced. 

As for the work, yes, I can imagine. It being free, there's no rush. Thanks!


----------



## ScoringFilm

aaronventure said:


> Also something I found out: if Re-trigger empty parts is enabled, there's a minimum note length introduced.



Retrigger will just find another playing note and keep going until, either the retrigger note stops, or a new note is introduced.


----------



## STEVE R DAVIS

Hi Scoring Film,

Thank you very much for the wonderful script. It works beautifully in most played situations but I'm finding some issues with missing notes when I quantize chords even while adding proper note overlaps and adjusting the chord/ legato ms settings in the script. If I were to commision you to work on some custom edits to the script, would you be interested in being hired for the task?


----------



## ScoringFilm

STEVE R DAVIS said:


> Hi Scoring Film,
> 
> Thank you very much for the wonderful script. It works beautifully in most played situations but I'm finding some issues with missing notes when I quantize chords even while adding proper note overlaps and adjusting the chord/ legato ms settings in the script. If I were to commision you to work on some custom edits to the script, would you be interested in being hired for the task?


Steve - PM me


----------



## STEVE R DAVIS

Thank you ScoringFilm!

I just tried to start a new conversation (PM) through VI control and it gave me an error. If you'd like to PM me or email please send to: [email protected]


----------



## Usernamed

ScoringFilm, if you have improvement ideas, would you consider defining a simple crowdfunding scenario?

A spreadsheet like:

-Once the donations reach this amount, I'll implement this option over the next X days/weeks
-Once the donations reach that amount, I'll implement that option over the next X days/weeks
...

This way all those who can afford to help with more $$$ can do so, and everybody benefits from your amazing work
(from the bedroom composer to the team who just finished scoring a Blockbuster), on your exact terms and conditions, with no refund, no pressure, no complaints, no headache, just the love of stimulating work and wonderful art!

^^


----------



## ScoringFilm

I'll happily implement any new ideas/options at no cost; the flipside being that I can't guarantee deadlines as this is a 'hobby' outside of my full time work, which at the moment is full on.

J


----------



## ScoringFilm

Added a CC11 chord compensator; this reduces CC11 values relatively to the number of chord notes played. It only works on the input channel when it is not used as part of the divisi output (thru). This is useful to avoid the volume build up from instruments like Cine Brass (thru on the input chn) when layered on top of Berlin Brass (divisi on the output channels).

First post updated.


----------



## ScoringFilm

Updated to v6.08 in first post. There was an issue with the new CC11 chord compensator.


----------



## ScoringFilm

Updated to v6.09 in the first post. Fixed a couple of issues with midi send/thru.


----------



## ScoringFilm

Updated to v6.10 in the first post. Added retrigger/refill options.

Hoping to add a new PolyLeg mode which will perform similar to the Cinesamples legato (but across several channels) and a complete re-write of the legato logic. All time permitting!

J


----------



## Orchestrator

Hi, I love your script. It makes my playback config in Sibelius much better! I am using it now for divisi legato string parts. Is it possible to delete the part of the script that sends the midi to the other parts when a monophonic line is played? Maybe this is easier then creating a feature that bypasses the script during unison lines...


----------



## ScoringFilm

Orchestrator said:


> Hi, I love your script. It makes my playback config in Sibelius much better! I am using it now for divisi legato string parts. Is it possible to delete the part of the script that sends the midi to the other parts when a monophonic line is played? Maybe this is easier then creating a feature that bypasses the script during unison lines...


Try 'Part' mode; I think that is what you are describing


----------



## Orchestrator

ScoringFilm said:


> Try 'Part' mode; I think that is what you are describing


I tried 'Part' mode but the problem with that mode is that it does not trigger the legato mode in my string patch. I think the 'note off' messages of old notes are triggered before new 'note on' messages are played. This makes the patch sound like a normal sustained patch. I am very happy to pay you if you can implement my wishes in your fantastic script.


----------



## ScoringFilm

Uploaded v6.11 in opening post

Added a button 'Fill Chord/Always' and a few minor fixes

'Fill Chord' will only activate the divisi for polyphonic lines/chords - i.e. plays only the first output channel on monophonic lines

Currently working on a complete re-write of the legato logic and adding an AutoPolyphonic mode (which works similar to the Cinesamples divisi logic, however across several channels) - no timeframe promised as this is starting to get uber-complex!!


----------



## Orchestrator

I am trying to send you a PM but it seems that I am not allowed to do that.

I was writing a message but I now read that you already incorparated one of my wishes! I will check it out soon. Thanks


----------



## Orchestrator

Hi,

The new 'Fill chord/always' option makes the 'poly-legato' mode perfect for the playback of divisi legato parts in Sibelius. Thank you very much! I still want to send you an PM. Is that possible?


----------



## ScoringFilm

Sending PMs is out of my hands - maybe only available to established members?


----------



## Anders Wall

ScoringFilm said:


> Sending PMs is out of my hands - maybe only available to established members?


I think you can change that in your profile under the privacy tab.
Best of luck,
/Anders


----------



## ScoringFilm

@WallofSound; many thanks - done!


----------



## Soundhound

I'm interested in trying this out, but have no real experience going under the hood in Kontakt. If anyone could point me to an article about how i would implement this I would be eternally grateful, which would include free coffee and/or 12 year old scotch when and where possible.


----------



## MatFluor

Soundhound said:


> I'm interested in trying this out, but have no real experience going under the hood in Kontakt. If anyone could point me to an article about how i would implement this I would be eternally grateful, which would include free coffee and/or 12 year old scotch when and where possible.



It's not that "under the hood" as it might seem. Essentially, you extract the two scripts from the scripts to your multiscript folder (see initial post, right down there are the paths), for e.g. Win 10 it's in your Users\Documents\Native Instruments\Kontakt5\presets\Multiscripts

Then you open Kontakt, click the "KSP" button near the NI logo, click "Preset -> User -> JM DivisiMulti..." and that's basically it.

Here, I made a short, crappy recording of the process 




Now, where do I get the coffee and the scotch?


----------



## Soundhound

Thank you so much! Your just the right length and amazing, non-crappy video is just what I needed. The top of the video was cut off, and I'm wondering if you could someday send another that shows what settings you have in the multiscript panel? 

For that I would add a juicy steak to the coffee and scotch. I'm in LA, so could provide that whenever you're in town. Though we're thinking about a trip to Europe sometime this year (Spain? Portuga?l), I see you're in Switzerland? Maybe I could hand deliver the goods to your chateau in St. Moritz?


----------



## MatFluor

Soundhound said:


> Thank you so much! Your just the right length and amazing, non-crappy video is just what I needed. The top of the video was cut off, and I'm wondering if you could someday send another that shows what settings you have in the multiscript panel?
> 
> For that I would add a juicy steak to the coffee and scotch. I'm in LA, so could provide that whenever you're in town. Though we're thinking about a trip to Europe sometime this year (Spain? Portuga?l), I see you're in Switzerland? Maybe I could hand deliver the goods to your chateau in St. Moritz?



If you stop by in Switzerland let me know 

The video is full, only thing not shown is the "top bar" from Kontakt with the CPU/RAM and the few Knobs - in that sense, nothing of any importance for that. If needed I would do a HD-rerecord which could be usable for the script as a whole (as in Tutorial and intro for the script so @ScoringFilm doesn't have to


----------



## Soundhound

Whoops, yes for some reason it didn't play full in Safari on OS X, all good on ios. The mysteries of the universe. 

Thanks again, if there's a knock on your door in the middle of the night it's probably me, confused by the time zone change.




MatFluor said:


> If you stop by in Switzerland let me know
> 
> The video is full, only thing not shown is the "top bar" from Kontakt with the CPU/RAM and the few Knobs - in that sense, nothing of any importance for that. If needed I would do a HD-rerecord which could be usable for the script as a whole (as in Tutorial and intro for the script so @ScoringFilm doesn't have to


----------



## ScoringFilm

Updated to v6.12 in opening post. Completely re-written the legato logic to make it more efficient, better voice leading (especially with re-trigger on release), and added an option to decide which notes to fill the empty parts with (hi/low or hi/2nd) depending on preference.

With 70 downloads of the last version, this is clearly a useful tool so I'll keep plugging away at it!

J


----------



## ScoringFilm

v6.13 - hot on the heels!

Fixed an issue with midi channels resetting themselves!

J


----------



## ScoringFilm

v6.14 uploaded in opening thread.

The new Auto PolyLeg mode is now fully working and will probably be the most useful mode for most situations. When combined with re-trigger on release; it performs similar to Cinesamples divisi (although not exactly the same), which is useful for layering (with the In Ch Thru mode) .

The completely re-written, and much more efficient, legato logic should now result in significantly less 'stuck' notes. The time taken to perform (this extremely complex) legato logic has been reduced by 5ms, which means it shouldn't miss 'note offs' as before; unless of course you randomly smash the keyboard with club fingers!

The next (and probably final) feature to add is Retrigger legato on release; although it may take a while to implement.

As this script operates across many channels, only using midi data, and potentially different sounding instruments, it is significantly more complex than an instrument level script where divisi can be 'ghosted' rather than requiring voice leading - probably the reason why this is the only script available for the job!

J


----------



## ScoringFilm

As you can tell; I've been spending some time on this in the last couple of days - no apologies that v6.15 is now in the opening thread!

I've done lots of analysis on voice leading and how to fill empty parts in terms of chord size, movement of parts and rebalancing on reduction/increase of chord notes. I've come up with what I think is the best solution so that any chord is always as equally balanced as possible and no one voice overpowers. Sometimes the filled (empty parts) will legato transition with voice leading and sometimes the chord will be rebalanced.

Quite a challenge as I had to find a one size fits all solution given it is already uber-complex. Whilst this will obviously work for a multi instrumental groups; it is primarily aimed at divisi (i.e. multiple players of the same instrument)

J


----------



## ScoringFilm

v6.16 uploaded; fixed an issue with legato voice leading in chords that reduce in size then grow again.

If/when I find some more time I will add legato re-triggering - no promises on timeframe.

J


----------



## vintagevibe

A couple of questions if you’re u don’t mind:

1) Can this be used as a score “expander”? Example: send a string arrangement that was written in a piano staff and turn it into separate string section lines that can then be, somehow, be put on separate tracks?

2) To use the midi channels 17-64 in Kontakt do I need need 4 MIDI drivers/interfaces?

Thanks!


----------



## ScoringFilm

1. It depends how the string arrangement was done (i.e. how many voices on each stave), however it should give a reasonable playback representation. You will get crossing/doubled parts though so not strictly expanded. The only way to tell is to try it!
2. Midi channels 17-64 are pseudo 'output' channels only available in Kontakt, you do not need extra drivers/interfaces. You can only use 1-16 as input. Using the pseudo channels saves using up channels 1-16 in Kontakt (i.e. you can have 5-6 instruments using one 1-16 input channel but pseudo 17-64 output channels).


----------



## ScoringFilm

v6.17 uploaded. A couple more fixes with legato voice leading in certain scenarios.

Transposition of parts and legato re-triggering to add (when I get time).


----------



## ScoringFilm

v6.18 Beta uploaded

I have added a transpose (+/- 8ve) for each part, a new set of Echo (E) channels (i.e. a second set of parts/instruments which echo/ghost the original parts), and a new Legato Retrigger function. I have also spent time making the script as (time) efficient as possible in order to avoid the dreaded hung notes.

I have tested this with many of the common commercial instruments; some never have hung notes and some always have hung notes - simply down to the efficiency of the instruments' original scripting! Not going to name and shame, however CineSamples and Orchestral Tools have few, if any, hung note issues.

There is a caveat with this version - there is now an enormous amount of midi data being generated at any one time, if you use many of the features. Depending on the instruments manufacturers scripting and indeed the latency of your system it could cause issues. To that end I have named this a beta version.

I will not be adding any more features; any updates will now just be fixes or efficiency modifications.

Enjoy,

J


----------



## ScoringFilm

After some testing/adjusting of the Beta version; v6.19 added in opening thread.

Enjoy,

J


----------



## ScoringFilm

v6.2 uploaded in opening thread


----------



## kmm08

I just downloaded and tried v6.2 of the AutoDivisi multiscript. I already asked Berlin in the past about a script for their Brass libraries. However, it never seemed to happen. After testing, I found something that I'm not sure was intentional or not with using Keyswitches. I have InChannel Thru on so I can layer a Brass instrument form say Spitfire (set to ch.1), with divided instruments form Berlin (ch.2-4). However, if I set the Allow KS option to on, and specify the playing range, it works fine when sending keyswitches to the Berlin instruments, but doesn't work at all for sending keyswitches to the Spitfire on Ch.1. The keyswitches on channel 1 only works again if you disable InCh Thru. So basically you can either layer the instruments, or send keyswitches, but not both at the same time, which is not very useful. Not sure if I'm missing something here or not. (By the way, another odd thing is that the Allow KS button points to the range which makes it appear as the range for the keyswitches themselves. However, the range actually needs to be set to the playable range, which was a bit confusing.) Otherwise, this can be a very handy tool, especially when trying to record tracks quickly for division sections. I'm not sure even why Kontakt doesn't;t come with such a script itself.


----------



## Pixelpoet1985

This script is awesome! I'm using it with Samplemodeling Brass. The only thing is that I can't play trills with this script.

Is it possible to active/deactivate a script with a CC?


----------



## reddognoyz

I get stuck notes with sm instruments but maybe I don’t have the latest.


----------



## Pixelpoet1985

I also get stuck notes, but randomly. Maybe I don't know how to set it up properly. Especially, which preset I have to use under the re-trigger option: re-fill etc.


----------



## Pixelpoet1985

Pixelpoet1985 said:


> Is it possible to active/deactivate a script with a CC?



Yes, it is. In another thread I requested the same functionality. 

EvilDragon was so kind to make it work with the multi divisi script. Here is the link for those interested: https://vi-control.net/community/threads/bypassing-multi-scripts-via-cc.73816/#post-4263448


----------



## Usernamed

When Cubase MIDI menu's Reset won't do the trick, do you know if there's any way at all to trigger Kontakt's ["!" restart button] without displaying the instance's interface and manually clicking on it with the mouse?


----------



## EvilDragon

There is no way to do that without manually clicking it on Kontakt's interface.


----------



## ScoringFilm

kmm08 said:


> By the way, another odd thing is that the Allow KS button points to the range which makes it appear as the range for the keyswitches themselves. However, the range actually needs to be set to the playable range, which was a bit confusing.)



@kmm08 Apologies for the very late reply; I have been working away!

Fixed - v6.21 uploaded. InCh Thru will now allow Out of Range (OOR) Keyswitches (KS) and I have updated the help descriptions to be a little clearer to understand.

J


----------



## ScoringFilm

A quick example of the two voice leading modes:


----------



## reddognoyz

This script is great. I do occasionally get a stuck note, and the note will continue to get restuck, sometimes even when I'm hitting other notes the offending note will sound anyway and stick. I can clear it by toggling the script on and off, any suggestions on how to avoid this?? I'm using sm brass with it, I'm not sure if that's part of the issue.


----------



## ScoringFilm

@reddognoyz
Depending on what you are doing, this script can create an awful lot of midi data at exactly the same moment; sometimes the scripting of the original instrument can cause issues. My only suggestion would be to humanise (stagger delay) the incoming/outgoing data slightly (i.e. by ms) so that things are not missed because of a backup of midi data.


----------



## reddognoyz

ScoringFilm said:


> @reddognoyz
> Depending on what you are doing, this script can create an awful lot of midi data at exactly the same moment; sometimes the scripting of the original instrument can cause issues. My only suggestion would be to humanise (stagger delay) the incoming/outgoing data slightly (i.e. by ms) so that things are not missed because of a backup of midi data.



I think that's exactly whats going on, especially with the Sample Modeling instruments that generate so much cc data all the time. Is there a way to do that within your script? I'm sure I can in my DAW if not. 
What's odd to me is it's usually a single note that becomes the issue and that clears as soon as I toggle the script. Yester day it was an E3 and it just kept triggering and sticking no matter what other notes I played. Go figure...


----------



## ScoringFilm

@reddognoyz

I have attached a midi note delay script in the OT; try it before or after the Divisi script to see if it helps.


----------



## reddognoyz

ScoringFilm said:


> @reddognoyz
> 
> I have attached a midi note delay script in the OT; try it before or after the Divisi script to see if it helps.


Thanks!! where can I find that delay script?


----------



## reddognoyz

reddognoyz said:


> Thanks!! where can I find that delay script?



Found it!!


----------



## ScoringFilm

v6.23 update in opening post. Done some more work on Voice Leading which allows you to (consistently) retain the upper or lower voice in certain scenarios. In all other situations logical Voice Leading will apply (usually the nearest voice).

At 90 downloads of v6.21 it's clearly something that people have found useful so I'll continue to develop when time allows.


----------



## Usernamed

(No hijacking of topice intended: I also happen to send (not from Kontakt) a ton of exactly simultaneous notes to a physical MIDI OUT and encounter similar issues as described above using Cubase Pro. Do you by chance know of a midi plugin that would do exactly what the Kontakt midi note delay script does? It would be sooooo very helpful!!)


----------



## ScoringFilm

I don't use Cubase so I'm afraid I can't help there!

@Usernamed What about J’s MIDI tools (freeware)


----------



## damcry

Script just installed.

Great !!!

Thanks a lot


----------



## ScoringFilm

Well almost reached 100 downloads! This bump might push it over the edge!


----------



## Lindon

ScoringFilm said:


> Well almost reached 100 downloads! This bump might push it over the edge!


To be honest I'm pretty surprised its not a LOT more than 100 - this is a very useful script.


----------



## damcry

Lindon said:


> To be honest I'm pretty surprised its not a LOT more than 100 - this is a very useful script.


+1


----------



## Dex

This script is incredible! I was thinking about writing a script like this the other day and today I saw that it's already been done. Amazing!

The only problem is that it only seems to work right for Kontakt instruments. I'm using REAPER and I tried to use it with non-Kontakt instruments by selecting "Send MIDI to outside world: Script generated CC's and notes" in Kontakt and then routing the Kontakt midi output to different tracks with different instruments on them. I can't tell for sure, but it seems like one problem is that Kontakt is sending out note on's that should be note off's.


----------



## ScoringFilm

Dex said:


> I'm using REAPER and I tried to use it with non-Kontakt instruments by selecting "Send MIDI to outside world: Script generated CC's and notes" in Kontakt and then routing the Kontakt midi output to different tracks with different instruments on them. I can't tell for sure, but it seems like one problem is that Kontakt is sending out note on's that should be note off's.



@Dex, try the midi monitor in Kontakt, before and after the instrument to see what is causing the issue. I know a couple of other users have tried the same as you (perhaps search this thread), however it is not something I do or have any experience of.

J


----------



## biomuse

Wow ScoringFilm, this is amazing. Instantly upgrades all my legato-capable libraries into divisi-capable ensembles. Occasional hung note but nothing compared to the benefits.

Start a Patreon for this thing. It's a real public service.


----------



## ScoringFilm

new version uploaded in first post of the thread.

I have done some more work on balancing the chord voices across parts (divisi or part filling) with new options, including an option to manually select which notes you want parts to play as well as the auto options - explanation in opening post.

At 162 downloads it seems to be a useful tool for people so I will keep plugging away; no promise on time scale as this is a hobby when paid work allows!

J


----------



## Baktus

Thank you very much for this amazing script!!!


----------



## AndyP

A very useful script! Thanks for that!

However, I have a, possibly, stupid or embarrassing question.

The whole thing works fine (depending on how exactly I play) within one Kontakt instance.

Now I would like to achieve the following:

I have used 3 channels in one instance, and would like to derive them into 3 different contact instances. And in such a way that only the individual notes of the respective channels can be recorded.

Somehow no signal is output from the contact instance to route it to other channels. At least I didn't find out how to do separate them.

Excuse my incompetent question!


----------



## ScoringFilm

@AndyP I have never used Kontakt in this way so won't be much help I'm afraid.
There is a setting in Kontakt - Options - Engine - Send Midi to outside world; does this need to be set to 'script generated notes'?


----------



## AndyP

ScoringFilm said:


> @AndyP I have never used Kontakt in this way so won't be much help I'm afraid.
> There is a setting in Kontakt - Options - Engine - Send Midi to outside world; does this need to be set to 'script generated notes'?


That option might be what i am looking for. I will try this, Thx!


----------



## vitocorleone123

To me, this is Jedi level stuff. I'm hoping someone could make a video of the most common use of this script. Maybe state and show the problem and then how the script solves it.  The more examples, the more bonus points in this game we call life. Or something like that! Might also encourage more people to download it.

Many thanks.


----------



## ProfoundSilence

im currently trying to figure out the cleanest way to also use this in conjunction with flexrouter and possibly cinemap


----------



## axb312

Hey guys,

Not meaning to hijack the thread but is there a script to replicate the Auto-Divisi like Strezov, Audiobro etc. do? Basically being able to split up voices within one instrument?


----------



## Ashermusic

There's no way to use it globally with Kontakt, right? You have to add the script to each instrument, correct?


----------



## ScoringFilm

axb312 said:


> Hey guys,
> 
> Not meaning to hijack the thread but is there a script to replicate the Auto-Divisi like Strezov, Audiobro etc. do? Basically being able to split up voices within one instrument?



The short answer is NO!

Originally I developed this as both a multi and instrument script (i.e. two versions). The instrument level script became unworkable for a number of reasons; not least that every sample developer sets up their instrument in a different way and most commercial instruments are locked. Hence there is now only the multiscript.

Other than the commercial in-built divisi scripts in CineSamples, Audio-Bro and now Strezov; there is no other script out there; most probably because it's hugely complex!

J


----------



## ScoringFilm

Ashermusic said:


> There's no way to use it globally with Kontakt, right? You have to add the script to each instrument, correct?



This is a multiscript which, by its very nature, is 'global'! (i.e. you do not add it to each instrument)

J


----------



## hdale

Hello. Excellent script! I was wondering if it's possible to modify it to function like this:

Let's say you have two samples. When you play the first sample, then play the second sample, it plays in legato, BUT when you press the key for the second sample, it starts at the exact time in the sample where the first sample stopped. 

Example: String arcs or swell, so you can switch between two tones in the same arc, without it having to play the whole sample from the start, and thus finishing at the same time as the first sample was played.

Do you think this is possible?


----------



## ScoringFilm

@dalebeats this is a multiscript and therefore only deals with pure midi information. What you want to do can only be done at instrument level.

J


----------



## ScoringFilm

v6.25 updated in OP

Added an anti-phasing/transpose trick for non poly-leg instruments (explained in OP)
Added saving/loading presets
Added more options to decide which notes to send to the additional parts (fill notes)
Various minor bug fixes
224 downloads of the last version proves it is something that people are finding useful and I will continue to develop it in my spare time and offer it free.

Any small donation towards encouraging development would certainly increase the current total of $0!


----------



## clisma

Thanks so much for keeping development going! I tried your multi script a couple of weeks ago for the first time, in conjunction with Sample Modeling French Horns to go from a4 to chords. Works a treat!

I'd like to donate something small but the link you provided gives me this:





Even after logging into my PayPal, the same screen appears. Just FYI.


----------



## AndyP

Same here. Session invalid or expired.


----------



## ScoringFilm

@clisma @AndyP that may account for the hefty balance of $0!

Thanks for pointing it out; try this one.


----------



## AndyP

That works. Thanks a lot for your excellent job! 👍


----------



## clisma

Done. Thanks!


----------



## ScoringFilm

Updated the OP with all my current multi script tools that I hope people find useful.


----------



## clisma

Thank you for making these available, the Scaling script might have good application over here.


----------



## ScoringFilm

A couple of the scripts updated to v1.01 in OP


----------



## Ashermusic

OK, I have snoozed on this for too long, time to give it a spin. But I guess I am missing something because I cannot get it to work. Logic's track is set to MC ALL.


----------



## ScoringFilm

@Ashermusic

Jay,

It appears that you have opened the multi which contains ALL the scripts (for ease of installation). Each one has a different function so will not play with each other very well; you need to save each script you want to keep, and then just open the Multi Divisi script on its own (or just close each of the other scripts by opening the '- Empty -' script in those slots). Everything should then work!

Regards,

J


----------



## Ashermusic

ScoringFilm said:


> @Ashermusic
> 
> Jay,
> 
> It appears that you have opened the multi which contains ALL the scripts (for ease of installation). Each one has a different function so will not play with each other very well; you need to save each script you want to keep, and then just open the Multi Divisi script on its own (or just close each of the other scripts by opening the '- Empty -' script in those slots). Everything should then work!
> 
> Regards,
> 
> J




And yet it doesn't quite if I am using legato patches rather than sustains.

When I start playing one line and then go to thirds if I strike them at the same time, I don't hear both. I have to play it a little sloppily to hear both.


And after I record, in Logic's Event List, they all show MIDI channel 1.

Maybe I am misunderstanding what the purpose of the script is?


----------



## ScoringFilm

Jay, I don't use logic so can't advise there. Have you tried this in Kontakt stand alone to check it's not a logic midi routing issue? Also 1st Violin doesn't appear to be loaded (memory = 0). I certainly havn't had anyone else report anything similar (with 220+ downloads).

Regards,

J


----------



## Ashermusic

I rebuilt it from scratch and it's the same. 

Well, maybe some Logic user who has successfully worked with it will chime in. I don't much care if it works in standalone if it doesn't in Logic.


----------



## ScoringFilm

Jay, the purpose is to split polyphonic lines on one input channel to divisi monophonic lines on multiple channels. When you move a note (i.e. overlapped legato) it will select one of the previuos notes to move (usually the nearest). If you play separated notes it will just split the chord up across the channels.

Just tried your setup here (stand alone); no issues so it must be a 'Logic' thing!


----------



## Ashermusic

I suspect that is indeed a Logic thing because it plays fine in standalone and when I load it in Vienna Ensemble Pro and connect from Logic it plays fine.

But as



you see, it all ends up on MIDI channel 1.


----------



## ScoringFilm

I suspect your monitor is displaying the midi input (in which case it will be on channel one as the script works after the notes are input); to display the script midi output open the Kontakt factory midi monitor (verbose mode) in the script slot after my Divisi script - that will tell you what is happening to the midi data after it is processed by the script.

J


----------



## Ashermusic

ScoringFilm said:


> I suspect your monitor is displaying the midi input (in which case it will be on channel one as the script works after the notes are input); to display the script midi output open the Kontakt factory midi monitor (verbose mode) in the script slot after my Divisi script - that will tell you what is happening to the midi data after it is processed by the script.
> 
> J



It doesn't really matter though, because the bottom line is that now I would have to manually reassign the MIDI channels, which is too much work. Not criticizing you or your script, which is terrific, but I know that for instance without a script, Logic will only transmit MIDI ccs to channel 1 so if you have multiple MIDI channels you are switching articulations through in a Kontakt multi you need a CC Cloner script.


----------



## ScoringFilm

Ashermusic said:


> Logic will only transmit MIDI ccs to channel 1 so if you have multiple MIDI channels you are switching articulations through in a Kontakt multi you need a CC Cloner script.



My script is designed to replicate all input midi CC & note information across to the output channels; there is no way that Logic could block that as it happens internally with the Kontakt engine. What does the Kontakt midi monitor say?


----------



## polypx

Works fine in Logic X here


----------



## Ashermusic

I play this. The Kontakt Midi Monitor shows this:






And in the Event List, I have this now.


----------



## ScoringFilm

So it's working!


----------



## Ashermusic

ScoringFilm said:


> So it's working!



Ok, then clearly I misunderstand what this is supposed to accomplish. What I would expect (and want) is that when I played the unison line, I would see those notes as MC 1 in the Event List. When I play thirds, I would expect the top notes to be MC 1 and the bottom to be MC 2 so that I can then separate them by MIDI channel into new regions and edit them. 

Personally I never want the end result to be that e.g. violin and viola share the same region anymore than in real life I want the violinist to sit on the violist's lap


----------



## polypx

The Logic recording is not the output of Kontakt, it's the input to it.


----------



## Ashermusic

polypx said:


> The Logic recording is not the output of Kontakt, it's the input to it.



So can you explain, perhaps privately, how you use this in your workflow and how you feel it helps? Bear in mind that for me, I need discrete end results.


----------



## polypx

I don't really use Logic personally because it can't record the MIDI output of a plugin. You need to use Cubase, Reaper, Live, etc... There is a workaround, but it involves running the Kontakt standalone at the same time as Logic, and routing the MIDI to and from that, which is kind of fussy.

It plays the correctly within Kontakt, so it's only if you want to record the MIDI AFTER Kontakt that you're in trouble with Logic. If you're happy with the audio from Kontakt, then you don't need the MIDI after that.


----------



## Ashermusic

polypx said:


> I don't really use Logic personally because it can't record the MIDI output of a plugin. You need to use Cubase, Reaper, Live, etc... There is a workaround, but it involves running the Kontakt standalone at the same time as Logic, and routing the MIDI to and from that, which is kind of fussy.
> 
> It plays the correctly within Kontakt, so it's only if you want to record the MIDI AFTER Kontakt that you're in trouble with Logic. If you're happy with the audio from Kontakt, then you don't need the MIDI after that.



OK, that makes sense so for a Logic user like me, not the way to go.


----------



## Dewdman42

Its also possible to use a few other tricks to get the output from midi plugins captured to LogicTracks. But they are a bit kludgy..I can elaborate in more detail of several approaches if anyone is interested. I doubt Jay would be interested in messing around with it.

One thing I have come to is that often you don't _NEED_ to capture and record that midi output to a midi track. Just record the source midi to the midi track...let the multi-script do what it does every time you play it back. Then you don't need to concern yourself with seeing the changed midi in the event list or anywhere else. If you need to edit and changed that divisi'd midi for some reason, then ok..there is a case to capture it to a midi track for further editing. But otherwise, why would you need too?

The only way I know to capture the output of any kind of midi plugin (and in this case Kontakt is serving as a midi plugin), is by routing over IAC or using MidiFXfreeze plugin. Both approaches however require the midi processing to be in the midi fx plugin slot, not in the instrument slot, where kontakt is normally sitting.

You can wrap kontakt inside an au-mfx wrapper using bluecatcat audio patchworks, ploguebidule and a few other solutions. That is one way to make kontakt essentially function as a midi plugin. Then you could divisi to other instruments other then Kontakt, and if you want...capture it to a track using the kludgy approaches I eluded to.

Can this multi-script output midi outside of kontakt by the way? If not, its a moot point.

For LogicPro, this kind of feature would probably be better handled with a Scripter javascript plugin then KSP in kontakt.

I see this multi-script as being moved useful to work with if you are using kontakt instruments and want to apply the processing to those actual sound instruments in kontakt. Then none of the above matters...the point is not really to capture the changed midi to a recorded track..it is to interpret and change on the fly the way the midi is processed inside kontakt.


----------



## clisma

One way this would be useful, of course, is to be able to notate quickly and properly. So, capture the Multi-script MIDI to separate channels and minimal edit is needed in the score editor. 

Personally, I don’t use it that way, and neither would I let it stop me from using it that way when needed, but it is a useful feature to have on deadlines when writing for actual musicians. Right now for me, its usefulness exists particularly in writing divisi/unison for 4 SM Horns.


----------



## Dewdman42

I think that new divisimate is probably doing this right?

Well anyway, if you want to capture the divisi'd midi, without using kontakt standalone as a midi processor, then the only way I know would be to use BlueCatAudio patchworks or plogueBidule, then host Kontakt inside them in a midifx plugin slot (without audio). Then there are several ways to capture the midi to logicTracks, though all a bit kludgy, but it works.

This brings up an interesting feature suggestion for NI. If Reaktor could run KSP multi scripts, then NI already provides a Reaktor midi plugin which could be used for that.


----------



## Ashermusic

Correct Dewdman, I am generally looking for ways to make workflow simpler for me to use and teach to clients who are either less tech savvy or less patient.

I might use it for notation purposes when all I want to do is get the notes in. It’s simple enough to then make them look as I want in Logic’s Score Editor.


----------



## Dewdman42

I have no idea, but I would have thought LogicPro's score editor would have some built in features to extract polyphonic parts from chords , does it not?

A scripter script would be good for that if not. But as mentioned before, you'd have to use MidiFXFreeze to bring the results back to tracks in LogicPro, it would not be THAT bad, but it definitely wouldn't be one click either.

I'm kind of surprised someone didn't figure out a way to do that in environment a long time ago, then you'd be able to record directly to multiple tracks that way. I'm not knowledgable enough about environment to know if this is even possible.


----------



## clisma

Exactly. Seems like the environment would have a way to deal with this, but I am certainly not adept to crack that nut. But I remember @Vik having a method for dealing with Splitting voices in the score editor. Just need to find it. Not that I have a lot of use for it. When I know I’m writing for live players, I tend to input parts out separately.


----------



## Vik

clisma said:


> But I remember @Vik having a method for dealing with Splitting voices in the score editor.


Thinking of the (lowermost) clip in this post maybe?





Sharing Logic tips and tricks


Someone suggested in another thread that it would be useful with more Logic tips and tricks, so here's a thread everyone can use to share are find tips. I'll start: If you want to replace only a part of a region in an easy way as possible, enable Content Punch. You can do this by clicking on...




vi-control.net


----------



## clisma

Vik said:


> Thinking of the (lowermost) clip in this post maybe?
> 
> 
> 
> 
> 
> Sharing Logic tips and tricks
> 
> 
> Someone suggested in another thread that it would be useful with more Logic tips and tricks, so here's a thread everyone can use to share are find tips. I'll start: If you want to replace only a part of a region in an easy way as possible, enable Content Punch. You can do this by clicking on...
> 
> 
> 
> 
> vi-control.net


That’s the one, thanks! Time to try it.


----------



## Dewdman42

By the way I just experimented with using the multi-script inside the au-mfx slot as I mentioned earlier and it does work..it channelizes the notes...feeds them out to the instrument. But when I tried to use the midifxfreeze plugin to capture the resulting midi splits...that tool apparently does not pay attention to channel differences, so it can't be used to do that.

Its still cool to know though that I can use a kontakt KSP script as a general purpose midi plugin in LogicPro. 

In looking at the above tip about the score editor, I guess you'd want to split the notes per voice. 






It's something. its not quite the same as what the multi-script does which is more intelligent about it. its not clear to me what the "based on score split" does, maybe that is the same?

The multi script is a bit different in that what you can do is specify a fixed number of resulting channels you want the source part to be split out too. Then its does intelligent stuff, with choices about favoring the upper or favoring the lower, etc. with the multi script, the source is ALWAYS copied to all five channels, its only a question of which notes are copied. If you only have one note in the source, its copied five times to all five channels. If you have two notes, then it alternates the two notes until all five channels are filled, etc. Its more like a true divisi. This score editor thing doesn't really do that, it just assigns midi channels to the notes, then you have to do whatever you want to do with that manually later.


----------



## Dewdman42

Here's how to experiment with the multi-script in LogicPro if you're not using a kontakt instrument....


Use either bluecataudio patchworks or ploguebidule placed in the midifx slot of the mixer channel:







In patch works add the kontakt VST:







You have to make sure bluecat is configured to forward midi out from the plugin all the way back to LogicPro as host:







In kontakt add the multi script. Make sure kontakt settings are configured to allow midi events to leave kontakt. Also note that even after doing that, the midi events won't go out of kontakt unless there is at least one instrument loaded. Just load an instrument. It won't make any sound because its in the midifx slot, but it will enable the midi out to work:











That's it. After that the multi-script will be doing what it needs to do. Any midi events coming into the track or playing back from track regions will go through the multi-script, will be channelized accordingly and feed into whatever instrument is placed in the instrument plugin slot.


----------



## clisma

Thanks for the walkthrough @Dewdman42 really cool of you. I’ll try this tomorrow and see if it’s worth adding to the workflow by saving it as a channel strip preset. I have Bidule, so it’s worth a shot.


----------



## Dewdman42

with either bidule or patchworks you can also just put it on the instrument slot and put both kontakt and whatever instruments you want to use inside there also. However, one thing I don't like about bidule is that it doesn't do automatic PDC inside. May not matter for many instruments, but for example with VePro, it would matter a lot. I'm not sure if Patchworks handles PDC automatically or not.

When you put kontakt as a midi plugin in the midifx slot, then you can use whatever instruments outside of bidule and PDC will all be handled by LogicPro as usual.

Also, if you really wanted to, you have a few options to capture the midi onto a midi track...but I didn't want to get into that now because it gets a LOT more complicated, but its possible. Bidule even has a module that can send midi directly to IAC, so you could in theory include that in your bidule setup, so the midi would be split and spit out to IAC where you can receive it back into LogicPro again and record it to tracks. However its really easy to end up with a midi feedback loop that way, which will freeze LogicPro requiring force quit. So you have to know what you are doing and get into some environment cabling, etc. to prevent the midi feedback loop...bla bla, in my view not worth the hassle unless you REALLY need to do it, then ok fine.


----------



## clisma

i’d rather keep it simple and definitely avoid feedback. At the moment I’m just curious to see if this will improve workflow for mocking up/notation, so I’ll try your walkthrough (dont think it needs PDC for that). There’s a good chance it might all be too involved anyway, but it’s worth trying out for sure, so I appreciate your guide. Maybe Jay might feel like giving it a spin as well...


----------



## Dewdman42

most instruments have zero latency and don't need to concern with PDC.. Except for VePro. 

The midi plugins also generally don't have any latency and don't have to worry about it. that's why you can isolate kontakt inside bidule and not worry about lack of PDC inside there. But if you were trying to use VePro inside there, then LogicPro would be totally unaware of latency reported from VePro. There is a way in bidule to manually and explicitly set the reported latency...but VePro actually changes the latency depending on whether its in live mode or not...so I basically don't think I would recommend ever using VePro plugin inside Bidule.

So anyway, for a lot of instruments you should not have to worry too much about PDC, but if you're using VePro plugin as your "instrument" then you do and keep it out of bidule. The kontakt multi-script can be used inside bidule because it should not be producing any latency either. (knock on wood)


----------



## ScoringFilm

Dewdman42 said:


> Can this multi-script output midi outside of kontakt by the way? If not, its a moot point.



Sending Midi to the outside world is a global Kontakt option (i.e. not per script):


----------



## Dewdman42

Yes, see my later post


----------



## ScoringFilm

Multi Divisi Script v6.26 updated in OP

added humanising velocity; by a set amount or random


----------



## Pixelpoet1985

Dewdman42 said:


> Here's how to experiment with the multi-script in LogicPro if you're not using a kontakt instrument....
> 
> 
> Use either bluecataudio patchworks or ploguebidule placed in the midifx slot of the mixer channel:
> 
> 
> 
> 
> 
> 
> 
> In patch works add the kontakt VST:
> 
> 
> 
> 
> 
> 
> 
> You have to make sure bluecat is configured to forward midi out from the plugin all the way back to LogicPro as host:
> 
> 
> 
> 
> 
> 
> 
> In kontakt add the multi script. Make sure kontakt settings are configured to allow midi events to leave kontakt. Also note that even after doing that, the midi events won't go out of kontakt unless there is at least one instrument loaded. Just load an instrument. It won't make any sound because its in the midifx slot, but it will enable the midi out to work:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> That's it. After that the multi-script will be doing what it needs to do. Any midi events coming into the track or playing back from track regions will go through the multi-script, will be channelized accordingly and feed into whatever instrument is placed in the instrument plugin slot.



Wait, does this mean I can use this with Dimension Strings/Brass? This would be awesome!

I downloaded a demo of patchworks, but there is no sound at all... Maybe because of the demo?!


----------



## Dewdman42

Yes it t can work with other instruments. I’m not sure about demo limitations of patchworks you’ll have to ask bluecataudio.


----------



## Pixelpoet1985

Thanks! The demo limitations are:

5 instances of the plug- in allowed per session.
The effect is bypassed for half a second every minute.
But it's not half a second, I can't hear anything. Maybe the routing is wrong... Have you tried it? I think you also have the dimension series? I'm not sure about the channel routing. I'm using VE Pro. 

Example: dimension violins. Each desk (à 2 players) is assigned to one channel (1–4) when using a 4-part divisi. In Logic I have a multitimbral instrument connected to VE Pro Server. Is this correct?


----------



## Dewdman42

You have to make sure to enable midi out to the host and it’s possible the demo disables midi out entirely too


----------



## Dewdman42

You can also use patchworks in the instrument slot instead of the midi slot and then inside patchworks out both kontakt and vsl instrument in series. You still have to configure the midi routing inside patchworks though it’s not entirely straightforward to figure out


----------



## Dewdman42

Pixelpoet lemme set up a dimension strings setup and I’ll send you a Logic Pro project


----------



## Paul Jelfs

Excellent - Would a similiar thing be possible with the Midi insert efx in Cubase ?


----------



## Dewdman42

no the midi inserts in cubase use a proprietary plugin format... you can do this with more complex midi routing in cubase though...you have to put it in an instrument slot. The easier way with cubase would be to host both the instrument and kontakt, in series, inside patchworks, in the instrument slot.


----------



## Dewdman42

Pixelpoet1985 said:


> Thanks! The demo limitations are:
> 
> 5 instances of the plug- in allowed per session.
> The effect is bypassed for half a second every minute.
> But it's not half a second, I can't hear anything. Maybe the routing is wrong... Have you tried it? I think you also have the dimension series? I'm not sure about the channel routing. I'm using VE Pro.
> 
> Example: dimension violins. Each desk (à 2 players) is assigned to one channel (1–4) when using a 4-part divisi. In Logic I have a multitimbral instrument connected to VE Pro Server. Is this correct?



Well, I tried this with dimension strings, and I'm getting hanging notes all over the place, so something isn't right... I haven't spent any time trying to learn how to use the multi-script itself, maybe its operator error..

In case you want to try to get it to work, If you look at my instructions above, you can see several things to make sure to do in order to get kontakt to send midi out along..


Make sure Patchworks has assigned midi out to host for kontakt. When you load kontakt into patchworks, you click on the tab in the middle above the name kontakt where it probably says 1:1, then find the midi out parameter and set it to "host" (step #3 above)


In kontakt make sure the settings have midi out checked


You also need to have at least one instrument loaded in kontakt for it to work with the midi out, the audio will be ignored in this case.


----------



## Dewdman42

You can also avoid using the AU-mfx slot entirely and setup a chain all inside Patchworks, but I'm getting hanging notes all over the place there too, somehow I think multi-script is not sending the right midi out...hanging notes and no desirable behavior at all this way..... 






after setting up the two plugins, you also have to configure the midi routing inside patchworks, click on the 1:1 above kontakt and configure the midi out like this:






Then click on the 1:2 above the VSL plugin and configure midi in, like this. Make sure to UNCHECK to get midi from host and instead get it from Port A:






Like I said though, I'm getting hanging notes all over the place, so I'm thinking multi-scripter is not sending the right midi out notes.. it may work fine for kontakt instrument setups, but perhaps has bugs related to the outgoing midi when trying to use with other instruments. Or could be operator error. I have to run now, busy day... let us know if you get any further then I did.


----------



## Dex

Dewdman42 said:


> Like I said though, I'm getting hanging notes all over the place, so I'm thinking multi-scripter is not sending the right midi out notes..



Same thing happens to me. I reported it a few months ago earlier in the thread.


----------



## renochew

Hi all, 

I am new to this script, I am wondering if it is possible to disable the fill note in case 2 players are playing in unison, at the moment, even there is only one midi note, the script still output to 2 instruments.

Thank you


----------



## ScoringFilm

renochew said:


> Hi all,
> 
> I am new to this script, I am wondering if it is possible to disable the fill note in case 2 players are playing in unison, at the moment, even there is only one midi note, the script still output to 2 instruments.
> 
> Thank you



That's the whole point of the script; i.e. true divisi


----------



## renochew

I guess you are right 

May I ask about your normal workflow? Do you load all your instrument twice and do the transpose/tuning trick? 

I think my main concern is that would mean you will always double the amount player all the time. A lot of time divisi just happen very briefly in a passage. You can have 20 measure of music, and the divisi happen at the last 5 measure. The trade-off of having a bigger sounds and having twice the instruments always playing all the time doesnt justify.

My interpretation of the use of the script is, it can detect that when you are playing one note, it is actually groups of players playing in unision, and when you start playing 2 notes, it will automatically split the extra note to another channel, I think this is still a valid way of how a true divisi script work.

Hope it make sense.

Thank you.


----------



## ScoringFilm

Updated the Multi Divisi script in the OT (script v6.27 packaged in Tools v1.03)

Other than a couple of minor tweaks/fixes; I have increased the number of parts to 6. This is mainly as a result of seeing that Infinite Brass (@aaronventure) has 6 individual horn patches. I don't own this library but hopefully it will be useful for those that do.

Stay safe,

J


----------



## ScoringFilm

Hot on the heels; Multi Divisi v6.28 (packaged in Tools v1.04)

Fixed issue with velocity on new fill notes

After a few requests (@renochew, @DanielBrunelle, @Orchestrator) I have re-added the ability to only split to multiple channels on a chord (single note stays on input channel and also, if Midi THRU is used, the first output channel ). I removed this button/feature a while back as it created issues with retrigger, so I have disabled retrigger when this is enabled.

Stay safe,

J


----------



## ScoringFilm

At almost 200 downloads of the latest version(s), I thought I'd give this a little bump in case its been missed by anyone!


----------



## vicontrolu

Its a really great script! thanks a lot! 

I was wondering if you could implement midi learn (or fixed assignment) for the "CC#Divis/Thru" button? I am trying to create a Reaper script that would take cc1 on chn1 on a given midi sequence, then create similar CC curves for the rest of the divisi channels, so that i get a slightly different dynamic performance on each intrument.

If its too much, perhaps you can point me to the code needed? 

Thanks again!!


----------



## aaronventure

vicontrolu said:


> Reaper script


Sorry for hijacking the thread here, but you mentioned Reaper so I figured I could (maybe) ease your pain.

Find CC Mapper X for Reaper (somewhere on the Reaper forum) and it'll let you both transform CC# to a different one, and freehand draw curves.

Now you have two (off the top of my head) ways of going about having it send different "curves" to different channels:

If all of your instruments are on a single channel, remap CC1 for instruments 2-X (instrument 1 remains on CC1) to another CC#. In CC Mapper X, activate additional controllers and have them take CC1 and output whatever CC# you assigned to replace CC1 on instruments 2-X. Draw curves for each one individually
If you're using a single track which then sends MIDI to all the different channels, you can instead create an empty track for each channel and send your primary track's MIDI to these tracks channel 1, drop a CC Mapper X instance on all of these additional tracks, then send the MIDI from these tracks to appropriate channels in Kontakt. Then hide them from both MCP and TCP.
One way has it all done from a single instance of CC Mapper X but you need to do remapping of controllers to control dynamics/whatever in your instruments. The other requires no remappings if you still wish to use these instruments individually through separate individual tracks.

I'll just add that (at least with the version that I have which I think is a couple of years old) CC Mapper X needs you to assign a controller/slider for a CC# that you wish to pass through. Otherwise it ignores them.

Pardon me if there's already a more elegant solution in Reaper written by someone, it's been quite some time since I had a similar problem and this was my solution back then.


----------



## ScoringFilm

vicontrolu said:


> I was wondering if you could implement midi learn (or fixed assignment) for the "CC#Divis/Thru" button?



Open the script and change the value of the second line ($gcfyz =) to whichever CC# you want.

CC value > 64 is on, < 64 is off

Regards,

J


----------



## ScoringFilm

aaronventure said:


> Sorry for hijacking the thread here


No problem @aaronventure - anything that people may find helpful is always appreciated.

Regards,

J


----------



## vicontrolu

wow thank ScoringFilm! Ultra fast response dedicated script, with my name on it!  

@aaronventure i plan to use this with your instruments! This script works nicely with them  Didnt know about CC Mapper X but what i am thinking would work without extra tracks or plugins. Lets see how far i can go. If i get to something decent i´ll share on the Infinite series thread.

Thanks again ScoringFilm!


----------



## ScoringFilm

Updated divisi script to v6.29 in OP.

Fixed an issue with transposition of notes in part 6
Added CC1 humanising (as an alternative to Velocity humanising) - a fixed amount is probably better for CC1 (to avoid bumps); fixed or random will work well with Velocity.
250 downloads of the last version proves it's useful to forum members so I will continue to develop when time allows.

J


----------



## ScoringFilm

Updated in OP to v6.30

Fixed a couple of small issues
Changed default toggle CC for 'CC#Thru/Divisi' to CC#3. (it was CC#1 which will obviously cause issues with those using mod wheel dynamics). You can change the value of the second line ($gcfyz =) to whichever CC# you want. CC value > 64 is on, < 64 is off
Added +3/-3 to transpose
J


----------



## vicontrolu

Hey J,

I am a bit confused as to how the randomization in CC1 works. 

I have setup the buttons so that "rand +/-" and "cc1" show highlighted in the UI of the script. Is that adding randomization already? If so, do we have control on how steep the randomization can be?

Cheers and thank you a lot for this wonderful addition!


----------



## ScoringFilm

The randomization is in addition to what is already present. i.e. if your mod wheel is at 100 it will add +/- the value edit amount (either a fixed amount or randomly up to that amount). With CC1 I strongly suggest a fixed amount to avoid random jumps when trying to have a smooth volume curve. Velocity is better random.


----------



## vicontrolu

Oh...there´s the column i was looking for! 

Thanks so much! Makes a lot of a difference right now!

If pure random doesnt work when using CC1 and in order to have more randomization, would it be possible to have the option of changing this fixed values on the fly, lets say every bar or so? Think of a square shape LFO modulating those values on those columns.

Maybe i have worked a bit too much with synths lately..


----------



## ScoringFilm

vicontrolu said:


> Oh...there´s the column i was looking for!
> 
> Thanks so much! Makes a lot of a difference right now!
> 
> If pure random doesnt work when using CC1 and in order to have more randomization, would it be possible to have the option of changing this fixed values on the fly, lets say every bar or so? Think of a square shape LFO modulating those values on those columns.
> 
> Maybe i have worked a bit too much with synths lately..


It is currently set to change every note (by random or fixed amount) for velocity and each time a CC value is changed for CC. I guess the above would be possible, however I don't have enough free time at the moment to implement.


----------



## vicontrolu

Oh every note? So lets say i add fix random value of +10 in chn2. And the original CC1 goes

note1 --> CC1 = 10
note2 --> CC1 = 20
note3 --> CC1 = 30

In Chn2 will i get then?

note1 --> CC1 = 20
note2 --> CC1 = 30
note3 --> CC1 = 40

I thought it was just adding +10 on every cc1 message. 

Its very nice nevertheless!


----------



## ScoringFilm

Updated to v6.31 in OP.

Added humanising for any CC# (not just CC1)


----------



## ScoringFilm

vicontrolu said:


> Oh every note? So lets say i add fix random value of +10 in chn2. And the original CC1 goes
> 
> note1 --> CC1 = 10
> note2 --> CC1 = 20
> note3 --> CC1 = 30
> 
> In Chn2 will i get then?
> 
> note1 --> CC1 = 20
> note2 --> CC1 = 30
> note3 --> CC1 = 40
> 
> I thought it was just adding +10 on every cc1 message.
> 
> Its very nice nevertheless!


Apologies; I didn't explain too well.

If its set to CC, it will +/- every time the CC value is changed (hence fixed is better than random).

If its set to velocity then every note.


----------



## ScoringFilm

Updated Divisi script to v6.32 in OP (in tools package v1.08)

Fixed an issue with loading/saving presets


----------



## HazMatGuy

ScoringFilm said:


> *Multi Divisi Script v6.32*
> 
> View attachment 42583
> 
> 
> This multiscript takes incoming polyphonic midi data and divides it between (up-to) six (monophonic) instruments. All controls are explained by showing 'Info' in Kontakt and hovering over each GUI item.
> 
> Recent updates:
> 
> Added transpose, velocity/CC humanising, fixed amount or random.
> Increased number of parts to 6
> Added 'on chord only'
> This script has been tested exhaustively on many commercial instruments. Unfortunately some of the in-built scripting in commercial products does not behave well and can cause hung notes when used with this script (due to inbuilt lag/delay). Humanising (i.e. midi delay) can help overcome this issue.
> 
> *Voice Splitter*
> 
> View attachment 41242
> 
> 
> This script takes incoming midi data and splits/repeats it across several channels dependent on the range of the instrument. Useful for sketching; instead of using Ensemble patches you can use all patches.
> 
> A number of presets for different instrument groups has been setup (brass/wind quintet, full string range, SATB choir etc)
> 
> You will need to install the knob into the pictures folder (as per below)
> 
> *Scale CC & Vel
> 
> View attachment 24880
> *
> 
> This script scales and/or compresses CC or Velocity data via the table curve on the channels selected. Very useful to get consistent volumes when using instruments from different developers (i.e. one can be scaled to perform like another).
> 
> You will need to install the fader into the pictures folder (as per below)
> 
> *Keyswitch (KS) Channel Switcher
> 
> View attachment 24904
> *
> 
> A KS channel switcher for when you have several different articulations across several channels (an alternative to bank switching). You can use the B-D output channels to reduce the number of (A) input channels used (i.e. load more instruments into one instance of Kontakt).
> 
> *Installation*
> 
> All scripts will work with Kontakt v4+.
> 
> Place the scripts in the _presets/Multiscripts_ *folder* and the knob/slider in the _pictures_ *folder* located here:
> 
> *Windows*: C:/Users/%username%/Documents/Native Instruments/Kontakt */*folder
> Mac*: StartVolume/Users/%username%/Documents/Native Instruments/Kontakt */*folder*
> 
> * = Kontakt version
> 
> I have also provided an empty K4 multi which contains all the scripts for ease of installation. You will have to then save each script individually (because they won't work together).
> 
> Almost 250 downloads of the last version proves it's useful to forum members so I will continue to develop when time allows.
> 
> Donations towards development much appreciated!


Thanks!!


----------



## yiph2

This might be a stupid question, but is the divisi script supposed to be used with the DAW transpose or the Kontakt knob tuner thing (or both)? I don't really want to use the DAW transpose as when recording it shows the "wrong" notes. Thanks!


----------



## ScoringFilm

yiph2 said:


> This might be a stupid question, but is the divisi script supposed to be used with the DAW transpose or the Kontakt knob tuner thing (or both)? I don't really want to use the DAW transpose as when recording it shows the "wrong" notes. Thanks!


There is no such thing as a stupid question, however I'm not quite sure what you mean!

You do not need to use the transpose at all, unless you are using multiple instances of the same instrument (i.e. the same sample set) and want to avoid phasing. If so nothing changes in the DAW and, for example, with 3 identical instruments you would set up Kontakt like this:






In other words the instrument tune knob is set exactly the opposite of the script. If an instrument is sample mapped in semitones then the setting is +1/-1, if sample mapped in tones then +2/-2.


----------



## yiph2

ScoringFilm said:


> There is no such thing as a stupid question, however I'm not quite sure what you mean!
> 
> You do not need to use the transpose at all, unless you are using multiple instances of the same instrument (i.e. the same samples set) and want to avoid phasing. If so you set it up like this:
> 
> View attachment 44510
> 
> 
> In other words the instrument tune knob is set exactly the opposite of the script. If an instrument is sample mapped in semitones then the setting is +1/-1, if sample mapped in tones then +2/-2.


Unless I'm using it wrong, when I use the script, the C becomes a D (as I used the +2) setting, so I have to transpose it so when I play the note C it actually plays back the C. But I see you can use the Kontakt tuning knob, so I was wondering if that was the solution (which you said it does, so thanks!)


----------



## ProfoundSilence

yiph2 said:


> Unless I'm using it wrong, when I use the script, the C becomes a D (as I used the +2) setting, so I have to transpose it so when I play the note C it actually plays back the C. But I see you can use the Kontakt tuning knob, so I was wondering if that was the solution (which you said it does, so thanks!)


you have to tune the instrument down a whole step if you transpose up a whole step. 

the script can't pitch shift your libraries, it can only send them different notes.


----------



## ScoringFilm

ScoringFilm said:


> The randomization is in addition to what is already present. i.e. if your mod wheel is at 100 it will add +/- the value edit amount (either a fixed amount or randomly up to that amount). With CC1 I strongly suggest a fixed amount to avoid random jumps when trying to have a smooth volume curve. Velocity is better random.


You can also randomise/alter CC or velocity so that each instrument is slightly different.


----------



## yiph2

ProfoundSilence said:


> you have to tune the instrument down a whole step if you transpose up a whole step.
> 
> the script can't pitch shift your libraries, it can only send them different notes.


Yea, I understand that, that's why I was asking what type of transposition to use. Thanks to both!


----------



## ScoringFilm

You can also alter/humanise the timing with the following script. It should be placed after the divisi script.

I'll include this with the next update package as it can also help overcome the dreaded hanging note syndrome. This is often caused by commercial instruments native scripting not behaving well with so much midi info fired at exactly the same time.


----------



## robgb

ScoringFilm said:


> You can also alter/humanise the timing with the following script. It should be placed after the divisi script.
> 
> I'll include this with the next update package as it can also help overcome the dreaded hanging note syndrome. This is often caused by commercial instruments native scripting not behaving well with so much midi info fired at exactly the same time.


For some reason I'm not getting the knobs on the splitter script. Where do I need to put the knobs so the script sees them? I tried the Resources/Pictures folder and also the multiscript folder, but it still doesn't see them and I have ugly Kontakt default sliders instead.


----------



## ScoringFilm

Place the scripts in the _presets/Multiscripts_ *folder* and the knob/slider in the _pictures_ *folder* located here:

*Windows*: C:/Users/%username%/Documents/Native Instruments/Kontakt */*folder
Mac*: StartVolume/Users/%username%/Documents/Native Instruments/Kontakt */*folder*


----------



## robgb

ScoringFilm said:


> Place the scripts in the _presets/Multiscripts_ *folder* and the knob/slider in the _pictures_ *folder* located here:
> 
> *Windows*: C:/Users/%username%/Documents/Native Instruments/Kontakt */*folder
> Mac*: StartVolume/Users/%username%/Documents/Native Instruments/Kontakt */*folder*


Thanks. I didn't have that folder, so had to create one. Works now.


----------



## tabulius

These scripts and especially the divisi script do wonders to Infinite Brass and woodwinds. I do get a lot of hanging notes tho when playing fast repeating shorts. Even with the JM humanizer script.


----------



## ScoringFilm

The script has been tested exhaustively on many commercial instruments. Unfortunately some of the in-built scripting in commercial products does not behave well and can cause hung notes when used with this script (due to inbuilt lag/delay).


----------



## ScoringFilm

All scripts updated in OP.

Added Mixer and Humaniser scripts.

Minor fixes/adjustments to all other scripts.


----------



## fm2_lizana

Master!!! God Bless your job!!!!!!! Thanks a lot!!!!!!


----------



## gst98

@ScoringFilm I love these so much, use them all the time.

I just started making some multis and using the multi voice splitter, but am struggling with saving/reloading.

Whenever kontakt re-loads, or resets the preset gets removed. The 8ve tranpositions stay, but the ranges change. Happens with both your presets and user saved ones, and I've found no way to save it into the .nkm or Logics plugin presets.

Also, saving user presets inside that instance of Kontakt works, and recalls correctly. But they aren't visible on different Kontakt instances. Also is there a way to save more than two user presets? thanks.


----------



## ScoringFilm

@gst98 I'm not quite sure exactly what you mean!

Save the presets in the script and then re-save the script itself to be able to recall across instances.

I'll have a look at increasing the number of presets in the Multi Voice Splitter.


----------



## ScoringFilm

Updated Multi Voice Splitter to 4 user presets in OP (Tools v1.10)


----------



## gst98

ScoringFilm said:


> @gst98 I'm not quite sure exactly what you mean!
> 
> Save the presets in the script and then re-save the script itself to be able to recall across instances.
> 
> I'll have a look at increasing the number of presets in the Multi Voice Splitter.





ScoringFilm said:


> Updated Multi Voice Splitter to 4 user presets in OP (Tools v1.10)


Thats great thank you. I'll try again.


----------



## gst98

ScoringFilm said:


> @gst98 I'm not quite sure exactly what you mean!
> 
> Save the presets in the script and then re-save the script itself to be able to recall across instances.
> 
> I'll have a look at increasing the number of presets in the Multi Voice Splitter.


Okay, so I've done it again, and saved a user preset in the KSP, and then save the whole thing again. That fixes being able to open it in other Kontakt instances. But I still have the problem, where if kontakt gets reset (for example pressing the panic button, or re-activating a disbaled track) the preset gets reset to default, and you have to select the user preset again.


----------



## fm2_lizana

Hi! Hey you know... I cant fix the A0(21) - C8 (108)... When I hit the bottom key it actually changes the upper key... So If I play G5 as the bottom key, it changes to A0(21) - G5, but never changes the first key.
Also, is there any midi cc to turn off the divisi?

All the best!
Felipe


----------



## ScoringFilm

gst98 said:


> if kontakt gets reset (for example pressing the panic button, or re-activating a disbaled track) the preset gets reset to default, and you have to select the user preset again.


As far as I am aware that is Kontakt default behavior and I don't think I can change it. I'll have another look.


----------



## ScoringFilm

fm2_lizana said:


> Hi! Hey you know... I cant fix the A0(21) - C8 (108)... When I hit the bottom key it actually changes the upper key... So If I play G5 as the bottom key, it changes to A0(21) - G5, but never changes the first key.
> Also, is there any midi cc to turn off the divisi?
> 
> All the best!
> Felipe


Fixed! v6.34 of the Divisi Script in OP (Tools v1.11)


----------



## gst98

ScoringFilm said:


> As far as I am aware that is Kontakt default behavior and I don't think I can change it. I'll have another look.


Thankyou. I can understand if it is jsut how ksp works, which is a shame, but nothing can be done. What I meant earlier that was strange to me was that the range gets reset






however, the transpositons remain the same.


----------



## ScoringFilm

gst98 said:


> Thankyou. I can understand if it is jsut how ksp works, which is a shame, but nothing can be done. What I meant earlier that was strange to me was that the range gets reset
> 
> 
> 
> 
> 
> 
> however, the transpositons remain the same.


Found the issue; now fixed. v1.03 of the Multi Splitter in OP (in Tools v1.11)


----------



## fm2_lizana

Thanks!! And also... Is there any midi CC to turn off the Divisi?


----------



## ScoringFilm

fm2_lizana said:


> Thanks!! And also... Is there any midi CC to turn off the Divisi?


There is now!

CC9 will toggle the bypass.

Multi Divisi v6.35 in OP (in tools v1.12)


----------



## peterharket

Thanks! Works great - I've made a donation  But if you would have written in the first post & user guide that one had to set all scripts in the multi (except for the script you'd like to use) to empty, that would have saved me some time having to read halfway through the tread to find the solution in your reply to @Ashermusic


----------



## peterharket

I have a small problem with the sustain pedal: When I play a 6 note voicing in Session Strings 2 (2 notes in the celli and 4 note chord in the violins) and while holding the sustain pedal, I can transition perfectly to other voicings that utilize those instruments. But if I were to play a subsequent voicing with bass and violas instead, I do not get a transition - the new notes are added on top of the old ones. Is this something native to Session Strings 2, or is this something you can look into?


----------



## peterharket

In the same vein - with The Orchestra Complete 2, if i create a 6 instance multi of an instrument with legat, play a chord, press the sustain pedal and play another chord, everything works perfectly. But the second i release the pedal, the sound stops - even though I am still holding down the second chord.


----------



## ScoringFilm

peterharket said:


> if you would have written in the first post & user guide that one had to set all scripts in the multi (except for the script you'd like to use) to empty[/USER]


Thanks for the donation; much appreciated. It is stated in the OP about the scripts not working together:


ScoringFilm said:


> *Installation*
> You will have to save each script individually (because they won't work together).


----------



## peterharket

ScoringFilm said:


> Thanks for the donation; much appreciated. It is stated in the OP about the scripts not working together:


I see that now - however, for a newbie like me, it would be great to have it specified like you did in the reply to Ashermusic


----------



## ScoringFilm

peterharket said:


> I have a small problem with the sustain pedal: When I play a 6 note voicing in Session Strings 2 (2 notes in the celli and 4 note chord in the violins) and while holding the sustain pedal, I can transition perfectly to other voicings that utilize those instruments. But if I were to play a subsequent voicing with bass and violas instead, I do not get a transition - the new notes are added on top of the old ones. Is this something native to Session Strings 2, or is this something you can look into?


First of all, I assume you are referring to the Multi Divisi Script, in which case it operates on pure midi information. You should have one channel as the input midi channel and then several channels for the output instruments. All divisi is done from the input channel (only); any midi sent on other channels will just be ignored and sent thru to that relevant channel.

You can have the input channel as one of the output channels (InCh Divisi) or not (InCh Thru). You can also mirror other CC's (inc sus pedal) from the input channel to the output channels (CC# Divisi).

As far as the sus pedal is concerned, firstly you do not need to use it, just overlap the notes. You should also be aware that each commercial instrument will have the sus pedal setup to behave in a certain way; this script cannot override that behavior.


----------



## peterharket

ScoringFilm said:


> First of all, I assume you are referring to the Multi Divisi Script, in which case it operates on pure midi information. You should have one channel as the input midi channel and then several channels for the output instruments. All divisi is done from the input channel (only).
> 
> As far as the sus pedal is concerned, firstly you do not need to use it, just overlap the notes. You should also be aware that each commercial instrument will have the sus pedal setup to behave in a certain way; this script cannot override that behavior.


I see! For orchestral programming, overlapping after the fact seems easier than using a pedal. However, in terms of live performance (and for instant gratification), the sustain pedal is a godsend, and I prefer to use it instead of a mouse. But if the problem lies with the library creators, there is little you can do


----------



## ScoringFilm

peterharket said:


> But if the problem lies with the library creators, there is little you can do


It's not a problem or bug, it is simply that some instrument manufacturers chose to modify the sus pedal behavior to fit their specific instruments.


----------



## peterharket

ScoringFilm said:


> It's not a problem or bug, it is simply that some instrument manufacturers chose to modify the sus pedal behavior to fit their specific instruments.


Yeah, I get that - "problem" was probably not the right word. But just to clarify on those two sustain pedals examples I provided, you believe the shortcomings lies with the developers and not in the script?


----------



## ScoringFilm

peterharket said:


> Yeah, I get that - "problem" was probably not the right word. But just to clarify on those two sustain pedals examples I provided, you believe the shortcomings lies with the developers and not in the script?


I don't own either of those instruments so you will have to check in their manuals about the function of the sus pedal.


----------



## ScoringFilm

peterharket said:


> I see that now - however, for a newbie like me, it would be great to have it specified like you did in the reply to Ashermusic


I have now expanded the explanation in the OP.


----------



## peterharket

peterharket said:


> Yeah, I get that - "problem" was probably not the right word. But just to clarify on those two sustain pedals examples I provided, you believe the shortcomings lies with the developers and not in the script?





ScoringFilm said:


> I have now expanded the explanation in the OP.


I think I can answer my own question - I the issue in The Orchestra Complete with chords not lingering after raising the pedal - even though I hold still the chord - does not occur in Session Strings, so your script is good!


----------



## peterharket

ScoringFilm said:


> I have now expanded the explanation in the OP.


<3


----------



## fm2_lizana

Hi Scoring Film! I hope you are well! Hey, I was thinking in ways of how can be improve this amazing Divisi script. I have two recommendation that it will be amazing if you could do!

1) Is there any possibility to include a UNIS button by midi cc? This button will bypass the divisi but will continue sending midi notes to all off the channels that are on the divisi. In this context you could play fast passages (for example with strings) without getting problems with the chords ms detection. This will be a nice improvement for strings, for example you could layer 2 different patches and play UNIS fast, but then you want to DIVISI them. Or you may have 4 different solo french horn patches playing in divisi but then you want that they play a4.

2) Also, is there any possibility that you can change the "retain lower/upper voice" with a midi cc? Sometimes you are using your strings and you actually want to change the retaining voice, so having the possibility of changing will be very nice. 

Well, I hope this will help the community, I think it is the best DIVISI script ever.

All the best!, take care,

Felipe


----------



## ScoringFilm

fm2_lizana said:


> Hi Scoring Film! I hope you are well! Hey, I was thinking in ways of how can be improve this amazing Divisi script. I have two recommendation that it will be amazing if you could do!
> 
> 1) Is there any possibility to include a UNIS button by midi cc? This button will bypass the divisi but will continue sending midi notes to all off the channels that are on the divisi. In this context you could play fast passages (for example with strings) without getting problems with the chords ms detection. This will be a nice improvement for strings, for example you could layer 2 different patches and play UNIS fast, but then you want to DIVISI them. Or you may have 4 different solo french horn patches playing in divisi but then you want that they play a4.
> 
> 2) Also, is there any possibility that you can change the "retain lower/upper voice" with a midi cc? Sometimes you are using your strings and you actually want to change the retaining voice, so having the possibility of changing will be very nice.
> 
> Well, I hope this will help the community, I think it is the best DIVISI script ever.
> 
> All the best!, take care,
> 
> Felipe


Done.

v6.36 (in tools v1.13) in OP

New Unison/Divisi modes
Several midi CC controls added


----------



## renattodj

ScoringFilm said:


> Done.
> 
> v6.36 (in tools v1.13) in OP
> 
> New Unison/Divisi modes
> Several midi CC controls added


AS FOR SCRIPT DIVISI V6.36 IT'S A REAL WORK OF ART, BUT NOTIFY A DETAIL .. WHEN I PERFORM A TRIAD AND MOVEMENT JUST THE NOTE OF THE MOST SERIOUS TIP SHE SHUT OFF ALL OTHER NOTES AND ASSUME THIS IS VERY UNCOMMODATING IN THE EXECUTION. POSSIBLE IS AN EASY PROBLEM TO SOLVE. GRATEFUL AND AGAIN CONGRATULATIONS.


----------



## ScoringFilm

renattodj said:


> AS FOR SCRIPT DIVISI V6.36 IT'S A REAL WORK OF ART, BUT NOTIFY A DETAIL .. WHEN I PERFORM A TRIAD AND MOVEMENT JUST THE NOTE OF THE MOST SERIOUS TIP SHE SHUT OFF ALL OTHER NOTES AND ASSUME THIS IS VERY UNCOMMODATING IN THE EXECUTION. POSSIBLE IS AN EASY PROBLEM TO SOLVE. GRATEFUL AND AGAIN CONGRATULATIONS.


NO NEED TO SHOUT!

I have had no other reports of this and I cannot reproduce it; are you sure that this is not the default behavior of the instrument itself?


----------



## renattodj

ScoringFilm said:


> NO NEED TO SHOUT!
> 
> I have had no other reports of this and I cannot reproduce it; are you sure that this is not the default behavior of the instrument itself?


you are congratulated, your script is perfect, but there is this small detail.


----------



## kestudi

Thank you SO MUCH for this great tool! 

I have 2 questions: 

1) when I play a 3-note chord, and move the lower voice while holding the upper two, the lower note seems to "steal" the note from the middle voice, even though I'm still holding down the middle note.



2) would it be possible to have a mode where the number of instruments activated is equal to the number of notes of polyphony? In other words, if I play a 3-note chord, it'll split across three trombones (or whatever instrument), if I play a 2-note chord, the lowest trombone would be dropped and just stay silent?


----------



## kestudi

And one more thing - my keyswitches are wreaking havoc on the legato engine. Is there a way to set it so only voices above a certain MIDI note will be divided, while notes below (i.e., the keyswitches) just get passed to all channels ?


----------



## ScoringFilm

@kestudi

1. The script looks for the most logical note to move, normally the closest, which is not necessarily the most musical; it can't recognize voice leading or part crossing. In the case of equidistant notes you can select whether to retain the upper or lower voice, however in your case the B is a semitone from C, and a whole tone from A - therefore the logic is to move the C (the nearest note).






2. Part mode in v6.35 (dropped in v6.36) sort of does this, however again it works on logic. e.g. if you drop the middle note of a chord then you will get voices 1 & 3 playing (dropping voice 2). I have attached it below.

3. If you press the range button and select the lower and upper playable limit, then select 'OOR KS blip', this plays Keyswitches outside of that range but does not include them as part of the divisi logic:


----------



## ScoringFilm

Poly Legato Divisi scripting is uber complex, hence the reason not many developers have it. It has taken me literally years to get it to this point.

The only one I know of, that has true voice leading, is CineSamples (@willbedford). AudioBro and Strezov both use overlapped notes which is not quite the same.

INTUITION (@gregjazz) is still in development 8 years later!

DIVISIMATE (@Nextmidi) has recently come on the market; as it's not Kontakt based it's not subject to the limitations of KSP.

DVZ Strings by Audio Impressions came out quite sometime ago (2005?) but never really captured the market. They have a new product called Divisi Switchblade all though I don't think it is released yet.


----------



## ScoringFilm

v6.37a in OP (in tools v1.14).

Restored old modes and a few bug fixes.


----------



## renattodj

ScoringFilm said:


> *Multi Divisi Script v6.37a*
> 
> View attachment 48834
> 
> 
> This multiscript takes incoming polyphonic midi data and divides it between (up-to) six (monophonic) instruments. All controls are explained by showing 'Info' in Kontakt and hovering over each GUI item.
> 
> Recent updates:
> 
> New Unison mode
> Added ability to stop CC7/10 (Vol/Pan) mirroring (with CC Divisi) so that each instrument can be balanced separately. Also works with new Multi Mixer script.
> CC3 to toggle Midi CC Thru/Divisi, CC9 to bypass, CC14 to toggle Retain Upper/Lower, CC15 to scroll Modes (CC's can be changed by opening the script and changing the values).
> This script has been tested exhaustively on many commercial instruments. Unfortunately some of the in-built scripting in commercial products does not behave well and can cause hung notes when used with this script (due to inbuilt lag/delay). Humanising (i.e. midi delay) can help overcome this issue.
> 
> *Voice Splitter v1.03*
> 
> View attachment 41242
> 
> 
> This script takes incoming midi data and splits/repeats it across several channels dependent on the range of the instrument. Useful for sketching; instead of using Ensemble patches you can use all patches.
> 
> A number of presets for different instrument groups has been setup (brass/wind quintet, full string range, SATB choir etc)
> 
> You will need to install the knob into the pictures folder (as per below)
> 
> Also works with new Multi Mixer script.
> *Multi Mixer v1*
> 
> View attachment 45216
> 
> 
> Will work in conjunction with either/or of the two scripts above. This will allow Divisi or Splitting but enable the user to adjust the vol/pan for each instrument separately (by blocking CC7/10 in the Divisi/Splitter scripts). It will automatically set itself up to the values set in the Divisi or Splitter script; however if channel assignments are not the default consecutive channels, these will have to be adjusted manually.
> 
> Must be placed after the Divisi or/either the Splitter script.
> 
> *Keyswitch (KS) Channel Switcher v1.01*
> 
> A KS channel switcher for when you have several different articulations across several channels (an alternative to bank switching). You can use the B-D output channels to reduce the number of (A) input channels used (i.e. load more instruments into one instance of Kontakt).
> 
> *Scale CC & Vel v1
> 
> View attachment 24880
> *
> 
> This script scales and/or compresses CC or Velocity data via the table curve on the channels selected. Very useful to get consistent volumes when using instruments from different developers (i.e. one can be scaled to perform like another).
> 
> Should be placed after the above scripts
> 
> *Multi Humaniser v1*
> 
> A humaniser to delay note on/off by a fixed or random amount. Can also increment the delay for each channel or a fixed amount for every channel. Can also delay CC info (by a fixed amount only)
> 
> Should be placed after the above scripts
> 
> *Installation*
> 
> All scripts will work with Kontakt v4+.
> 
> Place the scripts in the _presets/Multiscripts_ *folder* and the images in the _pictures_ *folder* located here:
> 
> *Windows*: C:/Users/%username%/Documents/Native Instruments/Kontakt */*folder
> Mac*: StartVolume/Users/%username%/Documents/Native Instruments/Kontakt */*folder*
> 
> * = Kontakt version
> 
> I have also provided an empty K4 multi which contains all the scripts for ease of installation. As each one has a different function they will not work with each other; you need to save each script you want to keep, and then just open the script you want to use (or just close each of the other scripts by opening the '- Empty -' script in those slots).
> 
> Almost 250 downloads of the last version proves it's useful to forum members so I will continue to develop when time allows.
> 
> Donations towards development much appreciated!


Boy, this version 6.37a is top of the galaxies .. surely it already beats Nextmidi and the like.


----------



## ScoringFilm

Hot on the heels and quite a major update (v6.38). You can now select to voice lead legato notes or simply move to the nearest logical note (as before). This only works when one voice moves alone and within the set limit up or down (default = 7 semitones/perfect 5th).


----------



## ScoringFilm

For multiple voice movement (and the first single line note movement of a phrase) the retain setting is still the same:


----------



## ScoringFilm

Fixed a couple of reported issues v6.39 in OP (in tools v1.16)


----------



## kestudi

Hey, @ScoringFilm, thanks for the update! I am using your script with Sample Modeling trumpets and trombones, and I'm definitely running into hung notes fairly often (I'll just have one of the three trombones sustain a random pitch, even when the sequence is stopped). 

1. Can you provide guidance on how to implement the "humanize" suggestion you mentioned? Does that go inside the script? 

2. For "Auto PL Mode", I'm playing a single note on my midi keyboard, and the note is being played by all 3 voices. I thought this mode would reduce the number of voices for a unison line?

Thank you for providing such a great service for the community. Do you have a donation link?


----------



## ScoringFilm

@kestudi

1. There is a humaniser script in the zip file. Place it after the divisi script and just experiment with different values.

2. That is what true divisi is! All players play one note and play different notes on a chord.

Donations here!


----------



## kestudi

ScoringFilm said:


> 3. If you press the range button and select the lower and upper playable limit, then select 'OOR KS blip', this plays Keyswitches outside of that range but does not include them as part of the divisi logic:


Is there a reason why the Keyswitches "blip"? I have some Sample Modeling instruments that have "combination" keyswitches (need to play and hold C2 and then play an additional note to activate certain playing modes). I think the blip is not allowing me to sustain the KS note.


----------



## ScoringFilm

v6.40 in OP (in tools v 1.17)

Fixed an issue with keyswitches, which are also no longer played as 'blip' notes

New auto voice leading logic (plus a manual option to choose which note to move)


----------



## kestudi

ScoringFilm said:


> v6.40 in OP (in tools v 1.17)
> 
> Fixed an issue with keyswitches, which are also no longer played as 'blip' notes
> 
> New auto voice leading logic (plus a manual option to choose which note to move)


Dude you are a god! No where on the internet do features get implemented this quickly. Is there a way we can support you?


----------



## Camus

ScoringFilm said:


> v6.40 in OP (in tools v 1.17)
> 
> Fixed an issue with keyswitches, which are also no longer played as 'blip' notes
> 
> New auto voice leading logic (plus a manual option to choose which note to move)


Hi ScoringFilm, may I ask where to find the Multiscipt?


----------



## topaz

ScoringFilm said:


> Place the scripts in the _presets/Multiscripts_ *folder* and the knob/slider in the _pictures_ *folder* located here:
> 
> *Windows*: C:/Users/%username%/Documents/Native Instruments/Kontakt */*folder*
> *Mac*: StartVolume/Users/%username%/Documents/Native Instruments/Kontakt */*folder*


Does the pictures folder need a specific name please ?


----------



## ScoringFilm

Camus said:


> Hi ScoringFilm, may I ask where to find the Multiscipt?


Attached to the first post


----------



## ScoringFilm

topaz said:


> Does the pictures folder need a specific name please ?


No, just use the default 'pictures' folder or create one if it is not there.


----------



## Camus

ScoringFilm said:


> Attached to the first post


Thanks for the hint!


----------



## Good Bear

Hey! First, thanks so much for this amazing script. Your work on it is incredible. I've found great use for it with Sample Modeling Libraries, and it's finding a permanent spot in my template.

There are two functions that I'd love to see added: First, the ability to have one note be played by only one part. Then as I add a second note, part two layers in, and so on and so forth. I'm using it as a more accurate (legato capable) string ensemble patch. I've found that the sound of 5 different solo or small ensemble string instruments when layered with another ensemble library adds a texture of realism that is much more convincing. I know you said to another poster that the point of the script was true divisi, but the capability of isolating voices could be really incredible. The quickness and realism of sketching an idea has been amazing, even with just the divisi feature.

Second, just the ability to set a key range for each part!

Again, thanks for the awesome script.


----------



## ScoringFilm

Good Bear said:


> First, the ability to have one note be played by only one part. Then as I add a second note, part two layers in, and so on and so forth.
> 
> Second, just the ability to set a key range for each part!


For the first function try some of the other modes; that's what they do.

With setting a key range for each instrument it gets a bit more tricky i.e. what happens with the notes that are out of range?

Both are doable, however I don't have much spare time to look at this at the moment. Also both go against what this script is designed for i.e. true divisi (all instruments play all the time and have the same range)

J


----------



## Good Bear

ScoringFilm said:


> For the first function try some of the other modes; that's what they do.
> 
> With setting a key range for each instrument it gets a bit more tricky i.e. what happens with the notes that are out of range?


Ok, so for the first one, I tried all of the different modes, it fed a midi signal to all the instruments in every case (except for divisi mode, in which all the notes hanged every time, weirdly). Am I doing something wrong? 

And as far as key range, this could possibly add too much latency as the script basically searches for the right part, but I was thinking basically a note hierarchy - "If out of range in part 1, move note to part 2" etc... 

Also, I do realize that it goes out of the original intent for the script, though I have to say, the capabilities of the script could really give composers the ability to sketch very high quality ideas quickly. It could be a bit of a game changer! I've seen people try to do things like it, but haven't really seen anyone get this close before. Definitely think on it. You've made something super special.


----------



## bsandy

This looks fantastic. Thank you.
Would it be possible to get it to work with MPE? i.e. parsing multi-channel per-note controller data to the divided instruments?


----------



## ScoringFilm

bsandy said:


> This looks fantastic. Thank you.
> Would it be possible to get it to work with MPE? i.e. parsing multi-channel per-note controller data to the divided instruments?


Not quite sure what you mean!

If CC# Divisi is selected; all the CC data from the input channel goes to all output channels.

If CC#Thru is used in conjunction with InChn Thru then you can send CC data independantly to all the output channels (on the output channels). (because the input channel is not used as an output channel and the CC data is only sent thru to the input channel)


----------



## bsandy

In my understanding, polyphony is parsed down multiple MIDI channels. So whilst I'm playing a C4 down MIDI channel 1, if I also play a D4, that would go to Midi Channel 2. So, like poly-aftertouch, I can use volume/expression/other CCs on a per-note basis. e.g. I can apply pitch bend to the C4 (channel 1) but not the D4 (channel 2).

Because Multi Divisi takes multiple notes from one Midi channel, this doesn't quite work. Essentially, I imagine the script would need to listen to all 16 MIDI channels with the divisi part of the script treating all 16 like they were aggregated to 1 channel, but then once it had identified which part notes should be parsed to, it could then take the CC data from that note's original MIDI channel.


----------



## ScoringFilm

bsandy said:


> In my understanding, polyphony is parsed down multiple MIDI channels. So whilst I'm playing a C4 down MIDI channel 1, if I also play a D4, that would go to Midi Channel 2. So, like poly-aftertouch, I can use volume/expression/other CCs on a per-note basis. e.g. I can apply pitch bend to the C4 (channel 1) but not the D4 (channel 2).
> 
> Because Multi Divisi takes multiple notes from one Midi channel, this doesn't quite work. Essentially, I imagine the script would need to listen to all 16 MIDI channels with the divisi part of the script treating all 16 like they were aggregated to 1 channel, but then once it had identified which part notes should be parsed to, it could then take the CC data from that note's original MIDI channel.


Yep, far too complex to implement. Sorry!


----------



## bsandy

Separately, but relatedly, can you configure it to play a full string range and then divide the notes intelligently between the stringed instruments? I get that the divisi script essentially works within one instrument's note range (e.g. the violin from G3 upwards) and that the voice splitter works on pitch alone but, with the divisi first, then the splitter, if you play low notes they go to the violin channel (1) where they're too low to be played. I suppose what I'm after is a divisi-across-the-full-instrument section.


----------



## ScoringFilm

bsandy said:


> Separately, but relatedly, can you configure it to play a full string range and then divide the notes intelligently between the stringed instruments? I get that the divisi script essentially works within one instrument's note range (e.g. the violin from G3 upwards) and that the voice splitter works on pitch alone but, with the divisi first, then the splitter, if you play low notes they go to the violin channel (1) where they're too low to be played. I suppose what I'm after is a divisi-across-the-full-instrument section.


Again, I had a look at this a while back but it became far too complex. e.g. what happens to the notes out of range etc?

This would just introduce significantly more lag to the script.


----------



## Aaaa

Hi ! First of all, many thanks for this wonderful script cause it's game changer in terms of practicality.
Secondly, I may be dumb, but how exactly can I configure it to have : when I play *one* single note, it go to the *first* patch (2flutes), but when I play *two* notes, instead, it go respectively to the *second* (1flute) and the *third* (1flute) patches ? (but not the first, obviously...)
I read all these 13 pages and I understood it was possible but I can't figure out how.
Thanks in advance !
PS : Sorry for my clumsy english.


----------



## NuNativs

bsandy said:


> Separately, but relatedly, can you configure it to play a full string range and then divide the notes intelligently between the stringed instruments? I get that the divisi script essentially works within one instrument's note range (e.g. the violin from G3 upwards) and that the voice splitter works on pitch alone but, with the divisi first, then the splitter, if you play low notes they go to the violin channel (1) where they're too low to be played. I suppose what I'm after is a divisi-across-the-full-instrument section.


Divisimate


----------



## ScoringFilm

Aaaa said:


> Hi ! First of all, many thanks for this wonderful script cause it's game changer in terms of practicality.
> Secondly, I may be dumb, but how exactly can I configure it to have : when I play *one* single note, it go to the *first* patch (2flutes), but when I play *two* notes, instead, it go respectively to the *second* (1flute) and the *third* (1flute) patches ? (but not the first, obviously...)
> I read all these 13 pages and I understood it was possible but I can't figure out how.
> Thanks in advance !
> PS : Sorry for my clumsy english.


Not possible I'm afraid!


----------



## Aaaa

ScoringFilm said:


> Not possible I'm afraid!


Is there any chance you to add it in the future ? Like one note = ch 1, two notes = ch 2 & 3 ? I mean, it's more complicated than that, but seeing the actual stuff you did here I think it's possible ?


----------



## ScoringFilm

Aaaa said:


> Is there any chance you to add it in the future ? Like one note = ch 1, two notes = ch 2 & 3 ? I mean, it's more complicated than that, but seeing the actual stuff you did here I think it's possible ?


I will certainly have a look at it when I get the chance; no promises though!


----------



## Xabierus Music

ScoringFilm said:


> *Multi Divisi Script v6.40*
> 
> View attachment 48834
> 
> 
> This multiscript takes incoming polyphonic midi data and divides it between (up-to) six (monophonic) instruments. All controls are explained by showing 'Info' in Kontakt and hovering over each GUI item.
> 
> Recent updates:
> 
> New automatic voice leading logic (or manually select which voice to move)
> New Unison mode
> Added ability to stop CC7/10 (Vol/Pan) mirroring (with CC Divisi) so that each instrument can be balanced separately. Also works with new Multi Mixer script.
> CC3 to toggle Midi CC Thru/Divisi, CC9 to bypass, CC14 to toggle Retain Upper/Lower, CC15 to scroll Modes (CC's can be changed by opening the script and changing the values).
> Out of Range (OOR) keyswitches (KS) are no longer played as 'blip' notes.
> This script has been tested exhaustively on many commercial instruments. Unfortunately some of the in-built scripting in commercial products does not behave well and can cause hung notes when used with this script (due to inbuilt lag/delay). Humanising (i.e. midi delay) can help overcome this issue.
> 
> *Voice Splitter v1.03*
> 
> View attachment 41242
> 
> 
> This script takes incoming midi data and splits/repeats it across several channels dependent on the range of the instrument. Useful for sketching; instead of using Ensemble patches you can use all patches.
> 
> A number of presets for different instrument groups has been setup (brass/wind quintet, full string range, SATB choir etc)
> 
> You will need to install the knob into the pictures folder (as per below)
> 
> Also works with new Multi Mixer script.
> *Multi Mixer v1*
> 
> View attachment 45216
> 
> 
> Will work in conjunction with either/or of the two scripts above. This will allow Divisi or Splitting but enable the user to adjust the vol/pan for each instrument separately (by blocking CC7/10 in the Divisi/Splitter scripts). It will automatically set itself up to the values set in the Divisi or Splitter script; however if channel assignments are not the default consecutive channels, these will have to be adjusted manually.
> 
> Must be placed after the Divisi or/either the Splitter script.
> 
> *Keyswitch (KS) Channel Switcher v1.01*
> 
> A KS channel switcher for when you have several different articulations across several channels (an alternative to bank switching). You can use the B-D output channels to reduce the number of (A) input channels used (i.e. load more instruments into one instance of Kontakt).
> 
> *Scale CC & Vel v1
> 
> View attachment 24880
> *
> 
> This script scales and/or compresses CC or Velocity data via the table curve on the channels selected. Very useful to get consistent volumes when using instruments from different developers (i.e. one can be scaled to perform like another).
> 
> Should be placed after the above scripts
> 
> *Multi Humaniser v1*
> 
> A humaniser to delay note on/off by a fixed or random amount. Can also increment the delay for each channel or a fixed amount for every channel. Can also delay CC info (by a fixed amount only)
> 
> Should be placed after the above scripts
> 
> *Installation*
> 
> All scripts will work with Kontakt v4+.
> 
> Place the scripts in the _presets/Multiscripts_ *folder* and the images in the _pictures_ *folder* located here:
> 
> *Windows*: C:/Users/%username%/Documents/Native Instruments/Kontakt */*folder
> Mac*: StartVolume/Users/%username%/Documents/Native Instruments/Kontakt */*folder*
> 
> * = Kontakt version
> 
> I have also provided an empty K4 multi which contains all the scripts for ease of installation. As each one has a different function they will not work with each other; you need to save each script you want to keep, and then just open the script you want to use (or just close each of the other scripts by opening the '- Empty -' script in those slots).
> 
> Almost 250 downloads of the last version proves it's useful to forum members so I will continue to develop when time allows.
> 
> N.B. For those that keep messaging me; the divisi scripts first inception was in 2009 (look at the old threads on here). In other words 10 years before DivisiMate; take from that what you will!
> 
> Donations towards development much appreciated!


Great Script! i was looking for something that allows me playing chords and melody and that the sustain patch remained sustained and the legato patch only plays the highest note of all the notes played, applied the multi on the legato kontakt and it is working very nicely ! great job!


----------



## ScoringFilm

OK folks, after 260 downloads of the last version time for an update!

I have spent quite some time making the Divisi script more efficient with the ultimate aim of avoiding the dreaded stuck notes (although no guarantees with this as it can often be caused by the original instrument itself). Also fixed an issue with Part Mode (a simple chord splitter) and made Keyswitching (KS) or Out or Range (OOR) notes more obvious.

I have removed Retrigger and, after some thought, won't be implementing anything like 'only split on polyphony' or 'sending to certain channels depending on number of notes' or a 'key range for each part' or 'sending CC data to separate parts' etc. As I have stated a few times, the script is designed for true divisi (multiples of the same instrument playing either unison or divisi), whilst much of the above is certainly possible, it becomes far too complex to programme, adds latency and becomes cumbersome to actually use. Apologies if any of the above requests were yours!

I gather that Divisimate might do much of the above (10 years younger and $200 more than my script!)

v6.41 of the Divisi Script (alone) attached to the first post - alongside the other tools in case you want to revert back to v6.40


----------



## Xabierus Music

ScoringFilm said:


> OK folks, after 260 downloads of the last version time for an update!
> 
> I have spent quite some time making the Divisi script more efficient with the ultimate aim of avoiding the dreaded stuck notes (although no guarantees with this as it can often be caused by the original instrument itself). Also fixed an issue with Part Mode (a simple chord splitter) and made Keyswitching (KS) or Out or Range (OOR) notes more obvious.
> 
> I have removed Retrigger and, after some thought, won't be implementing anything like 'only split on polyphony' or 'sending to certain channels depending on number of notes' or a 'key range for each part' or 'sending CC data to separate parts' etc. As I have stated a few times, the script is designed for true divisi (multiples of the same instrument playing either unison or divisi), whilst much of the above is certainly possible, it becomes far too complex to programme, adds latency and becomes cumbersome to actually use. Apologies if any of the above requests were yours!
> 
> I gather that Divisimate might do much of the above (10 years younger and $200 more than my script!)
> 
> v6.41 of the Divisi Script (alone) attached to the first post - alongside the other tools in case you want to revert back to v6.40


Nice! I will try it when i get home and test it, great work!


----------



## ScoringFilm

Hot on the heels v6.42: added a latency timer so you can visually see how long the script logic takes


----------



## ScoringFilm

And a quick reminder of what these settings do (I can't add it to the first post because of limited images in one post):

*Retain Upper/Lower Voice:*






*Voice Leading/Nearest Note:*






*Filling empty parts:*
Showing how empty parts are filled from the chord notes (in this case a three voice chord and six parts). The original chord voices are always played in sequence with the highest note going to the highest numbered part etc. The empty parts will be filled by the 'fill' selection as below (again starting from the highest part). You can also manually choose which notes to send to which empty part.





Once voices start to move, a fill/empty part will follow its assigned parent note. If a chord changes size (2 note chord to 3 note chord or visa versa etc), the fill/empty parts will be rebalanced so that no one note overpowers.

I hope this all makes sense!


----------



## ScoringFilm

Another update hot on the heels; typically previous updates causes issues elsewhere!

Fixed issue with velocity (& humanising) in Unison Mode
Fixed issue (completely changed the logic) for when chords grow in size (e.g. 2 note to 3 note)
A few minor (probably unnoticeable) tweaks!
When time allows I still want to further refine the rebalancing of fill notes and legato logic (there are times when parts swap); although it works just fine as it is and probably only I notice anyway!

I have have thrown everything at this, including hammer fingers, random slamming keys and intentionally clipping wrong notes, and there are no errors or stuck notes at all!

v6.43 in first post


----------



## Xabierus Music

Wow nice! thanks a lot for the hard work, i will download it and test it in a few hours when i get home, thanks again!


----------



## ScoringFilm

Update:

Re-written the logic for rebalancing chords to create more natural voice leading during legato.
Fixed issues with note display in Part & Divisi modes
Further tweaked the legato logic (mainly for larger 4-6 note chords)
v6.44 in first post


----------



## Xabierus Music

ScoringFilm said:


> OK, definitely the last update for a while!
> 
> Re-written the logic for rebalancing chords to create more natural voice leading during legato.
> Fixed issues with note display in Part & Divisi modes
> Further tweaked the legato logic (mainly for larger 4-6 note chords)
> I still want to further refine the legato logic, however I need a (substantial) break from this as my brain is fried!
> 
> v6.44 in first post


Wow this is great stuff! I will again, test it when i get home hehe, thanks a lot for this hard work!


----------



## ScoringFilm

Well after 272 downloads of the older version I thought I'd update the entire package (Tools v 1.18). This now includes the latest Divisi script (v6.47) which is a significant update.

Updates:

Fixed an issue where parts would sometimes cross (actually a major rewrite of the code!)
Added a safety net to avoid errors when more notes than parts are played; it will now ignore any additional notes rather than notes moving (legato) twice (v6.43 onwards had this issue)
Fill notes will now always follow their parent notes during legato transitions.
When a chord changes size all fill parts will be rebalanced
Download attached to bottom of first post.


----------



## Xabierus Music

Just tested the latest version of multi divisi and it works better than the older ones, very good job on this! in my eternal pursue to play an entire orchestra with only the keyboard and several articulations loaded (legato and sustain) the scripts comes very handy with the legato patches and brings my ideal setup closer to real, also the ability to add the ms of the chord recognition is great, it adapts to the player, again, very good job!


----------



## ScoringFilm

Xabierus Music said:


> Just tested the latest version of multi divisi and it works better than the older ones, very good job on this! in my eternal pursue to play an entire orchestra with only the keyboard and several articulations loaded (legato and sustain) the scripts comes very handy with the legato patches and brings my ideal setup closer to real, also the ability to add the ms of the chord recognition is great, it adapts to the player, again, very good job!


Great, I'm glad to hear it!


----------



## peterharket

This is simply amazing. You should really approach devs to implement this in their libraries - could net you some nice royalties! Even though it is available for free, it takes the average joe to much work to add this script, and having it baked in a library would be something devs should be willing to pay for to up the ante of their libraries.


----------



## lexiaodong

ScoringFilm said:


> Well after 272 downloads of the older version I thought I'd update the entire package (Tools v 1.18). This now includes the latest Divisi script (v6.47) which is a significant update.
> 
> Updates:
> 
> Fixed an issue where parts would sometimes cross (actually a major rewrite of the code!)
> Added a safety net to avoid errors when more notes than parts are played; it will now ignore any additional notes rather than notes moving (legato) twice (v6.43 onwards had this issue)
> Fill notes will now always follow their parent notes during legato transitions.
> When a chord changes size all fill parts will be rebalanced
> Download attached to bottom of first post.


Thanks for your hard work.


----------



## robgb

ScoringFilm said:


> I gather that Divisimate might do much of the above (10 years younger and $200 more than my script!)


I checked out Divismate and the first thing I thought is, hey, you can already do this with the Multi-Divisi script...


----------



## dentpuzz

ScoringFilm said:


> *Multi Divisi Script v6.47*
> 
> View attachment 81783
> 
> 
> This multiscript takes incoming polyphonic midi data and divides it between (up-to) six (monophonic) instruments. All controls are explained by showing 'Info' in Kontakt and hovering over each GUI item.
> 
> The scripts first inception was 2009 (look at the old threads on here); i.e. 10 years before DivisiMate!
> 
> *This script must be opened in the first script slot *otherwise you will get unexpected interference and behaviour caused by other scripts.
> 
> *Voice Splitter v1.03*
> 
> View attachment 41242
> 
> 
> This script takes incoming midi data and splits/repeats it across several channels dependent on the range of the instrument. Useful for sketching; instead of using Ensemble patches you can use all patches.
> 
> A number of presets for different instrument groups has been setup (brass/wind quintet, full string range, SATB choir etc)
> 
> You will need to install the knob into the pictures folder (as per below)
> 
> *Multi Mixer v1*
> 
> View attachment 45216
> 
> 
> Will work in conjunction with either/or of the two scripts above. This will allow Divisi or Splitting but enable the user to adjust the vol/pan for each instrument separately (by blocking CC7/10 in the Divisi/Splitter scripts). It will automatically set itself up to the values set in the Divisi or Splitter script; however if channel assignments are not the default consecutive channels, these will have to be adjusted manually.
> 
> Must be placed after the Divisi or/either the Splitter script.
> 
> *Keyswitch (KS) Channel Switcher v1.01*
> 
> A KS channel switcher for when you have several different articulations across several channels (an alternative to bank switching). You can use the B-D output channels to reduce the number of (A) input channels used (i.e. load more instruments into one instance of Kontakt).
> 
> *Scale CC & Vel v1
> 
> View attachment 24880
> *
> 
> This script scales and/or compresses CC or Velocity data via the table curve on the channels selected. Very useful to get consistent volumes when using instruments from different developers (i.e. one can be scaled to perform like another).
> 
> Should be placed after the above scripts
> 
> *Multi Humaniser v1*
> 
> A humaniser to delay note on/off by a fixed or random amount. Can also increment the delay for each channel or a fixed amount for every channel. Can also delay CC info (by a fixed amount only)
> 
> Should be placed after the above scripts
> 
> *caution should be used when using this script with the Multi Divisi Script; note on/off can end up being swapped (i.e. in the wrong order) therefore causing stuck/frozen notes.
> 
> *Installation*
> 
> All scripts will work with Kontakt v4+.
> 
> Place the scripts in the _presets/Multiscripts_ *folder* and the images in the _pictures_ *folder* located here:
> 
> *Windows*: C:/Users/%username%/Documents/Native Instruments/Kontakt */*folder
> Mac*: StartVolume/Users/%username%/Documents/Native Instruments/Kontakt */*folder*
> 
> * = Kontakt version
> 
> I have also included empty K4 multis with the scripts for ease. The tools multi contains all the scripts, however as *each one has a different function they will not work with each other*; you need to save each script you want to keep, and then just open the script you want to use (or just close each of the other scripts by opening the '- Empty -' script in those slots).
> 
> Donations towards development much appreciated!


Is this still being developed?


----------



## ScoringFilm

dentpuzz said:


> Is this still being developed?


Yes, I am still developing it in the background, however won't be posting anymore (free) updates on here.

Over the many iterations and 13 years of the script(s), there have been well over 1000 downloads and over 48k views on this latest thread alone; during that time I have received around $30-$40 in donations. I can't financially justify any further development time for a free product so the time has come for me to commercialise this!


----------



## S.M.F

Thank you! @ScoringFilm


----------



## dentpuzz

ScoringFilm said:


> Yes, I am still developing it in the background, however won't be posting anymore (free) updates on here.
> 
> Over the many iterations (13 years) of the script(s) there have been well over 1000 downloads; during that time I have received around $30-$40 in donations. I can't financially justify any further development so the time has come for me to commercialise this!


Let me know when it goes on sale please.


----------



## ScoringFilm

dentpuzz said:


> Let me know when it goes on sale please.


I will do, however it won't be anytime soon!


----------



## ScoringFilm

v6.5 added:

Note Off Delay (NOD) can sometimes help with stuck notes in heavily scripted instruments.
User assignable CCs for various controls
Many improvements, fixes and streamlining under the hood
Buy me a Coffee and I will send it to you!


----------



## indoorcat

ScoringFilm said:


> v6.5 added:
> 
> Note Off Delay (NOD) can sometimes help with stuck notes in heavily scripted instruments.
> User assignable CCs for various controls
> Many improvements, fixes and streamlining under the hood
> Buy me a Coffee and I will send it to you!


Bought you a few coffees! This script is incredible- and I'm very excited about the NOD update. Thank you again!


----------



## ScoringFilm

indoorcat said:


> Bought you a few coffees! This script is incredible- and I'm very excited about the NOD update. Thank you again!


Many thanks, that's very kind of you 👍


----------



## Batrawi

thanks @ScoringFilm! got you a few coffees as well. This tool has served me very well ever since it was available for free. Your efforts are really appreciated!


----------



## peterharket

Love this script! If I’ve donated before, am I still eligible for an updated script? 😇


----------



## ScoringFilm

peterharket said:


> Love this script! If I’ve donated before, am I still eligible for an updated script? 😇


@peterharket thanks for your support in the past, however the last (of the very few) donations I ever received via PayPal was well over 18 months ago, since which time there has been several significant improvements/updates. I will send any future updates free to those who 'buy me a coffee'!


----------

