{
 "_sources": [
  {
   "type": "vendor-doc",
   "name": "norns script mx.synths",
   "url": "https://github.com/schollz/mx.synths/tree/ada23b839db5cda0cc36110b588a999c79a2cef3",
   "notes": "norns script mx.synths: lib/arp.lua, lib/chordsequencer.lua, lib/mx.synths.lua @ ada23b8. Licence MIT. Listed in norns.community (monome/norns-community community.json @ 41d05e7).",
   "firmware": "mx-synths-ada23b8",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "Source: the Lua source of the norns script mx.synths by infinitedigits (schollz/mx.synths at ada23b8), 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 37 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. 6 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.",
 "_coverage": {
  "host_software": "norns script mx.synths",
  "commands": 37,
  "subscriptions": 0,
  "replies": 0
 },
 "midi_of": "monome/norns.vendor.fw-2.9.4",
 "device": {
  "name": "norns",
  "vendor": "Monome",
  "revision": "script mx.synths (schollz/mx.synths @ ada23b8)",
  "osc_prefix": "/norns_mx_synths"
 },
 "commands": [
  {
   "osc": "/param/arp_start",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/arp_start",
    "args": [
     "{value}"
    ]
   },
   "_notes": "start/stop: toggle, 0 or 1."
  },
  {
   "osc": "/param/arp_hold",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/arp_hold",
    "args": [
     "{value}"
    ]
   },
   "_notes": "hold: toggle, 0 or 1."
  },
  {
   "osc": "/param/arp_time_signature",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 5
    }
   ],
   "forward": {
    "path": "/param/arp_time_signature",
    "args": [
     "{value}"
    ]
   },
   "_notes": "time signature: option index, from 1."
  },
  {
   "osc": "/param/arp_duration",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 50
    }
   ],
   "forward": {
    "path": "/param/arp_duration",
    "args": [
     "{value}"
    ]
   },
   "_notes": "note duration: 0 to 100 %."
  },
  {
   "osc": "/param/arp_length",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/arp_length",
    "args": [
     "{value}"
    ]
   },
   "_notes": "arp length: 0 to 4 x."
  },
  {
   "osc": "/param/arp_shape",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/arp_shape",
    "args": [
     "{value}"
    ]
   },
   "_notes": "shape: option index, from 1."
  },
  {
   "osc": "/param/arp_mode",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/arp_mode",
    "args": [
     "{value}"
    ]
   },
   "_notes": "mode: option index, from 1."
  },
  {
   "osc": "/param/arp_trigger",
   "section": "ARP",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/arp_trigger",
    "args": [
     "{value}"
    ]
   },
   "_notes": "mode trigger: option index, from 1."
  },
  {
   "osc": "/param/chordy_start",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/chordy_start",
    "args": [
     "{value}"
    ]
   },
   "_notes": "start/stop: toggle, 0 or 1."
  },
  {
   "osc": "/param/chordy_generate",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      1
     ]
    }
   ],
   "forward": {
    "path": "/param/chordy_generate",
    "args": [
     "{value}"
    ]
   },
   "_notes": "generate chords: momentary, 0 or 1."
  },
  {
   "osc": "/param/chordy_chords_show",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "string"
    }
   ],
   "forward": {
    "path": "/param/chordy_chords_show",
    "args": [
     "{value}"
    ]
   },
   "_notes": "chords: text."
  },
  {
   "osc": "/param/chordy_chords",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "string"
    }
   ],
   "forward": {
    "path": "/param/chordy_chords",
    "args": [
     "{value}"
    ]
   },
   "_notes": "chords show: text."
  },
  {
   "osc": "/param/chordy_time_signature",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/chordy_time_signature",
    "args": [
     "{value}"
    ]
   },
   "_notes": "time signature: option index, from 1."
  },
  {
   "osc": "/param/chordy_duration",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 50
    }
   ],
   "forward": {
    "path": "/param/chordy_duration",
    "args": [
     "{value}"
    ]
   },
   "_notes": "note duration: 0 to 100 %."
  },
  {
   "osc": "/param/chordy_octave",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      8
     ],
     "default": 3
    }
   ],
   "forward": {
    "path": "/param/chordy_octave",
    "args": [
     "{value}"
    ]
   },
   "_notes": "octave."
  },
  {
   "osc": "/param/chordy_transpose",
   "section": "CHORDS",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      -11,
      11
     ],
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/chordy_transpose",
    "args": [
     "{value}"
    ]
   },
   "_notes": "transpose."
  },
  {
   "osc": "/param/mxsynths_synth",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/mxsynths_synth",
    "args": [
     "{value}"
    ]
   },
   "_notes": "synth: option index, from 1."
  },
  {
   "osc": "/param/mxsynths_amp",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": -9
    }
   ],
   "forward": {
    "path": "/param/mxsynths_amp",
    "args": [
     "{value}"
    ]
   },
   "_notes": "volume: -96 to 20."
  },
  {
   "osc": "/param/mxsynths_sub",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": -9
    }
   ],
   "forward": {
    "path": "/param/mxsynths_sub",
    "args": [
     "{value}"
    ]
   },
   "_notes": "sub: -96 to 20."
  },
  {
   "osc": "/param/mxsynths_pan",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/mxsynths_pan",
    "args": [
     "{value}"
    ]
   },
   "_notes": "pan: -1 to 1."
  },
  {
   "osc": "/param/mxsynths_attack",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.01
    }
   ],
   "forward": {
    "path": "/param/mxsynths_attack",
    "args": [
     "{value}"
    ]
   },
   "_notes": "attack: 0 to 10 s."
  },
  {
   "osc": "/param/mxsynths_decay",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/mxsynths_decay",
    "args": [
     "{value}"
    ]
   },
   "_notes": "decay: 0 to 10 s."
  },
  {
   "osc": "/param/mxsynths_sustain",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.9
    }
   ],
   "forward": {
    "path": "/param/mxsynths_sustain",
    "args": [
     "{value}"
    ]
   },
   "_notes": "sustain: 0 to 2 amp."
  },
  {
   "osc": "/param/mxsynths_release",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/mxsynths_release",
    "args": [
     "{value}"
    ]
   },
   "_notes": "release: 0 to 10 s."
  },
  {
   "osc": "/param/mxsynths_tune",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/mxsynths_tune",
    "args": [
     "{value}"
    ]
   },
   "_notes": "tune: -100 to 100 cents."
  },
  {
   "osc": "/param/mxsynths_lpf",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 20000
    }
   ],
   "forward": {
    "path": "/param/mxsynths_lpf",
    "args": [
     "{value}"
    ]
   },
   "_notes": "low-pass filter: 20 to 20000 Hz."
  },
  {
   "osc": "/param/mxsynths_delay",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 10
    }
   ],
   "forward": {
    "path": "/param/mxsynths_delay",
    "args": [
     "{value}"
    ]
   },
   "_notes": "delay send: 0 to 100 %."
  },
  {
   "osc": "/param/mxsynths_delay_times",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 11
    }
   ],
   "forward": {
    "path": "/param/mxsynths_delay_times",
    "args": [
     "{value}"
    ]
   },
   "_notes": "delay iterations: 0 to 100 beats."
  },
  {
   "osc": "/param/mxsynths_delay_rate",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      6
     ],
     "values": {
      "whole-note": 1,
      "half-note": 2,
      "quarter note": 3,
      "eighth note": 4,
      "sixteenth note": 5,
      "thirtysecond": 6
     },
     "default": 3
    }
   ],
   "forward": {
    "path": "/param/mxsynths_delay_rate",
    "args": [
     "{value}"
    ]
   },
   "_notes": "delay rate: option index, from 1."
  },
  {
   "osc": "/param/mxsynths_polyphony",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "polyphonic": 1,
      "monophonic": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/mxsynths_polyphony",
    "args": [
     "{value}"
    ]
   },
   "_notes": "polyphony: option index, from 1."
  },
  {
   "osc": "/param/mxsynths_portamento",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/mxsynths_portamento",
    "args": [
     "{value}"
    ]
   },
   "_notes": "portamento: 0 to 5 s."
  },
  {
   "osc": "/param/mxsynths_max_polyphony",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 20
    }
   ],
   "forward": {
    "path": "/param/mxsynths_max_polyphony",
    "args": [
     "{value}"
    ]
   },
   "_notes": "max polyphony: 0 to 100 notes."
  },
  {
   "osc": "/param/mxsynths_sensitivity",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      4
     ],
     "values": {
      "delicate": 1,
      "normal": 2,
      "stiff": 3,
      "fixed": 4
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/mxsynths_sensitivity",
    "args": [
     "{value}"
    ]
   },
   "_notes": "velocity sensitivity: option index, from 1."
  },
  {
   "osc": "/param/mxsynths_pedal_mode",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "sustain": 1,
      "sostenuto": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/mxsynths_pedal_mode",
    "args": [
     "{value}"
    ]
   },
   "_notes": "pedal mode: option index, from 1."
  },
  {
   "osc": "/param/midi",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      1
     ],
     "values": {
      "none": 1
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi in: option index, from 1."
  },
  {
   "osc": "/param/midichannel",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      1
     ],
     "values": {
      "all": 1
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midichannel",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi ch: option index, from 1."
  },
  {
   "osc": "/param/bend_range",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      48
     ],
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/bend_range",
    "args": [
     "{value}"
    ]
   },
   "_notes": "bend range."
  }
 ]
}
