rolandtb - guyjbrown/bleepmanual GitHub Wiki

Roland TB303 Bassline (rolandtb)

Simulation of roland TB3030 bassline. Both saw and square oscillators are provided with variable level. You can use the square to thicken the sound, or detune it to make a sub oscillator. Add distortion and delay for the typical TB303 bass sound.

Author: Guy Brown

Parameters

parameter minimum maximum default description
saw_level 0 1 1 level of the sawtooth oscillator
sqr_level 0 1 0 level of the square wave oscillator
detune -2400 2400 -1200 detune amount of the square wave oscillator in cents
cutoff 20 10000 3900 filter cutoff in Hz
resonance 0 25 5 filter resonance
env_mod 0 0.95 0.4 envelope modulation amount
decay 0 1 0.2 filter decay time
volume 0 1 0.7 master volume

WebAudio graph

graph TD;
   saw_id(["SAW-OSC:saw"])-->sawgain_id("VCA:sawgain");
   sawgain_id("VCA:sawgain")-->mix_id("VCA:mix");
   sqr_id(["SQR-OSC:sqr"])-->sqrgain_id("VCA:sqrgain");
   sqrgain_id("VCA:sqrgain")-->mix_id("VCA:mix");
   mix_id("VCA:mix")-->lowpass1_id["LPF:lowpass1"];
   lowpass1_id["LPF:lowpass1"]-->vca_id("VCA:vca");
   vca_id("VCA:vca")-->audio_id("audio");
   ampenv_id[/"ADSR:ampenv"\]-.->vca_id("VCA:vca");
   filterenv_id[/"ADSR:filterenv"\]-.->lowpass1_id["LPF:lowpass1"];

Examples