1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

Add MIDI Polyphonic Expression (MPE) compatibility

Discussion in 'Feature Suggestions' started by DasSoundMaschine, Oct 10, 2018.

  1. DasSoundMaschine

    DasSoundMaschine New Member

    Messages:
    10
    Add MIDI Polyphonic Expression (MPE) compatibility for your sound libraries and software!! This is the future, you should be one of the pioneers. If you do this and promote it as a feature - everybody else in the realm of music software makers will jump on it to. Moog, Apple and Roli, among others, supports it already - and worked on agreeing on the specs, and now it´s finally approved by the MIDI Association!!! Just Do It!
     
  2. Kymeia

    Kymeia NI Product Owner

    Messages:
    6,268
  3. ssingh

    ssingh New Member

    Messages:
    23
    YES. PLEASE, NI!! Yes, most software instruments can basically be set up to work with MPE, but "workflow" is severely compromised if it is not designed to be supported. Every time I load an instrument..... I gotta load it 15 times, and always adjust the pitchbend. Why not just say..... hey.... click the "MPE button", and things automatically configure. Really, the NI software is soooooo advanced. It really must be quite an easy update compared to everything else that it can do. And, yes, it is FINALLY standard by the MIDI Association. I use MPE style setup EVERY DAY. Adding this in an integrated way would make my life (and many others) MUCH easier. And the use of MPE has really a bright future. Most people do not realize what is truly possible with MPE, it is still just a baby, but it will definitely grow.
     
  4. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    Actually it's not really "quite an easy update" to add MPE. I'd still like it to happen, but via scripting and modulators, which would be a lot more flexible. That's the same way UVI Falcon has it, and it's working pretty well.
     
  5. ssingh

    ssingh New Member

    Messages:
    23
    In the interim, perhaps it would be possible to simply add a feature "copy current instrument x number of times with channels y-z". Then the instrument, with the current settings, can just be duplicated with an instance set to every desired channel. Would be a very significant workflow improvement. I would think that would be relatively easy to do. I think Omnisphere has something like this. I would love, however, if eventually, it happened with scripting/modulators as you suggest.
     
  6. sagetone

    sagetone NI Product Owner

    Messages:
    102
    Digging up a very old thread here. Is NI making any progress here, adding MPE support for Kontakt and Reaktor?

    I just upgraded to Komplete 13 Ultimate, digging using Linnstrument with Massive-X. IF Kontakt and Reaktor do in fact support it, it is not obvious to me. BTW, my DAW is Bitwig 4.0.1, very MPE friendly.
     
  7. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    Direct MPE support in Kontakt probably won't happen, but in Kontakt 6.6 it can be scripted (much like, for example, in UVI Falcon), utilizing the new "from script" modulator which allows scripted modulators per event.

    Here's basic MPE support for Roli:

    Code:
    on init
        declare const $MPE_BEND_RANGE := 48
        declare ~bend_factor
        ~bend_factor := (int_to_real($MPE_BEND_RANGE * 1000) / 8191.0) * 100.0
    end on
    
    on note
        set_event_mark($EVENT_ID, sh_left($MARK_2, $MIDI_CHANNEL))
    end on
    
    on controller
        if ($CC_NUM = 74)
            ignore_controller
            set_event_par_arr(by_marks(sh_left($MARK_2, $MIDI_CHANNEL)), ...
                              $EVENT_PAR_MOD_VALUE_ID, ...
                              %CC[$CC_NUM] * 7874, 1)
        end if
    
        if ($CC_NUM = $VCC_PITCH_BEND)
            ignore_controller
            change_tune(by_marks(sh_left($MARK_2, $MIDI_CHANNEL)), ...
                        real_to_int(int_to_real(%CC[$CC_NUM]) * ~bend_factor), 0)
        end if
    end on
    Using "from script" modulator to modulate whatever you want, it does the CC 74 "MPE Timbre", and there's 48 semitones pitch bend range too.
     
  8. sagetone

    sagetone NI Product Owner

    Messages:
    102
    Thanks EvilDragon! I added the script to an instance of Pharlight. Set Bitwig to MPE and no go. If I understand what you're saying, the script allows recognizing of CC74/Timber and PB range of +/-48. Outside of that, Bitwig doesn't recognize it as an MPE compatible synth. Oh well, no biggie for now.

    What about Reaktor? Any synths there that support? Do you know of any plans to?
     
  9. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    I am not sure how well the script will work with other deeply scripted instruments. But try the script in an empty instrument with a few of your samples dropped in, and From script modulator modulating i.e. filter cutoff, see what happens.

    I don't know anything on Reaktor side of things. But it already supports MIDI channels and all sorts of processing of MIDI messages, so you might just need to build it yourself with existing modules...
     
  10. sagetone

    sagetone NI Product Owner

    Messages:
    102
    Thank you ED. I'll check out again the Kontakt MPE script with a basic instrument. If I understand the script though, it looks like it only provides support for CC74 and PB +/-48, but not for the main MPE function of MIDI channels per note. I've also read a few more threads on MPE for Reaktor which I'll check out. I'm ultimately looking for straightforward and quick solutions for both. If they are not to be had at this time, I'll move on as my prime goal is making music and not programming (which I am not very skilled at). Thanks for your help!!
     
  11. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    It does work on MIDI channels per note (see the usage of $MIDI_CHANNEL!). Make sure to set your basic instrument to Omni!
     
  12. JonnyMac78

    JonnyMac78 NI Product Owner

    Messages:
    36
    The new Ashlight has MPE compatibility built in - NI are on it by the looks of things...
     
  13. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    Yes and that MPE compatibility there is quite likely implemented using similar or identical method outlined in the above script, I would suspect :)
     
  14. sagetone

    sagetone NI Product Owner

    Messages:
    102
    Thanks EvilDragon and JonnyMac78!