# Matrix alternation script



## kotori (May 6, 2006)

I like the articulation switching features in VI (Vienna Instruments) but the price is a bit too high for me, so I tried to implement some of the functionality in a Kontakt script. This script which I wrote today lets you setup a matrix of articulations. You then connect a controller to the horizontal and vertical axes to select the articulation you want. You may use MIDI CC, playing speed or user-defined keyswitches as controller. The items in the matrix are the groups of your instrument. If the groups have any keyswitches you will have to deactivate these before using the script.

Here's a pair of screenshots:




(performance mode)




(edit mode)

You can download the script from my http://nilsliberg.se/ksp/scripts/scripts.html (scripts web page) (the background image is available there as well).
Please keep in mind that this is an early version though. If you find any problem please report it. The script uses new KSP features so it will only work in Kontakt 2.1.

Cheers,
Nils


----------



## sbkp (May 6, 2006)

Nice background image 

Does this allow keyswitching on both axes?


----------



## Thonex (May 6, 2006)

This looks very interesting Nils... although I'm not sure I entirely understand your horizontal/vertical thing. I'm in the middle of a project now so I don't have time to test it (although I come here whenever I take a little break)... could you just clarify this a little:



> You then connect a controller to the horizontal and vertical axis to select the articulation you want.



Thanks Nils.... and I'm sure this is going to be a great tool... oh... and nice skin too :smile: 

Cheers,

T


----------



## kotori (May 6, 2006)

Thanks :smile:.
Yes, it's possible to use key-switching on both axes.

Thonex, eg. you can configure the script to select one of the two rows using mod-wheel and one of the columns based on playing speed. Then you just play and by varying the speed and changing CC1 the script switches articulation for you.
Another example - by assigning sustain pedal (CC64) as the vertical controller and mod-wheel (CC1) as the horizontal you can switch between the rows with your pedal and select an articulation inside the selected row by using your mod-wheel.


----------



## Thonex (May 6, 2006)

Ahhh... ok... I see now.... 

I look forward to trying it out when I have some down time.

I must say... I'm glad you found this forum :smile: 

Cheers,

T


----------



## sbkp (May 6, 2006)

kotori @ Sat May 06 said:


> Yes, it's possible to use key-switching on both axes.



Well, I'm glad I didn't try to write this script! First, it wouldn't have been as good, and second, I never would have thought to use that background image...


----------



## ComposerDude (May 6, 2006)

Nice background image! Original? or an image library somewhere? (and what else is in the library)?

-Peter


----------



## sbkp (May 6, 2006)

Think of a movie with the same name as this script. Then look at the background image again


----------



## Frederick Russ (May 6, 2006)

Great work Nils. I'm going to wait a bit before installing K2.1 though (needed for the script) until their bugs have been ironed out. If it can do what you're saying then that's simply fabulous. Can't wait to try it out on Sonic Implants Symphonic Strings, SAM & EWQLSO.


----------



## ComposerDude (May 6, 2006)

sbkp said:


> Think of a movie with the same name as this script. Then look at the background image again :smile:



True, the character waterfall is similar but I'm also referring to the textured background: a nice bit of Photoshop work with horizontally-blurred noise, a parabolic edge shape, some nice gradient work, and a nonshaded green baseline at the front. Produces a good feeling of depth when placed behind the UI buttons. (I opened the Truevision Targa .tga file to appreciate the original art sans UI.)

-Peter


----------



## kotori (May 7, 2006)

ComposerDude @ Sun May 07 said:


> Nice background image! Original? or an image library somewhere? (and what else is in the library)?
> 
> -Peter



Well, I took the liberty of combining the Metalskin background image included in K2.1 with a small piece of a Linux desktop background image available on the internet - I hope no one will mind. Did a quick blend of the two in Gimp and colored the result green. Normally I actually like brigther backgrounds but in this case everything was pretty much set for this theme... :wink: 



Frederick Russ @ Sun May 07 said:


> Great work Nils. I'm going to wait a bit before installing K2.1 though (needed for the script) until their bugs have been ironed out. If it can do what you're saying then that's simply fabulous. Can't wait to try it out on Sonic Implants Symphonic Strings, SAM & EWQLSO.


Thanks! I hope NI will fix those bugs soon.

Please consider this to be an early version that may still be changed. Eg. I still don't know if the speed scale is optimal. Any feedback on such things would be very helpful. Here are some extensions that I think could be useful:
Add an axis for switching between different matrices (making it 3D - cool, right? :wink: )
Add a row or two (I'd like to add a column too, but that doesn't leave much space for other controls)
Add an edit page where you can specify a keyswitch for the groups you use. Then the script could switch alternations by automating keyswitches instead of activating single groups directly. The benefit of this is that it would interact better with existing group start options. Eg. the script would work on instruments using round-robin.
All of these take some work, so I don't know yet which of them will be implemented. The first one would be nice though.

Cheers,
Nils


----------



## Waywyn (May 7, 2006)

wow dude,

you killing me here. if this works out i have to reorder my template ... again ) damn you!!! 

thanks for doing this!


----------



## Waywyn (May 7, 2006)

i just tried it and i think it would be even cooler to do have a automatic alternation between e.g. both first places of the rows.

so you are able to have e.g. stacc 1 and stacc 2 vertically, then you can apply 3sec fast notes 1+2 on the next row, then 5 seconds etc.

or is this already possible?


----------



## kotori (May 7, 2006)

Waywyn @ Sun May 07 said:


> i just tried it and i think it would be even cooler to do have a automatic alternation between e.g. both first places of the rows.
> 
> so you are able to have e.g. stacc 1 and stacc 2 vertically, then you can apply 3sec fast notes 1+2 on the next row, then 5 seconds etc.
> 
> or is this already possible?


Hi Alex, I'm not sure I completely understand you. Do you mean automatic round robin between the two rows?


----------



## Waywyn (May 7, 2006)

exactly! 

or maybe i explain it better.

right now it is only possible to have ks or midi cc between all those boxes.

but if it would be able to have round robin (vertically) and then speed control between column 1, 2, 3 and 4 you could setup:

horizontally: sus for 1st box, 0,5 sec for 2nd box, 0,3 sec for 3rd and stac for 4th.

the second lower row you would use for another sus program on 1st box, then on the 2nd box the 0,5 alternate program, then on box 3 the other 0,3 and for the 4th box stacc2 .... hope you understand that.


----------



## kotori (May 7, 2006)

Hi again Alex,
I added round robin. Please download the new version (same URL - just replace the earlier script) and try it out. 
The code is pretty modular so I only had to add some 10 lines of code to make it work both within rows and between rows. :smile: 

Cheers,
Nils


----------



## Waywyn (May 7, 2006)

wow ... that was ... uhm ...fast 
Gonna try it definitely!!


----------



## Thonex (May 7, 2006)

Waywyn *Posted: Today at 2:52 am * 



Waywyn @ Posted: Today at 2:52 am said:


> exactly! Smile
> 
> or maybe i explain it better.
> 
> right now it is only possible...



Kotori posted *Sun May 07, 2006 3:11 am*



kotori @ Sun May 07 said:


> Hi again Alex,
> I added round robin. Please download the new version (same URL - just replace the earlier script) and try it out.
> The code is pretty modular so I only had to add some 10 lines of code to make it work both within rows and between rows. :smile:
> 
> ...




Wow :shock: :shock: 19 minutes later!!!! That was fast!! Talk about service!!!!

I can't wait to try these out when I have some down time.

Cheers Nils,


T


----------



## Big Bob (May 7, 2006)

Andrew,

You are going to have to stop allowing a mundane thing like work to keep you from playing with all these new toys :wink: 

Bob


----------



## NedK (May 7, 2006)

Thanks for this Nils!
While I'm at it, also wanted to give a big thanks for your Opus keyswitch programs and the Ram Manager. Great work!


----------

