0:00/0:00
// Boys — Britney Spears
// 125 bpm, 4/4, key F# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 14 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// bass · electric bass finger
const bass = note("<A B C D E F G A H I D J F K>".pickRestart({
A: "f#2 ~@6 f#2 ~@5 f#2 ~@2 f#2 ~ g#2@3 a2@3", B: "~@4 f#2 ~@6 f#2 ~@5 f#2 ~@2 f#2 ~ g#2@2",
C: "~ a2@3 ~ f#1!2 ~ f#2 ~@6 f#2 ~@5 f#2 ~@2", D: "f#2 ~ g#2@3 a2@3 ~@4 f#2 ~@6 f#2 ~@4",
E: "~ f#2 ~@2 f#2@2 a2@3 a2@2 g#2@2 f#2@2 ~ f#2 ~@6 f#2", F: "~@5 f#2 ~@2 f#2 ~ g#2@3 a2@3 ~@4 f#2 ~@3",
G: "~@3 f#2 ~@5 f#2 ~@2 f#2 ~ g#2@3 a2@3 ~ f#1!2 ~", H: "~@4 f#2 ~@6 f#2 ~@5 f#2 ~@2 f#2@2 a2@2",
I: "~ a2@2 g#2@2 f#2@2 ~ f#2 ~@6 f#2 ~@5 f#2 ~@2", J: "~ f#2 ~@2 f#2 ~ g#2@3 a2@3 ~ f#1 ~ f#1 f#2 ~@6 f#2",
K: "~@3 f#2 ~@5 f#2 ~@2 f#2@2 a2@2 ~ a2@2 g#2@2 f#2@2 ~",
})).s("gm_electric_bass_finger").gain(0.5)
// drums · kick
const kick = s("bd").struct("<A B C D E F G A B C D H F G>".pickRestart({
A: "x ~@6 x ~@4", B: "~@2 x ~@6 x ~ x", C: "~@4 x ~@6 x", D: "~ x", E: "~ x ~@6 x ~@3", F: "~@3 x ~@6 x ~",
G: "~@5 x ~ x ~@4", H: "~ x ~ x ~@4 x ~@3",
})).gain(0.5)
// drums · snare
const snare = s("sd").struct("<A B C D E F G A B C D H F G>".pickRestart({
A: "~@7 x ~@13 x ~@2", B: "~@11 x ~@12", C: "~ x ~@13 x ~@8", D: "~@5 x ~@13 x ~@4", E: "~@23 x", F: "~@13 x ~@10",
G: "~@3 x ~@13 x ~@6", H: "~@9 x ~@13 x",
})).gain(0.5)
// drums · clap
const clap = s("cp").struct(`<
~@4
[~@6 x ~@2 x ~@3 x!2 ~@9]
~@3
[~@11 x]
[~ x ~@3 x!2 ~@17]
~@3
[~@14 x ~@2 x ~@3 x ~ x]
>`).gain(0.5)
// drums · hihat
const hihat = s("hh").struct("<A B C D E F G A B C D H F G>".pickRestart({
A: "x ~@6 x ~@6 x ~@6 x ~@2", B: "~@4 x ~@6 x ~@6 x ~@5", C: "~ x ~@6 x ~@6 x ~@6 x ~", D: "~@5 x ~@6 x ~@6 x ~@4",
E: "~@16 x ~@6 x", F: "~@6 x ~@6 x ~@6 x ~@3", G: "~@3 x ~@6 x ~@6 x ~@6", H: "~@2 x ~@6 x ~@6 x ~@6 x",
})).gain(0.5)
stack(bass, kick, snare, clap, hihat)
More by Britney Spears
... Baby One More TimeC minor · 93 bpm(You Drive Me) CrazyE♭ major · 100 bpmLuckyA minor · 100 bpmSometimesG major · 98 bpmDon't Go Knockin' on My DoorB♭ minor · 112 bpmDon't Let Me Be The Last To KnowE major · 120 bpmFrom the Bottom of My Broken HeartG major · 76 bpmI Love Rock 'n' RollE major · 94 bpm
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.