crocus.

a chord instrument for monome norns · v2.x

Welcome to crocus. Hold a chord type with one hand, tap a root with the other — a chord plays. Add extensions like ♭9 or M7, pick a voicing, lay in bass and drums, drive an arpeggiator or strum, sync MIDI clock to your gear, and play a whole song from a monome 128 grid and the three encoders + three keys on the norns.

crocus is a clean-room reimplementation of the Telepathic Instruments Orchid hardware for the monome norns + grid. The chord engine, voicing math, bass logic, performance modes, and modal scales mirror the Orchid spec; the surface that drives them is built around the grid and the optional Arturia Minilab 3 instead of a custom panel. Where we deliberately diverge — Loop Mode, Sound Presets, Secret Chords — the differences are called out inline and summarized at the end.

1Quick start

The shortest path from "loaded the script" to "playing chords."

  1. Pick a sound. On the norns, open PARAMS > crocus > voice. On first load crocus auto-selects something polyphonic; you can browse the list any time.
  2. Hold a chord type, tap a root. On the grid, hold the maj pad (row 2, third from the left) with one finger. With the other hand, tap the C pad on the bottom row — you hear C major. Lift the chord-type pad and the chord stops.
  3. Move the chord around. Keep maj held; tap any other bottom-row cell. You're shifting the root through the chromatic scale.
  4. Add an extension. Still holding maj, tap an extension pad (row 4 or 5). Default behavior adds the new note without retriggering the chord; release the extension to drop it.
  5. Latch instead. Tap the rightmost cell on row 6 — now the chord stays sounding after you release the root. Tap the same root again to stop.
  6. Drum + arp. Top-right corner of the grid (row 1, col 16) starts the drum pattern. Row 2, col 16 turns the arpeggiator on.

2The norns + grid

crocus runs on monome norns. You drive most playing from the 16×8 grid; you change settings and watch state on the norns OLED with its three encoders (E1–E3) and three keys (K1–K3).

crocus Cmaj7 (▽) C maj +0 ▮▮▯▯▮▯▯▯▮▯▯▯▮▮▯▯ <piano>
K1
K2
K3
E1
E2
E3
norns · 128×64 OLED · 3 encoders · 3 keys

What the encoders + keys do

ControlDefaultNotes
E1cycle screen viewHome → Geek Out → Hint → Perform → Bass → Key → BPM & Beats → Options → wrap.
E2per-screen primarye.g. Perform = mode select; Key = quality; Bass = bass mode; Options = scroll cursor.
E3per-screen secondarye.g. Perform = mode value; Bass = bass dial; Options = edit selected entry.
K1norns shift (system)Hold and turn E1 to change brightness, E2 levels, etc.
K2per-screen togglee.g. Bass = bass on/off; Key = key mode on/off; BPM = beats run on/off; Options = confirm action.
K3per-screen secondarye.g. Hint = play preview chord; BPM = cycle time signature (long); Options = K3-long toggles perf-lock on most screens.
Orchid's nine front-panel encoders (Sound, Perform, FX, Key, Bass, Loop, BPM, Options, Volume) all map onto crocus's E1 view-cycle plus per-screen E2/E3. There is no dedicated Sound or Volume encoder — Sound is "pick an nb voice in PARAMS"; Volume is "use the norns master + headphone levels."

3Grid map

16 columns × 8 rows. The map below matches the physical grid as it sits in front of you with the USB cable pointing away: row 1 on top (drums + spicy chord qualities), row 8 on the bottom (root pads). Columns are 1 → 16, left to right.

Orchid puts chord-type buttons and the keyboard on a single panel. crocus spreads them across the grid: chord types and extensions on the upper rows, root pads on the bottom row (or any MIDI keyboard plugged into the norns).
1234 5678 9101112 13141516
R1 aug m7♭5 m♯5 sus2 beat div beat div+ beats vol beats vol+ beat patt beat patt+ beats run
R2 dim min maj sus4 arp rate arp rate+ arp mode arp mode+ arp on
R3 bass dial bass dial+ bass voice bass voice+ bass on
R4 m7 M7 9 13
R5 ♭9 ♯9 ♯11 ♭13 voicing voicing+ octave octave+ voicing mode
R6 play style play style+ perf mode perf mode+ key mode
R7 hold mode
R8 A−3 ↓oct A♯−2 ↓oct B−1 ↓oct C±0 C♯+1 D+2 D♯+3 E+4 F+5 F♯+6 G+7 G♯+8 A+9 A♯+10 B+11 C+12
normal chord type spicy chord type normal extension spicy extension drum / beats arp bass master row root pad key-root anchor pair-hold reset

How the rows behave

Pair-hold gestures

Every cell marked with the orange underline is a ± pair: holding both cells of the pair simultaneously for ~1 second resets that one parameter to its param_spec default. Two pairs have additional special behavior:

The bass-voice ± pair (R3 C13 + R3 C14) is also pair-hold-aware, but its pair-hold short-cuts to the "share with chord voice" nb-voice picker entry instead of a numeric reset.

4Playing chords

Hold Mode: Strict vs Latch

This is the single most important behavioral toggle.

Toggle with row 6, column 16 (the rightmost cell on the master row), or via PARAMS.

Holding multiple roots (Strict only)

Hold two roots at once. The most recently pressed one is the active root — that's what sounds. Release it; the previous root is promoted and its chord resumes. Lets you "stack" chord changes in time without ever having a silent gap.

Play Style: Simple, Advanced, Free

StyleBehavior
Simple (default)Chord type must be held when the root is pressed. Cleanest live-play feel.
AdvancedEither order works. Root-first arms the trigger; the next chord-type press fires it.
FreeRoot pads play single notes — no chord, no bass. Useful for melody.
All three play styles match Orchid spec §11. Simple and Advanced differ only in whether the press order matters; Free is the "single-note keyboard" mode.

5Chord types & extensions

Eight chord types

Two rows of four pads on the upper-left of the grid:

RowPads (left → right)Notes
R1 — spicyaug · m7♭5 · m♯5 · sus2Less common qualities — spread out for color choices.
R2 — normaldim · min · maj · sus4Bread and butter.
R2 mirrors Orchid's four core chord-type buttons (Dim/Min/Maj/Sus).
Orchid's Secret Chords (held two-pad combinations that yield aug, half-dim, ♭6, etc.) are not implemented. Instead the four most musically useful "secret" qualities are first-class pads on R1. Trade-off: the two-button gesture is gone; the sounds are one tap away. (Two Secret-Chords sounds — Maj+Dim+6 = C♭6 and Min+Sus = Cm-add4 — are not currently reachable.)

Eight extensions in two banks

RowBits 0..3 (left → right)
R4 — normalm7 · M7 · 9 · 13
R5 — spicy♭9 · ♯9 · ♯11 · ♭13

Hold any combination — they stack. Examples: maj + m7 + 9 = C9, maj + m7 + ♯9 = C7♯9 (the Hendrix chord), min + m7 + 9 + ♭13 = Cm9♭13.

Orchid's spicy bank includes natural 11; crocus replaced it with ♯9 so the dominant-sharp-9 ("Hendrix") voicing is reachable. The natural 11 was duplicating the ♯9 pitch class an octave up and offered no new sound; ♯9 is the iconic alteration most often asked for in altered-dominant work.

Add Note vs Play Chord

How the script reacts when you add an extension while a chord is already sounding:

Set in PARAMS > Trigger > extension_addition or in the Options screen.

Mirrors Orchid spec §6.4 (both modes implemented).
Diminished + m7 = true Cdim7. Holding dim + the m7 extension produces the fully-diminished seventh ([0,3,6,9], "stacked minor thirds"), not a half-diminished chord — that one's available via the dedicated m7♭5 pad. Lets ragtime and classic-tritone-sub voicings actually exist.

6Voicing

Two dials live next to each other on the Minilab faders 1 & 2 — Bass Voicing (Fader 1) sets bass octave; Chord Voicing (Fader 2) sets where the chord notes sit. Both are also reachable from the Bass and Home screens on the norns.

Fader 1 / Fader 2 mirror Orchid's dual voicing dials (chord voicing + bass voicing). Same gesture, same conceptual layout.

Chord voicing — the algorithm

Two algorithms ship; pick in Options > voicing_source.

Orchid dialC Major notesInversion
8C2 E2 G2Root
13E2 G2 C31st
17G2 C3 E32nd
20C3 E3 G3Root (default)

Bass voicing

The Bass Voicing dial is bass_dial in PARAMS — an octave offset for the bass voice (±2 octaves). 0 places bass one octave below the chord root in the default Chords Only bass mode; +1 lifts it to chord-root octave; -1 drops it another octave. In Unison bass mode it follows the played pad's pitch class instead, with the same ±2 octave range.

Octave vs Split mode

7Bass

Four bass modes, each with the bass voicing dial as a sub-modifier.

ModeWhat plays
Chords Only (default)Bass plays the chord root, one octave below the chord. Standard accompaniment.
UnisonBass plays the literal pressed pad, not the snapped chord root. Lets bass disagree with chord when Key Mode nudges roots into scale.
Single NotesBass and chord both play normally. Press a root WITHOUT a chord-type held → bass-only note.
SoloChord voice muted; bass plays the chord notes solo.

Pick a separate nb voice for bass at PARAMS > bass voice. Set "share with chord" if you want both through the same engine. Toggle bass on/off with K2 on the Bass screen.

All four bass modes match Orchid spec §8.

8Performance modes

Choose how the chord articulates. Eight modes, all reachable from the Perform screen (E2 cycles).

ModeWhat you hearParam
offSolid block chord.
StrumNotes cascade low → high.strum_speed (5..200 ms)
Strum 2 OctSame cascade, doubled across two octaves.strum_speed
SlopNotes spread out with timing jitter — feels human.slop_amount (0..1)
ArpWalks the chord tones at a tempo-locked rate.arp_rate, arp_mode (Up / Down / Up-Down / Random)
Arp 2 OctSame, walking across two octaves.arp_rate, arp_mode
HarpOne-shot four-octave low-to-high sweep on every press.strum_speed
PatternRuns a chord-tone pattern at tempo (11 patterns).pattern_id_perf
All seven Orchid performance modes are present. Strum 2 Oct and Arp 2 Oct were added to bring the roster to spec.

Quantization

Options > quantization snaps Strum / Slop / Harp per-note timing to a grid: none, 1/32, 1/16, 1/8, 1/4, 1/16t, 1/8t. Pattern and Arp are already step-locked, so quantization doesn't apply to them.

Perf Lock

K3-long on most screens toggles perf_lock. With it on, changing the perf mode stages for the next press instead of interrupting the current performance.

9Scales & Key Mode

crocus understands three orthogonal pieces: a scale root (any of 12 pitch classes), a quality (Major or Minor), and a scale type within that quality. With Key Mode on, off-scale root presses snap to the nearest in-scale pitch.

Eleven scales

QualityScale typeIntervals
MajorNatural0 2 4 5 7 9 11
Lydian0 2 4 6 7 9 11
Mixolydian0 2 4 5 7 9 10
Harmonic Major0 2 4 5 7 8 11
Pentatonic0 2 4 7 9
MinorNatural0 2 3 5 7 8 10
Dorian0 2 3 5 7 9 10
Phrygian0 1 3 5 7 8 10
Locrian0 1 3 5 6 8 10
Harmonic Minor0 2 3 5 7 8 11
Melodic Minor0 2 3 5 7 9 11
Pentatonic0 3 5 7 10
Blues0 3 5 6 7 10
Major Natural, Minor Natural, and the modes (Lydian, Mixolydian, Dorian, Phrygian, Locrian, Harmonic, Melodic) match Orchid's modal-scales extension.
Major Pentatonic, Minor Pentatonic, and Blues are crocus additions — not in the Orchid spec.

Setting the scale

Three places, all equivalent:

10Beats & tempo

Eight drum patterns ship: 4-on-floor, rock, half-time, breakbeat, samba, jazz brushes, dembow, kick + crash. Toggle on/off with the rightmost cell on grid row 1, or K2 on the BPM & Beats screen.

Set BPM (40–240) on the BPM screen with E2. Tap tempo: K3 on the BPM screen — each tap derives BPM from the rolling-window average interval (4 most recent taps; 0.2..3.0 sec valid). Time signature: K3-long cycles 4/4 → 3/4 → 6/8.

crocus ships 8 generic patterns instead of Orchid's 12 branded ones (Saint Germain, Trap, Bossanova, etc.). All 8 are 4/4 today; engine supports 3/4 and 6/8 patterns when content lands.

11FX

Three send-style effects on the engine output, all in PARAMS > crocus > Audio:

FXRangeNotes
Reverb send0..1Norns built-in plate. Engine→reverb level; > 0 turns plate on.
Reverb decay0.5..10 sMid-band rt60.
Delay time0.001..2 sSoftcut tape-style delay length.
Delay feedback0..0.95Echo tail. > 0 engages the engine→softcut send.
Comp Mix0..1Norns built-in compressor wet mix; > 0 turns it on.
Subset of Orchid spec §14 (Reverb, Delay, Comp).
No Drum FX submenu — drums and chords share the engine bus, so global FX apply uniformly. Bitcrush, Chorus, Filter Sweep are not implemented; nb voice plugins often offer their own.

12Screens

E1 cycles eight views. Each shows what's relevant to the current task and re-purposes E2/E3/K2/K3 accordingly.

0 · Home (chord + keyboard)

C maj +0 Cmaj7 ▮ ▮ ▯ ▮ ▯ ▯ ▮ ▮ ▯ ▯ ▮ ▯

Top-left key indicator, top-right transpose, big chord name, piano showing the chord pitch classes (chord notes bright; bass-note pc half-bright). E2 = chord voicing, E3 = octave, K2-long = Quick-Key.

1 · Geek Out

Cmaj7 notes C E G B voicing 20 (root) ii in C major

Chord name + note list + voicing index + scale-degree analysis. Add 3+ extensions to see the JAZZ tag fire.

2 · Hint

page 1 / 4 > Cmaj Dmin Emin Fmaj Gmaj Amin Bdim K3 plays selected

Four pages of suggestions: diatonic triads, 7ths, substitutions, modal interchange. E2 scrolls; K2 cycles pages; K3 plays the highlighted chord at root position.

3 · Perform

perf Strum 2 Oct speed 30 ms quant 1/16 K3-long: perf lock

E2 cycles modes (off → strum → strum_2oct → slop → arp → arp_2oct → harp → pattern); E3 sets the mode's primary value. K2 toggles a per-mode secondary (arp_mode, pattern direction).

4 · Bass

bass Chords Only dial +0 octaves voice PolyPerc K2: bass on/off

E2 picks bass mode; E3 sets octave dial. K2 mutes the bass voice.

5 · Key

key C major mode Lydian key mode ON K2-long: Quick-Key

E2 cycles scale type within the current quality; E3 transposes ±12. K2 short toggles Key Mode; K2 long enters Quick-Key.

6 · BPM & Beats

bpm 120 beat 4-on-floor beats ON 4/4 K3: tap K3-long: time sig

E2 sets BPM; E3 cycles drum patterns. K2 toggles beats running; K3 taps tempo; K3-long cycles 4/4 → 3/4 → 6/8.

7 · Options

Options > key_mode ON key_root C key_quality Major scale_mode Pentatonic

Scroll list of every behavioral setting. E2 moves cursor; E3 edits the selected value; K2 confirms (only Reset asks).

13MIDI & Minilab 3

MIDI input

Plug any MIDI controller into the norns. crocus listens for keyboard notes (root + octave + velocity) and CCs. Configure the device + channel in PARAMS > MIDI Input. With a velocity-sensitive keyboard you get full dynamic range; the grid sends a constant velocity.

MIDI clock + transport out

crocus sends MIDI Clock (24 PPQN) plus Start/Stop (0xFA / 0xFC) when enabled. PARAMS > MIDI Output > Clock Out defaults to OFF so external gear isn't surprised on first boot. Set the device + flip the toggle to drive an external sequencer in lock-step with crocus's BPM.

Minilab 3 layout

crocus has a built-in mapping for the Arturia Minilab 3 — the most common compact controller. Below is an approximate top-down of the physical hardware with each control's target. Faded cells are unmapped — they're free for you to bind via norns Settings > MIDI.

Fader 1 (Bass Voicing) and Fader 2 (Chord Voicing) sit side-by-side just like the two voicing dials on the Orchid front panel.
Mod strip CC 1 free
E1CC 86arp_rate
E2CC 87slop
E3CC 89perf_mode
E4CC 90strum
E5CC 110free
E6CC 111free
E7CC 116free
E8CC 117free
MainCC 28 / 118view ±
Pitch wheel unmapped
F1CC 14bass voicing
F2CC 15chord voicing
F3CC 30ext normal
F4CC 31ext spicy
25n40sus4
26n41sus2
27n42m7♭5
28n43m♯5
21n36maj
22n37min
23n38dim
24n39aug
ShiftCC 27free
HoldCC 64cycle play_style
Oct−keybd shiftimplicit
Oct+keybd shiftimplicit
Pad bankA/BA only
Sustain pedalCC 64unmapped
Playuser CCunmapped
Stopuser CCunmapped
Recuser CCunmapped
25-key keyboard (C2..C4 default, shifts via Oct± buttons) root note + face-value octave + velocity → chord engine

Reading the schematic: labels show physical control name → MIDI CC# (or note range) → crocus target. "Unmapped" = the CC arrives but crocus drops it; you can bind those CCs externally via norns Settings > MIDI without conflict. Two faders changed from the original ChordLab defaults: F3 was octave (now driven by face-value MIDI keyboard) and F4 was slop (moved to E2). F3 + F4 now drive the extension banks with curated 8-stop sweeps — see "Extension faders" below.

Device + channel

Keyboard notes → chord roots (face-value octave)

External keyboard notes drive the chord-engine root row exactly like a grid R8 press. The MIDI note's pitch class selects the root (pc = note % 12); the MIDI note's octave drives the crocus octave param so a 25-key controller (C2..C4) spans crocus octaves 2..4 instead of folding to one octave. Velocity carries through to the chord engine.

Pressing C4 (MIDI 60) plays Cmaj at octave 4. Pressing C2 (MIDI 36) plays Cmaj at octave 2. The on-screen octave param visibly updates to the played octave; this is intentional — the keyboard's Oct+/Oct- buttons therefore "just work" via the implicit MIDI-octave shift.

For chord triggering: same gating as grid R8 presses. In Simple play_style (default), chord plays only while a chord-type pad (grid OR Minilab pad — see below) is held.

Minilab 3 pads → chord types

The 8 pads in bank A send notes 36..43 on channel 10 (Arturia factory). Each pad maps to one of crocus's 8 chord types — single GRID_KEY_DOWN action, no extension side effects. Hold to gate chord (same semantics as grid chord-type pads).

PadMIDI noteChord typeCrocus grid cell
2136maj (0, 4, 7)R2 col 2 (chord_type 2)
2237min (0, 3, 7)R2 col 1 (chord_type 1)
2338dim (0, 3, 6)R2 col 0 (chord_type 0)
2439aug (0, 4, 8)R1 col 1 (chord_type 5)
2540sus4 (0, 5, 7)R2 col 3 (chord_type 3)
2641sus2 (0, 2, 7)R1 col 0 (chord_type 4)
2742m7b5R1 col 2 (chord_type 6)
2843m#5R1 col 3 (chord_type 7)

For 7ths, 9ths, etc.: add extensions via the grid R4/R5 extension rows OR via PARAMS > Chord > extensions_normal / extensions_spicy. The Minilab pads stay focused on chord-type selection only — keeping the live-jam workflow simple.

Pads do exactly one thing — chord-type select. Toggle behaviors (arp on/off, beats run, hold mode, etc.) live on the grid and PARAMS menu, not on the Minilab pads.

CC → crocus params (Minilab 3 factory)

From the ChordLab brief at reference/orchid-clones/chordlab/PROJECT_BRIEF.md:

ControlCC #ModeCrocus target
Mod strip1unmapped — was strum_speed (broken on hardware); strum_speed moved to Encoder 4. Free for user binding.
Fader 1 (Bass Voicing)14absolutebass_dial (±2 octave bass offset — matches Orchid's bass voicing dial position)
Fader 2 (Chord Voicing)15absolutevoicing_dial (chord voicing — matches Orchid's chord voicing dial position)
Shift27unmapped — Shift+pad system removed 2026-05-13. Free for user binding.
Main encoder rotate28relative-binaryview_mode ± (cycles screens)
Fader 330curatedextensions_normal — sweep through 8 stops (none → m7 → M7 → 6 → 9 → m7+9 → M7+9 → 6+9)
Fader 431curatedextensions_spicy — sweep through 8 stops (none → b9 → #9 → #11 → b13 → #9+#11 → b9+b13 → all)
Hold button / Sustain pedal64presscycles play_style (Simple → Advanced → Free → wrap). Press edge only; release is ignored.
Encoder 186absolutearp_rate (moved from Fader 1 — bass_dial took its place per Orchid layout)
Encoder 287absoluteslop_amount
Encoder 389absoluteperf_mode
Encoder 490absolutestrum_speed (moved from broken Mod strip; bass_mode is comfortable on norns + grid R5 cycle)
Encoder 5110unmapped — free for your norns/voice param assignments
Encoder 6111unmapped
Encoder 7116unmapped
Encoder 8117unmapped
Main encoder press118pressCYCLE_VIEW_MODE (cycles screens)

CC modes explained:

Live-jam philosophy

The mapping deliberately covers the controls you'd touch during a performance — voicing, perf mode, strum, slop, bass, arp, hold, screen navigation, and live extension sweeps. Key/scale/transpose live in PARAMS or on dedicated screens (E2 on the Key screen for example) because those decisions are made before the jam, not during. Octave isn't on the encoder map either — face-value MIDI octave (the keyboard's own Oct± buttons or just playing different octaves) drives it for free.

Encoders 5..8 are explicitly left unmapped so you can bind them via norns' Settings > MIDI menu to whatever nb voice / audio params your current setup needs (filter cutoff, reverb send, sub osc level, etc.) — without those bindings fighting crocus.

Extension faders (Faders 3 & 4)

The two extension faders give live, between-press control over the chord's color tones. Fully down on a fader = no extensions in that bank; sliding up walks through 8 curated stops covering single extensions and common combos. Each stop is exactly 16 CC units wide.

Fader 3 → normal extensions (m7, M7, 9, 13 — per lib/kernel/harmony.lua):

CC valueSlotExtensionsBitmask
0–151none0
16–312m71
32–473M72
48–63494
64–795138
80–956m7+9 (dom9)5
96–1117M7+9 (Maj9)6
112–1278m7+13 (dom13)9

Fader 4 → spicy extensions (b9, #9, #11, b13):

CC valueSlotExtensionsBitmask
0–151none0
16–312b91
32–473#92
48–634#114
64–795b138
80–956#9+#11 (Hendrix-ish)6
96–1117b9+b13 (altered dom)9
112–1278all (full altered)15

Both faders work together — sliding both to a non-zero stop combines normal + spicy bits on the next chord trigger. Combos beyond the curated stops (e.g. m7+M7) require setting bits manually via the grid R4/R5 extension pads or PARAMS > Chord.

On-screen preview: as you move either fader, the chord-name display on the Home screen updates live to show the chord name with the new extensions (e.g. "C" → "C9" → "C9♭13"). The currently-sounding chord doesn't retrigger — you're previewing the next press. Trigger a chord (chord-type pad held + root key) to hear the new color.

Unmapped / awaiting your CC capture

Minilab 3 buttons whose CC depends on your Arturia MCC config (default may vary):

Quick start with the Minilab

  1. Plug in. PARAMS > MIDI Input > MIDI In Device: pick the Minilab vport.
  2. Hold pad 21 (maj). Play a note on the keyboard. Chord fires — C4 = Cmaj at octave 4, C2 = Cmaj at octave 2.
  3. Release the pad. Chord stops.
  4. Sweep Fader 1 for bass voicing, Fader 2 for chord voicing.
  5. Sweep Faders 3 & 4 through their 8 curated extension stops; the chord-name display previews the next press live.
  6. Turn Encoder 3 to cycle perf modes; Encoder 4 sets strum speed; Encoder 1 sets arp rate.

Grid optional from here.

14Quick-Key & Reset gestures

Quick-Key Select — change key in one gesture

  1. K2-long on the Home or Key screen — the OLED prompts "Pick key."
  2. Tap a root pad. Hold the Min chord-type pad while tapping if you want the key to be Minor.
  3. Done. key_root_pc, key_quality, and key_mode = ON are written. The current scale type is preserved across the change.

If no pad is tapped within modal_auto_dismiss_sec (default 3 s), Quick-Key exits without changes.

Doesn't disturb a held chord. If you're holding two root pads in Strict mode and you Quick-Key with a third root, the third tap is consumed by Quick-Key — it doesn't add to the stack or fire a chord. The held pads keep sounding.

Reset to defaults

Two ways to start over:

  1. Pair-hold the bass dial cells (row 3, columns 10 + 11) for ≥ 2 seconds.
  2. Options screen → "Reset to defaults" → K2 to confirm.

Resets every crocus param to its default. PSET files on disk are not touched.

15Mirrors & diverges from Orchid

One-screen comparison of where crocus follows the Orchid spec and where it walks its own road.

AreaStatusNotes
Chord engine (build, name, resolution)✅ mirrorsSame intervals, same naming, same Add Note vs Play Chord behavior.
Eight chord types↺ partial mirror4 normals (dim/min/maj/sus4) match. 4 spicy (aug/m7♭5/m♯5/sus2) replace Orchid's two-button "Secret Chords" gesture.
Eight extensions↺ partial mirrorNormal bank matches. Spicy swaps natural-11 for ♯9 so the Hendrix chord is reachable.
Voicing engine✅ mirrorsVerified note-for-note against Orchid Visualizer table (with one octave fix in Root inversion). Crocus algorithm available as alternative.
Bass engine + 4 modes✅ mirrorsChords Only, Unison, Single Notes, Solo all match.
7 perf modes (Strum, Strum 2 Oct, Slop, Arp, Arp 2 Oct, Harp, Pattern)✅ mirrorsAll present. Quantization for Strum/Slop/Harp added per spec §17.
Modal scales (Lydian, Dorian, Phrygian, etc.)✅ mirrors10 modal flavors in the standard families.
Pentatonic Major, Pentatonic Minor, Blues+ divergesCrocus addition — common pop/rock/jazz scales not in Orchid spec.
Quick-Key gesture✅ mirrorsBehavior matches; reachable via K2-long.
Three play styles (Simple, Advanced, Free)✅ mirrorsSame semantics.
BPM, time signature, drum patterns↺ partial mirrorBPM 40–240, 4/4 + 3/4 + 6/8 supported. 8 generic patterns ship vs Orchid's 12 branded.
Tap tempo✅ mirrorsRolling 4-tap window.
FX (Reverb, Delay, Compressor)↺ partial mirrorThree sends present. Bitcrush / Chorus / Filter / Drum-FX submenu not implemented.
MIDI clock + transport out✅ mirrors24 PPQN + Start/Stop. Toggle-off by default.
Per-channel MIDI note out (chord / bass / perf)✅ mirrorsRouted through nb voice picks — set each voice to a different "midi N" entry.
Sound presets / "User Sounds"− divergesReplaced by norns PSETs, which save the entire param state, not just the synth patch. No browse-by-name dial.
Secret Chords matrix− divergesNot implemented. 4 of 6 sounds reachable as first-class spicy pads. Min+Sus → Cm-add4 and Maj+Dim+6 → C♭6 are unreachable.
Loop Mode− divergesNot implemented. Use a tape recorder or external sequencer.
Onboard speakers / battery / Auto Power Offn/anorns hardware concerns; manage via norns own UI.
Metronome click− divergesNot implemented separately from the drum pattern.