[originally published 3 May 2006 on todbot]
[Note: an updated version of this program is available, called RoombaMidi2]
The Roomba has a piezo beeper that can play tunes. You’ve heard it.
And its motors make noise. Why not put them under MIDI control?
If you don’t have a sequencer or just want to play with this quickly, grab the awesome and free app MidiKeys. It’s a little virtual MIDI keyboard.
RoombaMidi has the following features:
– provides GUI interface to controlling Roomba (MIDI not required)
– acts as normal MIDI interface to any MIDI application
– supports up to 16 Roombas, one per MIDI channel.
– responds to MIDI notes 32-127 as tones on Roomba beeper,
– MIDI notes 32-127 play corresponding pitch, velocity is duration in 1/64ths-second increments
– MIDI note 24 turns vacuum motor on-n-off for bass drum fun
– MIDI note 25 blinks the LEDs, velocity is color of Power LED
– MIDI note 28 & 29 spins left or right, velocity is speed of spin
– can act as general multi-Roomba test system
– written in Java, but acts like Mac OS X application
And if you really want to look at the source…
Here’s what RoombaMidi looks like:
The about page:
Here’s one example use:
Other recorded compositions are forthcoming….
(as always thanks to MikeK for helping with this)10 comments