picture home | pixelblog | qt_tools

omino code blog

We need code. Lots of code.
David Van Brink // Fri 2008.03.7 08:35 // {wbl weird blinking lights}

Retro USB MIDI Device IV

Why Use USB For This

A pointless little ramble rationalizing the design choices so far…

When I interview job candidates, I look for exposition of tradeoffs. That is, the recognition that there’s a multitude of ways to do something, and why’d you choose that one again? But I’ve been remiss in that exposition — or even, really, internal formulation — of tradeoffs for this project.

Since it’s a personal project, answerable to nobody, it is of course sufficient to say, “Because it’s neat.”

But it’s not just that.

device

The goal is to make sounds. Let’s see. …Could hook the buttons straight up to a pile of 555 oscillators, and it’d be pretty fun. But aesthetically, I’d like the device to have a higher order behavior, buttons that have state and interaction with each other.

So there will be a CPU involved.

It could have an on-board computer and synthesizer, be fully self contained. That’d be fine. But, again, it would be handy to leverage the plethora of existing synthesizers, both hardware and software.

Plain old MIDI — 31.250 kBaud 8-bit serial at 5v — is very easy to implement! But when you get right down to it, I don’t actually use much real MIDI gear any more; invariably, a laptop is involved.

USB plugs into a computer (laptop, desktop, whatever) and hooks right up. Also, the USB implementation of MIDI supports input and output on a single cable. Also, the same cable provides power. And no MIDI adapter is needed. Interesting interactive behaviors could be implemented on the device or the host.

(It’s hardly surprising if a lot of these “tradeoffs” all gravitate towards USB; it was designed and marketed to solve exactly this class of problems.)

The cost? Well, pricewise, it’s negligible, a few bucks, whatever, this is from the hobby budget. But code wise, it’s quite a bit harder than plain old MIDI serial. But the result will be a nice little infrastructure for more MIDI controllers.

And isn’t that neat?

oh, i dont know. what do you think?



(c) 2003-2011 omino.com / contact poly@omino.com