All The Machines
← WRECK

WRECK — Documentation

Overview

WRECK is a bitcrusher and sample-rate reducer with a wavecycle mangler. It damages audio in two places: at the sample level, with bit depth and sample rate, and at the cycle level, where it finds each cycle of the incoming wave and cuts, repeats, reverses or rebuilds it.

A low-pass filter before the damage and one after it shape what goes in and what comes out.


Bitcrusher

ControlDescription
BitsBit depth from 16 (near clean) down to 2. Lower values give coarser steps and harsher distortion.
Dead ZoneSilences every sample whose level is below a threshold, up to half of full scale at the top of the range. Quiet parts drop to zero, so you get gaps and a gated, gritty sound.
DitherOff, TPDF or Noise-Shaped. TPDF adds a small amount of noise before quantizing. Noise-Shaped feeds each quantization error into the next sample.
Quant ModeHow samples are rounded to the available steps. Round rounds to the nearest step. Truncate cuts toward zero. Floor rounds down, which leaves a slight DC offset. AM-Biased rounds down after adding a small positive offset, so the distortion is asymmetric. Log uses steps that are finer at low levels and coarser at high levels.

Sample Rate Reducer

ControlDescription
RateThe sample rate the signal is held to, from 22,050 Hz down to 100 Hz. Each sample is held until the next one is due, so lower values give a coarser staircase and more aliasing. The hold is a whole number of samples, so the real rates are the host rate divided by 1, 2, 3 and so on. There is no off position: at 22,050 Hz and a 44.1 or 48 kHz host, every sample is already held for two.
S&H ModeWhat the output does between held samples. Hard holds the value flat. Lin rings briefly at each step, a damped oscillation from the previous value to the new one. Slew lets each held value decay toward zero before the next one arrives.
JitterRandomizes the length of every held sample, separately for each channel. At full Jitter the length varies by up to plus or minus its own length, which gives an unstable, wobbling clock.
SyncMultiplies the Rate by the host tempo, in beats per minute divided by 60, so the rate follows the tempo. Without a host tempo it assumes 120 BPM.

Cycle Mangler

The mangler watches the incoming signal for cycles. A cycle starts each time the signal, with its DC offset removed, rises above the trigger level after having gone below the negative trigger level. Each detected cycle is captured, changed by the current mode, and played back, with a short crossfade between one cycle and the next. Below about minus 80 dBFS the signal counts as silence and passes through unmangled. This starts about 100 ms after the sound drops. Switching modes waits for the next cycle boundary.

ControlDescription
Cycle ModeOff, Formant, Reform, Hold or Reverse. With Off the mangler is bypassed and Amount, Shape, Sens and Stereo Link have no effect.
AmountFrom 0 to 4. What it does depends on the mode, see below.
ShapeFrom 0 to 1. Adds saturation and then a triangle wavefold to the played-back cycles. At 0 they are left alone.
SensSets the trigger level, from 0.001 to 0.1 of full scale, and the shortest cycle that can be detected, which corresponds to 100 Hz at the low end and about 2 kHz at the high end. Cycles are also limited to about 4096 samples.
Stereo LinkLinked detects cycles on the sum of the two channels, so both channels change at the same moments. Independent detects them separately on each channel.

Cycle modes

ModeDescription
FormantPlays each captured cycle back faster, at 1 plus 1.75 times Amount. At Amount 4 that is 8 times faster. The pitch and formants move up.
ReformReplaces each cycle with a sine that has the same level, blended with the original cycle. The blend is Amount times 0.5, so it is a pure sine from Amount 2 upward.
HoldPlays each captured cycle for 3 plus 4 times Amount cycles of the input before capturing a new one, from 3 at Amount 0 to 19 at Amount 4.
ReverseAt each cycle boundary, plays the next stretch of cycles reversed with a probability of 0.3 plus 0.2 times Amount. Once a reversal starts, it lasts for 2 plus 3 times Amount cycles, and never fewer than 2. Reversed cycles play back slower as Amount goes up.

Drive

ControlDescription
DriveGain from 0 to 18 dB into a soft clipper, before the cycle mangler and the bitcrusher. With Drive and Bias both at 0 the stage is skipped.
BiasA DC offset from minus half to plus half of full scale, added before the clipper. It makes the clipping asymmetric and changes how the later stages respond. Nothing removes the offset afterwards, so the output keeps some DC.
AliasBlends between the clean drive stage and a copy of it that runs at the normal sample rate, without oversampling. Turn it up for the aliasing that oversampling removes. It has no effect when Oversample is Off, because then both versions are the same.
OversampleOff, 2x or 4x. Runs the drive stage at a higher sample rate to reduce aliasing from the clipper. It does not apply to the bitcrusher or the sample-rate reducer.

Filters

ControlDescription
PreLow-pass filter before the drive stage, from 20 Hz to 22,050 Hz.
Pre QResonance of the pre filter, from flat to a sharp peak at the cutoff.
PostLow-pass filter after the sample-rate reducer, from 20 Hz to 22,050 Hz.
Post QResonance of the post filter.

Mix & Output

ControlDescription
MixA linear dry/wet blend. The dry signal is the input, taken before the pre filter. It is not delayed to match the wet signal, so with Oversample on or a Cycle Mode active, a partial Mix can sound phasey.
OutputOutput gain from minus 24 to plus 12 dB. It is applied after the blend, so it scales the dry signal too, and anything above full scale is clipped hard.
RNDRandomizes every setting except Mix, Output and Bypass.
BypassPasses the audio through untouched.

Signal Flow

Input → Pre filter → Drive/Bias (+ Alias, Oversample) → Cycle mangler → Bitcrusher → Sample-rate reducer → Post filter → Mix → Output

Formats

  • iPhone and iPad: an AUv3 that runs inside AUM, GarageBand, ApeMatrix, Audiobus or any AUv3 host, with several instances working independently, plus a standalone app. Requires iOS 14.0 or later.
  • Mac and Windows: VST3 and CLAP, plus AU on Mac.