Glitch
README
Glitch โ Workshop Computer Program Card
A clock-synced beat-repeater and audio degradation effect. Glitch continuously records incoming audio into a circular buffer, then โ when triggered โ replays a frozen slice of that buffer at a subdivided rate, with optional reversal and lo-fi degradation.

Installation
- Workshop computer connected via (data compatible) USB cable
- Power cycle
- Hold secret button under knob on Workshop Computer, press reset button on WC, release secret button โ it mounts as a drive called RPI-RP2
- Drag and drop
glitch.uf2onto the drive - The Workshop Computer reboots automatically and Glitch is running
Inputs
Audio (top row)
| Jack | Function |
|---|---|
| Audio In 1 | Main audio input โ continuously recorded into the buffer |
Pulse (bottom row)
| Jack | Function |
|---|---|
| Pulse In 1 | Clock input โ rising edge sets the beat length. Each new pulse measures the time since the last pulse (in samples) to define MasterLoopLength. Maximum buffer is 0.5 seconds; longer beats are capped. |
| Pulse In 2 | External gate โ used only when Switch is in MID position. While HIGH, forces glitching on the current slice. |
CV (middle row)
| Jack | Function |
|---|---|
| CV In 1 | Freeze โ treated as a comparator. When the voltage is above ~0V (ADC value > 2047), the buffer stops recording. The frozen content loops continuously. Below ~0V, recording resumes. |
Outputs (top row)
| Jack | Function |
|---|---|
| Audio Out 1 | Glitched output โ or live pass-through when not glitching |
| Audio Out 2 | Always dry โ live pass-through of Audio In 1 regardless of glitch state |
| Pulse Out 1 | Sub-slice clock โ fires a one-sample pulse at every ratchet slice boundary |
| CV Out 1 | Glitch gate โ high (~+5V) while glitching, low (0V) while passing through |
| CV Out 2 | Descending ramp โ falls from ~+5V to 0V across each slice, resets at boundary. Patch to a VCA to fade out each repeated slice. |
| Pulse Out 2 | Clock mirror โ passes Pulse In 1 straight through |
Controls
Main Knob โ Ratchet Zone + Probability
The Main Knob does two things simultaneously, hidden within a single sweep.
The knob range (0โ4095) is divided into 5 equal zones. The zone you are in selects the ratchet division โ how many times the captured beat slice is subdivided and repeated:
| Zone | Ratchet | Effect |
|---|---|---|
| 1 (fully CCW) | รท1 | Whole beat repeated once |
| 2 | รท2 | Beat cut in half, each half repeated |
| 3 | รท3 | Beat cut into thirds |
| 4 | รท4 | Beat cut into quarters |
| 5 (fully CW) | รท6 | Beat cut into sixths |
Hidden within each zone: the position of the knob within that zone sets the Reverse Probability Threshold. At the bottom of a zone there is no reversal; approaching the top of the zone, random reversal becomes increasingly likely. This probability also controls whether glitching fires at all in Probabilistic mode (Switch UP).
LED 5 (bottom right) shows the current probability threshold as brightness โ use it to navigate within zones.
Knob X โ Degradation Amount
Controls the depth of two simultaneous lo-fi effects applied to glitched slices.
Bitcrushing โ reduces the bit depth of the audio. At minimum (fully CCW) the audio is clean. As the knob increases, low bits are progressively masked off: at mid-range you get 8-bit grit; near maximum, extremely coarse quantisation.
Decimation (sample-rate reduction) โ quantises the read position so the same sample plays multiple times before advancing. Creates a stepped, aliased texture. At minimum, smooth playback. At maximum, the signal advances in steps of 16 samples, giving a heavily lo-fi character.
Both effects scale together as Knob X increases. At zero, degradation is completely bypassed regardless of Knob Y.
Knob Y โ Degradation Probability
Sets how often the degradation (bitcrush + decimation) actually applies to a given slice. This is evaluated fresh at every slice boundary.
- Fully CCW (0): degradation never applies, even if Knob X is turned up โ the audio is always clean
- Mid-range: degradation fires roughly half the time, alternating between clean and degraded slices
- Fully CW (4095): degradation always applies
Combine Knob X (amount) and Knob Y (probability) to dial in anything from subtle occasional grit to relentless destruction.
Switch โ Glitch Trigger Mode
The switch selects how glitching (ratcheting + reversal) is activated. Glitch state is locked in for the full duration of each slice, then re-evaluated at the next slice boundary.
| Position | Mode | Behaviour |
|---|---|---|
| UP (latching) | Probabilistic | At each slice boundary, a random number is compared to the Main Knob's hidden remainder threshold. If the random value falls below the threshold, glitching fires. Low threshold = rare glitches. High threshold = frequent glitches. |
| MID | External Gate | Glitching is active whenever Pulse In 2 is HIGH. Use an external gate, envelope, or sequencer to control exactly when glitching occurs. |
| DOWN (momentary) | Force | Glitching is always on, regardless of probability or gate. Useful for manual performance โ hold down to freeze into the glitch, release to return to pass-through. |
When not glitching, the module passes live audio from Audio In 1 directly to the outputs. No buffer playback, no degradation.
LEDs
| LED 0 LED 1 |
| LED 2 LED 3 |
| LED 4 LED 5 |
| LED | Function |
|---|---|
| LED 0 | Lit when Main Knob is in Zone 1 (ratchet รท1) |
| LED 1 | Lit when Main Knob is in Zone 2 (ratchet รท2) |
| LED 2 | Lit when Main Knob is in Zone 3 (ratchet รท3) |
| LED 3 | Lit when Main Knob is in Zone 4 (ratchet รท4) |
| LED 4 | Lit when Main Knob is in Zone 5 (ratchet รท6) |
| LED 5 | Brightness = reverse probability threshold (the hidden remainder within the current zone). Dim = low probability, bright = high probability. |
Only one of LEDs 0โ4 is lit at a time, showing your current ratchet selection at a glance.
Signal Flow
Audio In 1 โโโบ Circular Buffer (0.5s) โโโบ [if glitching] Slice Playback โโโบ Audio Out 1
โ โฒ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ Audio Out 2 (dry)
CV In 1 (Freeze) Ratchet / Reverse
Decimate / Bitcrush
Pulse In 1 (Clock) โโโบ MasterLoopLength
Pulse In 2 (Gate) โโโบ [Switch MID only] force glitch
CV In 2 (bipolar) โโโบ offsets Knob X + Knob Y
Slice boundary โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ Pulse Out 1
do_glitch flag โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ CV Out 1 (gate)
Slice position (inverted) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ CV Out 2 (ramp)
Pulse In 1 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ Pulse Out 2 (mirror)
When not glitching, Audio In 1 passes straight to the outputs, bypassing the buffer entirely.
Getting Started
- Patch a clock or LFO square wave into Pulse In 1
- Patch audio into Audio In 1
- Listen on Audio Out 1
- Set Switch to DOWN โ you should immediately hear the beat repeating
- Turn the Main Knob clockwise to hear higher ratchet subdivisions
- Move Switch to UP and explore the probability zone within each ratchet setting
- Bring up Knob X for degradation; use Knob Y to control how often it fires
- Patch a gate into CV In 1 (above 0V) to freeze the buffer at a particular moment
Patch Ideas
Self-patching
Self-freezing loop โ Patch CV Out 1 (glitch gate) into CV In 1 (freeze). When glitching starts, the buffer automatically freezes, locking the loop tightly. The glitch feeds itself.
Subdivided clock from a single source โ Patch one clock into Pulse In 1. Use Pulse Out 1 (sub-slice clock) to drive a sequencer or envelope at the ratchet subdivision rate, and Pulse Out 2 (mirror) to drive something else at the original beat rate. One clock in, two related clocks out.
Ramp-controlled degradation โ Patch CV Out 2 (descending ramp) into CV In 2. As each slice plays, degradation increases โ the repeat starts clean and gets progressively dirtier before resetting at the next boundary.
With other modules
VCA ducking on repeats โ Patch CV Out 2 into a VCA controlling the glitched output. The repeated slice fades out naturally across its duration, giving each ratchet hit a decaying envelope rather than a hard cut.
Glitch-triggered envelope โ Patch CV Out 1 (glitch gate) into an envelope generator's gate input. Every time Glitch fires, an envelope opens โ useful for adding a filter sweep, reverb send, or amplitude swell that only happens during glitch events.
Sequencer sync โ Patch Pulse Out 1 into a sequencer clock input. The sequencer advances once per ratchet subdivision, so at รท4 your sequence runs four times per beat. Change the Main Knob zone to change the sequence speed in musically useful ratios.
Rhythmic filtering โ Patch CV Out 1 into a filter's CV input. The filter opens fully while glitching and closes during pass-through, creating a rhythmic timbral gate in sync with the beat-repeat events.
Wet/dry blend โ Take Audio Out 1 (glitched) and Audio Out 2 (dry) into a mixer or crossfader. Blend between them manually, or automate the crossfade with a CV source for gradual glitch introduction and removal.
External glitch trigger โ Set Switch to MID. Patch a sequencer gate, envelope, or LFO square wave into Pulse In 2. The sequencer now decides exactly which beats glitch, while Glitch handles the ratcheting and degradation.
Freeze on demand โ Patch an envelope or manual gate into CV In 1. Press/hold to freeze the buffer at the moment you want to capture. Release to resume recording. Combine with Switch DOWN to simultaneously force-glitch and freeze โ the buffer locks immediately into a repeating loop.
Degradation from an envelope โ Patch a slow envelope or LFO into CV In 2 (bipolar mod). As the envelope rises, both degradation amount and probability increase together, sweeping Glitch from clean repeats into full lo-fi destruction and back.
Notes
- Before the first clock pulse arrives, the module passes audio through without glitching
- Beat lengths longer than 0.5 seconds are automatically capped at the buffer size
- Very short beats (faster than ~2ms per subdivision) use the minimum slice of 1 sample with no fade
- The buffer records even while glitching โ on the next beat, fresh audio is available
- Degradation is evaluated independently of glitch mode โ you can have degraded pass-through if Knob Y is high and Switch is DOWN with no gate signal