Monome norns (script krill): OSC control from Claude, scripts and controllers
128 named commands to drive Monome norns over OSC — from Claude (MCP), live-coding environments or a MIDI controller.
- sourcemaker's documentation
- firmwarekrill-2a76ace
- 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 krill (jaseknighter/krill @ 2a76ace)
- Source
- maker's documentation
- OSC prefix
/norns_krill
From the README of jaseknighter/krill at 2a76ace.
krill
a Lorenz system sequencer and mod matrix running @okyeron's UGen linux port of Mutable Instruments Rings for monome norns.
requirements
- norns (required)
- crow, W/, Just Friends, midi (optional)
- audio input to excite the MIRings engine (optional)
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_krill: ask “what can the Monome norns do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
128 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_krill/param/{id} |
| Param {set} {id} | set: string, id: string, value: float | /norns_krill/param/{set}/{id} |
| Remote key | n: int, z: int | /norns_krill/remote/key |
| Remote enc | n: int, delta: int | /norns_krill/remote/enc |
| Remote brd | code: int, z: int | /norns_krill/remote/brd |
| Param grid display | value: int | /norns_krill/param/grid_display |
| Param scale mode | value: int | /norns_krill/param/scale_mode |
| Param root note | value: int | /norns_krill/param/root_note |
| Param note offset | value: int | /norns_krill/param/note_offset |
| Param quantize | value: int | /norns_krill/param/quantize |
| Param num octaves | value: float | /norns_krill/param/num_octaves |
| Param active note | value: float | /norns_krill/param/active_note |
| Param x input | value: int | /norns_krill/param/x_input |
| Param y input | value: int | /norns_krill/param/y_input |
| Param x offset | value: int | /norns_krill/param/x_offset |
| Param y offset | value: int | /norns_krill/param/y_offset |
| Param xy offset | value: int | /norns_krill/param/xy_offset |
| Param x scale | value: float | /norns_krill/param/x_scale |
| Param y scale | value: float | /norns_krill/param/y_scale |
| Param lz speed | value: int | /norns_krill/param/lz_speed |
| Param origin1 | value: float | /norns_krill/param/origin1 |
| Param origin2 | value: float | /norns_krill/param/origin2 |
| Param origin3 | value: float | /norns_krill/param/origin3 |
| Param sigma | value: float | /norns_krill/param/sigma |
| Param rho | value: int | /norns_krill/param/rho |
| Param beta | value: float | /norns_krill/param/beta |
| Param state1 | value: float | /norns_krill/param/state1 |
| Param state2 | value: float | /norns_krill/param/state2 |
| Param state3 | value: float | /norns_krill/param/state3 |
| Param steps | value: int | /norns_krill/param/steps |
| Param dt | value: float | /norns_krill/param/dt |
| Param loop length | value: int | /norns_krill/param/loop_length |
| Param vuja de prob | value: int | /norns_krill/param/vuja_de_prob |
| Param vuja de num divs | value: float | /norns_krill/param/vuja_de_num_divs |
| Param vjd div asn engine1 | value: int | /norns_krill/param/vjd_div_asn_engine1 |
| Param vjd div asn engine2 | value: int | /norns_krill/param/vjd_div_asn_engine2 |
| Param vjd div asn midi1 | value: int | /norns_krill/param/vjd_div_asn_midi1 |
| Param vjd div asn midi2 | value: int | /norns_krill/param/vjd_div_asn_midi2 |
| Param vjd div asn crow1 | value: int | /norns_krill/param/vjd_div_asn_crow1 |
| Param vjd div asn crow2 | value: int | /norns_krill/param/vjd_div_asn_crow2 |
| Param vjd div asn jf1 | value: int | /norns_krill/param/vjd_div_asn_jf1 |
| Param vjd div asn jf2 | value: int | /norns_krill/param/vjd_div_asn_jf2 |
| Param vjd div asn wsyn1 | value: int | /norns_krill/param/vjd_div_asn_wsyn1 |
| Param vjd div asn wsyn2 | value: int | /norns_krill/param/vjd_div_asn_wsyn2 |
| Param vjd div asn wdelkarp1 | value: int | /norns_krill/param/vjd_div_asn_wdelkarp1 |
| Param vjd div asn wdelkarp2 | value: int | /norns_krill/param/vjd_div_asn_wdelkarp2 |
| Param sequencing mode | value: int | /norns_krill/param/sequencing_mode |
| Param env active | value: int | /norns_krill/param/env_active |
| Param env max level | value: float | /norns_krill/param/env_max_level |
| Param env scalar | value: int | /norns_krill/param/env_scalar |
| Param rise time | value: float | /norns_krill/param/rise_time |
| Param fall time | value: float | /norns_krill/param/fall_time |
| Param env shape | value: float | /norns_krill/param/env_shape |
| Param env pos | value: float | /norns_krill/param/env_pos |
| Param env level | value: float | /norns_krill/param/env_level |
| Param frequency slew | value: int | /norns_krill/param/frequency_slew |
| Param enable frequency slew | value: int | /norns_krill/param/enable_frequency_slew |
| Param rings easter egg | value: int | /norns_krill/param/rings_easter_egg |
| Param engine mode | value: int | /norns_krill/param/engine_mode |
| Param rings triger mode | value: int | /norns_krill/param/rings_triger_mode |
| Param internal trigger type | value: int | /norns_krill/param/internal_trigger_type |
| Param output midi | value: int | /norns_krill/param/output_midi |
| Param midi out device | value: int | /norns_krill/param/midi_out_device |
| Param output jf | value: int | /norns_krill/param/output_jf |
| Param jf mode | value: int | /norns_krill/param/jf_mode |
| Param jf pitch interval1 | value: int | /norns_krill/param/jf_pitch_interval1 |
| Param jf pitch interval2 | value: int | /norns_krill/param/jf_pitch_interval2 |
| Param jf pitch interval3 | value: int | /norns_krill/param/jf_pitch_interval3 |
| Param jf pitch interval4 | value: int | /norns_krill/param/jf_pitch_interval4 |
| Param jf pitch interval5 | value: int | /norns_krill/param/jf_pitch_interval5 |
| Param jf pitch interval6 | value: int | /norns_krill/param/jf_pitch_interval6 |
| Param autosave | value: int | /norns_krill/param/autosave |
| Param save krill data | /norns_krill/param/save_krill_data |
|
| Param overwrite krill data | /norns_krill/param/overwrite_krill_data |
|
| Param remove krill data | /norns_krill/param/remove_krill_data |
|
| Param load krill data | /norns_krill/param/load_krill_data |
|
| Param output wdel ks | value: int | /norns_krill/param/output_wdel_ks |
| Param wdel mix | value: float | /norns_krill/param/wdel_mix |
| Param wdel time short | value: float | /norns_krill/param/wdel_time_short |
| Param wdel time long | value: float | /norns_krill/param/wdel_time_long |
| Param wdel feedback | value: float | /norns_krill/param/wdel_feedback |
| Param wdel filter | value: float | /norns_krill/param/wdel_filter |
| Param wdel clock | value: float | /norns_krill/param/wdel_clock |
| Param wdel clock ratio mul | value: float | /norns_krill/param/wdel_clock_ratio_mul |
| Param wdel clock ratio div | value: float | /norns_krill/param/wdel_clock_ratio_div |
| Param wdel rate | value: float | /norns_krill/param/wdel_rate |
| Param wdel frequency | value: float | /norns_krill/param/wdel_frequency |
| Param wdel mod rate | value: float | /norns_krill/param/wdel_mod_rate |
| Param wdel mod amount | value: float | /norns_krill/param/wdel_mod_amount |
| Param wdel pluck | /norns_krill/param/wdel_pluck |
|
| Param wdel freeze | value: int | /norns_krill/param/wdel_freeze |
| Param wdel init | /norns_krill/param/wdel_init |
|
| Param output wsyn | value: int | /norns_krill/param/output_wsyn |
| Param wsyn voc | value: int | /norns_krill/param/wsyn_voc |
| Param wsyn vel | value: float | /norns_krill/param/wsyn_vel |
| Param wsyn curve | value: float | /norns_krill/param/wsyn_curve |
| Param wsyn ramp | value: float | /norns_krill/param/wsyn_ramp |
| Param wsyn fm index | value: float | /norns_krill/param/wsyn_fm_index |
| Param wsyn fm env | value: float | /norns_krill/param/wsyn_fm_env |
| Param wsyn fm ratio numerator | value: int | /norns_krill/param/wsyn_fm_ratio_numerator |
| Param wsyn fm ratio denominator | value: int | /norns_krill/param/wsyn_fm_ratio_denominator |
| Param wsyn ar mode | value: int | /norns_krill/param/wsyn_ar_mode |
| Param wsyn lpg time | value: float | /norns_krill/param/wsyn_lpg_time |
| Param wsyn lpg symmetry | value: float | /norns_krill/param/wsyn_lpg_symmetry |
| Param wsyn pitch interval1 | value: int | /norns_krill/param/wsyn_pitch_interval1 |
| Param wsyn pitch interval2 | value: int | /norns_krill/param/wsyn_pitch_interval2 |
| Param wsyn pitch interval3 | value: int | /norns_krill/param/wsyn_pitch_interval3 |
| Param wsyn pluckylog | /norns_krill/param/wsyn_pluckylog |
|
| Param wsyn reset | /norns_krill/param/wsyn_reset |
|
| Param wsyn init | /norns_krill/param/wsyn_init |
|
| Param wtape timestamp | value: float | /norns_krill/param/wtape_timestamp |
| Param wtape seek | value: float | /norns_krill/param/wtape_seek |
| Param wtape record | value: int | /norns_krill/param/wtape_record |
| Param wtape play | value: int | /norns_krill/param/wtape_play |
| Param wtape reverse | /norns_krill/param/wtape_reverse |
|
| Param wtape loop active | value: int | /norns_krill/param/wtape_loop_active |
| Param wtape echo mode | value: int | /norns_krill/param/wtape_echo_mode |
| Param wtape loop start | /norns_krill/param/wtape_loop_start |
|
| Param wtape loop end | /norns_krill/param/wtape_loop_end |
|
| Param wtape loop next | value: int | /norns_krill/param/wtape_loop_next |
| Param wtape loop next trigger | /norns_krill/param/wtape_loop_next_trigger |
|
| Param wtape loop scale mult | value: int | /norns_krill/param/wtape_loop_scale_mult |
| Param wtape speed | value: float | /norns_krill/param/wtape_speed |
| Param wtape freq | value: float | /norns_krill/param/wtape_freq |
| Param wtape erase strength | value: float | /norns_krill/param/wtape_erase_strength |
| Param wtape monitor level | value: float | /norns_krill/param/wtape_monitor_level |
| Param wtape rec level | value: float | /norns_krill/param/wtape_rec_level |
| Param wtape init | /norns_krill/param/wtape_init |
The same MIDI as norns.vendor.fw-2.9.4, which this firmware shares.
Limitations
Source: the Lua source of the norns script krill by jaseknighter (jaseknighter/krill at 2a76ace), 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 123 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. 28 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.