Monome OSC Proxy in Processing

08 Mar 2008

I recently picked up a monome 40h kit. Assembly was a breeze, but I ordered LEDs from China and they’re not here yet. I’m super anxious to start using my new toy, but it’s hard to tell what’s going on unless you can see the button pads light up. So what is the enterprising hacker to do? Fake it? OKAY!

I’ve been hacking around with OSC lately… it’s a cool, flexible network protocol for device control and the like. Read more about it over on wikipedia One of the cool things about the Monome setup is that while the physical device communicates using a serial protocol over USB, the applications communicate via OSC.

The upshot is that we can intercept the OSC messages with Processing and do something before we hand them off to the application. In this case, I’m using the oscP5 library and drawing a grid representing the monome. It looks like this:

flinproxy screenshot

Remember that input is happening on my real monome. The black disc is a button that I was pressing when I took the screenshot.

This is early software, and as such has problems and limitations. Here’s a copy/paste from the README:

Known Bugs / Issues / Didn’t Do Yet

  • Only supports the 40h (and maybe the 64, I dunno)
  • High CPU usage due to render strategy
  • Doesn’t (yet) support rotation
  • Doesn’t support input… probably won’t as I’m not intending to write an emulator, but we’ll see.
  • Does not yet support the full OSC dictionary… coming soon?
  • Sometimes cells will get “stuck” on during a transition until the next time that cell is updated.

So that’s about it. As always, you can get it from my github and details are in the README.

« go back