Hacker News new | ask | show | jobs
by TheRealPomax 2713 days ago
Why? 64 bit chips are dirt cheap these days, if anything it's surprising they went for 32 bit instead of just going for 64 to buy the protocol one or more decades of "no one's going to run into the limitations of that".

Don't design it for what humans expect, design it for what the machines that need to talk to each other operate on. In that sense, 32 bits is the bare minimum you want in a new spec.

2 comments

Because MIDI has very low bandwidth. People in complex environments doing complex things saturate it already. The new version may somehow allow higher bandwidth but it wants backward compatibility as well. We'll see, I'm sure this version will be better and I hope it becomes more popular again.
because the intent of a CC is to emulate a knob on a synth .

A synth knob turns a little less than 360 degrees. While 7 bits doesn't give quite enough resolution to have one degree per code, 32 bits would give 11 million codes per degree. Even a thousand codes per degree would suffice... but 11 million?

There would also be no analog to digital converter that could measure much more than 24 bits with any accuracy whatsoever.

And if you were to use your proposal of "just going to 64" it would multiply the space between the existing 11 million values between every degree on a knob by 4 billion. That would have 44 trillion variations of knob control. No one can sense that. if the knob was used to modulate e.g. LFO speed, it could send changes that wouldn't even be heard for millions of years.

> because the intent of a CC is to emulate a knob on a synth .

The intent of CC is to facilitate control changes. Higher range means greater flexibility in what exactly this means. Just off the top of my head I can think of at least one realistic application where 360000 discrete steps simply wouldn't suffice but a higher range control protocol would be useful: precision audio seeking, because recorded audio used in music is often longer than 360000 samples.