Written from devices/monome/norns.vendor.fw-cheat-codes-2-7134bd5.jsonEdit on GitHubJSON

Monome norns (script cheat_codes_2): OSC control from Claude, scripts and controllers

75 named commands to drive Monome norns over OSC — from Claude (MCP), live-coding environments or a MIDI controller.

  • sourcemaker's documentation
  • firmwarecheat-codes-2-7134bd5
  • 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 cheat_codes_2 (dndrks/cheat_codes_2 @ 7134bd5)
Source
maker's documentation
OSC prefix
/norns_cheat_codes_2
README.mdfrom the author's repository; not claimed yet, anyone can improve itEdit

From the README of dndrks/cheat_codes_2 at 7134bd5.

cheat codes 2

a sample playground for norns

hard requirements:
  • norns (250406 or later)
encouraged (any or all):
documentation
discussion

OP-Z setup notes

you’ll need to make some adjustments to OP-Z’s MIDI settings, so grab a screen and navigate to the OP-Z’s MIDI SETUP menus!

for globals, make only the following active:

MIDI IN ENABLE
MIDI OUT ENABLE
CLOCK IN ENABLE
CLOCK OUT ENABLE

then, you’ll want to choose three tracks to control the three banks of cheat codes. how you set that up will depend on your end-goals, but make sure you take note of the midi channels for each track. if you’ve never edited the MIDI channel assignments for the tracks on your OP-Z, they’re likely set up as 1-16 – double check in the app, though!

you may also want to disable the OP-Z feature where changing tracks make a little “preview” sound of the instrument. if you connect to OP-Z using disk mode, there’s a config > general.json file you can edit. change "disable track preview" to true !

plug your op-z into norns using the USB-C charge cable. you should see OP-Z in your SYSTEM > DEVICES > MIDI list. please take note of which port it’s on (1/2/3/4).

in cc2’s PARAMS, go to MIDI setup :

enable MIDI control? yes
MIDI control device whatever port your OP-Z is on
enable MIDI echo? yes, this allows the encoders on OP-Z to be used like arc!

from there, you’ll want to set the bank MIDI channels to match the tracks from the OP-Z. they’re defaulted to 1/2/3, which on a factory-set OP-Z are the first, second, and third tracks.

Use it

Start the bridge with this driver; it forwards named OSC commands to the software:

osc-bridge run --device devices/monome/norns.vendor.fw-cheat-codes-2-7134bd5.json

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /norns_cheat_codes_2/param/{id}

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as norns_cheat_codes_2: ask “what can the Monome norns do?” and it reads this map with list_routes. See the MCP guide.

MIDI controls

75 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_cheat_codes_2/param/{id}
Param {set} {id} set: string, id: string, value: float /norns_cheat_codes_2/param/{set}/{id}
Remote key n: int, z: int /norns_cheat_codes_2/remote/key
Remote enc n: int, delta: int /norns_cheat_codes_2/remote/enc
Remote brd code: int, z: int /norns_cheat_codes_2/remote/brd
Param LED style value: int /norns_cheat_codes_2/param/LED_style
Param grid size value: int /norns_cheat_codes_2/param/grid_size
Param arc size value: int /norns_cheat_codes_2/param/arc_size
Param alt corner value: int /norns_cheat_codes_2/param/alt_corner
Param load /norns_cheat_codes_2/param/load
Param collect live value: int /norns_cheat_codes_2/param/collect_live
Param save /norns_cheat_codes_2/param/save
Param overwrite coll /norns_cheat_codes_2/param/overwrite_coll
Param delete coll /norns_cheat_codes_2/param/delete_coll
Param bpm value: int /norns_cheat_codes_2/param/bpm
Param quantize pads value: int /norns_cheat_codes_2/param/quantize_pads
Param quantize pats value: int /norns_cheat_codes_2/param/quantize_pats
Param quant div value: int /norns_cheat_codes_2/param/quant_div
Param quant div pats value: int /norns_cheat_codes_2/param/quant_div_pats
Param lock pat value: int /norns_cheat_codes_2/param/lock_pat
Param sync pat /norns_cheat_codes_2/param/sync_pat
Param init crow /norns_cheat_codes_2/param/init_crow
Param clear crow /norns_cheat_codes_2/param/clear_crow
Param osc IP value: string /norns_cheat_codes_2/param/osc_IP
Param osc port value: string /norns_cheat_codes_2/param/osc_port
Param touchosc echo value: int /norns_cheat_codes_2/param/touchosc_echo
Param refresh osc /norns_cheat_codes_2/param/refresh_osc
Param midi control enabled value: int /norns_cheat_codes_2/param/midi_control_enabled
Param midi control device value: int /norns_cheat_codes_2/param/midi_control_device
Param midi echo enabled value: int /norns_cheat_codes_2/param/midi_echo_enabled
Param midi control channel distribution value: int /norns_cheat_codes_2/param/midi_control_channel_distribution
Param midi enc control enabled value: int /norns_cheat_codes_2/param/midi_enc_control_enabled
Param midi enc control device value: int /norns_cheat_codes_2/param/midi_enc_control_device
Param midi enc echo enabled value: int /norns_cheat_codes_2/param/midi_enc_echo_enabled
Param ping for MFT /norns_cheat_codes_2/param/ping_for_MFT
Param global pad to midi note enabled value: int /norns_cheat_codes_2/param/global_pad_to_midi_note_enabled
Param global pad to midi note destination value: int /norns_cheat_codes_2/param/global_pad_to_midi_note_destination
Param global pad to midi note channel value: int /norns_cheat_codes_2/param/global_pad_to_midi_note_channel
Param global pad to midi note scale value: int /norns_cheat_codes_2/param/global_pad_to_midi_note_scale
Param global pad to midi note root value: int /norns_cheat_codes_2/param/global_pad_to_midi_note_root
Param global pad to midi note root octave value: int /norns_cheat_codes_2/param/global_pad_to_midi_note_root_octave
Param global pad to jf note enabled value: int /norns_cheat_codes_2/param/global_pad_to_jf_note_enabled
Param jf toggle /norns_cheat_codes_2/param/jf_toggle
Param global pad to wsyn note enabled value: int /norns_cheat_codes_2/param/global_pad_to_wsyn_note_enabled
Param wsyn ar mode value: int /norns_cheat_codes_2/param/wsyn_ar_mode
Param wysn randomize value: int /norns_cheat_codes_2/param/wysn_randomize
Param share upload value: string /norns_cheat_codes_2/param/share_upload
Param share download value: string /norns_cheat_codes_2/param/share_download
Param share refresh value: int /norns_cheat_codes_2/param/share_refresh
Param share message value: string /norns_cheat_codes_2/param/share_message
Param one shot clock div value: int /norns_cheat_codes_2/param/one_shot_clock_div
Param one shot threshold value: float /norns_cheat_codes_2/param/one_shot_threshold
Param one shot punch value: int /norns_cheat_codes_2/param/one_shot_punch
Param one shot latency offset value: float /norns_cheat_codes_2/param/one_shot_latency_offset
Param rec loop enc resolution value: int /norns_cheat_codes_2/param/rec_loop_enc_resolution
Param live buff rate value: int /norns_cheat_codes_2/param/live_buff_rate
Param offset value: float /norns_cheat_codes_2/param/offset
Param preview clip change value: int /norns_cheat_codes_2/param/preview_clip_change
Param visual metro value: int /norns_cheat_codes_2/param/visual_metro
Param tempo resize value: int /norns_cheat_codes_2/param/tempo_resize
Param launch quantization value: int /norns_cheat_codes_2/param/launch_quantization
Param zilchmo patterning value: int /norns_cheat_codes_2/param/zilchmo_patterning
Param arc patterning value: int /norns_cheat_codes_2/param/arc_patterning
Param arp panic /norns_cheat_codes_2/param/arp_panic
Param metronome audio state value: int /norns_cheat_codes_2/param/metronome_audio_state
Param metronome one beat pitch value: int /norns_cheat_codes_2/param/metronome_one_beat_pitch
Param metronome alt beat pitch value: int /norns_cheat_codes_2/param/metronome_alt_beat_pitch
Param save mappings value: int /norns_cheat_codes_2/param/save_mappings
Param alt key value: int /norns_cheat_codes_2/param/alt_key
Param save left delay /norns_cheat_codes_2/param/save_left_delay
Param save right delay /norns_cheat_codes_2/param/save_right_delay
Param load left delay value: string /norns_cheat_codes_2/param/load_left_delay
Param load right delay value: string /norns_cheat_codes_2/param/load_right_delay
Param start transport at launch value: int /norns_cheat_codes_2/param/start_transport_at_launch
Param start rec loop at launch value: int /norns_cheat_codes_2/param/start_rec_loop_at_launch

JSON

The same MIDI as norns.vendor.fw-2.9.4, which this firmware shares.

Limitations

Source: the Lua source of the norns script cheat_codes_2 by dani_derks (dndrks/cheat_codes_2 at 7134bd5), 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 70 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. 150 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.

Other versions

The Monome norns is mapped in 356 versions. per Electra preset, per Electra preset, per Electra preset, norns system OSC, v2.9.4, script 32-harmony, script 3d, script 4-big-knobs, script 4CCFader, script abacus, script acid-test, script ack, script acrostic, script amen, script amenbreak, script animator, script arcify, script arcologies, script arp_index, script ash, script ashsynth, script asterion, script automs70, script avonlea, script awake, script awake-ashsynth, script awake-passersby, script awake-rings, script _awed, script b-b-b-b-beat, script bakeneko, script barcode, script barycenter, script beacon, script beets, script benjolis, script bistro, script bitebeet, script bitters, script bline, script blippoo, script blndr, script bloom, script blue, script boingg, script bounds, script bowering, script breakthrough, script buoys, script caliper, script carter's delay, script cc-canvas, script cccccccc, script changes, script choukanzu, script circles, script clarck, script clcks, script clipper, script clockabout, script colorwheel, script combiner, script combos, script compass, script concrete, script constellations, script corners, script cranes, script crow_talk, script cryptkeeper, script cybermidi, script cyrene, script d, script delar, script delayyyyyyyy, script delinquencer, script demoncore, script descartes, script dimension-expander, script downtown, script dreamsequence, script drift, script dronecaster, script drum_room, script duatone, script dunes, script Eastwind, script easygrain, script eels, script ekombi, script endless-stairs, script esper, script eterna, script euclidigons, script faeng, script fall, fates 2.9.3, script fiahod, script fibonacci, script fixed-filter-banking-crisis, script flora, script fm7, script folio, script footfoot, script forge, script foulplay, script foundry, script fugarc, script fugu, script gematria, script gemini, script get in the sea!, script giro, script glaciers, script glitchlets, script glitchlooper, script glut, script goldeneye, script grains, script graintopia, script granchild, script grd, script grendy, script greyhole, script grid-test, script gridofpoints, script gridofrings, script gridstep, script groovecats, script grurder, script hachi, script hands, script haven, script haze, script here-there, script hid_demo, script Hiswing, script hpns, script hs010, script icarus, script iiitoii, script impact, script ingenue, script initenere, script internorns, script interpret, script intervaltrainer, script islands, script isoseq, script jala, script jiffy, script just-play, script justharmonicon, script KoiBoi2, script kolor, script kreislauf, script kria_midi, script krill, script l_ll__l_, script lamellae, script lamination, script larc, script lemniscate, script leslie, script less-concepts, script lissadron, script loom, script lorenz, script lorenzos-drums, script loudnumbers_norns, script luck, script m18s, script magnetar, script magpie, script makebreakbeat, script mangl, script manifold, script marcovaldo, script massif, script MDPatch, script MDScaler, script meadowphysics, script metrix, script metronome, script midarto, script midi-monitor, script midi-review, script midididi, script midigrid, script midiplayer, script mlr, script mlre, script Mnmpatch, script molly_the_poly, script moln, script monitor, script monomaniac, script moonraker, script mosaic, script mouse, script mx.samples, script mx.synths, script n.kria, script nørgård, script n16o, script nameless-nightmare, script narf, script nb_drumcrow, script nb_mxsynths, script nb_plyprc, script nb_smpKit, script nc01-drone, script nc02-rs, script nc03-ds, script ndls, script nice-tapes, script nisp, script nmMelodyMagic, script nmQuadroDubber, script nmRain, script nmSmartyPants, script noize, script noizeop, script norman, script norns.online, script nornsfetch, script nydl, script o-o-o, script oblique, script oilcan, script onehanded, script ong, script oooooo, script orbital, script orca, script orgn, script orgnwrms, script ortf, script otis, script overtones, script overwintering, script p8, script paracosms, script paranibbles, script parrot, script passersby, script passthrough, script patchwork, script path-trace, script pedalboard, script phonotype, script phyllis, script pirate-radio, script pit-orchisstra, script pitfalls, script pitter-patter, script piwip, script pixels, script plasma, script plonky, script pools, script ppm_norns, script punchcard, script qfwfq, script quence, script r, script rachim, script raft, script raindrops, script randomizer_typhon, script rangl, script rebound, script reels, script repeater, script repl-looper, script ribbons, script rpls, script rpmate, script rudiments, script sam, script sampswap, script samsara, script samthree, script sath-lemon, script schicksalslied, script scholastic, script scryingstone, script seaflex, script seeker_ii, script sempra, script serialism, script shapes, script shfts, script shnthsalslied, script showers, script sidvagn, script silos, script sines, script skylines, script smash, script sonde, script spirals, script splicer, script splnkr, script stack, script step, script stjörnuíþrótt, script streams, script strides, script strum, script stwnsh, script SuperBrain, script supertonic, script sway, script sweet bees, script synthy, script takt, script tambla, script tapedeck, script taweeet, script tetra, script tetrabobo, script tetrabotis, script thebangs, script thirtythree, script thorns, script Tidbit, script timber, script time-rhythm, script timeparty, script tmi, script torii, script traffic, script triangles, script tulpamancer, script tuner, script tunnels, script turntable, script tviburar, script twine, script twins, script u, script ufo, script uhf, script vcr, script vinker, script warmreload, script waver, script window-crowparator, script wobblewobble, script wrms, script xD1, script Ygg, script yggdrasil, script zellen, script zxcvbn.

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.