MusicBrainopen hardware · est. NL

Component

Plate / spring reverb

v0.5.108, v0.5.110

Delay & reverbStereo

Plate or spring reverb.

Software v0.5.110

Board overview

Overview

Plate or spring reverb.

Two reverbs in one module. Plate is the smooth studio plate. Spring is two springs, slightly different left and right, with the "boing" of a spring tank in a guitar amp or an old organ.

On the plate, Size sets the decay, Damp how fast the treble dies away, and Mod adds the slight drift that takes the sound from metal towards air. On the spring, Size sets how long the springs ring on and Mod adds rumble. Pre is a predelay of up to 120 ms. Without a cable in R the right side gets the same input as the left.

Controls

ControlRangeDefaultWhat it does
Size0 … 10.6How long the reverb rings on.
ModePlate / SpringPlatePlate = smooth studio plate; Spring = two springs with the boing.
Damp0 … 10.4How fast the treble dies away: 0 = bright, 1 = dull.
Pre0 … 120 ms10Time before the reverb starts, up to 120 ms.
Mod0 … 10.3Plate: slight drift, from metal towards air. Spring: rumble.
Mix0 … 10.3How much reverb is mixed with the dry sound.

Ports

PortDirectionSignalWhat it carries
S+incvAdds to the Size 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 and the right side gets the left input.
LoutaudioAudio output, left.
RoutaudioAudio output, right.

How it works

Plate is the Dattorro tank: input diffusion, two modulated all-pass filters, four delays in a figure-of-eight loop with damping inside, and seven output taps per side. The original delay lengths, given for 29,761 Hz, are scaled to the sample rate.

Spring is a delay line in feedback with eight first-order all-pass filters in the loop. Those make the delay depend on frequency: low tones arrive later than high ones, and that dispersion is the boing. A band-pass at the input (about 200 Hz to 4 kHz) keeps out the sub and the air, a low-pass damps the loop, and modulation adds the rumble. The same C++ kernel runs on the Teensy and in the browser.

Runs on

  • Teensy 4.1 (the MusicBrain Brain): about 15.3 % 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): CR-78-groove (Grids, zelfspelend), CMI + REVERB (golvend).

In the editor's example set: 🎤 Zingende stem ×8, 🎚 Mixtur + Plate reverb, 🖥 CMI (Fairlight-stem), 🏛️ Rings + Plate reverb, 🪃 STK + Spring reverb, 🌊 West Coast (Turing + Folder + LPG), 🎚 Mixtur + Plate, 🖥 Fairlight CMI, 🌊 West Coast.

Editor: https://editor.musicbrain.nl

Sources & licences

  • The plate follows the reverb tank topology in J. Dattorro, "Effect Design, Part 1: Reverberator and Other Filters", J. Audio Eng. Soc. 45(9), 1997; the spring is our own dispersive all-pass model. No third-party code.
  • Own kernel mmb_dsp/reverb.h, MIT licence.

Versions

  • 0.5.110: the CV inputs add to their knob instead of replacing it.
  • 0.5.78: plate output lowered; a sustained tone could build up above full scale.
  • 0.5.77: a module that drops out of the patch frees its buffers and gets fresh ones when it is reused.
  • 0.5.72: first version (effects batch with harmonizer, tremolo and stereo phaser).
Earlier versions (1)v0.5.108

Software v0.5.108

Board overview

Overview

Plate or spring reverb.

Two reverbs in one module. Plate is the smooth studio plate. Spring is two springs, slightly different left and right, with the "boing" of a spring tank in a guitar amp or an old organ.

On the plate, Size sets the decay, Damp how fast the treble dies away, and Mod adds the slight drift that takes the sound from metal towards air. On the spring, Size sets how long the springs ring on and Mod adds rumble. Pre is a predelay of up to 120 ms. Without a cable in R the right side gets the same input as the left.

Controls

ControlRangeDefaultWhat it does
Size0 … 10.6How long the reverb rings on.
ModePlate / SpringPlatePlate = smooth studio plate; Spring = two springs with the boing.
Damp0 … 10.4How fast the treble dies away: 0 = bright, 1 = dull.
Pre0 … 120 ms10Time before the reverb starts, up to 120 ms.
Mod0 … 10.3Plate: slight drift, from metal towards air. Spring: rumble.
Mix0 … 10.3How much reverb is mixed with the dry sound.

Ports

PortDirectionSignalWhat it carries
S+incvReplaces the Size 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 and the right side gets the left input.
LoutaudioAudio output, left.
RoutaudioAudio output, right.

How it works

Plate is the Dattorro tank: input diffusion, two modulated all-pass filters, four delays in a figure-of-eight loop with damping inside, and seven output taps per side. The original delay lengths, given for 29,761 Hz, are scaled to the sample rate.

Spring is a delay line in feedback with eight first-order all-pass filters in the loop. Those make the delay depend on frequency: low tones arrive later than high ones, and that dispersion is the boing. A band-pass at the input (about 200 Hz to 4 kHz) keeps out the sub and the air, a low-pass damps the loop, and modulation adds the rumble. The same C++ kernel runs on the Teensy and in the browser.

Runs on

  • Teensy 4.1 (the MusicBrain Brain): about 15.3 % 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): CR-78-groove (Grids, zelfspelend), CMI + REVERB (golvend).

In the editor's example set: 🎤 Zingende stem ×8, 🎚 Mixtur + Plate reverb, 🖥 CMI (Fairlight-stem), 🏛️ Rings + Plate reverb, 🪃 STK + Spring reverb, 🌊 West Coast (Turing + Folder + LPG), 🎚 Mixtur + Plate, 🖥 Fairlight CMI, 🌊 West Coast.

Editor: https://editor.musicbrain.nl

Sources & licences

  • The plate follows the reverb tank topology in J. Dattorro, "Effect Design, Part 1: Reverberator and Other Filters", J. Audio Eng. Soc. 45(9), 1997; the spring is our own dispersive all-pass model. No third-party code.
  • Own kernel mmb_dsp/reverb.h, MIT licence.

Versions

  • 0.5.78: plate output lowered; a sustained tone could build up above full scale.
  • 0.5.77: a module that drops out of the patch frees its buffers and gets fresh ones when it is reused.
  • 0.5.72: first version (effects batch with harmonizer, tremolo and stereo phaser).