i’ve spent a lot of time recently with the LCXL, controlling various plugins on the backend of my hardware. I’m excited about this way of working, but i’m constantly coming up against its 7-bit CC limitation.
Here are the existing options as far as I’m aware:
MIDI 2.0: coming soon tm for a long time now. There’s only 1 “midi-2.0-ready” device out there that I’m aware of, the big roland keyboard, and that doesn’t interest me at all.
NRPN / 14-bit MIDI 1.0: This seems like a reasonable way to go, but I’m not aware of very many controllers that support this spec. Do you know of any?
OSC: seems like the obvious winner here. TouchOSC is a fantastic controller for plugins but is hard-locked to a touchscreen which defeats the whole point. Any hardware controls that send OSC, other than Arc ($$$, rare) ?
i2c: Decent solution. I’ve had good luck with it recently (8x polls + 8x commands every 2ms from TT) but in the past I’ve had a lot of crashes and dropouts. Maybe there’s some way to convert i2c to OSC using Norns, then send that over wifi to my laptop?
CV: sending CV into a DC-coupled interface is the highest resolution I’m aware of, and pretty simple. Unfortunately, building a controller with any reasonable amount of human inputs is going to get very expensive very fast, especially if I want a computer connection built straight in.
I’d love to hear everyone’s recommendations for high-res controllers, and please chime in to correct me on any misinformation above!
I was looking into this a couple weeks ago and came across this short article about doing it on a teensy and using a supercollider library to work with the data. Using 2 CC values sent at the same time you can effectively get 14 bits.
The Moog Minitaur receives (and optionally, sends) continuous parameters as 14-bit CC messages. It uses two adjacent CC numbers as you mentioned. One nice thing about the Minitaur implementation is that one CC is the most significant byte, and the second is least significant byte, so you can still control the parameter with a device that can’t be set-up to use 14-bit paired CC messages - the resolution will just be limited to 7-bits in that case:
For all parameters, the MSB indicates the ‘regular’ CC number,
and the LSB indicates the high-resolution ‘fine’ control value.
If you are only sending 7-bit MIDI CC messages to the Minitaur,
use the MSB number by itself. Note that when MSB-only
messages are issued, the value range is always 0-127.
Since the Minitaur is quite old at this point I would imagine newer Moog synths with digital panel control can probably do this as well.
It does indeed. And it has continuous encoders, rather than absolute-value potentiometers. That would be a definite plus if more devices supported bi-directional communication, so that the value displayed on the EC4 screen was updated ie on preset load to always show the actual value of the control on the device being controlled.
I run into this a lot as well, and my general solutions have been to use the 14-bit MSB/LSB thing, or more recently just using the pitch bend control, which is natively 14-bit.
OSC would be, far and away, the best solution if it was easier to implement. I really hate having to set up network stuff, ad hoc things, etc… as part of a performance, not to mention hardware limitations too. monome/serialosc has made this pretty transparent so it’s easy to use, but I’ve never managed to push hard enough to bake that into one of my teensy projects.
I was starting to play with TouchOSC a few months ago again (it’s been a really long time since I use it) and I only wanted to use the wired version through their host thing (again, don’t want to show up at a gig and create a network etc…). That limits the kinds of messages you can send (effectively MIDI only), which is a shame.
MIDI 2.0 would be great, but as you’ve pointed out, that’s been “coming soon” for a while now. I love the idea of being able to declare controllers and parameters at a protocol level, so that will be great if/when it comes, but for now I’ve just been sucking it up with the 14-bit MIDI tricks…
oh yeah, i saw your messages in the thread @robbie linked - useful to read through.
agreed that the osc wifi problem is annoying - BUT i’ve been able to get around this by using my norns as a hotspot, then connecting my laptop and tablet to that. this also lets you control norns stuff with the ipad!
i ordered an ec4 with a generous return policy, so i’ll try that when it arrives and report my findings here.
looking through the 16n firmware (a great resource for building my own controllers!!), it appears to be using all 13 available bits when reading the faders, then i assume it doubles the value to send a 14-bit i2c message? I couldn’t find that part. also, i thought it was generally recommended to only use 10 bits on the teensy inputs due to noise? curious if anyone knows more about that
e: whoah, @Noisetrees , i had heard of the n32b before but never really looked at it. looks fantastic. seems like they use 2 16ch muxs to route everything to just a couple high res ADCs. how clever is that!
I’m not sure that’s true. Encoder-based controllers (and synths and other hardware that use encoders) usually allow faster rotation of the encoder to skip through the values more quickly, with smoothing/interpolation so that intermediate values aren’t missed. This allows you to sweep through the whole range of the parameter, perhaps in a single rotation, but also to make fine adjustments right down to the smallest increment with slower rotation.
How well this is implemented varies from system to system.
It’s just a slightly different way of working compared to pots, I guess, but both are equally valid.
With pots, you’re likely to do something very similar - make big adjustments, then fine-tune. The difference is that with encoders, it’s possible to fine-tune values with more precision within a large range, where this might not be possible with a continuous value from a potentiometer where you’re limited by the resolution and inherent noise of the Analog > Digital converter.
It’s a matter of personal taste, ultimately. Some people like the immediacy of potentiometers and the fact they usually have a pointer on the knob, which gives an immediate visual indication of the approximate value of the control, others prefer the precision of encoders.
There’s been quite a few answers in the meantime
I’ll just try to add what hasn’t been already posted: never owned or tried a faderfox. Love the Electra because it can basically do anything if you are willing to program it. And even if you don’t, there’s tons of very good presets out there, some even with sysex patch parsing.
Both the intech people as well as Martin from Electra are so unbelievably lovely people, they would fit right in here. (I believe @martin.e1 is here iirc)