[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