• Register
  • Help
Page 1 of 2 12 LastLast
Results 1 to 10 of 15

Topic: 4 Part divisi multi script for Kontakt (with correct legato connections)

Share/Bookmark
  1. #1

    4 Part divisi multi script for Kontakt (with correct legato connections)

    I wrote this originally with the intent of using it with session strings pro (since it comes with 4 separate sections), but you could use it with any 4 string patches or 4 brass patches, etc.

    Given 4 different instrument patches, this script divides chords that you play among the 4 patches, connecting legato lines correctly. If you only play one note, it gets sent to all 4 patches. If you play 2, it does 2 on one note and 2 on the other, etc.

    If you play 5 notes at once, it determines which one to remove and sends the remaining 4 to the 4 string patches.

    Here's what you do:
    load your 4 different string sections to 4 different channels. By default, they should be set to channels [B]1, [B]2, [B]3, and [B]4, although you can adjust this.

    Set the input channel to whatever you want. By default it's [A]1. Midi sent to this channel will get rerouted to the 4 patches in 4 sequential midi channels (by default [B]1, [B]2, [B]3, and [B]4), dividing up the notes correctly.

    Sorry for the crappy interface, but I just threw this together tonight and I've never really done any Kontakt scripting before, so I don't know how to make the interface look better.

    http://www.mediafire.com/file/qfs8wx...PartDivisi.nkp

    Let me know if you find it useful.

  2. #2

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Quote Originally Posted by mpalenik View Post
    I wrote this originally with the intent of using it with session strings pro (since it comes with 4 separate sections), but you could use it with any 4 string patches or 4 brass patches, etc.

    Given 4 different instrument patches, this script divides chords that you play among the 4 patches, connecting legato lines correctly. If you only play one note, it gets sent to all 4 patches. If you play 2, it does 2 on one note and 2 on the other, etc.

    If you play 5 notes at once, it determines which one to remove and sends the remaining 4 to the 4 string patches.

    Here's what you do:
    load your 4 different string sections to 4 different channels. By default, they should be set to channels [B]1, [B]2, [B]3, and [B]4, although you can adjust this.

    Set the input channel to whatever you want. By default it's [A]1. Midi sent to this channel will get rerouted to the 4 patches in 4 sequential midi channels (by default [B]1, [B]2, [B]3, and [B]4), dividing up the notes correctly.

    Sorry for the crappy interface, but I just threw this together tonight and I've never really done any Kontakt scripting before, so I don't know how to make the interface look better.

    http://www.mediafire.com/file/qfs8wx...PartDivisi.nkp

    Let me know if you find it useful.

    Hi! The idea sounds good. Thanks, i will try it.
    Marcelo Colina

  3. #3

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Quote Originally Posted by marce View Post
    Hi! The idea sounds good. Thanks, i will try it.
    Cool, let me know how it works for you.

    I a also tried loading up 4 instances of the Kontakt legato French horn and used it with that. It makes for a kind of nice polyphonic legato on that instrument.

  4. #4

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Use this link instead: http://www.mediafire.com/file/81528q...PartDivisi.nkp

    The old script had a mistake that made it cut out all midi to all of the tracks instead of just the track that was supposed to be rerouted to the divisi patches.

  5. #5

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Mark,

    This script looks very useful however I am getting very unpredictable results with it!
    Is there any chance you could comment {} each part of the script so that I can see what is going on and adapt it to my use?

    You might also want to join us on THE scripting forum where you will get much more feedback:

    www(dot)vi-control.net/forum/viewforum.php?f=65

    Regards,

    Justin

  6. #6

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Quote Originally Posted by Justin Matthews View Post
    Mark,

    This script looks very useful however I am getting very unpredictable results with it!
    Is there any chance you could comment {} each part of the script so that I can see what is going on and adapt it to my use?

    You might also want to join us on THE scripting forum where you will get much more feedback:

    www(dot)vi-control.net/forum/viewforum.php?f=65

    Regards,

    Justin
    I've been kind of busy lately and I haven't thought about this script much in a while. I'll get back to you in more detail later and maybe make a post to vi-control, but for now, I'm just going to give you a short description of how it works.

    This script probably works best if you quantize the incoming midi. I'd like to make some improvements to it eventually, but for now, the idea is pretty simple.

    The first chord you play: depending on the number of notes you play, it makes 1, 2, 3, or 4 different divisions.

    For subsequent chords: If you have fewer than 4 notes held down and you press another note, it will keep the other notes sustained as they are except it will split one of the sections into two.

    When you press a new chord or move a notes, it will find the section from the previous chord that was playing the nearest note to the new note and route the new note to that section.

    The issue is, however, if you don't play all notes from the new chord at the same time, it will redo the divisions--so for example, if you play a C major chord and the a D major chord but you hit the D before any of the other notes, it will want to have all sections play the D and then redivide into three new sections, transitioning from the D to the new note.

    I'm going to try to think of a good way to improve this without introducing too much delay anywhere.

    If there's overlap from the old chord to the new chord, that can cause problems as well, for similar reasons, since for a brief time, it may see, for example, 6 notes played instead of 3, and divide things incorrectly. This may be a bit easier to fix, but I need to look at my script again.

  7. #7

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Thanks Mark,

    Sorry for the delay in replying, however NS didn't send me a notification despite subscribing to the thread. If you want me to take a look at the script let me know, if not good luck and I hope it works out.

    Regards,

    Justin

  8. #8

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Quote Originally Posted by Justin Matthews View Post
    Thanks Mark,

    Sorry for the delay in replying, however NS didn't send me a notification despite subscribing to the thread. If you want me to take a look at the script let me know, if not good luck and I hope it works out.

    Regards,

    Justin
    I'm planning on returning to it myself and making a few changes, then I'll post a version for editing, I've just been too busy to get around to it lately. I think there are some things I could improve, I just need to sit down with it for a little while at some point.

  9. #9

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    I just opened this up again and it's not working even close to correctly for some reason. I'm not sure what changed, but I'll try to fix it and repost.

    edit: I see, Protools doesn't send note off commands, it sends note on commands with velocity 0.

  10. #10

    Re: 4 Part divisi multi script for Kontakt (with correct legato connections)

    Mark,

    In the script you should use the following for the 'note off' to work for all eventualities:

    {NOTE OFF}
    if ($MIDI_COMMAND = $MIDI_COMMAND_NOTE_OFF or ($MIDI_COMMAND = $MIDI_COMMAND_NOTE_ON and $MIDI_BYTE_2 = 0))
    ignore_midi
    {do what you need to do}
    Justin

Go Back to forum

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •