As I’m working as a live musician I know the instruments of NORD very well. What I like most is the learn-function. It works like this:
On top of the keyboard you have three buttons which are labeled with “Wheel”, “A.Touch” and “CTRLPED”. Let’s say that the cutoff of the synth is at 50% and the volume is at 100%. What you want now is to change the cutoff to 100% and the volume to 80% (cause the sounds get’s louder if you turn up the cutoff) by moving the modulation wheel. What you do is, press the button “Wheel” and while you keep it pressed you turn the volume down and the cutoff up. By releasing the button, the parameters are assigned and you are finished.
This function is very nice to have and gives the user the chance to change multiple parameters in one move.
It seems not that easy to implement. But maybe you have a nice idea to do so
I already read about the MIDI learn function, which is already implemented. But from the NGC-Manual it’s not really clear to me, what it does exactly.
Let’s break it down: We have one encoder, one wheel and one button. The button is for MIDI learn the wheel (same like on the nord I explained above). How would I now change the value of the encoder with the wheel in conjunction with NG?
//edit: okay. I read the SCS manual, which explains it in more detail. So… it seems to be what I’m looking for but I need to do some testing in the next days.
Anyway: It would be absolutely awesome if it would be possible to do this for more than one events / control more values with one controller. Any chances to do so?
//edit2: I just thought again about the already integrated MIDI learn function. If I get it right I set MIDI learn to “on”, send a CC to the midibox for example via MIOSStudio and then touch the controller to assign it. But in my suggested case it’s different because the CC which should be learned is not send by a software, but from the controller itself.
During a long walk in the snow I got following idea - hope that it’s matching with yours:
Let’s assume all learnable MIDI messages are already defined as EVENTs and assigned to control elements.
Then they could be “remote controlled” from another EVENT within a specified range with a new meta command.
Since it’s possible to assign multiple meta commands to a single EVENT, this would also allow to remote control multiple EVENTs from one.
If this mechanism would help, I could also provide a “MetaLearn” command which has to be assigned to a dedicated button.
Press the button to start learning, move all controllers which should be assigned to the “meta controller” within the desired range. Release the button -> done.
More concrete usage example (based on yours)
You’ve one EVENT which sends the CC for CutOff, another one which sends the CC for volume. Both are assigned to encoders.
Another EVENT assigned to the ModWheel.
Prepare the CutOff and Volume encoders for the start position which is sent when ModWheel is at 0%
Then press the MetaLearn button.
Move CutOff and Volume to the end position, the values are sent when ModWheel is at 100%
Release the MetaLearn button.
Now you could remote-control the CutOff and Volume encoder with the ModWheel within the range that you entered during MetaLearn.
How about saving? Let’s say I have made a whole setup with several of those meta events (so we would need more than one button to assign more controllers than just the ModWheel). Now I want to save it and recall it later. Is this possible with snapshots (btw. naming the snapshots is not possible at all right?)?
The assigned (learnt) events will be part of the EVENT_* definition of the ModWheel, hence they are not part of a snapshot.
Instead they are part of the configuration (.ngc)
So: in the SCS Disk menu you could store the configuration to a new .ngc file, and restore it later.
This also allows to give each configuration a name.
However, each .NGC file will result into a dedicated snapshot, .NGR and .NGL file - that’s probably not what you want, but this is the way how the MBNG firmware architecture is constructed.
Just one thing: To meta-learn a controller it’s now necessary to send a value from the computer to the midibox (via mios-studio or a host). Is there a chance to have it independent working from a computer?
Let’s say we want to control a hardware-synth. It’s not common (as far as I know), that synths send controller data out but they receive them. So it would be great, if there would be an option to let the midibox listens to itself (without creating a midi-loop of course). This could be useful, if I have one potentiometer for resonance and another one for cutoff and I want to control both values at a time with another encoder f.e.
would be an option to let the midibox listens to itself (without creating a midi-loop of course). This could be useful, if I have one potentiometer for resonance and another one for cutoff and I want to control both values at a time with another encoder f.e.
This is actually possible with the “LearnEvent” meta event (which is not officially released yet, and therefore not documented. But you can read the details in this posting)
Did you try “MidiLearn” (which is matching with your observations) or “LearnEvent” (which is matching with your request)