Packages
Examples
Synth Building Blocks: Generators
The Synth Building Blocks package comes with a number of generators that can easily emulate analog modular synthesis techniques, such as additive synthesis, FM synthesis, PWM synthesis, and even some physical modeling techniques.
Simple and Complex Generators
The most basic oscillator in SBB is sbb.osc.analog
. This oscillator is an anti-aliased monphonic oscillator, similar to one that you might find in a typical hardware synth or Eurorack system. It can produce all the standard waveforms—sine, saw triangle, square, pulse, even white noise—and can also perform pulse width modulation (PWM).
Like all abstractions in the SBB package, all of its inputs are signal-rate inputs. Thus, frequency and pulse width can be modulated using any other building block in the package by simply patching another SBB abstraction to an input and attenuating accordingly.
SBB's LFO abstraction modulating the pulse width input of sbb.osc.analog
While modulating sbb.osc.analog
's inputs can be fruitful, SBB also comes with an FM oscillator (sbb.osc.fm
) that has built in frequency modulation. The FM oscillator has three inputs: carrier frequency, ratio, and modulation index.
An additional generator exists for additive synthesis: sbb.osc.additive
. This is a harmonic oscillator bank that has ten partials built in. The number of partials, partial decay, and even/odd partial balance can all be controlled with sbb.osc.additive
.
Karplus Strong
A sort of bonus generator comes with SBB that implements the Karplus Strong string synthesis algorithm (sbb.osc.karplus
). The Karplus Strong algorithm emulates the sound of a plucked string using a tapped delay line and a low-pass filter.
A string pluck can be trigged by sbb.osc.karplus
by sending an impulse to the right inlet using click~
. Additionally, decay and damping parameters are available to fine-tune the attenuation of the pluck.