The TB303 Sound
The Roland TB-303 defined acid house and remains central to electronic music. Sonic Pi’s :tb303 synth captures its essential character.
Basic Usage
use_synth :tb303
play :d2, cutoff: 80, res: 0.3
Key Parameters
cutoff (Filter Frequency)
The most important parameter. Controls brightness:
play :d2, cutoff: 60 # Dark, subby
play :d2, cutoff: 75 # Warm, balanced
play :d2, cutoff: 90 # Bright, present
play :d2, cutoff: 110 # Aggressive, cutting
res (Resonance)
Adds emphasis at the cutoff frequency — the classic “squelch”:
play :d2, res: 0.1 # Subtle, clean
play :d2, res: 0.3 # Classic, present
play :d2, res: 0.5 # Pronounced, acid
play :d2, res: 0.7 # Extreme, screaming
Warning: High resonance can be harsh. 0.2-0.4 is usually sufficient.
wave (Waveform)
play :d2, wave: 0 # Sawtooth - brighter, more harmonics
play :d2, wave: 1 # Square - hollow, more fundamental
Sawtooth (wave: 0) is more common for bass. Square (wave: 1) has a darker, hollow character.
ADSR for TB303
For punchy bass:
use_synth :tb303
play :d2,
attack: 0.01, # Near-instant attack
decay: 0.2, # Quick drop
sustain: 0.1, # Short sustain
release: 0.15, # Quick release
cutoff: 80,
res: 0.3
This creates tight, rhythmic bass lines.
The Album’s TB303 Sound
Standard Bass (Track 1)
use_synth :tb303
play n, amp: 0.8*v, attack: 0.01, decay: 0.2,
sustain: 0.1, release: 0.15, cutoff: 80, res: 0.3, wave: 0
Grinding Bass (Track 2)
use_synth :tb303
play n, amp: 0.8*v, attack: 0.01, decay: 0.2,
sustain: 0.1, release: 0.15, cutoff: 75, res: 0.35, wave: 0
Higher resonance for more grit.
Aggressive Bass (Track 4)
use_synth :tb303
play n, amp: 0.75*v, attack: 0, decay: 0.18,
sustain: 0.05, release: 0.1, cutoff: 82, res: 0.35, wave: 1
Square wave for darker character.
Filter Movement
The TB303’s magic is in filter movement:
Cutoff Variation in Patterns
define :bassline do |v=1, c=80|
bass :d2, v, c # Main note
sleep 0.5
bass :d2, v*0.7, c-10 # Ghost note, darker
sleep 0.5
bass :f2, v*0.9, c+5 # Accent, brighter
sleep 1
end
Cutoff Slide
use_synth :tb303
play :d2, cutoff: 60, cutoff_slide: 2
sleep 0.1
control cutoff: 100 # Slides from 60 to 100
As Effect Automation
with_fx :lpf, cutoff: 50, cutoff_slide: 16 do |fx|
control fx, cutoff: 100
16.times do
bass :d2
sleep 1
end
end
TB303 vs Other Bass Synths
| Synth | Character | Best For |
|---|---|---|
| :tb303 | Squelchy, acid | Aggressive bass |
| :prophet | Warm, smooth | Melodic bass |
| :dsaw | Wide, aggressive | Layering, stabs |
When to Use TB303
- Aggressive, driving tracks
- Acid-influenced sounds
- When you need filter resonance
- Bass lines that need to cut through
When to Use Alternatives
- Warmer, smoother bass:
:prophet - Wider, more aggressive:
:dsaw - Pure sub:
:sine(always layer this)
Layering with TB303
TB303 handles mid frequencies well. Layer with sine for sub:
define :bass do |n, v=1, c=80|
use_synth :tb303
play n, amp: 0.8*v, attack: 0.01, decay: 0.2,
sustain: 0.1, release: 0.15, cutoff: c, res: 0.3
use_synth :sine
play n-12, amp: 1.1*v, attack: 0.01, sustain: 0.25, release: 0.2
end
The TB303 provides character; the sine provides weight.
Quick Reference
# Basic TB303 bass
use_synth :tb303
play :d2,
amp: 0.8,
attack: 0.01,
decay: 0.2,
sustain: 0.1,
release: 0.15,
cutoff: 80, # 60-100 typical
res: 0.3, # 0.2-0.4 typical
wave: 0 # 0=saw, 1=square
# Cutoff guide:
# 60-70: Dark, subby
# 75-85: Balanced
# 90+: Aggressive
# Resonance guide:
# 0.2: Subtle
# 0.3: Classic
# 0.4+: Pronounced acid