mustakl

no anti-alias suit required

Let’s all dump MIDI

by Marc Nostromo

The more I work into building my own software instruments, the more my anger grows about the lack of proper controller device.

Let’s recap for an instant: on the software side, programmers have worked to create truly fantastic software emulations and spent the last 10 years to build really complex synthesis models. Inside, everything is about high computation,  precise system modeling, high sampling rates and insane floating point precision. In theory this means that these software instrument can cope with extremely fine and precise settings and provide an astronomic range of timbres and sweet spots.

However, on the other side, it seems the world has to be doing everything so that we can’t use the flexibility offered by those software. All you got to control them is either dodgy mouse action, entering numbers using a keyboard or .. MIDI controllers.

I find it mesmerizing to see that we live in an era of controller galore (most manufactures discovered you could build controller cheaply and it’s not like you can download them through torrents) and yet they all base themselves on the good old archaic MIDI system that gives you 128 values as resolution ! This means that no matter what fancy tagline about “ultimate control” these controllers come branded with, they will still give you the grossest control on your software…
I really would like to see a sound engineer being given the option of having 128 volume levels to mix his tracks and believing he’s in control.

It’s not like there are no other options. HID (human interface device) for example, has been around for a long time (they are used for mouse and joysticks) and have a much much higher resolution than midi. Most common platforms (mac,windows,linux) even supports them without any need of driver installs.
So why is it that non of the music software supports HID and that no controller manufacturer tries to implement an HID slider/knob box. I’ve been looking for HID knobs (even something like the old atari paddles) to do some tests but it’s completely unavailable. Somehow I fail to understand why nobody’s even trying it.

The other emerging solution, although a little less easy to implement at first, is O.S.C. (for Open Sound Control). O.S.C. is a networked control protocol (which makes it a little less obvious to setup than HID) but is very flexible and (maybe too) open. Following peer geek pressure and MAX freakzs, O.S.C. starts nonetheless to emerge in quite a bit of software. It’s still in it’s infancy but software developers seems to be keen on opening their platforms to it, which is good.
However, hardware manufacturers seem to be completly oblivious to it’s existence. This means that from a physical hardware controller point of view, we’re still pretty much at point blank.

Now, in the middle of a post on cheesy Juno videos, Peter K. drops a nice little bomb:

Deep thought: who wants to build a CV to OSC converter, and we can really pretend like MIDI never happened? (Apologies, Dave Smith.)

Extending my apologies to Dave (because the evolver is probably my favorite piece of commercial synth gear), I would like to extend this a bit:

The idea of having a “sampling device” that would listen to control signals and transform it in O.S.C broadcast is just brilliant. It could be from CV as Peter mention it, but also simply from a set of potentiometers build on the same box that would FINALLY provide a hi resolution controller to all those wonderful synths. As I mentioned in this article, playing with the arduino piano made me realise that even if it contains a very crude software synth, it is fantastically “alive”, because the knobs have a resolution of 1024 values, i.e. 10 times what your average chinese midi controller does. It’s even got a little uncertainty on the values which makes it even more sweet.

So, what I really would like to see is someone to do a new hardware project that would consist of a set of knobs (and/or sliders); couple them to an arduino with an ethernet shield, and convert the analog value to high resolution O.S.C. message. If I had ANY hardware & soldering skills I would do this straight away, but unfortunately I’m totally useless with it.

My feeling is that if such a box existed, no matter if it was in kit (like Gorf, the monome or the Aduino Piano) or as a finished product, it would be a total success and MAKE HISTORY.

Someone. do it.

9 Responses

  1. firestARTer

    i’d like to make history! But shouldn’t i also make some music?

  2. Marc Nostromo

    You should do history Thomas. Let’s do it together !!!!!

  3. peter

    Ive always been confused, is isc a computer only format.. or is there simply not very much hardware supprt?

  4. peter

    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191521004/8

     

    Answered my own question.. The need for udp is veking.. why cant serial handle that level of resolution again? we dont need to be stuck at 2400 baud forever right?

  5. Marc Nostromo

    As far as I know, O.S.C. is a protocol description and I don’t think it includes in any way the transport mechanism. You have 2 end points and send messages from one to the other.
    Most of the implementations are TCP/IP based, because it’s easy, but I believe it could also be routed over serial. The only thing to be careful about is that BOTH side have to have some way to agree on the possible transport mediums.

    M.

  6. jsr

    we did something like this in the 2007 workshop “reclaim your interface” by marcos yarza and lituz:

    http://8bitklubben.dk/workshop/reclaim_index.html

    the workshop provided us with customizable arduino shields, which could hold up to 6 potentiometers (ranging from 0-1023) and a number of buttons / leds. this data was then sent over serial protocol via the arduino USB connection, and the data was then interpreted on the computer by processing or pure data. the programs developed in the workshop converted the data to MIDI, but there is no reason that this could not be OSC in stead.

    you can buy your own shield here: http://blushingboy.org/content/ardpdvj-pcb

    oh, yeah: and it has wireless zigbee support too :)

    /j

  7. Marc Nostromo

    Serial is nice but to be efficient and be able to separate the control interface and the controllable hardware, a protocol that doesn’t really require a computer is important. That’s where the appeal of OSC is, if it is formatted at the control interface level…

  8. [...] was, the fact that you had fine control of the synthesis parameters made it extremely alive. As I’ve written already before, I find it extremely puzzling that in this age of  high tech computing where software companies [...]

  9. headless

    I have to push this. Why didnt anything happen on this field??

Leave a Reply