[LAU] Open Source MIDI control surface

Ken Restivo ken at restivo.org
Sat Nov 29 23:13:53 EST 2008


On Sat, Nov 29, 2008 at 04:37:06PM +0000, Folderol wrote:
> On Thu, 27 Nov 2008 23:35:52 +0000
> simone-www.io-lab.org <cimo75 at gmail.com> wrote:
> 
> > hi
> > arduino is a bit slow but if you need only a few pots to tweak
> > parameters building up a song it may be ok.
> > I wouldn t advise it if you need something for live acts with sensors,
> > or you are going to multiplex the analog inputs.
> > For a quick, darn cheap and easy (and high resolution: 10bit) little
> > device i ve built a couple of these:
> > http://1010.co.uk/avrhid.html
> > these ones send HID protocol to USB, very fast and 10bit resolution, 8
> > analog ins and 6 digital ins.
> > About coding and different language, MIDIBox has a great approach
> > (anyboy noticed I am a big MIDIBox fanboy?): there is a first
> > bootloader to be loaded with a burner, only 1 time, then all the code
> > is sent via MIDI sysex; this loader is written in ASM.
> > Then there is a lower level OS called MIOS, also written in ASM and
> > optimized for preemption, all basic functions for ADCs, G/CLCD,
> > digital inputs, multiplexing, you name it, are coded here.
> > On top of that there is the end application that can be written in C
> > or ASM, toolchains/compilers exist both for C and ASM (you build with
> > the same command both the languages) and are ported to all 3 major
> > OSs.
> > Need more? Soon you ll get the new CORE32 ARM Cortex.
> > Need info? MIDIBox is backed by one of the most friendly and competent
> > community.
> > Linux, Open Source? The project is Open Source and you are only
> > restricted not using it for commercial purposes.I am planning to port
> > as many boards as possible to Kicad and there is also a project
> > running aiming at create an Ubuntu-Studio based collection of packages
> > that will set you up to go with MIDIBox: all compilers, boards
> > designs, svn to get latest code, sysex loaders, MIDI troubleshooting,
> > burner again, you name it.
> > Simone
> 
> Although I was initially quite interested to see this, and very much
> liked the small size, after reading through I have severe misgivings
> about this project.
> 
> The first issue I have is that of doing all the USB work in software
> rather than a dedicated chip. This takes up both processor time and
> memory from a little processor that doesn't have too much of either.
> Even with that, I notice that only USB 1.1 is implemented
> - and not completely.
> 
> The other major problem I see, is that the author of the code first
> says it is GPL, then give a restriction that you must make your
> firmware available. The is *not* compatible with the GPL and suggests
> he/she doesn't have a proper understanding of it. I have no objection
> to people putting whatever restrictions they like on their work so long
> as they don't say it's something that it isn't.
> 
> 
> ttymidi is a small software module available for Linux that enables
> you to connect serial data (either via a D connector or via USB>serial)
> directly to a virtual MIDI port, and is thus ideal for any PIC or atmega
> microprocessor. The only quirk it has is that it expects the serial
> side to *always* send 3 bytes of data per command, which it will then
> pass on as genuine MIDI (dropping the spare bytes). This actually makes
> it easier to program the remote device, which I suspect is the main
> reason it was done.
> 
> Under these circumstances the Arduino board comes out streets ahead.
> Not only does it have a dedicated USB/Serial chip, but it also has the
> full 12x digital inputs, as well as 5x10bit analoge inputs.
> 
> The arduino firmware and programming software is fully GPL although the
> Arduino name and hardware has a commercial restriction on it (clearly
> stated). However the reference drawings for creating your own boards
> are CC licensed so again you are free to do as you like with them.
> 
> Now all we need is fro someone to produce versions of ttymidi for
> Windows, and for the Mac :)

I've long since lost the links, but I remember seeing little programs for Windoze and Mac which translate MIDI sent over a class-compliant USB Serial device (i.e. Arduino) into appearing to be a MIDI device to CoreAudio or whatever the equivalent(s) is(are) on Windoze.

-ken



More information about the Linux-audio-user mailing list