Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Q&A, Tips, Tricks and Howto

Reply
 
Thread Tools Display Modes
Old 08-20-2015, 07:20 PM   #1
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default Velocity Keyswitch Multi-Script, Providing 64 Instruments in Kontackt..

New Video Tutorials

for the

Velocity Keyswitch Multiscript


R. D. Villwock (aka Big Bob)

Kontakt 4 & 5: 64 nki Instruments instead of 16




Below are the download links for 3 ZIP files: 1.The User Guide & Multiscript. / 2.Reaper project files with the midi tracks for both Kontakt-4 & Kontakt-5. / 3.Four individual tutorials for how to load and use the Keyswitch Multiscript.
Here are a couple of YouTube videos: 1.The first shows the Reaper project midi tracks I ended up with while testing the multiscript. / 2.A full tutorial of how to use the mulltiscript.

Check out Big Bob's post on VI-Control
Quote, Big Bob Writes:______________________________
Here is another multiscript for your toolbox that you may find useful, at least until NI delivers a VST3 version of its plugin for our DAWs. It gives you access to all 64 Kontakt MIDI channels from your DAW and uses keyswitch velocity to reduce the number of keyswitches typically required for larger templates. Using keyswitch velocity was suggested to me by my friend Tod Stillwell and it inspired me to write this script. Hopefully, others will find this as useful as Tod and I have.


User Guide Overview
This script can allow you to break the 16-channel barrier of VST2 and enable your DAW to access all 64 of Kontakt’s MIDI channels. You can insert a single instance of Kontakt with up to 64 different instruments and your DAW will be able to ‘reach’ all of them via special velocity keyswitches that you set up. Your DAW will be able to switch between these instruments even if they are locked. The script is easily configured to accommodate various combinations of instruments and articulations to support most any project. In many cases, projects that now require 3 or 4 instances of Kontakt can be handled with a single instance of Kontakt.

The script requires no custom graphics to be added to your computer —yet provides an extremely clean and user-friendly human interface that uses minimal panel real estate. However, before attempting to use this script you should thoroughly read through this User Guide at least once. There is a bit of a learning curve to get over before you can get the benefit of what this script can do for you.
If anybody has any questions, please ask, I'll try to answer any questions I can.

Last edited by Tod; 08-21-2015 at 03:07 PM.
Tod is offline   Reply With Quote
Old 08-21-2015, 05:40 PM   #2
gmgmgm
Human being with feelings
 
Join Date: Jan 2013
Posts: 117
Default

Thanks for putting this information into such a neat package, Tod. I saw an earlier reference you made to this script but, not being a VI-Control member, couldn't download it.

OT but somewhat related: just in case you haven't already come across it, this is looking interesting for some keyswitching applications ...

http://www.syntheticorchestra.com/articulatereaper/
gmgmgm is offline   Reply With Quote
Old 08-21-2015, 06:14 PM   #3
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by gmgmgm View Post
Thanks for putting this information into such a neat package, Tod. I saw an earlier reference you made to this script but, not being a VI-Control member, couldn't download it.

OT but somewhat related: just in case you haven't already come across it, this is looking interesting for some keyswitching applications ...

http://www.syntheticorchestra.com/articulatereaper/
Thanks gmgmgm, yes I did check it out with the BRSO FX, but it didn't work out. I forget exactly where I ran into the problem, but it had something to do with conflicting midi channels. I did discuss it briefly with Breeder and from what I can remember, I think he agreed.

At any rate, I hope you can find a use for this multiscript. Although it has some great possibilities for orchestration, I think the possibilities with this script goes beyond that and I'm going to look into this more in the coming weeks.
Tod is offline   Reply With Quote
Old 11-03-2015, 06:03 PM   #4
timbralzoom
Human being with feelings
 
timbralzoom's Avatar
 
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 900
Default

Thank you so much!
timbralzoom is online now   Reply With Quote
Old 11-04-2015, 10:25 AM   #5
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by timbralzoom View Post
Thank you so much!
Your welcome.
Tod is offline   Reply With Quote
Old 03-16-2017, 10:57 AM   #6
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Great stuff here. I'm looking for a script that let me select via keyswitches one instruments at once inside one kontakt istance or a group of them if needed.

For the first thing I can use KS Router by orange samples but for the second thing I can't.

I hope it's not cpu demanding.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-16-2017, 11:19 AM   #7
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
Great stuff here. I'm looking for a script that let me select via keyswitches one instruments at once inside one kontakt istance or a group of them if needed.

For the first thing I can use KS Router by orange samples but for the second thing I can't.

I hope it's not cpu demanding.
Hi DANIELE, I'm not sure I follow you, can you explain in more detail what you're looking for?
Tod is offline   Reply With Quote
Old 03-16-2017, 12:39 PM   #8
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Hi DANIELE, I'm not sure I follow you, can you explain in more detail what you're looking for?
Hi Tod, I'll try with an example.

I load 3 patches in one istance of kontakt, respectively on:

Patch 1 [a] - 1
Patch 2 [a] - 2
Patch 3 [a] - 3

Now I want to use keyswitches to switch between those patches, so I can use KS Router or this script to do this!

What I want to do in addiction is to configure some more keyswitches to play some of this patches at the same time (for example to stack a staccato patch on a legato or sustain patch), so I'll have maybe:

Patch 1 & Patch 2 together
Patch 2 & Patch 3
and so on...

I tried with this script but I don't think it does what I need.

I hope you understand now.
I don't want to use banks because I want to access every instrument interface but I don't find anything about what I need and actually I don't have time to study kontakt scripting language.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-16-2017, 03:25 PM   #9
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
Hi Tod, I'll try with an example.

I load 3 patches in one istance of kontakt, respectively on:

Patch 1 [a] - 1
Patch 2 [a] - 2
Patch 3 [a] - 3

Now I want to use keyswitches to switch between those patches, so I can use KS Router or this script to do this!

What I want to do in addiction is to configure some more keyswitches to play some of this patches at the same time (for example to stack a staccato patch on a legato or sustain patch), so I'll have maybe:

Patch 1 & Patch 2 together
Patch 2 & Patch 3
and so on...

I tried with this script but I don't think it does what I need.

I hope you understand now.
I don't want to use banks because I want to access every instrument interface but I don't find anything about what I need and actually I don't have time to study kontakt scripting language.
Hi again DANIELE, You could do this without a script, but it gets pretty complex and would depend on how many patchs you want to work with this.

If you just had the 3 patches it would only take 6 keyswitchs and is fairly simple. The more patches you have in the queue, the keyswitchs increase in a compounding way. For example, if you have 4 patches I think it would increase to 10 keyswitchs. Heh heh, I'm not exactly sure, that's just off the top of my head.

I'll have to think some on the multiscript, I'm sure it can be done there, but I'd need to have the time to get into it. I might be able to do that tomorrow.
Tod is offline   Reply With Quote
Old 03-16-2017, 04:31 PM   #10
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

DANIELE, how many patches are you wanting to do this with?
Tod is offline   Reply With Quote
Old 03-17-2017, 01:01 AM   #11
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 12,243
Default

Tod sent you a could emails about this...
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 03-17-2017, 01:23 AM   #12
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Thank you for your answer.

We have to deal with the time zone (Italy here) so I'll try to answer you as soon as I can.

Well, I think for stacking articulation I'll work with an average of 3 - 4 patches max.

For articulation changes I'll work with more patches but switching between single articulation (patches) is not a problem as I said before.

The difficulty is to choose between single patch switching or stacking patch in the same istance.

I could have for example:

Patch 1
Patch 2
Patch 3
Patch 4
Patch 5
Patch 6
Patch 7
Patch 8
Patch 9
Patch 10

I want to switch between 10 patches or stack the first four patches or the first third patches or patch 3, 4, 5 or 3, 6, 9and so on.
This is an extreme example of what I would do, I can also accept more restricted way to do something like this.

The important thing is that the load on the CPU is minimized for every kontakt istance in which I'll use this method because I use many istances.

I think I could do this by splitting the incoming midi message dynamically to one or more midi channel in kontakt and by activating this split with keyswitches that I configure in the script interface.

For example I decide to set C-2 to send the midi message to channels [a] - 1 and [a] - 2 simultaneously, then C#-2 to send midi message only to channel [a] - 1 and so on.

Thank you for your time.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES

Last edited by DANIELE; 03-17-2017 at 01:52 AM.
DANIELE is online now   Reply With Quote
Old 03-17-2017, 09:29 AM   #13
emid
Human being with feelings
 
Join Date: Feb 2016
Posts: 136
Default

Thank you, Tod! Very useful.
emid is online now   Reply With Quote
Old 03-17-2017, 10:00 AM   #14
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
Well, I think for stacking articulation I'll work with an average of 3 - 4 patches max.

For articulation changes I'll work with more patches but switching between single articulation (patches) is not a problem as I said before.

The difficulty is to choose between single patch switching or stacking patch in the same istance.

I could have for example:

Patch 1
Patch 2
Patch 3
Patch 4
Patch 5
Patch 6
Patch 7
Patch 8
Patch 9
Patch 10

I want to switch between 10 patches or stack the first four patches or the first third patches or patch 3, 4, 5 or 3, 6, 9and so on.
This is an extreme example of what I would do, I can also accept more restricted way to do something like this.

The important thing is that the load on the CPU is minimized for every kontakt istance in which I'll use this method because I use many istances.

I think I could do this by splitting the incoming midi message dynamically to one or more midi channel in kontakt and by activating this split with keyswitches that I configure in the script interface.

For example I decide to set C-2 to send the midi message to channels [a] - 1 and [a] - 2 simultaneously, then C#-2 to send midi message only to channel [a] - 1 and so on.
Okay, all though there are 256 possible combinations, it can probably be narrowed down to 128.

Do you want to do this in real time, by that I mean set up your combinations in real time with keyswitchs? That could get a little tricky. A keyswitch only has 2 parameters, pitch and velocity.

I think it's possible to set up some kind of matrix, but that wouldn't be real time.
Tod is offline   Reply With Quote
Old 03-17-2017, 10:09 AM   #15
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Okay, all though there are 256 possible combinations, it can probably be narrowed down to 128.

Do you want to do this in real time, by that I mean set up your combinations in real time with keyswitchs? That could get a little tricky. A keyswitch only has 2 parameters, pitch and velocity.

I think it's possible to set up some kind of matrix, but that wouldn't be real time.
I need keyswitches to set them up in a midi item, so while I play my composition they change the instruments played on the fly.

I want to do what I can already do using different tracks in one track.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-17-2017, 11:40 AM   #16
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
I want to do what I can already do using different tracks in one track.
Do you mean different midi channels in one track?
Tod is offline   Reply With Quote
Old 03-17-2017, 12:14 PM   #17
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Do you mean different midi channels in one track?
No, I work with a single istance of Kontakt per track, so I don't use midichannels but every instruments loaded in that istance will be played in that track.

So I want the possibility to switch between articulation of the same instrument or to stack them to combine the articulations to create sounds that an orchestral player could do in real life.

So during the playback of midi notes I would to place some keyswitch to change the sound accordingly to my desires.

Do you understand what I'm trying to achieve?
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-17-2017, 12:39 PM   #18
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
No, I work with a single istance of Kontakt per track, so I don't use midichannels but every instruments loaded in that istance will be played in that track.
So each instance of Kontakt only has one midi channel? How many instruments (or patches) do you usually have in one instance of Kontakt?

Quote:
So I want the possibility to switch between articulation of the same instrument or to stack them to combine the articulations to create sounds that an orchestral player could do in real life.
Yeah, I've also done that a lot to over the years, but it's basically to get around the lack of expression and dynamics that midi and samples give you. Like using staccato with some other articulation to create string runs.

However, I usually put them on different midi tracks with different midi channels. Also, I usually have all my articulations in one instance of Kontakt.

Quote:
So during the playback of midi notes I would to place some keyswitch to change the sound accordingly to my desires.

Do you understand what I'm trying to achieve?
I think so, although I'm confused on exactly how you've got your Kontakt instances set up. Multi scripts are for single instances of Kontakt, so if you're using different instances for your various patches, then another approach is needed.
Tod is offline   Reply With Quote
Old 03-17-2017, 02:10 PM   #19
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
So each instance of Kontakt only has one midi channel? How many instruments (or patches) do you usually have in one instance of Kontakt?



Yeah, I've also done that a lot to over the years, but it's basically to get around the lack of expression and dynamics that midi and samples give you. Like using staccato with some other articulation to create string runs.

However, I usually put them on different midi tracks with different midi channels. Also, I usually have all my articulations in one instance of Kontakt.



I think so, although I'm confused on exactly how you've got your Kontakt instances set up. Multi scripts are for single instances of Kontakt, so if you're using different instances for your various patches, then another approach is needed.

Ok, I try to be more precise. I'm a bit limited by the language.

Ok, I use a template where 1 istance of Kontakt ---> 1 Instrument so basically I load one patch for every istance of K5.
I don't use midi channel anymore because I found this configuration more stable and less heavy on cpu then the previous one at the cost of more ram occupied.

So the midi notes written in the midi item send a midi message on the istance of kontakt by default on midi port [a] - channel 1.

If I load more than one patch on the istance and I put the first one on [a] -1, the second one on [a] - 2 and so on, when I play the track only the instrument on [a] - 1 output a sound obviously.

So to enhance this configuration I load more than one patch on the istance of kontakt and I want to use them all selecting what I need through keyswitching avoiding the use of multiple tracks to achieve so.
Doing this is not a problem using this same script or KS Router or other things I find in the internet.

What I want is the possibility to split the one incoming signal from the track on kontakt port [a] - channel 1 to the tracks I selected for the particular keyswitch used.

Summary:

1 Reaper track --> 1 Kontakt --> patch on port [a] - channel 1, 2, 3, 4,....

I configured (for example) C0 to select 1, 3 and 4 so the midi notes on the track will play patches on channel 1, 3 and 4.

I could do this only on selected tracks where I need it.

So 1 multi-script for every istance on every track where I need it.

The alternative could be a JS FX.
I'm experienced in coding but I'm very busy at work at the moment, as I said I don't have time to study it.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-17-2017, 02:54 PM   #20
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
Ok, I try to be more precise. I'm a bit limited by the language.
That's okay DANIELE, I'm limited to English so it's not your fault.

Quote:
Ok, I use a template where 1 istance of Kontakt ---> 1 Instrument so basically I load one patch for every istance of K5.
I don't use midi channel anymore because I found this configuration more stable and less heavy on cpu then the previous one at the cost of more ram occupied.

So the midi notes written in the midi item send a midi message on the istance of kontakt by default on midi port [a] - channel 1.

If I load more than one patch on the istance and I put the first one on [a] -1, the second one on [a] - 2 and so on, when I play the track only the instrument on [a] - 1 output a sound obviously.

So to enhance this configuration I load more than one patch on the istance of kontakt and I want to use them all selecting what I need through keyswitching avoiding the use of multiple tracks to achieve so.
Doing this is not a problem using this same script or KS Router or other things I find in the internet.

What I want is the possibility to split the one incoming signal from the track on kontakt port [a] - channel 1 to the tracks I selected for the particular keyswitch used.

Summary:

1 Reaper track --> 1 Kontakt --> patch on port [a] - channel 1, 2, 3, 4,....

I configured (for example) C0 to select 1, 3 and 4 so the midi notes on the track will play patches on channel 1, 3 and 4.

I could do this only on selected tracks where I need it.

So 1 multi-script for every istance on every track where I need it.

The alternative could be a JS FX.
I'm experienced in coding but I'm very busy at work at the moment, as I said I don't have time to study it.
Okay, first of all, "multi scripts" are a per instance of Kontakt type of script, that work with all the patches in that particular instnace of Kontakt. "Instrument scripts" are a per patch type of script and will only work on that patch that it is loaded into.

In a way it would be easier to use instrument (patch) scripts. However, nearly all the libraries you have, already have there own scripts. Consequently this is very dificult, if not impossible to do at the patch level.

Okay, so here is my main question now: Are all the articulations you need, for any given midi track, all placed in the same instance of Kontakt?

Just so you know, I'm getting something out of this too, it's causing me to go into areas I've not gone before.

Also I want to say, I've listened to some of your compositions, and I'm impressed, they sound quite good and show that you've got a good handle on midi compositon.
Tod is offline   Reply With Quote
Old 03-17-2017, 03:10 PM   #21
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
That's okay DANIELE, I'm limited to English so it's not your fault.



Okay, first of all, "multi scripts" are a per instance of Kontakt type of script, that work with all the patches in that particular instnace of Kontakt. "Instrument scripts" are a per patch type of script and will only work on that patch that it is loaded into.

In a way it would be easier to use instrument (patch) scripts. However, nearly all the libraries you have, already have there own scripts. Consequently this is very dificult, if not impossible to do at the patch level.

Okay, so here is my main question now: Are all the articulations you need, for any given midi track, all placed in the same instance of Kontakt?

Just so you know, I'm getting something out of this too, it's causing me to go into areas I've not gone before.

Also I want to say, I've listened to some of your compositions, and I'm impressed, they sound quite good and show that you've got a good handle on midi compositon.
I know, I need a multiscript or at least a JS FX because I need to manage all the instruments (or articulations or patches, name it as you want) loaded in the kontakt instance.

For answering your question YES, for every track I want to have the possibility to load and use a group of articulations in one istance of K5.
So 1 Reaper Track --> 1 Istance of K5 --> multiple patches/articulation loaded.

For example:

Track 1 - Cellos --> K5 istance --> patches loaded:
Cellos Legato [a] - 1
Cellos Tremolo [a] - 2
Cellos Spiccato [a] - 3
Cellos Staccato [a] - 4
and so on

So I'll write some melody and use keyswitches to switch between the legato and tremolo, then I switch to staccato etc...

Now I want to stack 1 and 2 so I'll have some sort of legato/tremolo sound...

Thanks for your compliments.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-17-2017, 03:20 PM   #22
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
I know, I need a multiscript or at least a JS FX because I need to manage all the instruments (or articulations or patches, name it as you want) loaded in the kontakt instance.

For answering your question YES, for every track I want to have the possibility to load and use a group of articulations in one istance of K5.
So 1 Reaper Track --> 1 Istance of K5 --> multiple patches/articulation loaded.

For example:

Track 1 - Cellos --> K5 istance --> patches loaded:
Cellos Legato [a] - 1
Cellos Tremolo [a] - 2
Cellos Spiccato [a] - 3
Cellos Staccato [a] - 4
and so on

So I'll write some melody and use keyswitches to switch between the legato and tremolo, then I switch to staccato etc...

Now I want to stack 1 and 2 so I'll have some sort of legato/tremolo sound...

Thanks for your compliments.
Okay, I think I understand what you need now and I think a Multi Script can do it.

So what is the maximum channels (articulations) you think you'll need for all articulations in each instance of Kotnakt.

The more we can narrow it down the better. I think the list you have above is quite doable.
Tod is offline   Reply With Quote
Old 03-17-2017, 03:34 PM   #23
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Okay, I think I understand what you need now and I think a Multi Script can do it.

So what is the maximum channels (articulations) you think you'll need for all articulations in each instance of Kotnakt.

The more we can narrow it down the better. I think the list you have above is quite doable.
Well, let's see from five to ten articulations (this is an extreme limit by the way).

Anyway do what you think it's best considering first of all performances (cpu demand).

Thanks for your patience and your help.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-18-2017, 06:05 PM   #24
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Hi again DANIELE, I've put a good effort into this and it's not looking to good. Based on one channel from Reaper, I've been trying to send the midi data to 2 and 3 different midi channels with the multi-script, but so far I haven't been able to figure it out.

I've even asked around the various forums that deal with Kontakt, but so far no luck. I'm not one to give up easily so I'm going to give it another shot tomorrow.
Tod is offline   Reply With Quote
Old 03-19-2017, 03:04 AM   #25
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Hi again DANIELE, I've put a good effort into this and it's not looking to good. Based on one channel from Reaper, I've been trying to send the midi data to 2 and 3 different midi channels with the multi-script, but so far I haven't been able to figure it out.

I've even asked around the various forums that deal with Kontakt, but so far no luck. I'm not one to give up easily so I'm going to give it another shot tomorrow.
Thank you Tod. I don't know how to thank you.

I too could not find anything, it seems incredible that no one has thought of a script like this.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-19-2017, 08:05 AM   #26
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
I too could not find anything, it seems incredible that no one has thought of a script like this.
Hi DANIELE, okay, a little success today.

The only thing that concerns me now, is covering all possibilities, it will take 256 queries. This could be a little intensive.

I'm going to see if I can narrow that down a little today.
Tod is offline   Reply With Quote
Old 03-19-2017, 08:29 AM   #27
Outboarder
Human being with feelings
 
Outboarder's Avatar
 
Join Date: Feb 2014
Posts: 561
Default

Hi Tod

I made a key switch mod for MIDI-tool V2
maybe it helps!?

Script:
http://forum.cockos.com/showpost.php...9&postcount=13
Demo:
http://forum.cockos.com/showpost.php...2&postcount=12
__________________
Hope Sacred Passion Life Night Ache Soft Light
Outboarder is online now   Reply With Quote
Old 03-19-2017, 09:00 AM   #28
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by Outboarder View Post
Hi Tod

I made a key switch mod for MIDI-tool V2
maybe it helps!?

Script:
http://forum.cockos.com/showpost.php...9&postcount=13
Demo:
http://forum.cockos.com/showpost.php...2&postcount=12
Hi Outboarder, that looks neat, but it appears to just play 1 channel at a time, is that right?

What we're trying to do, is be able to play multiple channels, all selectable in real time. This would be on any midi track that is already setup with a midi channel.
Tod is offline   Reply With Quote
Old 03-19-2017, 10:35 AM   #29
Outboarder
Human being with feelings
 
Outboarder's Avatar
 
Join Date: Feb 2014
Posts: 561
Default

Quote:
Originally Posted by Tod View Post
What we're trying to do, is be able to play multiple channels, all selectable in real time. This would be on any midi track that is already setup with a midi channel.
Poly KeySwitch! That's neat, I'll check that later.
__________________
Hope Sacred Passion Life Night Ache Soft Light
Outboarder is online now   Reply With Quote
Old 03-19-2017, 01:04 PM   #30
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Okay DANIELE, I think I've got it working.

However, rather than keyswitchs, I'm using just one midi controller. I think it will be less messy, and a little easier to follow.

It can be any controller you want but lets just say we use CC5 for for the CC controller. This is the way I'm thinking.

>CC5 values 1 to 16 will turn the respective channels off.
>CC5 values 21 to 36 will turn the respective channels on.
>CC5 value 40 turns the script off (bypasses it) and a value of 41 turns it on (un-bypasses it).

That narrows the query down to 16.

I'm also thinking of adding an option to select the maximum number of channels, which would narrow the query down even more.

What do you think?
Tod is offline   Reply With Quote
Old 03-19-2017, 01:13 PM   #31
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Okay DANIELE, I think I've got it working.

However, rather than keyswitchs, I'm using just one midi controller. I think it will be less messy, and a little easier to follow.

It can be any controller you want but lets just say we use CC5 for for the CC controller. This is the way I'm thinking.

>CC5 values 1 to 16 will turn the respective channels off.
>CC5 values 21 to 36 will turn the respective channels on.
>CC5 value 40 turns the script off (bypasses it) and a value of 41 turns it on (un-bypasses it).

That narrows the query down to 16.

I'm also thinking of adding an option to select the maximum number of channels, which would narrow the query down even more.

What do you think?
Yeah, I think it should work.

Programming the track using keyswitches or CCs is the same. Well, keyswitches is more piano roll related but I think it's a great idea and a very practical solution.

I can't wait to test it out.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-19-2017, 01:15 PM   #32
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Outboarder View Post
Poly KeySwitch! That's neat, I'll check that later.
Hi Outboarder, I didn't see your post.

I have to thank you too for your time.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-20-2017, 10:35 AM   #33
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
Programming the track using keyswitches or CCs is the same. Well, keyswitches is more piano roll related but I think it's a great idea and a very practical solution.
Hi again DANIELE, I've got it a big step forward, but there's something I didn't really stop to think about.

All patches that are selected by the script are getting the same midi data. In other words, they all receive the same CC7, CC11, etc. data, or any other midi data you might be sending on a particular channel.

How do you want to deal with this?

I can make it so that it just sends the notes through, but that kind of takes some important controls away. However, I could make it so that all the data went through to the midi channel you're sending on, and just the notes on the others.

You could set up the main volumes of each patch to react to a different controller than CC7. If you did this you wouldn't be able to use CC7 unless you turned off "Accept standard controllers for Volume and Pan" in the instrument options of all the patches except one.

let me know what you think.

EDIT: You could also set up other Volume modulators Like CC1 and CC11 to be different in each instrument to. However, you need to be careful and make sure you've got all the necessary groups selected.

Last edited by Tod; 03-20-2017 at 12:17 PM.
Tod is offline   Reply With Quote
Old 03-21-2017, 02:00 AM   #34
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Hi again DANIELE, I've got it a big step forward, but there's something I didn't really stop to think about.

All patches that are selected by the script are getting the same midi data. In other words, they all receive the same CC7, CC11, etc. data, or any other midi data you might be sending on a particular channel.

How do you want to deal with this?

I can make it so that it just sends the notes through, but that kind of takes some important controls away. However, I could make it so that all the data went through to the midi channel you're sending on, and just the notes on the others.

You could set up the main volumes of each patch to react to a different controller than CC7. If you did this you wouldn't be able to use CC7 unless you turned off "Accept standard controllers for Volume and Pan" in the instrument options of all the patches except one.

let me know what you think.

EDIT: You could also set up other Volume modulators Like CC1 and CC11 to be different in each instrument to. However, you need to be careful and make sure you've got all the necessary groups selected.
I think the ideal situation is to send CCs only to actually playing instruments inside the kontakt istance (this will be useful to save CPU power).

Change default CCs it is not a good practice, it can cause some issues with many libraries.
If you can't do this I can send CCs messages to all instruments loaded in the istance and play notes only on active ones.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-21-2017, 08:03 AM   #35
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

I forgot to remember you to test the script on "hanging notes" id est if you change group of intruments while are you playing a note what happens?
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-21-2017, 08:56 AM   #36
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
I think the ideal situation is to send CCs only to actually playing instruments inside the kontakt istance (this will be useful to save CPU power).

Change default CCs it is not a good practice, it can cause some issues with many libraries.
If you can't do this I can send CCs messages to all instruments loaded in the istance and play notes only on active ones.
Okay, am I understanding you correctly, I should make it so it only plays the notes, and does not play the CCs? I can do that fairly easily.
Tod is offline   Reply With Quote
Old 03-21-2017, 09:28 AM   #37
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
I forgot to remember you to test the script on "hanging notes" id est if you change group of intruments while are you playing a note what happens?
I'm not totally sure I understand, but I did build in a function that will turn all the notes off in a certain midi channel, when that channel is turned off. That was going to be another question I had.

I built in a loop that will turn off the notes, one key at a time, and it seems to work fine. However there is another way to do it that is a little more efficient.

In in the "Instrument Options", under "Controller", there is "Accept all notes off/ all sounds off". If you uncheck the check box for that option, then you can use CC123 to turn off all the notes in that instrument. You just have to remember to also use CC123 when you turn a channel off.

The important thing to know is, that the "loop" does this automatically with nothing else involved. With CC123 you have to remember the "Instrument Options" and then to use CC123 when it is necessary.

Also, just so that you know, if you end all notes on a channel before you turn it off, then there is no problem. By that I mean, if the notes do not go beyond, or overhang where the CC that turns the channel off is located, then there is no problem with hanging notes.

We can do it either way.

Hope I made myself clear?
Tod is offline   Reply With Quote
Old 03-21-2017, 01:04 PM   #38
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Okay, am I understanding you correctly, I should make it so it only plays the notes, and does not play the CCs? I can do that fairly easily.
Yes, you understand well.

Quote:
Originally Posted by Tod View Post
I'm not totally sure I understand, but I did build in a function that will turn all the notes off in a certain midi channel, when that channel is turned off. That was going to be another question I had.

I built in a loop that will turn off the notes, one key at a time, and it seems to work fine. However there is another way to do it that is a little more efficient.

In in the "Instrument Options", under "Controller", there is "Accept all notes off/ all sounds off". If you uncheck the check box for that option, then you can use CC123 to turn off all the notes in that instrument. You just have to remember to also use CC123 when you turn a channel off.

The important thing to know is, that the "loop" does this automatically with nothing else involved. With CC123 you have to remember the "Instrument Options" and then to use CC123 when it is necessary.

Also, just so that you know, if you end all notes on a channel before you turn it off, then there is no problem. By that I mean, if the notes do not go beyond, or overhang where the CC that turns the channel off is located, then there is no problem with hanging notes.

We can do it either way.

Hope I made myself clear?
Sure, I understand. This is what I'm talking about.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 03-21-2017, 01:56 PM   #39
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Posts: 10,324
Default

Quote:
Originally Posted by DANIELE View Post
Yes, you understand well.
Okay, it looks like we're going to have to use the "loop" method to turn off over hanging notes. It appears, Reaper does not have CC123.

Also what I told you is wrong about unchecking "Accept all notes off/all sounds off" in Instrument Options. That check box should, and needs to be, checked.

Heh heh, I keep running into things that need to be considered. However, I'm very close and hope to have something for you tomorrow.

I also need to put a little guide together to show how it works.
Tod is offline   Reply With Quote
Old 03-21-2017, 03:02 PM   #40
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 104
Default

Quote:
Originally Posted by Tod View Post
Okay, it looks like we're going to have to use the "loop" method to turn off over hanging notes. It appears, Reaper does not have CC123.

Also what I told you is wrong about unchecking "Accept all notes off/all sounds off" in Instrument Options. That check box should, and needs to be, checked.

Heh heh, I keep running into things that need to be considered. However, I'm very close and hope to have something for you tomorrow.

I also need to put a little guide together to show how it works.
I think it will be very interesting.
__________________
Audio: AKG-K240 MKII, Steinberg UR22; Piano: Yamaha P-250;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:25 AM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.