252 lines
6.7 KiB
Markdown
252 lines
6.7 KiB
Markdown
# 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
|
|
|
|
```js
|
|
// 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
|
|
|
|
```js
|
|
// 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
|
|
|
|
```js
|
|
// 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
|
|
|
|
```js
|
|
// 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
|
|
|
|
```js
|
|
// 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
|
|
|
|
```js
|
|
// 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)
|
|
|
|
```js
|
|
// 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
|
|
|
|
```js
|
|
// 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.
|