Monome Protocol: Bridging Button Presses to MIDI
This article explores how the Monome hardware platform communicates
with modern music software, detailing the specific protocol used to
bridge physical button presses into standard MIDI data. By examining the
roles of serial communication, Open Sound Control (OSC), and translation
utilities like serialosc, you will understand how Monome
translates grid-based tactile input into musical control signals.
The Core Protocol: Open Sound Control (OSC)
The Monome platform does not transmit standard MIDI messages directly from its hardware. Instead, it relies on Open Sound Control (OSC) as its primary communication protocol.
Because Monome controllers are completely decoupled from any fixed internal functionality—meaning the hardware contains no built-in musical scales, synthesizer engines, or hardcoded MIDI mappings—they require a protocol that is flexible, high-speed, and capable of network-style addressing. OSC provides this by formatting data into human-readable URL-style packets over UDP (User Datagram Protocol).
The
Hardware-to-Software Bridge: serialosc
Physical Monome devices connect to a host computer via USB using an
internal FTDI serial chip. To bridge the raw serial input with software
applications, Monome uses an open-source background service called
serialosc.
The communication pipeline works in the following sequence:
- Physical Input: When a user presses a button on the Monome grid, the hardware registers the action and sends a raw byte stream across the USB serial interface.
- Serial Translation: The
serialoscdaemon detects the attached hardware and automatically translates the serial data into formatted OSC messages. - OSC Packet Generation:
serialoscemits an OSC message containing the grid coordinates and state, typically formatted as:
/monome/grid/key x y z
(Wherexis the column,yis the row, andzindicates whether the key was pressed [1] or released [0]). - Application Mapping: Host applications—such as Max/MSP, Pure Data, SuperCollider, or dedicated Max for Live devices—listen for these incoming OSC packets on designated UDP ports.
- Conversion to MIDI: The host application's logic translates the OSC coordinate values into traditional MIDI data (such as Note On, Note Off, Control Change, or Pitch Bend messages) and routes them to virtual instruments, external hardware, or digital audio workstations (DAWs).
Bi-Directional LED Feedback
The bridge functions bi-directionally. Software environments send OSC
messages back through serialosc using paths such as
/monome/grid/led/set x y state or
/monome/grid/led/level/set x y intensity. This updates the
internal LED states beneath the buttons, providing real-time visual
feedback synchronized with the software's MIDI activity.
By employing OSC as the bridge between raw serial hardware and end-point MIDI streams, the Monome platform achieves high-resolution timing, flexible reconfiguration, and complete freedom from the legacy constraints of traditional MIDI hardware.