{
 "_sources": [
  {
   "type": "vendor-doc",
   "name": "norns script fibonacci",
   "url": "https://github.com/bryceadams/fibonacci/tree/a454e4d5baa911f6a2f7a088cd39ee9b37f417ed",
   "notes": "norns script fibonacci: fibonacci.lua, lib/halfsecond.lua @ a454e4d. No licence declared. Listed in norns.community (monome/norns-community community.json @ 41d05e7).",
   "firmware": "fibonacci-a454e4d",
   "imported_at": "2026-10-26"
  }
 ],
 "_limitations": "Source: the Lua source of the norns script fibonacci by obi (bryceadams/fibonacci at a454e4d), 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 26 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 fibonacci",
  "commands": 26,
  "subscriptions": 0,
  "replies": 0
 },
 "midi_of": "monome/norns.vendor.fw-2.9.4",
 "device": {
  "name": "norns",
  "vendor": "Monome",
  "revision": "script fibonacci (bryceadams/fibonacci @ a454e4d)",
  "osc_prefix": "/norns_fibonacci"
 },
 "commands": [
  {
   "osc": "/param/out",
   "section": "ins + outs",
   "args": [
    {
     "name": "value",
     "type": "int"
    }
   ],
   "forward": {
    "path": "/param/out",
    "args": [
     "{value}"
    ]
   },
   "_notes": "out: option index, from 1."
  },
  {
   "osc": "/param/midi_device",
   "section": "ins + outs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_device",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi out device: option index, from 1."
  },
  {
   "osc": "/param/midi_out_channel",
   "section": "ins + outs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      16
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_out_channel",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi out channel."
  },
  {
   "osc": "/param/midi_in_device",
   "section": "ins + outs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_in_device",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi in device: option index, from 1."
  },
  {
   "osc": "/param/midi_in_channel",
   "section": "ins + outs",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      16
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/midi_in_channel",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi in channel."
  },
  {
   "osc": "/param/play_duplicates",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "yes": 1,
      "no": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/play_duplicates",
    "args": [
     "{value}"
    ]
   },
   "_notes": "play duplicate numbers: option index, from 1."
  },
  {
   "osc": "/param/zero_behaviour",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "play ten": 1,
      "blank note": 2,
      "hold note": 3
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/zero_behaviour",
    "args": [
     "{value}"
    ]
   },
   "_notes": "zero behaviour: option index, from 1."
  },
  {
   "osc": "/param/step_div",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      16
     ],
     "default": 2
    }
   ],
   "forward": {
    "path": "/param/step_div",
    "args": [
     "{value}"
    ]
   },
   "_notes": "step division."
  },
  {
   "osc": "/param/random_step_lengths",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "no": 1,
      "yes": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/random_step_lengths",
    "args": [
     "{value}"
    ]
   },
   "_notes": "random note lengths: option index, from 1."
  },
  {
   "osc": "/param/midi_note_length",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      4
     ],
     "values": {
      "25%": 1,
      "50%": 2,
      "75%": 3,
      "100%": 4
     },
     "default": 4
    }
   ],
   "forward": {
    "path": "/param/midi_note_length",
    "args": [
     "{value}"
    ]
   },
   "_notes": "midi note length: option index, from 1."
  },
  {
   "osc": "/param/scale_mode",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "default": 5
    }
   ],
   "forward": {
    "path": "/param/scale_mode",
    "args": [
     "{value}"
    ]
   },
   "_notes": "scale mode: option index, from 1."
  },
  {
   "osc": "/param/root_note",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      127
     ],
     "default": 60
    }
   ],
   "forward": {
    "path": "/param/root_note",
    "args": [
     "{value}"
    ]
   },
   "_notes": "root note."
  },
  {
   "osc": "/param/octaves",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      4
     ],
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/octaves",
    "args": [
     "{value}"
    ]
   },
   "_notes": "octaves."
  },
  {
   "osc": "/param/probability",
   "section": "step",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      100
     ],
     "default": 100
    }
   ],
   "forward": {
    "path": "/param/probability",
    "args": [
     "{value}"
    ]
   },
   "_notes": "probability."
  },
  {
   "osc": "/param/loop_start",
   "section": "loop",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 3
    }
   ],
   "forward": {
    "path": "/param/loop_start",
    "args": [
     "{value}"
    ]
   },
   "_notes": "loop start."
  },
  {
   "osc": "/param/loop_size",
   "section": "loop",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      0,
      32
     ],
     "default": 8
    }
   ],
   "forward": {
    "path": "/param/loop_size",
    "args": [
     "{value}"
    ]
   },
   "_notes": "loop size."
  },
  {
   "osc": "/param/loop_end",
   "section": "loop",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      2
     ],
     "values": {
      "repeat": 1,
      "reverse": 2
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/loop_end",
    "args": [
     "{value}"
    ]
   },
   "_notes": "loop end: option index, from 1."
  },
  {
   "osc": "/param/stop",
   "section": "Parameters",
   "args": [],
   "forward": {
    "path": "/param/stop",
    "args": [
     1
    ]
   },
   "_notes": "stop: trigger."
  },
  {
   "osc": "/param/start",
   "section": "Parameters",
   "args": [],
   "forward": {
    "path": "/param/start",
    "args": [
     1
    ]
   },
   "_notes": "start: trigger."
  },
  {
   "osc": "/param/reset",
   "section": "Parameters",
   "args": [],
   "forward": {
    "path": "/param/reset",
    "args": [
     1
    ]
   },
   "_notes": "reset: trigger."
  },
  {
   "osc": "/param/random_sound_type",
   "section": "Parameters",
   "args": [
    {
     "name": "value",
     "type": "int",
     "range": [
      1,
      3
     ],
     "values": {
      "lead": 1,
      "pad": 2,
      "percussion": 3
     },
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/random_sound_type",
    "args": [
     "{value}"
    ]
   },
   "_notes": "random sound type: option index, from 1."
  },
  {
   "osc": "/param/generate_preset",
   "section": "Parameters",
   "args": [],
   "forward": {
    "path": "/param/generate_preset",
    "args": [
     1
    ]
   },
   "_notes": "generate preset: trigger."
  },
  {
   "osc": "/param/delay",
   "section": "halfsecond",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.5
    }
   ],
   "forward": {
    "path": "/param/delay",
    "args": [
     "{value}"
    ]
   },
   "_notes": "delay: 0 to 1."
  },
  {
   "osc": "/param/delay_rate",
   "section": "halfsecond",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 1
    }
   ],
   "forward": {
    "path": "/param/delay_rate",
    "args": [
     "{value}"
    ]
   },
   "_notes": "delay rate: 0.5 to 2."
  },
  {
   "osc": "/param/delay_feedback",
   "section": "halfsecond",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0.75
    }
   ],
   "forward": {
    "path": "/param/delay_feedback",
    "args": [
     "{value}"
    ]
   },
   "_notes": "delay feedback: 0 to 1."
  },
  {
   "osc": "/param/delay_pan",
   "section": "halfsecond",
   "args": [
    {
     "name": "value",
     "type": "float",
     "default": 0
    }
   ],
   "forward": {
    "path": "/param/delay_pan",
    "args": [
     "{value}"
    ]
   },
   "_notes": "delay pan: -1 to 1."
  }
 ]
}
