Prefered way to implement midi controls over CC127

Since the synth is going to have more parameters than available MIDI CCs
what's the prefered way to control the additional parameters?
SysEx? NRPNs? A second MIDI channel?
I'm not really firm with the state of current MIDI controllers.

Comments

  • I would say that this is exactly what NPRNs where made for. The other option would be to give each sound its own MIDI channel but that would break the normal sound to key mapping. As I understand SysEx it is good for dumping large data sets and is not meant to be used while playing.
  • The problem I have with NRPNs is that I have the impression they are not supported that widely by controllers. So it seems a thoughtfull distribution of the parameters between mormal CCs and NRPNs is necessary (put the not so often used parameters on NRPNs?)
  • I'm afraid I don't have that much experience with different controllers but I think for example the M-Audio Axiom some Akai controllers that I have tested do send NPRNs.
    Perhaps this would be an excellent question for the SDIY mail list?

    Sounds like an excellent idea anyway as the CCs are smaller in size than the NPRNs.
  • Most of today's midi controllers support NRPN.

    Are you more referring to pad controllers ?
  • ok - nrpn it is. :D
    Neither my midi keyboard nor the old live version i've got handle NRPNs, that's why i'm aksing.
  • Ableton Live doesn't support nprn? Sounds crazy... but if you say so. :D
  • i dunno for sure. Maybe the most up to date version. But live 6 can't handle them afaik.
  • I still think NPRNs are the way to go... Keep up the good work Julian!
  • yes, I think i'll do the NRPN implementation. I was able to rearrange the CC numbers, so most of the important parameters are below 128.
  • edited February 2013
    Indeed Ableton has severe problems with negative Values for the NRPNs, go ask TubeOhms Andre about his experience for the Controller.

    I have no clue what phantastic Synthesis it is that takes 127 parameters but id opt for both, accepting NRPNs and in parallel have the most important parameters as CCs.
    CCs are with most Controller way easier to set up. Look at the Shruthis Implementation, all direct Parameters are Ccd, many more are NRPNs (ModMatrix).

    If all else fails, a 2nd channel (Base Channel +1) would be an Option.
  • you have to remember that the drumsynth has 6 voices.
    That just leaves 21 CCs per voice.

  • From the Roland Handbook (a 90s Synth):
    The Control Change can employ an RPN (Registered Paramter Number), or a message that can be used after being registered by Midi.
    Using Midi RPN, parameters can be changed by Control Change messages.
    RPN MSB and LSB specifiy the parameter to be controlled, while Data Entry provides the parameter value.

    From my experience. Newer Synths provide CCs to control most their parameters, since Ableton Live etc. also only support that format, which means turn the knob and get a response. Not select a switch first, then wheel the value. I don't really remember what my synths do after 128 parameters, usually they only have that many. (my first were jomox and waldorf pulse, they had only 128 params). Then later I got older synths like Roland, Yamaha and they use Sysex which means also to program a knob and get immediate response, with the downside that you don't have that in Ableton Live, only a few HW Controllers support that and it can be slower to process. There are Software translators that work via Midi Loop, Midi Yoke. That also works but is a work to maintain.

    I don't really remember having used RPN ever. I tried once to implement 15 bit values with it once to get a devent crossfader for scratching but never managed...
    FL Studio supports RPN ...
  • or 14bit/12bit that was? For some parameters it would be nice to have, but then again, avoid that stuff alltogether and just "trigger" notes and events because midi is to slow for real-time controls of continuous changes. We need other tools for that.
    Has anyone got experience with OSC or CopperLAN?
  • edited February 2013
    As far as I understand RPN is not the same as NRPN as RPNs are defined in by the latest MIDI spec and NPRNs are meant to be defined by the instrument manufacturer and SysEx is supposed to be used to transfer sets of data and not parameter changes. (Yes that's 7+7=14 bits)
  • Will it be possible to live record knob-tweaking into the sequencer or do you need an external MIDI-host to record MIDI CC?
    'Dreaming of a big programmer for every parameter of the drums and being able to tweak and record tweaking into for example a 32 note sequence.
  • Maybe one extra track just for "automation" with selectable sequence length.
  • there are different modulation/automation possibilities.
    - 6 lfos that can be routed freely to every voice parameter (incl. retrigger and clock sync)
    - the midi velocity can be routed to any voice parameter additionally to the volume
    - each step of the sequence can record 2 parameter changes (thats what i'm working on at the moment. I implemented the basic automation capabilities last weekend)

    sequence length is selectable on every track inside a pattern separately
  • Cool! I cant wait! :)
  • a kind of little P-locks from Elektron ?
  • yes - but limited to 2 p-locks per step at the moment.
  • automation is working now :)
    I've put up a new demo on soundcloud

    the synth sound is just a 16 step pattern modulated with the p-locks.
  • Ever used the pitch bend , or midi sustain pedal? You have used an RPN , i.e. a cc that is set in stone...

    NRPNs were ccs that were empty and could be programmed/routed by the user. The definition really was that simple.   Ableton cannot handle negative value NRPNs.

    cheers

  • edited February 2013
    That is not quite right. The examples you give is one "Channel Voice Message" and one "Control Change Message" and RPN, and NRPN, is two special cases of "Control Change Message". 

    How can a unsigned value be negative?
  • Lindeborg is right.
    The RPNs are controlled by a special CC pair (CC101, CC100) and their meaning is defined by the MMA.
    The NRPNs are selected with CC98 and CC99 and the manufacturer can choose their function.

    if you want to know the details I recommend http://home.roadrunner.com/~jgglatt/tech/midispec.htm
  • Hi all (and Julian)

    I happen to be a member of the technical advisory board of the MMA (MIDI Manufacturers Association)
    -- the people who define and maintain MIDI... if any further questions arise about MIDI standards or implementation, I'm happy to help. :)
  • edited October 2013
    nice to know you are on the forum
    ;))
Sign In or Register to comment.