# 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("") .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("") .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("") .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.