This guide covers the Patchworld blocks used to shape, transform, and add space to audio signals: filters, EQ, reverb, delay, pitch shifting, and utility bridges.
| Block | Thumbnail | What it does |
|---|---|---|
| Filter | Biquad LP / HP / BP filter with live display | |
| Eq Band | Parametric EQ: Low Shelf, High Shelf, or Bell | |
| State Filter | 10-mode state-variable filter | |
| Delay | Audio delay line (modulatable at audio rate) | |
| Reverb | FDN / Tank / Freeverb reverb | |
| Pitch Shifter | Real-time pitch shift in semitones | |
| Sample And Hold | Freeze a signal value on a trigger | |
| Stoe | Convert stream → jolt (bridge to logic blocks) | |
| Watcher | Fire a jolt when a stream condition becomes true |
![]()
Filter is a biquad filter — the go-to choice for classic electronic music filtering. It has a live frequency-response graph on its face.
Three modes (select via dial, serialized as tp):
| Mode | Effect |
|---|---|
LP (Low-Pass, tp:0) |
Lets bass through, cuts highs. Warm, dark sound. |
HP (High-Pass, tp:1) |
Lets highs through, cuts bass. Thin, crisp sound. |
BP (Band-Pass, tp:2) |
Narrow band only. Telephone / radio effect. |
Resonance (k_rs): adds a peak at the cutoff. Sweep cutoff + resonance together for the classic filter sweep.
[ Oscillator ] --> [ Filter ] --> [ Speaker ]
^
[ LFO (Oscillator) ] --> stream input: Cutoff Frequency
![]()
Eq Band is a parametric EQ that can boost or cut, unlike the plain Filter which only cuts. It also has a live display.
Three shapes (serialized as tp):
| Shape | Effect |
|---|---|
Low Shelf (tp:0) |
Boosts/cuts all frequencies below the cutoff. |
High Shelf (tp:1) |
Boosts/cuts all frequencies above the cutoff. |
Bell (tp:2) |
Boosts/cuts a band centered on the cutoff. |
Gain: > 1.0 = boost, < 1.0 = cut, 1.0 = no effect.
Steepness (k_st): narrows the affected band (useful with Bell).
[!TIP]
Chain multiple Eq Band blocks in series to build a multi-band equalizer.
![]()
State Filter is a more flexible filter with 10 modes in a single block. All modes are computed simultaneously at audio rate — switching modes (via the dial or joltInput[3]) is instantaneous and click-free.
| Mode | Code | Description |
|---|---|---|
| High-Pass | tp:0 |
Cuts bass |
| Band-Pass | tp:1 |
Narrow band |
| Low-Pass | tp:2 |
Cuts highs |
| Unity-Gain BP | tp:3 |
Band-pass at constant amplitude |
| Notch | tp:4 |
Cuts a narrow band |
| All-Pass | tp:5 |
Flat amplitude, rotates phase |
| Peak | tp:6 |
Boosts/cuts a narrow band |
| Low Shelf | tp:7 |
Boosts/cuts below cutoff |
| Band Shelf | tp:8 |
Boosts/cuts a band |
| High Shelf | tp:9 |
Boosts/cuts above cutoff |
[!NOTE]
The Cutoff Frequency must be ≥ 1 Hz. Feeding it 0 will cause the filter to malfunction.
![]()
Delay is a pure audio-rate delay line. The delay time is modulated at audio rate, enabling:
Feedback loop (delay → speaker with echo):
[ Oscillator ] --+------> [ Delay ] ---------> [ Speaker ]
| |
+-- Delay Input <-- delay time set by knob
Chorus (modulated short delay):
[ Microphone ] --> [ Delay ] --> [ Speaker ]
^
[ Oscillator 0.5–2 Hz, 0.005–0.02 s range ] --> Delay Time
![]()
Reverb simulates acoustic space. Three algorithms, switchable at runtime:
| Algorithm | tp |
Character |
|---|---|---|
| FDN | tp:0 |
Clean digital hall — smooth and modern |
| Tank | tp:1 |
Vintage spring reverb — warm and wobbly |
| Freeverb | tp:2 |
Classic plate reverb |
Key controls:
[!TIP]
Use Mix at 0.2–0.4 for a subtle room feel. Use Mix > 0.8 for long ambient pads.
![]()
Pitch Shifter shifts the pitch of an audio signal in semitones in real time.
| Semitones | Effect |
|---|---|
| 0 | No shift |
| 12 | One octave up |
| -12 | One octave down |
| 7 | Perfect fifth up |
Since the shift is a stream input, it can be modulated by an LFO for vibrato, or driven from a controller for live pitch-bend.
[ Microphone ] --> [ Pitch Shifter ] --> [ Speaker ]
^
[ Map Stream: joystick Y → -12 to 12 ]
![]()
Sample And Hold freezes a stream value the moment a trigger fires, and holds it until the next trigger. Classic modular synthesis utility.
Two trigger methods:
Classic random melody generator:
[ Noise ] --> [ Sample And Hold ] --> [ Map Stream: min-max ] --> [ Oscillator frequency ]
^
[ Metronome ] --> [ Stoe ] --> Sample (jolt)
![]()
Stoe (Stream To Event) converts a continuous stream into jolt events capped at ~90 Hz.
Use it when you need to feed a stream value into a logic block that only accepts jolts (e.g., Map Jolt, Gate, Compare).
![]()
Watcher compares two stream values at audio rate using a chosen operator (=, ≠, >, ≥, <, ≤, AND, OR, XOR).
This is more efficient than Stoe → Compare for threshold detection because no intermediate jolt flood is produced.
Example: trigger an event when a filter is fully open
[ LFO ] --> [ Filter Cutoff Freq ]
|
+--> [ Watcher Signal A ]
[ Watcher Signal B ] <-- constant 18000 (Hz)
[ Watcher Operator ] = ">="
[ Watcher Jolt Out ] --> [ any event ]
| Goal | Blocks |
|---|---|
| Classic synth filter sweep | Oscillator → Filter → Speaker |
| Multi-band EQ | Eq Band (Low Shelf) → Eq Band (Bell) → Eq Band (High Shelf) |
| Room reverb | [Speaker input] → Reverb (Mix 0.3) → Speaker |
| Echo with feedback | Delay with output fed back to input via stream fork |
| Chorus | Delay with slow LFO on Delay Time (5–20 ms range) |
| Pitch harmonizer | Pitch Shifter (+7 semitones) mixed with dry signal |
| Random pitch sequencer | Noise → Sample And Hold → Oscillator frequency |
| Trigger when signal exceeds threshold | Watcher (operator ≥, Signal B = threshold) → jolt |
| Feed a stream value into a jolt-only block | Stoe → any jolt input |