Orchestra keyswitching by MIDI channel

Dann
Dann Member Posts: 8 Newcomer

Is there any way to change orchestra articulations by changing the MIDI channel the note is on? This is a simple and powerful way to do it and not have to deal with cumbersome keyswitch notes. I have to say that Spitfire orchestras can do this and it is a revelation that makes keyswitch notes seem antiquated. Can NI somehow do this?

Tagged:

Best Answer

  • stephen24
    stephen24 Member Posts: 394 Pro
    edited October 10 Answer ✓

    Actually it's not simple at all. Channels were designed to allow multiple instruments to be controlled by a single MIDI connection, and controlling a single instrument with one channel number for notes and another for continuous controllers would be quite unusual.

    Kontakt is designed to use conventional methods, but is completely flexible and can do pretty much anything. You'd have to use a multiscript to do the equivalent of *Make Controls Global" in the Spitfire BBC. It would duplicate each incoming cc message to all the channels you are using. Simplest to have only one instrument in each instance of Kontakt, (though you could probably work out a more complicated system which had several.) Easiest to use Uwe's suggestion, though if you have access to editing you could instead assign a separate channel to each "technique" (articulation).

    This multiscript will duplicate any incoming cc message to channels 1 - 4. Click KSP (top R) > Edit, paste the text and click Apply.

    on midi_in
     if ($MIDI_COMMAND = $MIDI_COMMAND_CC)
      ignore_midi
      set_midi (0,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
      set_midi (1,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
      set_midi (2,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
      set_midi (3,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
     end if
    end on
    

Answers

  • Uwe303
    Uwe303 Moderator Posts: 3,884 mod

    Hello,

    you could create a multi in kontakt, open the orchestral instrument several times. Then set them up to different midi channels in the header of each instance of the instrument, also set each to one articulation. Then you can save that as a preset, that way you can even mix different instruments, or both at the same time, you have 16 midi channels.

  • Dann
    Dann Member Posts: 8 Newcomer

    Thanks, Uwe303. Yes, that is a way to do it. The issue is that any mod-wheel or other CC changes need to be on the different MIDI channels as well. If the articulation could be changed via MIDI channel, then it would be only one instance and respond to the MIDI Ch 1 mod and CC inputs. This is how the Spitfire instruments work. Very simple and clean.

  • stephen24
    stephen24 Member Posts: 394 Pro
    edited October 10 Answer ✓

    Actually it's not simple at all. Channels were designed to allow multiple instruments to be controlled by a single MIDI connection, and controlling a single instrument with one channel number for notes and another for continuous controllers would be quite unusual.

    Kontakt is designed to use conventional methods, but is completely flexible and can do pretty much anything. You'd have to use a multiscript to do the equivalent of *Make Controls Global" in the Spitfire BBC. It would duplicate each incoming cc message to all the channels you are using. Simplest to have only one instrument in each instance of Kontakt, (though you could probably work out a more complicated system which had several.) Easiest to use Uwe's suggestion, though if you have access to editing you could instead assign a separate channel to each "technique" (articulation).

    This multiscript will duplicate any incoming cc message to channels 1 - 4. Click KSP (top R) > Edit, paste the text and click Apply.

    on midi_in
     if ($MIDI_COMMAND = $MIDI_COMMAND_CC)
      ignore_midi
      set_midi (0,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
      set_midi (1,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
      set_midi (2,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
      set_midi (3,$MIDI_COMMAND_CC,$MIDI_BYTE_1, $MIDI_BYTE_2)
     end if
    end on
    

  • Dann
    Dann Member Posts: 8 Newcomer

    Thanks Uwe and Stephen. I was hoping there was a hidden menu somewhere that would allow this - like the Spitfire Kontakt Symphony VSTs. I'm surprised more people don't ask for this. I'll put it in the New Features section and see if there's interest. Thanks again for your response and ideas. I might try the custom coding.

  • Uwe303
    Uwe303 Moderator Posts: 3,884 mod

    Kontakt could do it easily, only the instruments are not designed that way, really interesting idea btw, i would like to know how do you use it in practice, with split key zones or do you change midi ch for the whole keyboard with some switching midi presets for example?

  • Dann
    Dann Member Posts: 8 Newcomer

    I don't use it for live articulation playing. I program orchestration in the DAW based on a piano track, or play in longs and go back and assign the appropriate MIDI channel to each note for the desired articulation that has been set up. This makes it easy to move notes or copy and paste since you don't have to worry about copying keyswitch notes.

  • Uwe303
    Uwe303 Moderator Posts: 3,884 mod

    ok that makes sense if you have a daw like cubase that can assign midi ch per note, cause not all daws can do that

  • Dann
    Dann Member Posts: 8 Newcomer

    Hmm🤔 interesting… I use Reaper. I thought all DAWS could do that.

  • Uwe303
    Uwe303 Moderator Posts: 3,884 mod

    Ableton Live can't for example, reaper can, via the note properties afaik.

  • Dann
    Dann Member Posts: 8 Newcomer

    Yes. Not surprised the beat-focused DAWs don't have that ability. I have keyboard shortcuts to easily change note MIDI channel since I do mostly orchestral cues with this articulation system. Thanks for the info.

Back To Top