[sdiy] Midi CC update rate question
Tom Wiltshire
tom at electricdruid.net
Sat Jan 7 16:12:40 CET 2012
HI Richie,
On 7 Jan 2012, at 13:09, Richie Burnett wrote:
> Do you think it is reasonable to cap the maximum update rate at about 100Hz for a single CC transmitted over MIDI?
Yes. I've done similar "how fast does everyone else send it?" tests to you, and got similar results. I also adopted a similar top speed - I think mine came out at about 80Hz, since that was a convenient interval with the clock speed I was using.
> Now if there are 5 knobs on the product and all were being manipulated simultaneously, do you think each controller should send CC data 100 times per second, for a total of 500 CC messages per sec?
If possible, that'd be nice, but I'd be wary of swamping whatever is on the other end of this MIDI stream. That said, I've only got two hands, so even if I get a friend to help, I'm unlikely to twiddle all five knobs at once - unless this gizmo you're designing allows me to store knob-twiddly-data and play it back like a sequencer?
I *didn't* do it this way, instead going for the round-robin solution you suggested. Mostly you only tweak one thing at once and don't really notice. Mostly even when you twiddle two things at once, you aren't turning them fast enough that you notice.
> Or the controllers should be serviced in round-robin fashion with the combined CC stream adding up to a total of 100 CC messages per second? The later meaning that each controller would see one fifth of the total CC message rate, or 20 updates per second as long as the other four controllers were being moved at the same time.
See above - perhaps this "max everything out" scenario is rare enough that you can afford to accept a 20Hz rate when you really blast it.
> Finally, I noticed that none of the synths and controllers that I tested used running status to compress CC messages even though it was the only data currently being transmitted. Is running status meant to be used by synths and controllers that generate CC data, or is it meant to be kept only as the "sequencer's secret weapon" to compress outward going MIDI streams when things get a bit tight?
That's just lazy programmers, surely? I can't see any good reason *not* to use running status if possible. I never heard anyone say that it couldn't/shouldn't be used for CCs, and I can't see that the MIDI spec would exclude them - it's the place where it's *most* needed, I'd have thought.
HTH,
Tom
More information about the Synth-diy
mailing list