[sdiy] MIDI HD

Tom Wiltshire tom at electricdruid.net
Fri Feb 15 21:17:32 CET 2013

Hi Michael,

Thanks for an interesting message. You raise many interesting points, but I'd like to reply to only a few, so forgive me if I skip much.

> For instance the Behringer BFC2000: 8 motor driven 100mm faders. The box allows you to send 14-bit CCs.
> "Nice!", I thought, until I used it: the unit sends MIDI-data just every 20ms!
> That's 50 updates within a second.
> So if you do a fade over the whole distance within a second, which I don't consider particularly fast, 
> it's a new value every 2mm. This renders the 14-bit CCs rather useless in many cases.
> Granted, for what's in there this box is dead-cheap, but why bother and including a higher res ADC in the design and
> "downgrade" it by making it that slow? Just marketing?

If they're sending 14-bit CCs for each of 8 sliders (potentially) then they've got 8 x 5 bytes to send. That's a full 10ms of data. So they've left 50% of the time free for other stuff to happen - like all those other knobs and buttons. MIDI is so slow that when I wrote code for a knob box, I had to decide how many knobs I thought could realistically be twisted at once, and therefore how many updates I could send. I decided to go with a quicker update rate than Behringer, but the flip side was that my box would clog its MIDI output buffer if you were to get a friend to help you twist more knobs at once. You can't have it both ways with such a slow interface. If their coders were good, I'd want to see a much faster rate on the MIDI-over-USB connection than the old school DIN, but I bet they use the same data on both.

I completely agree that the 50Hz update rate makes the 14-bit accuracy useless for added smoothness. Often people don't realise this and think more resolution will help, but of course, unless the update rate is faster, all you're doing is defining the level of the steps more accurately!

> Dave Smith (he should know) says here 
> <http://www.youtube.com/watch?v=buVeoLnL3tc&t=471>
> quite something about MIDI, but IMHO he's taking some shortcuts and IMHO not being very clear about some of his own points. 
> IOW there's more issues mentioned in that couple of sentences than obvious at the first glance.
> E.g. smoothing is not the problem, "that's easy" ... right. But what about the grid?
> The filters tuned in semitones ... well, ok, that's a musical approach.
> Richie Burnett's mail in this thread already points something out in this direction.

I had a considerable discussion about exactly this video and exactly this point with a synthhead the other day. As you say, Dave S. hints at more than he says, and doesn't go into detail (he's giving an interview about his new synth, after all). I thought I understood what he was on about (mostly), and I had to explain it to my synthhead friend.
Basically, what I think Dave S is saying is that they use plenty of digital filtering internally to smooth MIDI edits. It's quite possible to use a 7-bit MIDI value to alter a 16-bit parameter - just use the MIDI value to set the top 7 bits of the 16, for example. You'll get the full range, but you won't be able to get all the values over MIDI, but there's no problem there. The problem is the big jumps. So then you have to digitally filter your 16-bit values, to make sure that any DAC outputs pass through all intermediate values when someone does a MIDI knob twiddle. This requires both a faster data rate than MIDI and more resolution than MIDI - digital filtering can provide both of these, and *I think* that's what Dave was on about. Not doing that filtering and letting raw 0-127 value steps through to your final filter DAC *is* just sloppy, I definitely agree with him about that. No excuse for it!


More information about the Synth-diy mailing list