Welcome to %s forums

BrainModular Users Forum

Login Register

Question #2: What MIDI Learn extras would you like to see in V5?

General Discussion about whatever fits..
Post Reply
bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 14 Nov 2009, 00:48

I've been discussing a bit with Olivier about some extras with the MIDI Learn in Usine V5 - to be more precise about the Relative mode, or rather the option of new relative modes.

As far as I have found out, the MIDI standard defines only one way of implementing relative CCs; namely using CCs 96 and 97 for a +/-1 value change where data2 - which normally contains an absolute CC value - instead is used for the "actual" CC to change.

This is a bit restricting, as you would have to send 127 messages to go from one end of the range to the other no matter how fast you want the changes to happen at the destination. In comparison, most controllers when rapidly moving the fader or pedal or whatever would only generate a handful of CC values with smaller or bigger gaps between them.

To overcome this limitations, manufacturers have implemented other ways of doing this, especially with endless rotary encoders. I suppose you can find it on some pressure sensitive buttons as well. I don't know the details about every "standard" :rolleyes: created, except for the four described in the Axiom manual. I've taken a look at the BCF2000/BCR2000 manual as well, and it lists three 7-bit and three 14-bit relative modes, but I haven't found any details about those. Chances are that at least one of the 7-bit modes is the same as one of the Axiom's, probably also with "accelerating" values depending on the speed of knob twiddling.

Like the CC 96/97 variety, Usine's existing relative mode handles only changes of +/-1 per message. It interprets a CC value of 127 as -1 and 0-126 as +1. The accelerated modes listed in the Axiom manual use different ranges of CC values to increment or decrement the value by different amounts. One example is the "Sign Magnitude / Relative (Signed Bit)" mode, where CC values between 1 and 63 increments with the same amount, while CC values between 65 and 127 should decrement with (value - 64). All the listed methods don't use CC value 0 and/or 64, which in fact could be used for something like return to default like ctrl-clicking with the mouse.

The thing with relative values that's seldom mentioned (at least I haven't found anything about it yet), is that the interpretation of them (whether single value or accelerated) doesn't have to be restricted to 128 possible values. As long as the controller is only telling whatever is receiving the message to increase or decrease the current value, why not also have a resolution added for the destination? Sometimes a control like a fader jumps between just a handful of integer values, sometimes a really high resolution can be useful for "surgical" tweaking.

Well - these are some thoughts I have, and I would like some input and opinions from you guys'n'gals out there about what hopefully can be implemented in V5. If not in the first version, then at least in the not to distant future. I would especially like some input on the various methods of transmitting accelerated values, either from documentation you have or from analyzing the output from your controller(s). To sum up, I propose:

1) Keep the existing relative mode (of course).
2) Add MIDI standard, single value increment/decrement using CCs 96 and 97.
3) One or more 7-bit relative, accelerated modes. Either hard-coded, or with increment/decrement ranges defined in the setup, optionally with one value designated for "return to default".

---

PS Some will probably miss a mention of RPN/NRPN messages. The good thing about those is that they can send absolute values with a (theoretically) 14 bit resolution, and use 96/97 for single value increments. The bad things about them is that there seems to exist different standards for both generating and interpreting those values (maybe things are quite standarized with GM stuff, but I guess most of us don't use that very much ;)), and also the fact that they consists of multiple messages after another which makes them harder to code and implement. PS

PS2 Yeah, yeah, I know... MIDI isn't very sexy in this age of multitouch, OSC and whatnot, but most of us do have at least one MIDI controller, and many of them can send relative values. So there... :)
Bjørn S

woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 14 Nov 2009, 12:12

Yeah, I haven't been able to find a decent OSC controller keyboard anywhere!

I'll be delighted to see the stock 96/97 correctly implementedwith midi learn...... I have found all the rate sensitive options on the axiom to be difficult to control. they do seem to work with reaktor.

-eric
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 20 Nov 2009, 05:27

One interesting option would be midi learn per preset.

Then you would also need a 'not stored in conductor' option for midi learn

Maybe impractical. But it would make my setup a whole lot simpler.....
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 20 Nov 2009, 15:59

If you mean midi learn on the preset manager, it's already in V5.
woodslanding wrote:Then you would also need a 'not stored in conductor' option for midi learn
What do you mean?
Bjørn S

woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 21 Nov 2009, 11:06

no, I mean that a given control could be affected by a different midi controller on a per preset basis......
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 21 Nov 2009, 23:00

woodslanding wrote:no, I mean that a given control could be affected by a different midi controller on a per preset basis......
Oh, nice idea, but I think it would take quite a lot of work. Any comments, Senso?
Bjørn S

Post Reply

Who is online

Users browsing this forum: No registered users and 785 guests