BBD Delay for Elektron Octatrack
A bucket-brigade delay: compander, clock-tracking filters, bucket noise, a resonant feedback tilt, freeze, a feedback governor and an input high-pass.
Module version 0.1.0-experimental. Base firmware: 1.40C.
About this module
The mono sum goes through a BBD chain: an optional input high-pass, a tanh into a 2:1 feedback compressor, an 8th-order anti-alias filter at a third of the clock, a bucket line clocked at 5.1 to 20.5 kHz with a charge-transfer polynomial and noise, a 9th-order reconstruction filter and the expander. FDBK returns the wet through a tilt with a sweepable bandpass; LIM governs how loud self-oscillation gets; FRZ holds the line. TIME glides the clock, so moving it bends the pitch of the line. The dry signal is never processed.
- The clock sets the delay: longer repeats are darker and grainier, as on a BBD chip
- TIME glides the clock over 20 ms: locks and LFOs bend the pitch of the repeats
- 1,023 or 4,095 buckets: 50 to 200 ms (the default) or 200 to 800 ms
- TONE right of centre: a treble shelf; left: a resonant bandpass that FREQ places at 400 Hz-2 kHz
- FRZ: from longer trails to an endless loop of the line, made for the crossfader
- LIM keeps self-oscillation at a set level; HPF cuts bass into the line, 20 to 400 Hz
- MIX 0 is the exact dry signal
How to use it
- Choose BBD DELAY in FX2 SETUP: hold FUNC, press FX2, turn LEVEL to the end of the list and press YES. The SETUP page holds STGS (bucket count) on encoder A, LIM on C and HPF on E.
- On the main page: TIME (A), FDBK (B), FRZ (C), TONE (D), FREQ (E) and MIX (F).
- With TONE towards either end the loop rings on from about FDBK 40; LIM (default 127, strongest) sets how loud it gets, and TIME or FREQ then sweep it.
- The six main-page knobs take parameter locks, LFOs, scenes and MIDI CC like any stock effect's; the SETUP knobs are set per Part.
Controls
- TIME
- The bucket clock, 20.5 kHz at 0 to 5.1 kHz at 127, linear in delay time and gliding over 20 ms. The delay is 50-200 ms (STGS 1024) or 200-800 ms (4096). Not tempo-synced.
- FDBK
- The wet returned to the input through TONE. With TONE centred the repeats ring longer up to 127 (about 1 dB a second) but never self-oscillate; with TONE at either end the loop rings on from about FDBK 40, at a level LIM sets.
- FRZ
- Freeze: rising from 0 the input fades out of the line and FDBK goes towards sustain for the current TONE (never down), so trails lengthen; at 127 the line loops its contents exactly at the level it had, ignoring input and FDBK. Crossfades of any speed into 127 keep the level. TIME changes the frozen loop's speed and pitch; a STGS change clears it.
- TONE
- Bipolar, centre flat. The feedback tilt, 9 dB at the ends: right raises treble and cuts bass about 200 Hz; left adds a bandpass peak at FREQ, Q 1.5. Acts only inside the feedback loop.
- FREQ
- The centre of TONE's bandpass, 400 Hz to 2 kHz, logarithmic; 64 is about 900 Hz. Heard only with TONE left of centre; right of centre it does nothing.
- MIX
- 0 is exactly dry. To 64 the wet rises to unity over the whole dry; from 64 to 127 the dry fades out, leaving the wet alone.
- STGS
- SETUP page, encoder A. Bucket count, so the delay range: 1024 (default) gives 50-200 ms, 4096 gives 200-800 ms. A change fades the wet out, clears the line (about 6 ms, dry) and fades back in. Not lockable (SETUP page).
- LIM
- SETUP page, encoder C. The feedback governor, 0 off, 127 (default) strongest: above a threshold of the wet's envelope FDBK is scaled by the square of the overshoot, so self-oscillation settles about 30 dB under LIM 0.
- HPF
- SETUP page, encoder E. 0 is off. Otherwise a 12 dB/octave Butterworth high-pass on the signal entering the bucket line, 20 Hz at 1 to 400 Hz at 127, logarithmic (64 is about 90 Hz); it glides like FREQ.
Compatibility notes
- Hardware qualification is the author's own: about ten minutes on an Octatrack MKII with the release image (two instances, Part/project reload and a power cycle). MKI, MIDI/USB load and silicon timing are untested.
- Card builds only: not offered over USB yet. Its worst case (439 executed instructions per sample with trig splits) is charged above the USB loader's current per-module cycle limit; the USB port follows.
- FX2 only: the bucket line needs the 16K-word delay buffer the OS gives FX2 instances.
- With stock DSP code built in, BBD's 1,075 words take the space of SPRING REV and PLATE REV, which leave the FX2 chooser (DARK REV calls a 35-word routine inside SPRING REV's code, so BBD is placed from PLATE REV's start, clear of it); a saved project that uses either on FX2 plays that slot dry. Every other stock effect stays, DARK REV bit-identical to stock. Other modules in the same build can change the choice.
- Free-running TIME: the DSP side has no tempo word, so the delay does not follow tempo, track speed or swing.
- Mono bucket line: the wet is the same on both channels; the dry stays stereo.
- Aliasing is the bucket brigade's own: -44 dBc for a 1.1 kHz tone at the fastest clock, -37 dBc at the slowest.
- Dearer than any stock effect: up to 439 executed instructions per sample with trig splits (SPRING REV 314, CHORUS 293, DJ EQ 331), 405 without splits. Four per core fit the static budget; real-chip headroom is not measured.
- STGS, LIM and HPF are on the SETUP page: the OS does not lock, modulate or scene them.
- STOP, STOP, STOP does not cut BBD's tail yet: the stock tail kill tests the stock reverbs' ids only. BBD's DSP takes the signal on a hidden slot; the ColdFire hook that writes it comes in a later version.
Test evidence
Render gates pass on a native image: exact dry at MIX 0, the DSP against its float reference across every control including HPF (-57 to -78 dB residual), trig splits, STGS changes, the stop-kill input, freeze (including a slow crossfade on a ringing loop), idle tails and the LIM level, eight-instance isolation under guard and dirty start, garbage start and no zipper. Static 378 cycles/sample, 439.44 instructions/sample measured against stock under the same cases. The browser builder matches native octabam in all 130 compared selections. The author played the release image on an MKII: DARK REV working, two instances on T1 and T5, Part/project reload and a power cycle, every parameter, LFOs and trigless locks.
Module source and documentation