MusicBrainopen hardware · est. NL

Component

BBD chorus

v0.5.108, v0.5.110

Modulation effects & EQStereoVintage

Analogue bucket-brigade chorus: wider and warmer.

Software v0.5.110

Board overview

Overview

Analogue bucket-brigade chorus: wider and warmer.

A stereo chorus and flanger in the style of the bucket-brigade (BBD) units of the late seventies, the CE-1 and Dimension family. A short delay is pulled back and forth by a slow LFO; the copy, slightly out of tune with the original, is mixed back in. Delay sets the character: 2–6 ms flanges, 8–20 ms is chorus, above 20 ms it becomes doubling.

Put it after a voice or a whole mix. A mono input gives a stereo output; with a cable in R it stays true stereo. Spread at 1 runs the two sides in opposite phase, the wide Dimension image; Fbk, positive or negative, pushes it towards a flanger.

Controls

ControlRangeDefaultWhat it does
Rate0.02 … 12 Hz0.6How fast the LFO sweeps the delay, in Hz.
Depth0 … 10.5How far the delay swings: up to ±60 % of Delay.
Delay0.5 … 40 ms8The centre delay: 2–6 ms flanger, 8–20 ms chorus, above 20 ms doubling.
Fbk-0.95 … 0.950Feeds the output back in, positive or negative, for the flanger side.
Mix0 … 10.5How much chorus is mixed with the dry sound.
Spread0 … 11Phase offset of the right LFO: 0 = mono, 1 = opposite phase, the widest image.
Age0 … 10.3Clock noise and a harder-working compander: an older, dirtier unit.
Tone0 … 10.6Bandwidth of the bucket brigade: 0 = about 2 kHz (dull), 1 = 12 kHz.

Ports

PortDirectionSignalWhat it carries
R+incvAdds to the Rate knob; ±1 sweeps its whole range.
D+incvAdds to the Depth knob; ±1 sweeps its whole range.
M+incvAdds to the Mix knob; ±1 sweeps its whole range.
LinaudioAudio input, left (or mono).
RinaudioAudio input, right; leave it empty for mono in, stereo out.
LoutaudioAudio output, left.
RoutaudioAudio output, right.

How it works

Each side is a delay line of up to 40 ms read by a triangle LFO with slightly rounded turning points, so they do not click. The LFO swings the delay by up to ±60 % of the centre value. The right side runs the same LFO shifted by half a cycle times Spread.

The sound of a BBD lives in the chain around the delay, and that is what is modelled: a low-pass filter at the input and the output (the anti-aliasing filters of a real chip; Tone sets their bandwidth from about 2 kHz to 12 kHz), a soft compander that saturates when you play hard, and a little clock noise. Age adds that noise and makes the compander work harder. The same C++ kernel runs on the Teensy and in the browser.

Runs on

  • Teensy 4.1 (the MusicBrain Brain): about 3.8 % CPU per instance (one note, default settings), measured on firmware 0.5.108.
  • The browser: the editor's simulator runs the same C++ code as WebAssembly, so what you hear while patching is what the Brain plays.

Try it

Patches to play (open them in the editor from their page): MS-20-ed Hammond w/ Tape Delay & Lesley.

In the editor's example set: 🎺 CS-80 brass (aftertouch), 🌊 DX7 + BBD chorus, 🎺 CS-80 brass ×4.

Editor: https://editor.musicbrain.nl

Sources & licences

  • Modelled on the behaviour of BBD chorus units of the CE-1 / Dimension family; no circuit simulation and no third-party code.
  • Own kernel mmb_dsp/bbd_chorus.h, MIT licence.

Versions

  • 0.5.110: the CV inputs add to their knob instead of replacing it.
  • 0.5.71: first version (effects batch with stereo tape echo, digital echo, ring modulator and octaver).
Earlier versions (1)v0.5.108

Software v0.5.108

Board overview

Overview

Analogue bucket-brigade chorus: wider and warmer.

A stereo chorus and flanger in the style of the bucket-brigade (BBD) units of the late seventies, the CE-1 and Dimension family. A short delay is pulled back and forth by a slow LFO; the copy, slightly out of tune with the original, is mixed back in. Delay sets the character: 2–6 ms flanges, 8–20 ms is chorus, above 20 ms it becomes doubling.

Put it after a voice or a whole mix. A mono input gives a stereo output; with a cable in R it stays true stereo. Spread at 1 runs the two sides in opposite phase, the wide Dimension image; Fbk, positive or negative, pushes it towards a flanger.

Controls

ControlRangeDefaultWhat it does
Rate0.02 … 12 Hz0.6How fast the LFO sweeps the delay, in Hz.
Depth0 … 10.5How far the delay swings: up to ±60 % of Delay.
Delay0.5 … 40 ms8The centre delay: 2–6 ms flanger, 8–20 ms chorus, above 20 ms doubling.
Fbk-0.95 … 0.950Feeds the output back in, positive or negative, for the flanger side.
Mix0 … 10.5How much chorus is mixed with the dry sound.
Spread0 … 11Phase offset of the right LFO: 0 = mono, 1 = opposite phase, the widest image.
Age0 … 10.3Clock noise and a harder-working compander: an older, dirtier unit.
Tone0 … 10.6Bandwidth of the bucket brigade: 0 = about 2 kHz (dull), 1 = 12 kHz.

Ports

PortDirectionSignalWhat it carries
R+incvReplaces the Rate knob while patched; the value is read in Hz.
D+incvReplaces the Depth knob while patched (0 to 1).
M+incvReplaces the Mix knob while patched (0 to 1).
LinaudioAudio input, left (or mono).
RinaudioAudio input, right; leave it empty for mono in, stereo out.
LoutaudioAudio output, left.
RoutaudioAudio output, right.

How it works

Each side is a delay line of up to 40 ms read by a triangle LFO with slightly rounded turning points, so they do not click. The LFO swings the delay by up to ±60 % of the centre value. The right side runs the same LFO shifted by half a cycle times Spread.

The sound of a BBD lives in the chain around the delay, and that is what is modelled: a low-pass filter at the input and the output (the anti-aliasing filters of a real chip; Tone sets their bandwidth from about 2 kHz to 12 kHz), a soft compander that saturates when you play hard, and a little clock noise. Age adds that noise and makes the compander work harder. The same C++ kernel runs on the Teensy and in the browser.

Runs on

  • Teensy 4.1 (the MusicBrain Brain): about 3.8 % CPU per instance (one note, default settings), measured on firmware 0.5.108.
  • The browser: the editor's simulator runs the same C++ code as WebAssembly, so what you hear while patching is what the Brain plays.

Try it

Patches to play (open them in the editor from their page): MS-20-ed Hammond w/ Tape Delay & Lesley.

In the editor's example set: 🎺 CS-80 brass (aftertouch), 🌊 DX7 + BBD chorus, 🎺 CS-80 brass ×4.

Editor: https://editor.musicbrain.nl

Sources & licences

  • Modelled on the behaviour of BBD chorus units of the CE-1 / Dimension family; no circuit simulation and no third-party code.
  • Own kernel mmb_dsp/bbd_chorus.h, MIT licence.

Versions

  • 0.5.71: first version (effects batch with stereo tape echo, digital echo, ring modulator and octaver).