TB-303 Emulation

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 120
cutoff_min: 30 cutoff_attack: attack cutoff_decay: decay cutoff_sustain: sustain
cutoff_release: release cutoff_attack_level: 1 cutoff_decay_level: cutoff_sustain_level cutoff_sustain_level: 1
res: 0.9 wave: 0 pulse_width: 0.5

use_synth :tb303

Emulation of the classic Roland TB-303 Bass Line synthesiser. Overdrive the res (i.e. use very large values) for that classic late 80s acid sound.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

The maximum cutoff value as a MIDI note

Default: 120
Must be a value less than or equal to 130
May be changed whilst playing
Has slide options to shape changes

cutoff_min:

The minimum cutoff value.

Default: 30
Must be a value less than or equal to 130
May be changed whilst playing
Has slide options to shape changes

cutoff_attack:

Attack time for cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope’s attack value.

Default: attack
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_decay:

Decay time for cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope’s decay value.

Default: decay
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_sustain:

Amount of time for cutoff value to remain at sustain level in beats. Default value is set to match amp envelope’s sustain value.

Default: sustain
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_release:

Amount of time (in beats) for sound to move from cutoff sustain value to cutoff min value. Default value is set to match amp envelope’s release value.

Default: release
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_attack_level:

The peak cutoff (value of cutoff at peak of attack) as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value

Default: 1
Must be a value between 0 and 1 inclusively
Can not be changed once set

cutoff_decay_level:

The level of cutoff after the decay phase as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value

Default: cutoff_sustain_level
Must be a value between 0 and 1 inclusively
Can not be changed once set

cutoff_sustain_level:

The sustain cutoff (value of cutoff at sustain time) as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value.

Default: 1
Must be a value between 0 and 1 inclusively
Can not be changed once set

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.9
Must be zero or greater,must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

wave:

Wave type - 0 saw, 1 pulse, 2 triangle. Different waves will produce different sounds.

Default: 0
Must be one of the following values: [0, 1, 2]
May be changed whilst playing

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0