6.7 KiB
Genre Recipes for Strudel
Copy-paste templates and production techniques for specific genres.
Genre Quick Reference
| Genre | BPM | Key Feel | Drum Machine | Signature |
|---|---|---|---|---|
| Lo-fi Hip-Hop | 70-90 | Minor/Dorian | Any vintage | Swing, dusty, vinyl crackle |
| Trap | 60-80 (half-time feel) | Minor | TR808 | Fast hats, sparse kicks, 808 sub |
| Boom-Bap | 85-100 | Minor | SP-1200/vintage | Chopped samples, swing |
| House | 120-130 | Minor/Major | TR909 | Four-on-floor, offbeat hats |
| Deep House | 118-125 | Minor 7ths | TR909 | Lush pads, jazzy chords |
| Techno | 125-140 | Minor/chromatic | TR909/TR808 | Driving, repetitive, industrial |
| Drum & Bass | 170-180 | Minor | Amen break style | Fast breaks, heavy bass |
| Ambient | 60-90 | Lydian/Major | None/minimal | Long reverb, slow pads |
| UK Garage | 130-140 | Minor | TR909 | Shuffled, 2-step |
| Dubstep | 140 (half-time) | Minor | Heavy | Sub bass wobbles |
| R&B / Neo-Soul | 65-85 | Minor 7/9 | Light drums | Lush chords, smooth |
| Synthwave | 80-120 | Minor | LinnDrum/TR707 | Retro synths, gated reverb |
Lo-fi Hip-Hop
// Lo-fi Hip-Hop — Dm Dorian — 80 bpm
setcps(80/60/4)
$: s("[bd ~ ~ bd] [~ ~ ~ ~] [~ ~ bd ~] [~ ~ ~ ~]")
.bank("RolandTR808").gain(0.9).lpf(300)
$: s("~ ~ ~ ~ [sd ~ ~ ~] ~ ~ ~ ~ [~ ~ ~ ~] ~ ~ [sd ~ ~ ~] ~ ~")
.bank("RolandTR808").gain(0.5).room(0.3)
$: s("[hh ~ hh ~]*2").bank("RolandTR808")
.gain("0.25 0.15 0.2 0.15").lpf(3000)
$: note("<[d3,f3,a3,c4] [g2,b2,d3,f3]>")
.sound("gm_electric_piano_1")
.lpf(2000).gain(0.2)
.room(0.5).size(0.8)
$: note("<d2 ~ d2 ~ g1 ~ ~ ~>")
.sound("sawtooth").lpf(400).gain(0.45)
.decay(0.4).sustain(0.1)
Key characteristics: swing feel, muted/warm tones, vinyl crackle, jazzy 7th chords, low-pass everything.
Trap
// Trap — Cm — 72 bpm (half-time feel)
setcps(72/60/4)
$: s("[bd ~ ~ bd] [~ ~ ~ ~] [~ ~ bd ~] [~ ~ ~ bd]")
.bank("RolandTR808").gain(1.1).lpf(200)
$: s("~ ~ ~ ~ cp ~ ~ ~, ~ ~ ~ ~ cp ~ ~ ~")
.bank("RolandTR808").gain(0.7).room(0.2)
$: s("hh*16").bank("RolandTR808")
.gain(sine.range(0.05, 0.35).fast(4))
$: s("~ ~ ~ ~ ~ ~ oh ~").bank("RolandTR808").gain(0.2)
$: note("<c1 ab0 f0 g0>")
.sound("sine").gain(0.65).lpf(100)
.decay(0.8).sustain(0)
$: note("<[c3,eb3,g3,bb3] [ab2,c3,eb3,g3] [f2,ab2,c3,eb3] [g2,bb2,d3,f3]>")
.sound("sawtooth").lpf(800).lpq(2).gain(0.15)
.room(0.4).size(0.7)
.attack(0.3).release(0.6)
Key characteristics: 808 sub bass (long sine decay), rapid hi-hat rolls (*16 to *32), sparse kick patterns, half-time snare, dark pads.
House
// House — Am — 124 bpm
setcps(124/60/4)
$: s("bd*4").bank("RolandTR909").gain(1.1)
$: s("~ cp ~ cp").bank("RolandTR909").gain(0.65).room(0.2)
$: s("[~ hh]*4").bank("RolandTR909").gain(0.3)
$: s("~ ~ ~ ~ ~ ~ oh ~").bank("RolandTR909").gain(0.2)
$: note("<[a2,c3,e3,g3] [d3,f3,a3,c4]>")
.sound("sawtooth").lpf(sine.range(500, 2000).slow(8))
.lpq(3).gain(0.2)
.room(0.4).size(0.6)
.attack(0.2).release(0.5)
$: note("a1*4").sound("sine")
.gain(0.5).lpf(150).decay(0.15).sustain(0)
Key characteristics: four-on-the-floor kick, offbeat hi-hats, clap on 2&4, filter sweeps, looping.
Techno
// Techno — Cm — 132 bpm
setcps(132/60/4)
$: s("bd*4").bank("RolandTR909").gain(1.2).lpf(250)
$: s("[~ hh]*4").bank("RolandTR909").gain(0.3)
$: s("hh*16").bank("RolandTR909")
.gain("0.3 0.1 0.2 0.1 0.3 0.1 0.2 0.1 0.35 0.1 0.2 0.1 0.3 0.1 0.25 0.15")
$: s("~ ~ ~ ~ cp ~ ~ ~, ~ ~ ~ ~ cp ~ ~ ~")
.bank("RolandTR909").gain(0.7).room(0.15)
$: note("c2 c2 [c2 eb2] c2 c2 [c2 g2] c2 [c2 c3]")
.sound("sawtooth")
.lpf(sine.range(300, 3000).slow(8)).lpq(8)
.gain(0.4).decay(0.1).sustain(0)
$: note("<[c4,eb4,g4] ~ ~ ~ [ab3,c4,eb4] ~ ~ ~>")
.sound("square").lpf(1200).gain(0.1)
.room(0.3).decay(0.05).sustain(0)
Key characteristics: driving kick, acid bassline (sawtooth + high resonance filter sweep), minimal, hypnotic repetition, industrial textures.
Drum & Bass
// DnB — Am — 174 bpm
setcps(174/60/4)
$: s("[bd ~ ~ ~] [~ ~ sd ~] [~ bd ~ ~] [sd ~ ~ ~]")
.bank("RolandTR909").gain(1)
$: s("hh*16").bank("RolandTR909")
.gain(sine.range(0.05, 0.3).fast(2))
.pan(sine.range(0.2, 0.8).fast(3))
$: note("[a1 ~] [~ a1] [~ ~] [a1 ~], [~ ~] [c2 ~] [~ ~] [a1 ~]")
.sound("sawtooth")
.lpf(sine.range(200, 800).slow(8)).lpq(4)
.gain(0.55)
$: note("<[a3,c4,e4] [c4,e4,g4]>").slow(4)
.sound("triangle").lpf(2500).gain(0.08)
.room(0.7).size(0.9).attack(0.8).release(2)
Key characteristics: fast tempo 170+, syncopated breaks, heavy "reese" bass (detuned sawtooth), atmospheric pads.
Ambient
// Ambient — F Lydian — 60 bpm
setcps(60/60/4)
$: note("<[f3,a3,c4,e4] [g3,b3,d4,f#4] [a3,c4,e4,g4] [f3,a3,c4,e4]>").slow(2)
.sound("triangle")
.lpf(sine.range(800, 2500).slow(16))
.gain(0.12)
.room(0.9).size(0.99)
.attack(2).release(4)
$: note("~ f5 ~ a5, ~ ~ c6 ~").slow(4)
.sound("sine").gain(0.06)
.room(0.95).size(0.99)
.delay(0.6).delaytime(0.5).delayfeedback(0.6)
$: s("~ ~ bd ~").gain(0.3).lpf(100).room(0.8).slow(2)
Key characteristics: extremely slow, huge reverb/delay, lydian for dreaminess, long attack/release, minimal drums.
R&B / Neo-Soul (Saul, Frank Ocean, SZA style)
// R&B — Cm — 68 bpm
setcps(68/60/4)
$: s("[bd ~ ~ ~] [~ ~ ~ bd] [~ ~ bd ~] [~ ~ ~ ~]")
.bank("RolandTR808").gain(0.9).lpf(180)
$: s("~ ~ ~ ~ [rim ~ ~ ~] ~ ~ ~ ~ ~ ~ [rim ~ ~ ~] ~ ~")
.bank("RolandTR808").gain(0.3).room(0.4)
$: s("[~ hh ~ hh]*2").bank("RolandTR808").gain(0.12)
$: note("<[c3,eb3,g3,bb3] [f2,ab2,c3,eb3] [ab2,c3,eb3,g3] [g2,bb2,d3,f3]>")
.sound("triangle")
.lpf(sine.range(600, 1500).slow(8)).lpq(2)
.gain(0.18)
.room(0.6).size(0.9)
.attack(0.4).release(1)
$: note("~ eb5 ~ g5, ~ ~ bb5 ~, ~ ~ ~ c6").slow(2)
.sound("sine").gain(0.08)
.room(0.8).size(0.95)
.delay(0.5).delaytime(0.375).delayfeedback(0.4)
$: note("<c1 f0 ab0 g0>")
.sound("sine").gain(0.55).lpf(100)
.decay(0.6).sustain(0.1)
Key characteristics: slow tempo, minor 7th/9th chords, sparse drums, warm pads, ethereal delayed melodies, big reverb, intimate feel.
Synthwave
// Synthwave — Am — 100 bpm
setcps(100/60/4)
$: s("bd*4, [~ sd]*2, [~ hh]*4")
.bank("RolandTR707").gain("1 0.6 0.25")
$: note("a1 a1 [a1 c2] a1").sound("sawtooth")
.lpf(600).gain(0.45).decay(0.2).sustain(0.1)
$: note("<[a3,c4,e4] [f3,a3,c4] [d3,f3,a3] [e3,g3,b3]>")
.sound("square").lpf(1500).gain(0.12)
.room(0.5).size(0.7)
.attack(0.1).release(0.5)
$: n("<0 4 7 4 12 7 4 0>").scale("A4:minor")
.sound("sawtooth").lpf(2000).gain(0.12)
.delay(0.3).delaytime(0.125)
Key characteristics: gated snare, arpeggiated leads, sawtooth/square synths, 80s drum machines, driving bass.