Drum & bass is fast drums with a slow groove. 170 beats per minute, but the snare only lands twice a bar. 170bpm says run, but the snare only hits twice a bar. That tension between fast drums and slow groove is the whole genre.
This lesson builds a DnB breakbeat from scratch (kick, snare, hats) one piece at a time, then stacks them.
s(), note(), stack(), mini-notation
([] * ~ () <>), method chaining (.lpf(), .gain(),
.decay(), .sustain()), and the sawtooth synth.
All from EDM.0.
A section of a song where the band drops out and the drummer plays alone. In the 60s and 70s, DJs would loop these sections on two turntables, extending a 4-second solo into a 4-minute groove. That loop is “the break.”
DnB, jungle, hip-hop. They all grew out of looping breaks. The entire genre is built on taking a drummer’s solo and making it the whole song.
~1989–92: UK acid house and rave scene. Fast tempos, breakbeats layered over 4-on-the-floor kicks. Warehouse parties. Illegal raves. Police helicopters.
~1992–95: Jungle. Producers sped up funk and soul breaks to 150–170bpm and layered reggae and dancehall influence underneath. The Amen break was everywhere. Darkcore emerged as a harder subgenre. Names to know: Goldie, LTJ Bukem, Shy FX, Andy C.
~1995–97: The name changes. Rowdy crowds at jungle nights caused venue trouble. Promoters got shut down. Producers wanted to distance from the reputation, so they started calling the music “drum and bass” instead.
~1997: The real shift: new production tools. Producers stopped looping sampled breaks and started programming individual drum hits from scratch. Same thing happened to hip-hop around the same time (compare NWA’s sampled breaks to Dr. Dre’s The Chronic with its programmed drums). The sound stripped down: fewer elements, louder. At the drop, most tunes were nothing but drums and bass. The name wrote itself.
~2000: Tempo wars. Clubs running at 185bpm+. Dieselboy modded his turntables to break the +8 pitch limit. Secret gatherings of DnB royalty to agree on keeping the genre from becoming speedcore.
~2003+: The era cycle begins. Every few years the sound reinvents: NZ/Aussie wave (Pendulum, Concord Dawn), Noisia/Spor/Phace era, halftime, and the current 4/4 trend. The genre likes to try new things.
Now: 30+ years and international. The jungle-vs-DnB naming debate is settled by time; jungle was about 5 years. DnB has been 30.
New production tools meant fewer elements per tune. Fewer elements = more headroom = louder. Producers competed to make the loudest dubplates. At the drop, almost every track reduced to two things: drums, and bass. The name described what was left.
The Amen break (a 6-second drum solo from 1969 by The Winstons) is the backbone of jungle and early DnB. Nearly every breakbeat in the genre traces back to it. Chopped, timestretched, pitched, layered. That one solo became the most sampled loop in music history.
History adapted from u/GardenerInAWar on r/DnB and Wikipedia’s History of Drum and Bass.
Five sounds. That’s all you need. Play each one:
Kick (bd): The big low one. Boom. Floor of the beat.
Snare (sd): The crack. Sharp, mid-range.
Hi-hat closed (hh): Tick tick tick. Metallic, short.
Hi-hat open (oh): Tssss. Same cymbal, held open. Longer.
Clap (cp): Like a snare but more air.
All five in sequence, so you can hear each one back to back:
A bar is a container for beats. Most music uses 4 beats per bar. In strudel, one cycle = one bar.
You divide the bar into slots. 4 slots = quarter notes. 8 slots = eighth notes. 16 slots = sixteenth notes. More slots means more resolution: more places to put sounds.
~ is a rest. Nothing plays on that slot. So s("bd ~ sd ~") is 4 slots:
kick on 1, rest, snare on 3, rest.
Same kick and snare, but now in 8 slots. You have more room to put things between them:
Play both. They sound the same. The 8-slot version just has empty spaces you can fill later.
Four-on-the-floor: Kick on every beat. House, techno, disco.
Four-on-the-floor means a kick drum on every beat. It’s the foundation of disco, house, techno, and trance. The name comes from the drummer’s foot pedal; the foot hits the floor on every beat.
The pattern was popularized in 1970s disco. Before that, kick patterns were syncopated, placed off the beat for swing and groove. Disco straightened the kick out and made it predictable. That predictability is what makes it work for dancing: you always know where the next thump is.
The same pattern shows up in other contexts with different names. In jazz, it’s called “feathering”: the bass drum played so lightly you feel it more than hear it. In reggae, it’s called a “steppers” rhythm.
DnB broke away from this deliberately. Early rave music was 4-on-the-floor, but jungle producers emphasized breakbeats instead: chopped-up funk breaks with syncopated kick patterns. The kick on every beat was abandoned on purpose. That’s a big part of what makes DnB sound different from house or techno: the kick is unpredictable, and the spaces between kicks create tension.
The irony: current DnB producers (Mandidextrous and others) are bringing 4/4 kicks back as a stylistic choice, completing a 30-year circle.
Based on Wikipedia’s article on four-on-the-floor rhythm.
Backbeat: Snare on beats 2 and 4. Rock, pop, hip-hop.
Half-time: Snare on beat 3 only. DnB, trap.
Play all three back to back. Four-on-the-floor is steady. Backbeat has more bounce. Half-time feels loose and heavy.
A break is a looped drum pattern. The kit is the set of sounds. A bar is 4 beats. Slots subdivide the bar. Now you know enough to build a DnB break.
Play these two. Same pattern, different speed:
The second one is faster. That’s 170 beats per minute, DnB tempo.
Change 42.5 to 32. That’s 128bpm, house tempo. Try 45: that’s 180, fast DnB.
The number controls the speed.
The number is cycles per minute: how many times the pattern repeats in 60 seconds. One cycle = one bar = 4 beats. So 170bpm ÷ 4 = 42.5 cpm. That’s the conversion.
setcpm(42.5) is the number you’ll use for every editor in this lesson.
BPM = beats per minute. CPM = cycles per minute. Strudel thinks in cycles, not beats. One cycle is one full pass through your pattern. If your pattern has 4 slots, one cycle = one bar of 4/4 time.
CPM = BPM / beats_per_cycle
| genre | bpm | cpm | code |
|---|---|---|---|
| hip-hop | 90 | 22.5 | setcpm(22.5) |
| house | 128 | 32 | setcpm(32) |
| techno | 140 | 35 | setcpm(35) |
| drum & bass | 170 | 42.5 | setcpm(42.5) |
| fast DnB | 180 | 45 | setcpm(45) |
Convention. Most electronic music is in 4/4 time: four beats per bar. Strudel defaults to dividing one cycle into however many elements you give it. If you write four sounds, each gets one beat. That maps cleanly to a bar of 4/4. You can write patterns with 3, 5, 7 elements; the cycle just divides differently.
setcpm(BPM / 4): divide your target BPM by 4 to get cycles per minute.
170bpm = setcpm(42.5). 128bpm = setcpm(32). That’s it.
DnB kick placement is sparse. Beat 1 is guaranteed. Then a ghost kick near the end of the bar pulls you forward into the next one.
Kick on beat 1, nothing else. Eight subdivisions gives us 16th-note resolution:
Add a quiet kick on the “and” of beat 4. It creates anticipation: a forward pull into the next bar:
That second kick sits inside brackets ([~ bd]) so it lands on the back half
of that slot. It’s not on a main beat. It’s between beats. That off-grid placement is what makes it a ghost.
Move the ghost. Try s("bd ~ ~ ~ ~ [~ bd] ~ ~"). Or put it earlier:
s("bd ~ ~ ~ [~ bd] ~ ~ ~"). Different placement, different pull.
The snare is what makes DnB sound like DnB. It lands on beat 3. Not beats 2 and 4 like house or hip-hop. Just beat 3.
The snare alone, one hit per bar:
Compare these two. The first is a house-style backbeat: snare on 2 and 4. The second is DnB: snare on 3 only:
Play them back to back. The house pattern bobs. The DnB pattern swings.
Half-time means the snare hits half as often as you’d expect. At 170bpm, the snare lands every other beat (beat 3 out of 4), so the groove feels like 85bpm. Fast tempo, slow groove. That’s the DnB pocket.
In 1969, Gregory Coleman played a 6-second drum solo on “Amen, Brother” by The Winstons. A B-side filler track. Nobody bought it for the drums.
Then in the late ’80s, producers in London started sampling that 6-second break. Sped it up. Chopped it. Layered it. It became the backbone of jungle, then drum & bass, then half of electronic music. One loop. Thousands of tracks.
Coleman’s pattern has the half-time snare, ghost notes on the kick, and a loose swing that synth drums can’t replicate. The imperfections (the slightly early hi-hat, the snare that rings a little long) are the whole point. Machines are tight. The amen breathes.
This isn’t the real amen (that’s a sample, not a pattern), but it’s close enough to hear the shape:
Coleman died in 2006, homeless. He never received royalties for the most-sampled drum break in history. The Winstons didn’t copyright the break separately from the song. By the time anyone thought to, it was public domain through sheer ubiquity. Richard L. Spencer (the band’s singer) later set up a GoFundMe. It raised a few thousand dollars. The break has generated billions in music sales.
Hi-hats fill the space between kick and snare. At 170bpm, 16th-note hats are fast. That’s the point. They give the beat its energy.
Sixteen hi-hats per cycle, all the same volume:
Flat. Mechanical. Every hit identical. Sounds like a typewriter, not a drummer.
Real drummers don’t hit every hat the same. Some are ghosted, some are accented. .gain() with
a pattern string sets per-step volume:
The gain pattern repeats across the 16 steps. Quiet–medium–quiet–loud. The accents on every 4th hit create a pulse inside the hi-hat line. Without them, it rattles.
An open hat (oh) rings longer than a closed one. Drop one at the end of the bar for a lift:
Try a softer gain pattern: .gain(".3 .5 .3 .8"). Or drop to 8th notes:
s("hh*8"). Halving the hat density changes the energy completely.
All four pieces stacked. Play it. Listen for each layer: kick on 1, snare on 3, hats running, open hat at the end of the bar.
s("sd(3,16)").gain(.3). Stack it in alongside the main snare.s("bd ~ [~ bd] ~ ~ ~ [~ bd] ~"). Two ghosts instead of one.s("ride*16") or s("cymbal*8"). Different metal, different character.| tool | does | looks like |
|---|---|---|
| bd | kick drum sample | s("bd") |
| sd | snare drum sample | s("sd") |
| hh | closed hi-hat sample | s("hh") |
| oh | open hi-hat sample | s("oh") |
| cp | clap sample | s("cp") |
| bar | one cycle = 4 beats | one repetition of the pattern |
| setcpm() | sets the tempo in cycles per minute | setcpm(42.5) |
| .gain("pattern") | per-step volume with a pattern string | .gain(".4 .7 .4 .9") |
170bpm = setcpm(42.5). 128bpm = setcpm(32).
The formula: BPM / beats-per-cycle = CPM. Beats per cycle is almost always 4.
Next: The Bass. Sub bass, reese, and why two detuned saws make that sound.