tsunami

Tempest

Saturation & Distortion Engine for Qu-Bit Aurora

STM32H750 C++ DSP Eurorack

Overview

A saturation and distortion engine firmware for the Qu-Bit Aurora module. Featuring 36 distinct algorithms organized across 6 banks, configurable in 3 distinct modes. Heavily inspired by the legendary Ohmforce Ohmicide.

Signal Path

flowchart LR subgraph Input IN[Input L/R] end subgraph Crossover XO[Crossover
Mix knob] end subgraph LowPath[Low Frequency Path] LOW[Low Band
Dry] end subgraph DistortionChain[Distortion Chain] HIGH[High Band] PRE[Pre-HPF
Time knob
20Hz-2kHz] DIST[Mode + Algorithm
Warp / Blur / Reflect] BAL[Balance
RMS Matching] COMP[Compressor
Peak Control] DC[DC Block] CAB[Cab Sim
Optional] POST[Post-LPF 4th Order
Atmosphere knob
20Hz-20kHz] end subgraph Output MIX((+)) CLIP[Soft Clip] TRIM[Output Trim
Shift+Mix] GATE[Noise Gate] OUT[Output L/R] end IN --> XO XO --> LOW XO --> HIGH LOW --> MIX HIGH --> PRE --> DIST DIST -.->|Reference| BAL PRE -.->|Input RMS| BAL DIST --> BAL --> COMP --> DC --> CAB --> POST --> MIX MIX --> CLIP --> TRIM --> GATE --> OUT

Signal Flow Details

Controls & CV Inputs

All CV inputs are bipolar (-5V to +5V, normalized to -1 to +1) and add directly to the corresponding knob value. The combined value is clamped before applying any scaling or mapping.

Knob CV Input Function
Warp CV_WARP Drive/gain (1x to 100x, 0 to +40dB log). Use with envelope for dynamic distortion.
Blur CV_BLUR Algorithm-specific modulation. Use with LFO for animated textures.
Reflect CV_REFLECT BIAS parameter. Adds to BIAS after dead-center detection. Use for asymmetry modulation.
Atmosphere CV_ATMOSPHERE Post-filter cutoff (20Hz to 20kHz). Use for filter sweeps.
Time CV_TIME Pre-filter cutoff (20Hz to 2kHz). Use for dynamic bass control.
Mix CV_MIX Crossover frequency (20Hz to 500Hz). (Normal mode only)
Shift+Mix Output trim (0x to 2x, default 60%)

Banks & Modes

Bank Colors

Analog
Saturation & soft clipping
Fold
Wavefolding & complex shaping
Geometric
Variable geometric shaping
LoFi
Digital degradation
Chaos
Noise & physics
Temporal
Time-based & experimental

Modes (LED_FREEZE)

Mode Color Description
S - Standard Green Raw distortion algorithm. The BIAS parameter adds a DC offset before the distortion is applied. The DC offset is removed after processing.
X - Tube Orange Simulates a tube amplifier (Rectifier sag, Crossover distortion, Triode vs Pentode shaping, Grid blocking, Harmonic blend).
O - Odd Purple Creates inharmonic distortion through envelope-based amplitude modulation (Inharmonic). Positive BIAS expands, Negative compresses harmonic spacing.

Buttons & Gate Inputs

ReverseNext algorithm in bank
FreezePrevious algorithm in bank
Shift + ReverseNext bank
Shift + FreezeCycle Mode (S → X → O)
Hold Freeze 5sToggle V30 Cab Sim (LEDs blink 3x to confirm)
Gate Function
GATE_FREEZE Algorithm Hold - freezes input sample through distortion for buzzing sustain
GATE_REVERSE Octave Up - full-wave rectification doubles fundamental frequency

Ready to unleash the Tempest?

Download the latest firmware binary or build it yourself.

code GitHub Repository

Download Tempest.bin from the repo releases, or run make at Firmware/Tempest to build it, then flash to Aurora via USB.