{
 "_sources": [
  {
   "type": "vendor-doc",
   "name": "norns script m18s",
   "url": "https://github.com/jlmitch5/m18s/tree/b749fc0792197c3906e36554816e0cbed1677eab",
   "notes": "norns script m18s: m18s.lua, lib/polysub.lua @ b749fc0. No licence declared. Listed in norns.community (monome/norns-community community.json @ 41d05e7).",
   "firmware": "m18s-b749fc0",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "Source: the Lua source of the norns script m18s by jlmitch5 (jlmitch5/m18s at b749fc0), 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 42 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. 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 m18s",
  "commands": 42,
  "subscriptions": 0,
  "replies": 0
 },
 "midi_of": "monome/norns.vendor.fw-2.9.4",
 "device": {
  "name": "norns",
  "vendor": "Monome",
  "revision": "script m18s (jlmitch5/m18s @ b749fc0)",
  "osc_prefix": "/norns_m18s"
 },
 "commands": [
  {
   "osc": "/param/midi_out_device",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      4
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_out_device",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi out device."
  },
  {
   "osc": "/param/scale_mode",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 13
    }
   ],
   "forward": {
    "path": "/param/scale_mode",
    "args": [
     "{value}"
    ]
   },
   "_notes": "scale: option index, from 1."
  },
  {
   "osc": "/param/root_note",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      11
     ],
     "default": 4
    }
   ],
   "forward": {
    "path": "/param/root_note",
    "args": [
     "{value}"
    ]
   },
   "_notes": "root note."
  },
  {
   "osc": "/param/v1_gateLength",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.17
    }
   ],
   "forward": {
    "path": "/param/v1_gateLength",
    "args": [
     "{value}"
    ]
   },
   "_notes": "pulse length: 0.05 to 10 s."
  },
  {
   "osc": "/param/v1_octave",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      8
     ],
     "default": 4
    }
   ],
   "forward": {
    "path": "/param/v1_octave",
    "args": [
     "{value}"
    ]
   },
   "_notes": "global octave."
  },
  {
   "osc": "/param/audioOutput1",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "off": 1,
      "on": 2
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/audioOutput1",
    "args": [
     "{value}"
    ]
   },
   "_notes": "audio: option index, from 1."
  },
  {
   "osc": "/param/crowOutput121",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "off": 1,
      "v/oct + v-trig": 2,
      "hz/v + s-trig": 3
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/crowOutput121",
    "args": [
     "{value}"
    ]
   },
   "_notes": "crow (1+2): option index, from 1."
  },
  {
   "osc": "/param/crowOutput341",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "off": 1,
      "v/oct + v-trig": 2,
      "hz/v + s-trig": 3
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/crowOutput341",
    "args": [
     "{value}"
    ]
   },
   "_notes": "crow (3+4): option index, from 1."
  },
  {
   "osc": "/param/midiOutput1",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      17
     ],
     "values": {
      "off": 1,
      "1": 2,
      "2": 3,
      "3": 4,
      "4": 5,
      "5": 6,
      "6": 7,
      "7": 8,
      "8": 9,
      "9": 10,
      "10": 11,
      "11": 12,
      "12": 13,
      "13": 14,
      "14": 15,
      "15": 16,
      "16": 17
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midiOutput1",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi (ch): option index, from 1."
  },
  {
   "osc": "/param/jfOutput1",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "off": 1,
      "on": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/jfOutput1",
    "args": [
     "{value}"
    ]
   },
   "_notes": "jf: option index, from 1."
  },
  {
   "osc": "/param/jfOctOffset1",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      -3,
      3
     ],
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/jfOctOffset1",
    "args": [
     "{value}"
    ]
   },
   "_notes": "jf octave offset."
  },
  {
   "osc": "/param/v1_mode",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      4
     ],
     "values": {
      "forward": 1,
      "pingPong": 2,
      "random": 3,
      "fixedLength": 4
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/v1_mode",
    "args": [
     "{value}"
    ]
   },
   "_notes": "mode: option index, from 1."
  },
  {
   "osc": "/param/v1_fixedLength",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      128
     ],
     "default": 16
    }
   ],
   "forward": {
    "path": "/param/v1_fixedLength",
    "args": [
     "{value}"
    ]
   },
   "_notes": "fixed length."
  },
  {
   "osc": "/param/v2_gateLength",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.067
    }
   ],
   "forward": {
    "path": "/param/v2_gateLength",
    "args": [
     "{value}"
    ]
   },
   "_notes": "pulse length: 0.05 to 10 s."
  },
  {
   "osc": "/param/v2_octave",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      8
     ],
     "default": 3
    }
   ],
   "forward": {
    "path": "/param/v2_octave",
    "args": [
     "{value}"
    ]
   },
   "_notes": "octave."
  },
  {
   "osc": "/param/audioOutput2",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "off": 1,
      "on": 2
     },
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/audioOutput2",
    "args": [
     "{value}"
    ]
   },
   "_notes": "audio: option index, from 1."
  },
  {
   "osc": "/param/crowOutput122",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "off": 1,
      "v/oct + v-trig": 2,
      "hz/v + s-trig": 3
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/crowOutput122",
    "args": [
     "{value}"
    ]
   },
   "_notes": "crow (1+2): option index, from 1."
  },
  {
   "osc": "/param/crowOutput342",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "off": 1,
      "v/oct + v-trig": 2,
      "hz/v + s-trig": 3
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/crowOutput342",
    "args": [
     "{value}"
    ]
   },
   "_notes": "crow (3+4): option index, from 1."
  },
  {
   "osc": "/param/midiOutput2",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      17
     ],
     "values": {
      "off": 1,
      "1": 2,
      "2": 3,
      "3": 4,
      "4": 5,
      "5": 6,
      "6": 7,
      "7": 8,
      "8": 9,
      "9": 10,
      "10": 11,
      "11": 12,
      "12": 13,
      "13": 14,
      "14": 15,
      "15": 16,
      "16": 17
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midiOutput2",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi (ch): option index, from 1."
  },
  {
   "osc": "/param/jfOutput2",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "off": 1,
      "on": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/jfOutput2",
    "args": [
     "{value}"
    ]
   },
   "_notes": "jf: option index, from 1."
  },
  {
   "osc": "/param/jfOctOffset2",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      -3,
      3
     ],
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/jfOctOffset2",
    "args": [
     "{value}"
    ]
   },
   "_notes": "jf octave offset."
  },
  {
   "osc": "/param/v2_mode",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      4
     ],
     "values": {
      "forward": 1,
      "pingPong": 2,
      "random": 3,
      "fixedLength": 4
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/v2_mode",
    "args": [
     "{value}"
    ]
   },
   "_notes": "mode: option index, from 1."
  },
  {
   "osc": "/param/v2_fixedLength",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      128
     ],
     "default": 16
    }
   ],
   "forward": {
    "path": "/param/v2_fixedLength",
    "args": [
     "{value}"
    ]
   },
   "_notes": "fixed length."
  },
  {
   "osc": "/param/shape",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.78
    }
   ],
   "forward": {
    "path": "/param/shape",
    "args": [
     "{value}"
    ]
   },
   "_notes": "shape: 0 to 1."
  },
  {
   "osc": "/param/timbre",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.08
    }
   ],
   "forward": {
    "path": "/param/timbre",
    "args": [
     "{value}"
    ]
   },
   "_notes": "timbre: 0 to 1."
  },
  {
   "osc": "/param/sub",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.19
    }
   ],
   "forward": {
    "path": "/param/sub",
    "args": [
     "{value}"
    ]
   },
   "_notes": "sub: 0 to 1."
  },
  {
   "osc": "/param/noise",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.18
    }
   ],
   "forward": {
    "path": "/param/noise",
    "args": [
     "{value}"
    ]
   },
   "_notes": "noise: 0 to 1."
  },
  {
   "osc": "/param/detune",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.28
    }
   ],
   "forward": {
    "path": "/param/detune",
    "args": [
     "{value}"
    ]
   },
   "_notes": "detune: 0 to 1."
  },
  {
   "osc": "/param/width",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.4
    }
   ],
   "forward": {
    "path": "/param/width",
    "args": [
     "{value}"
    ]
   },
   "_notes": "stereo width: 0 to 1."
  },
  {
   "osc": "/param/hzlag",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/hzlag",
    "args": [
     "{value}"
    ]
   },
   "_notes": "pitch lag: 0 to 1."
  },
  {
   "osc": "/param/fgain",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.66
    }
   ],
   "forward": {
    "path": "/param/fgain",
    "args": [
     "{value}"
    ]
   },
   "_notes": "filter gain: 0 to 6."
  },
  {
   "osc": "/param/cut",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 3.392
    }
   ],
   "forward": {
    "path": "/param/cut",
    "args": [
     "{value}"
    ]
   },
   "_notes": "cut: 0 to 32."
  },
  {
   "osc": "/param/cutenvamt",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.75
    }
   ],
   "forward": {
    "path": "/param/cutenvamt",
    "args": [
     "{value}"
    ]
   },
   "_notes": "cut env amt: 0 to 1."
  },
  {
   "osc": "/param/cutatk",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.065
    }
   ],
   "forward": {
    "path": "/param/cutatk",
    "args": [
     "{value}"
    ]
   },
   "_notes": "cut attack: 0.01 to 10."
  },
  {
   "osc": "/param/cutdec",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.022
    }
   ],
   "forward": {
    "path": "/param/cutdec",
    "args": [
     "{value}"
    ]
   },
   "_notes": "cut decay: 0 to 2."
  },
  {
   "osc": "/param/cutsus",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.66
    }
   ],
   "forward": {
    "path": "/param/cutsus",
    "args": [
     "{value}"
    ]
   },
   "_notes": "cut sustain: 0 to 1."
  },
  {
   "osc": "/param/cutrel",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.644
    }
   ],
   "forward": {
    "path": "/param/cutrel",
    "args": [
     "{value}"
    ]
   },
   "_notes": "cut release: 0.01 to 10."
  },
  {
   "osc": "/param/level",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.11
    }
   ],
   "forward": {
    "path": "/param/level",
    "args": [
     "{value}"
    ]
   },
   "_notes": "level: 0 to 1."
  },
  {
   "osc": "/param/ampatk",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.05
    }
   ],
   "forward": {
    "path": "/param/ampatk",
    "args": [
     "{value}"
    ]
   },
   "_notes": "amp attack: 0.01 to 10."
  },
  {
   "osc": "/param/ampdec",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.084
    }
   ],
   "forward": {
    "path": "/param/ampdec",
    "args": [
     "{value}"
    ]
   },
   "_notes": "amp decay: 0 to 2."
  },
  {
   "osc": "/param/ampsus",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.82
    }
   ],
   "forward": {
    "path": "/param/ampsus",
    "args": [
     "{value}"
    ]
   },
   "_notes": "amp sustain: 0 to 1."
  },
  {
   "osc": "/param/amprel",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.085
    }
   ],
   "forward": {
    "path": "/param/amprel",
    "args": [
     "{value}"
    ]
   },
   "_notes": "amp release: 0.01 to 10."
  }
 ]
}
