• SONAR
  • MIDI control of articulations Sonar and Kontakt 5
2017/07/20 22:09:49
tedvanya
One of you using Kontakt 5, could you please walk me through one instrument, I got as far as creating a bank header, loading ( for example) violin ensemble into slots, each contains the same instrument but the articulation set differently. Now I save it as a bank file and it does not work, the articulations did not change. How should I handle this in Sonar Professional? We used to have Program Changes, I can not find them anymore.
Any help will be appreciated.
(Windows 7, Lexicon Alpha, 8 G m, M-Audio KeyStation 65, GPO4,5, Kontakt Factory Lib., GPlayer.)
Ted
2017/07/21 13:40:15
dcumpian
Not sure that Kontakt accepts program change messages. You probably want to simply create a midi template that has the instruments the way you want them.
 
https://www.cakewalk.com/Documentation?product=SONAR&language=3&help=Templates_KeyBindings.2.html
 
 
Dan
 
2017/07/21 15:41:44
msorrels
I think it can but I never use it this way.  Here's a quick guide:
 
Inside Kontakt choose New Instrument Bank (from the Diskette menu icon)
The click on the wrench on the Bank Instrument and you'll see a bunch of slots for instruments.  Drag .nki instruments into those numbers. 
 
This is the main reason I don't use this method, if you want to setup an instrument you have to load it, set it up (with it's GUI) and then save as it as yet another .nki.  Since there is no way to get to the instruments UI from the Instrument Bank.
 
But lets ignore that.  Say you load something into slot 001 and another instrument into slot 002.  To test this I recommend loading two vastly different instruments so you can tell.  Articulations can be tricky to tell the difference.
 
On the MIDI track inside SONAR (I almost always use a separate MIDI track not a Instrument track in SONAR) you can insert a bank/patch change (use the Insert Menu item).  For the bank/patch change choose "Normal" for the Bank Select Method.  Choose 0-bank 0 for the bank.  and the Patch you want <unknown> for slot 001 and 1 for slot 002.  There may be some way to "teach" SONAR the names of the patches but I'm not sure how.
 
If you open the event viewer you can see the bank/patch changes
 
Here's a screenshot which might help (https://snag.gy/2aW4Nl.jpg for the full sized version)

2017/07/21 15:46:29
dcumpian
Eww...I wouldn't want to use Kontakt that way. Too much "seeing under the skirt" for me. Lol.
 
Dan
 
2017/07/21 16:00:20
msorrels
I should also point out there are a few Kontakt scripts that can work with this process.  I have Orange Tree Samples "Mind Control" https://www.orangetreesamples.com/products/mind-control it will let you trigger the Kontakt patch selection using MIDI notes (aka key switching).  There are also some free Kontakt scripts that can do similar things.  (Google should be able to find them). 
 
Mind Control is interesting because it works and has a couple of really nice videos showing this way of using Kontakt.  I'd say the videos for it are good/worthwhile even if you don't buy the product.
 
But again, I don't think the bank implementation in Kontakt is very good since you can't get at the instruments in the banks.  Which, given how Kontakt instrument these days are all about their GUI, not being able to get to the GUI without a separate load/save is a real killer.
2017/07/21 16:38:09
bitflipper
It sounds as though Kontakt is not seeing the patch change events. Perhaps the MIDI control track is on the wrong MIDI channel? Or maybe you're inserting bank change events rather than program change events?How are you entering the program change events?
 
First, verify that Kontakt is in fact switching programs. With the bank details shown (click the wrench) you should be able to see the program changes happen, as Kontakt highlights the currently-selected program.
 
SONAR doesn't make patch changes particularly easy. This may be different now, but it used to be that I had to specify patch #1 in the event list to activate patch #2 in Kontakt. I could never figure out a way to select patch #1 in Kontakt, since SONAR doesn't allow zero in the program change byte. Rather than figuring it out (pure laziness on my part), I just decided bank and patch changes in Kontakt weren't worth the effort and switched to using separate instruments in a multi. Had OTS' Mind Control existed back then, it might have been the ideal solution. Worth looking into.
 
 
2017/07/21 17:39:04
tedvanya
Thanks a lot, will digest all your suggestions and try things. It give me also some satisfaction that I am not yet complete nuts, the problem is not easy to tackle even for you guys. Thanks again!
Ted
2017/07/27 00:43:13
williamcopper
Depending on your version of Kontakt, you may get better results if you save the bank you created (along with any other banks) as a Kontakt "multi".   
 
It's true then that you must offset the program number: Sonar's program "0" calls up Kontakt's slot number 1 (there is no Kontakt 0).      
 
But once you get it working, and set a CAL script to change bank and patch (much faster than the Sonar dialog), it works fine and very rapidly.    I use full Kontakt multis, 16 tracks, each track with a bank of up to 127 patches ... so 16 * 127 different instruments, max, all ready to go and changable instantly.    
 
I don't guarantee this image will stay around for ever, but below is a picture of the cal script, which I call up with a single letter shortcut key; also shows a full multi with four violin libraries in banks, several hundred articulations all available at once.    The script will add one patch change (the same one, as selected in the prompt) just before each selected note ... so it can potentially set a bunch of them at the same time.   At the same time it will change any selected patch change to a new value.    Midi Bank number, btw, does not have any effect on the Kontakt selection -- so it's always "1" . 
 
 
 https://www.dropbox.com/s...m/cal_n_multi.png?dl=0
 

2017/07/27 00:54:32
williamcopper
As I look at the simple Cal script, I'm reminded that it will fail if used on a note right at 0:0:0 ... must be out at least 5 or 6 ticks from 0 .   I always use a buffer space of a few beats, so never am reminded of the potential for script failure.
 
2017/07/27 10:53:09
msorrels
Note it's not clear from williamcopper's screenshot but he's using Kontakt Instrument Banks as well, only he's loaded many of them (on different MIDI channels).  Using CAL scripts to change the patch, especially if you bind the script to a key can make things much easier.  His script requires you select notes and then changes the patch on every selected note, just before the note.  I think I'd prefer something a bit simpler that would just insert the patch at the current play head.  Something like this:
 
; add_patch_now.cal
;
; insert patch change at current play head
;

(do
 (int adjval 1)
 (int new_bank 1) ; New Bank Number
 (int new_patch 1)
 
 (getInt new_patch "New Patch Number: " 0 126 )
 (insert Now Event.Chan PATCH new_patch new_bank)
)

 
Lots of ways to play this, but you still have the problem of not being able to get at the individual Kontakt instruments due to how the Kontakt banks work.
 
12
© 2026 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account