Hermetic Modular

Alchemy Lab / Spagyros / Manual / Verbose

Spagyros
Full Text Manual

Spagyros is a three-slot stereo performance effects processor. Audio runs Top → Mid → Bottom through a fixed series chain; each slot draws from a library of three effects. For hardware (HP, power, jacks, calibration, bootloader) see the Alchemy Lab hardware manual.

01

Overview

Three vertical slots (Top, Mid, Bottom) each host one effect drawn from a slot-specific library of three. Nine effects total. Audio is 48 kHz, 24-sample blocks, stereo in and out.

The firmware always boots bypassed. Every slot's depth pot is parked at its effect's off corner on boot, so no audio flows until you physically move a pot through its catch position. The only state persisted across power cycles is the three FX cycle indices, restored from preset slot 0. There are no auto-saves and no on-device settings pages.

02

Signal flow

Stereo input enters Top, runs through Mid, then Bottom, and exits stereo. The chain order is fixed.

Each slot has two parallel effect channels internally: a live channel running the current effect, and a carry-over tail channel that holds the previous effect while it is still ringing out. The two sum into the slot's output, so a swap never chops a tail mid-decay.

A slot is bypassed when its depth pot sits at the off corner. Bypass is soft: the live effect continues to process but contributes nothing until the pot moves through its catch position. Once a tail's envelope falls below −80 dBFS for about 150 ms, the tail channel itself bypasses to save cycles.

03

The library

Each slot cycles forward through three effects in a fixed list. The cycle indices are the only state stored across boot.

Top: Destruction. DJ Filter. Andrew Simper TPT state-variable filter, bipolar depth: noon bypasses, CCW sweeps a lowpass down, CW sweeps a highpass up. Cutoff 30 Hz to 18 kHz (log). Param sets resonance Q from 0.707 (Butterworth) to 8.0 (resonant). Cyan accent. Bit Crush. Depth controls intensity; param tilts character from warm sample-rate reduction toward digital bit-depth crush. Bits 16 → 4, SRR hold 1 → 16 samples, pre-LP 16 kHz → 1.8 kHz, post-LP 18 kHz → 5 kHz. Yellow-green accent. Riser. Additive Shepard-style rise (~120 kB of inline state). Has a tail. Amber accent.

Mid: Rhythm & Time-bend. Chopper. Clock-synced gate. Six depth zones: bypass plus 1/2, 1/4, 1/8, 1/16, 1/32 divisions. Param shapes duty cycle from stutter to pump (0.05 to 0.95). Hot-orange accent with a custom depth-ring renderer. Beat Repeat. Always recording a 5.4-second stereo lookback ring (262,144 samples at 48 kHz). Six depth zones: bypass plus 1/4, 1/8, 1/16, 1/32, 1/64 note slices. Param is bipolar varispeed with a detent at noon, ±12 semitones to either side. Acid-green accent. Reverse / Slow. Singleton 32 MB int16 stereo ring buffer covering ~174.76 seconds (2 min 55 s) at 48 kHz, continuously recording. Depth is bipolar around a unity-speed detent at ~0.667 (two o'clock). Moving CCW from the detent crosses a brake zone at ~0.256 (vinyl stop, 0×) and continues quadratically down to −1× full reverse. Moving CW from the detent accelerates linearly up to +3× catch-up. Param sets a spring target the playback head settles toward. Blue-indigo accent.

Bottom: Space. Phaser. Delay-line Schroeder all-pass (50 ms at 48 kHz) with an LFO modulating notches. Depth controls intensity; param sets LFO rate 0.1 to 7.5 Hz. Magenta accent with a pulsing ring. Echo. Clean stereo ping-pong delay with cross-feeding feedback (~1 MB SDRAM pool per instance). Depth is throw; param sets time 80 to 1200 ms (log). Feedback ~0.74 per repeat with a 5 kHz in-loop LPF. Has a tail. Hot-pink accent. Space. Freeverb-style stereo reverb (~130 kB SDRAM pool per instance). Depth is wet send; param sets decay, RT60 ~0.4 s (short room) to ~3.0 s (long hall). Has a tail. Aqua accent.

Beat Repeat and Reverse / Slow run continuously even while their slot is bypassed (they are always recording); the others are dormant until engaged.

04

Cycling effects

B1 cycles Top, B2 cycles Mid, B3 cycles Bottom. Each press advances forward and wraps.

On a cycle, the LED ring around the slot's depth pot retints to the new effect's accent immediately. The new effect comes online live but parked at its off corner with pot-catch re-armed: no audio comes through until your physical pot crosses that parked value.

Simultaneously, the outgoing effect moves into the slot's carry-over tail channel and rings out additively against the new live effect. Once the tail's envelope falls below the silence floor for ~150 ms, the tail channel bypasses itself.

Parameter locks for the slot are cleared on every cycle.

05

Pot catch

Pot catch prevents jumps in depth when a slot's physical pot disagrees with the firmware's stored value. The pot stays uncaught until your hand crosses the stored value (or lands within ~0.5 % of travel).

Catch arms on three events: boot, FX cycle, and panic mute. In all three the depth pot is parked at the current effect's off corner, so the slot is silent until you catch it. For most effects the off corner is fully CCW. Reverse / Slow is the exception: its parked corner is the unity detent at ~0.667. While uncaught the ring shows a bright catch pip at the stored value so you can see where to move to.

06

Panic mute

Hold any two row buttons together, or pulse J8 high, and all three slots bypass immediately. The trigger is instant: there is no hold-time requirement. The condition releases when both buttons (and J8) are below threshold.

Panic mute parks all six pots at their effects' off corners and clears all parameter locks. Pot catch re-arms on every slot.

J8 is treated as a level-sensitive gate (default low / high thresholds 0.55 / 0.65), not an edge trigger: the bypass holds while the gate is high.

07

Parameter lock

Hold B1 and nudge any pot by at least three percent of its travel to record looping automation on that pot. The buffer is 256 frames at the ~60 Hz control rate, ~4 seconds. Playback overlays your live pot: recorded motion is added on top of the physical knob, not in place of it.

Locks do not survive an FX cycle on that slot, panic mute, or a preset reload. Only the three FX cycle indices persist across boot.

08

Recording

Hold B3 for about a second to start recording the module's final stereo output to the SD card as a WAV file. B3 blinks red while a take is running. Hold B3 again to stop. Files land at the card root as REC0001.WAV, REC0002.WAV, and so on.

The card must be FAT32-formatted. Cards 32 GB and smaller usually ship FAT32; larger cards typically need to be reformatted.

09

Clock & reset

J4 is the clock input, 24 PPQN, gate-style thresholds (0.55 / 0.65). With no clock patched, the internal clock free-runs at 120 BPM.

J6 is reset. A pulse on J6 snaps the firmware's MusicalClock NCO to the downbeat (master tick = 0) and re-anchors the PI-PLL's phase reference. Chopper and Beat Repeat read the global bar phase each frame, so they automatically realign on the next clock tick.

Chopper and Beat Repeat are tempo-synced. DJ Filter, Bit Crush, Riser, Reverse / Slow, Phaser, Echo, and Space free-run independently of clock state.

10

CV routing

Six CV jacks. Routing is fixed at the firmware level: there is no CV matrix to reconfigure.

J3, J5, J7. Per-slot bipolar depth CV for Top, Mid, Bottom. CV is summed onto the pot as depth = clamp(pot + (cv − 0.5) × atten, 0, 1) with attenuation 1.0 by default, so ±5 V swings depth by ±0.5. Pot-catch still applies: the pot has to physically cross its stored value before it takes over.

J4. Clock input, 24 PPQN. Drives Chopper and Beat Repeat.

J6. Reset. Snaps the MusicalClock NCO to the downbeat.

J8. Panic mute gate, level-sensitive. High bypasses all three slots and re-arms pot catch.

11

Hardware

For panel anatomy, jack electrical specs, calibration, and bootloader, see the Alchemy Lab hardware manual.

← Back to the visual manual