scripts / norns

grurder

generative dual-voice MIDI sequencer with Euclidean rhythms and Turing Machine melodies

undisclosed Imported automatically; the author has not disclosed AI use yet

install

In maiden's REPL (the >> prompt at the bottom of the editor), run:

;install https://github.com/icco/grurder

Or add the splines catalog to maiden and install it from the project manager. Restart norns if the script ships a new engine.

readme from icco/grurder

grurder

A generative MIDI sequencer for monome norns. Takes input from an 8mu and outputs two evolving melodic voices to eurorack via mmMidi (or any MIDI-capable module).

Hardware

  • norns (or norns shield)
  • 8mu — 8-fader MIDI controller with accelerometer (optional but recommended)
  • mmMidi or any MIDI-to-CV module

Install

;install https://github.com/icco/grurder

What it does

Two independent voices, each with their own rhythm and melody generation. Rhythms come from Euclidean patterns[^1] — distribute some pulses across some steps and you get patterns that show up all over world music. Pitch comes from a shift register inspired by the Turing Machine[^2] — a 16-bit loop that drifts based on a probability knob:

  • Prob 0: locked repeating melody
  • Prob 1: fully random
  • In between: gradual drift

Both voices share scale, root, and octave range but have independent registers and patterns.

8mu mapping

Faders (CC 34–41)

Fader Sequence Parameter Range
1 Seq 1 Step count 4–16
2 Seq 1 Pulse count 1–steps
3 Seq 1 Rotation 0–steps-1
4 Seq 1 Flip probability 0–1
5 Seq 2 Step count 4–16
6 Seq 2 Pulse count 1–steps
7 Seq 2 Rotation 0–steps-1
8 Seq 2 Flip probability 0–1

Tilt (accelerometer)

The 8mu's accelerometer controls MIDI velocity for each voice. Configure your 8mu to send tilt on CC 14 (X-axis → seq 1 velocity) and CC 15 (Y-axis → seq 2 velocity) via the 8mu web editor. Tilt maps to a velocity range of 30–127. Without tilt input, velocity defaults to 100.

Buttons

Button Action
A (C2) Reset both sequences
B (C3) Randomize pitch registers
C (C4) Toggle seq 1 mute
D (C5) Toggle seq 2 mute

Norns controls

Works fine without an 8mu:

  • E1: Tempo
  • E2: Octave range (1–4)
  • E3: Root note
  • K2: Toggle sequence view / fader view
  • K3 short: Reset sequences
  • K3 long: Randomize pitch registers

Screens

Sequence view (default): Two lanes showing recent note history. Height = pitch, brightness and bar size = velocity, with the current step brightest. Dots along the bottom show the Euclidean pattern. Header shows root, scale, tempo, octave range, and current velocity for each voice.

Fader view: Eight vertical bars showing the 8mu CC values (stp/pls/rot/prb per sequence), plus velocity readouts and horizontal tilt bars at the bottom.

MIDI output

  • Voice 1 → MIDI channel 1
  • Voice 2 → MIDI channel 2
  • Velocity controlled by 8mu tilt (defaults to 100 if no tilt input)

Params menu

  • midi in — input device (default port 1)
  • midi out — output device (default port 2)
  • scale — major, minor, major pent, minor pent, dorian, phrygian, lydian, mixolydian

License

MIT

[^1]: Godfried Toussaint, "The Euclidean Algorithm Generates Traditional Musical Rhythms" (2005) [^2]: Tom Whitwell / Music Thing Modular, Turing Machine

discussion