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.
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.
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.
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?
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.
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
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.
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".
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.
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.
Comments
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.
Are you more referring to pad controllers ?
Neither my midi keyboard nor the old live version i've got handle NRPNs, that's why i'm aksing.
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.
That just leaves 21 CCs per voice.
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 ...
Has anyone got experience with OSC or CopperLAN?
'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.
- 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
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
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
-- the people who define and maintain MIDI... if any further questions arise about MIDI standards or implementation, I'm happy to help.