India Spotlight, Rotary encoder CC80 instead of modulation wheel CC1, standalone
In India Spotlight, Modulation Wheel is assigned by default to the groove parameter in the Ensamble, and to speed of rolls/ornaments in the single instruments. Yet MW returns to zero, and a rotary encoder that stays in the middle position (12 o'clock) would be more convenient. I have an external keyboard with some rotary encoders, and I mapped one of them to CC80 and had it assigned successfully in my DAW (Cubase 13) with Kontakt VST3 India. Both CC1 and CC80 work, and if I by mistake touch the modwheel and then it goes to zero, as soon as I touch CC80 it takes command and does the job. In fact that parameter is declared as Host Parameter in the Automation Tab, and the host (Cubase) can assign it to an external control surface.
Yet, in a live setup I would like to go with Kontakt standalone.
How can I do the CC80→CC1 in the standalone version of Kontakt? When I open for modifying the instrument, the scripts are very difficult to read. The KSP reference manual had an example that I wrote but it didn't work:
on controller
if ($CC_NUM = 80)
set_controller(1, $CC[80])
end if
end on
What's wrong with it? Any help?
Answers
-
CC#1 will return to zero only if a piece of hardware (or software) sends an instruction to do so. Sounds as though this is the Modwheel on your keyboard, which is obviously static in the zero position. Why not use that for controlling what you want?
There is a syntax error in your script - it should be %cc[80]. But this may not work if your script is to the R of other scripts - it will be the last to be implemented. And it would also have to "ignore" cc#1 messages..
A simple multiscript would be guaranteed safe and effective, though it would affect all the instruments in your instance of Kontakt, (unless written so it restricts the change to one channel.) And again it would also have to "ignore" cc#1 messages..
0 -
Thank you for answering, it's my first script!
For instance, with the Percussion Ensamble, the Modulation Wheel (CC1) controls the Groove parameter according to the India GUI, tied by the software instrument. It gives sparse drumming at 0, and busy drumming at 127, while the original drumming is at 64. This is why the ideal would be starting at 64, that's why I'm moving away from the modwheel towards a rotary encoder that I keep around 64.
When I am in the DAW, CC80 is added to CC1, in the India GUI I see the slider moving, both if I move my modwheel, and if I move the rotary CC80. I am satisfied by that, so I don't need actually substituting the modwheel (which I think is difficult ,since it is tied in the software). I just need to add the CC80 to do the same job, when I am in the DAW it's easy to get that controller output a CC1 signal. If this info triggers you or someone else…
I got some ideas from your answer: I didn't know there are multi script, I will get info now. I can also load diverse mappings on my control keyboard, I could make a map where the rotary sends CC1 and modwheel something else, then load it to the keyboard and save it as a preset in the keyboard that I use just for the India instrument when I'm playing Kontakt live.
0 -
Oh no, I get an error since set_controller() cannot be used in a multi script
0 -
The script with % works in a simple instrument of mine (adding CC80, leaving CC1).
It does not work in India just because when I open the Script Editor, all 5 slots are occupied by the instrument, I have no space to add my own.
Do you, or anyone, know a way to map CC80 to CC1 in Kontakt without a script, for instance in the Automation tabs?
0 -
I'd love to know why you can't just use the modwheel on your keyboard (exactly what it was designed for.)
If it's impossible, You can use a multiscript. This acts on MIDI messages, not functions like set_controllers. To use it you have to understand the MIDI protocol, which is becoming much less fashionable thanks to the "dumbing-down" of DSP by modern software and hardware houses. (It would take you a good ten minutes to master it, and it would give you so much better an insight into how it all works.)
This multiscript (KSP - top right of Kontakt window) will affect every instrument in your instance of Kontakt. Paste into an empty multscript slot and click Apply. It would be easy to add a line to confine it to a specific channel - if you need it perhaps you could have a go yourself!
Always happy to help.
on midi_in
if ($MIDI_COMMAND = $MIDI_COMMAND_CC and $MIDI_BYTE_1 = 1)
ignore_midi
end if
if ($MIDI_COMMAND = $MIDI_COMMAND_CC and $MIDI_BYTE_1 = 80)
set_event_par ($EVENT_ID, $EVENT_PAR_MIDI_BYTE_1,1)
end if
end on0 -
The multi script worked, I guess 20 is the hexadecimal of 80 and I understand the grammar more or less! Thank you much, when I will play live I will have only India in my multi, so it will work. I saved it.
Excuse me if I didn't make myself clear, I will try to explain verbosely. In the India GUI, upper left, there is a slider called in various ways, depending on the nki loaded. The default position is at the center and the slider is assigned to modwheel. As soon as I touch the modwheel and leave it, the slider goes to zero, since that is the natural position of modwheel rest, my modwheel has a spring that returns to zero.
In the percussion ensamble for instance, the slider controls groove complexity. You have some drum patterns, you get the original playing when the slider is in the center, while a script reduces hits when the slider goes to zero, and add hits when the slider goes to max (127).
So it makes sense that I try to keep the slider near the center and around (neither 0 nor 127, which are both very extreme settings of sparse drumming at zero and cocaine drumming at 127). My left hand has always to be on the modwheel, to keep it at a position middle way. I have only one hand to play on the keyboard.
My controller midi keyboard has some knobs and some faders. A circular knob has no spring, I can keep it at 12 o'clock to get a 64 value and then touch it a little sometimes just to give a slight variation of less or more hits, then I have my both hands free and it stays there in its position.
With the other nki, the single instruments, the same slider, again associated to the modwheel, regulates the speed of rolls/ornaments, and the return-to-0 behaviour is even more annoying because it means no ornaments.
I hope I'm clear, thanks again
0 -
Sorry should be 80 not 20. And I've made another booboo - the three times I put MIDI_BYTE_2 should be $MIDI_BYTE_1 (I have corrected it)
I had no idea that modwheels on some keyboards were spring-loaded. (Pitchbend, yes). Wonder whose daft idea that was.
0
Categories
- All Categories
- 18 Welcome
- 1.7K Hangout
- 67 NI News
- 896 Tech Talks
- 4.6K Native Access
- 17.8K Komplete
- 2.2K Komplete General
- 4.8K Komplete Kontrol
- 6.3K Kontakt
- 1.1K Reaktor
- 407 Battery 4
- 917 Guitar Rig & FX
- 466 Massive X & Synths
- 1.5K Other Software & Hardware
- 6.4K Maschine
- 8.2K Traktor
- 8.2K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators