devices/monome/norns.vendor.fw-mlre-ba88531.jsonEdit on GitHubJSONMonome norns (script mlre): OSC control from Claude, scripts and controllers
86 named commands to drive Monome norns over OSC — from Claude (MCP), live-coding environments or a MIDI controller.
- sourcemaker's documentation
- firmwaremlre-ba88531
- real unitnot yet checked
Not checked on a real Monome norns yet. Own one? Load a sound or send a control, and tell us whether it worked.
- Maker
- Monome
- Version
- script mlre (sonocircuit/mlre @ ba88531)
- Source
- maker's documentation
- OSC prefix
/norns_mlre
From the README of sonocircuit/mlre at ba88531.
mlre
mlre is an extended version of brian crabtree’s mlr for norns.
new features and functionality were added with performative aspects in mind, attempting to extend the capabilities and expressiveness of the script. like mlr, mlre runs on softcut, a multi-voice playback and recording system for manipulating audio buffers in real time, which was written by ezra buchla.
thank you both, as well as many others from the norns community for all your efforts, countless contributions and sharing of knowledge.
Use it
Start the bridge with this driver; it forwards named OSC commands to the software:
Then send OSC to 127.0.0.1:7777, for example:
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as norns_mlre: ask “what can the Monome norns do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
86 controls, each with its number, its range and the name to send
OSC commands
| Command | Arguments | Name to send |
|---|---|---|
| Param | id: string, value: float | /norns_mlre/param/{id} |
| Param {set} {id} | set: string, id: string, value: float | /norns_mlre/param/{set}/{id} |
| Remote key | n: int, z: int | /norns_mlre/remote/key |
| Remote enc | n: int, delta: int | /norns_mlre/remote/enc |
| Remote brd | code: int, z: int | /norns_mlre/remote/brd |
| Param page autofocus | value: int | /norns_mlre/param/page_autofocus |
| Param grid orientation | value: int | /norns_mlre/param/grid_orientation |
| Param scale | value: int | /norns_mlre/param/scale |
| Param time signature | value: int | /norns_mlre/param/time_signature |
| Param quant rate | value: int | /norns_mlre/param/quant_rate |
| Param snap launch | value: int | /norns_mlre/param/snap_launch |
| Param splice launch | value: int | /norns_mlre/param/splice_launch |
| Param rec launch | value: int | /norns_mlre/param/rec_launch |
| Param rec default | value: int | /norns_mlre/param/rec_default |
| Param rec source | value: int | /norns_mlre/param/rec_source |
| Param rec threshold | value: float | /norns_mlre/param/rec_threshold |
| Param rec slew | value: float | /norns_mlre/param/rec_slew |
| Param rec filter | value: int | /norns_mlre/param/rec_filter |
| Param rec backup | value: int | /norns_mlre/param/rec_backup |
| Param snap active splice | value: int | /norns_mlre/param/snap_active_splice |
| Param snap playback state | value: int | /norns_mlre/param/snap_playback_state |
| Param snap loop state | value: int | /norns_mlre/param/snap_loop_state |
| Param snap rec state | value: int | /norns_mlre/param/snap_rec_state |
| Param snap mute state | value: int | /norns_mlre/param/snap_mute_state |
| Param snap rev state | value: int | /norns_mlre/param/snap_rev_state |
| Param snap speed state | value: int | /norns_mlre/param/snap_speed_state |
| Param snap transpose state | value: int | /norns_mlre/param/snap_transpose_state |
| Param snap set route | value: int | /norns_mlre/param/snap_set_route |
| Param snap lfo state | value: int | /norns_mlre/param/snap_lfo_state |
| Param loadop save | value: int | /norns_mlre/param/loadop_save |
| Param loadop sync | value: int | /norns_mlre/param/loadop_sync |
| Param loadop tempo | value: int | /norns_mlre/param/loadop_tempo |
| Param loadop transition | value: int | /norns_mlre/param/loadop_transition |
| Param loadop quant rate | value: int | /norns_mlre/param/loadop_quant_rate |
| Param loadop time signature | value: int | /norns_mlre/param/loadop_time_signature |
| Param loadop scale | value: int | /norns_mlre/param/loadop_scale |
| Param loadop lfos | value: int | /norns_mlre/param/loadop_lfos |
| Param loadop reset active | value: int | /norns_mlre/param/loadop_reset_active |
| Param loadop reset count | value: int | /norns_mlre/param/loadop_reset_count |
| Param loadop loops | value: int | /norns_mlre/param/loadop_loops |
| Param loadop vol | value: int | /norns_mlre/param/loadop_vol |
| Param loadop pan | value: int | /norns_mlre/param/loadop_pan |
| Param loadop rev | value: int | /norns_mlre/param/loadop_rev |
| Param loadop speed | value: int | /norns_mlre/param/loadop_speed |
| Param loadop detune | value: int | /norns_mlre/param/loadop_detune |
| Param loadop transpose | value: int | /norns_mlre/param/loadop_transpose |
| Param loadop sends | value: int | /norns_mlre/param/loadop_sends |
| Param loadop warble state | value: int | /norns_mlre/param/loadop_warble_state |
| Param loadop sel | value: int | /norns_mlre/param/loadop_sel |
| Param loadop fade | value: int | /norns_mlre/param/loadop_fade |
| Param loadop splice active | value: int | /norns_mlre/param/loadop_splice_active |
| Param loadop silent load | value: int | /norns_mlre/param/loadop_silent_load |
| Param loadop inc pset | value: int | /norns_mlre/param/loadop_inc_pset |
| Param loadop dec pset | value: int | /norns_mlre/param/loadop_dec_pset |
| Param p macro menu remote | value: int | /norns_mlre/param/p_macro_menu_remote |
| Param midi trnsp | value: int | /norns_mlre/param/midi_trnsp |
| Param midi device | value: int | /norns_mlre/param/midi_device |
| Param start all | value: int | /norns_mlre/param/start_all |
| Param stop all | value: int | /norns_mlre/param/stop_all |
| Param reset pos | value: int | /norns_mlre/param/reset_pos |
| Param track focus playback | value: int | /norns_mlre/param/track_focus_playback |
| Param track focus mute | value: int | /norns_mlre/param/track_focus_mute |
| Param rec focus enable | value: int | /norns_mlre/param/rec_focus_enable |
| Param tog focus rev | value: int | /norns_mlre/param/tog_focus_rev |
| Param inc focus speed | value: int | /norns_mlre/param/inc_focus_speed |
| Param dec focus speed | value: int | /norns_mlre/param/dec_focus_speed |
| Param focus track rand | value: int | /norns_mlre/param/focus_track_rand |
| Param auto rand cycle | value: int | /norns_mlre/param/auto_rand_cycle |
| Param rnd step count | value: int | /norns_mlre/param/rnd_step_count |
| Param rnd transpose | value: int | /norns_mlre/param/rnd_transpose |
| Param rnd vol | value: int | /norns_mlre/param/rnd_vol |
| Param rnd pan | value: int | /norns_mlre/param/rnd_pan |
| Param rnd dir | value: int | /norns_mlre/param/rnd_dir |
| Param rnd loop | value: int | /norns_mlre/param/rnd_loop |
| Param rnd speed | value: int | /norns_mlre/param/rnd_speed |
| Param rnd uoct | value: int | /norns_mlre/param/rnd_uoct |
| Param rnd loct | value: int | /norns_mlre/param/rnd_loct |
| Param rnd cut | value: int | /norns_mlre/param/rnd_cut |
| Param rnd ucut | value: float | /norns_mlre/param/rnd_ucut |
| Param rnd lcut | value: float | /norns_mlre/param/rnd_lcut |
| Param arc orientation | value: int | /norns_mlre/param/arc_orientation |
| Param arc enc 1 start | value: int | /norns_mlre/param/arc_enc_1_start |
| Param arc enc 1 dir | value: int | /norns_mlre/param/arc_enc_1_dir |
| Param arc enc 1 mod | value: int | /norns_mlre/param/arc_enc_1_mod |
| Param arc mod sens | value: int | /norns_mlre/param/arc_mod_sens |
| Param arc arc pmac sens | value: int | /norns_mlre/param/arc_arc_pmac_sens |
The same MIDI as norns.vendor.fw-2.9.4, which this firmware shares.
Limitations
Source: the Lua source of the norns script mlre by sonoCircuit (sonocircuit/mlre at ba88531), listed in norns.community. Shares the norns system OSC of monome/norns.vendor.fw-2.9.4 (port 10111, /param, /remote): give the norns' IP address as host override. Its own routes are the 81 parameter(s) whose id is written out in its source, read without running it, with range, options and default when written out too; set them while the script runs on the norns. 67 parameter call(s) could not be read without running the script (ids built at run time, values from variables) and are not mapped: reach them with the base driver's /param/{id}. Parameters added by libraries or engines outside the repository are not mapped either. A value goes in the parameter's units (an option's index from 1). MIDI is not mapped: the script's MIDI handling is its own and parameter MIDI mappings are learned by each user (PMAP). Untested on hardware.
Firmwares
The Monome norns runs 353 firmwares SynthHub maps, each with its own MIDI or another's it shares. All the devices with several: firmwares.
353 firmwares
Other sources
The Monome norns is mapped in 356 versions. per Electra preset, per Electra preset, per Electra preset.
Frequently asked questions
Can an AI agent like Claude control the Monome norns?
Yes: SynthHub's hosted MCP server knows the Monome norns's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.