0:00/0:00
// (Meet) The Flintstones — The B-52's
// 142 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 82 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(142/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// 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(`<
~@5 A B A C A B A C A B A C D E F G A B A B A B ~@4 H@3 I J@12 K@3 L M@2 A B A C A B A C D E F G A B A B A N@6 O@2 P
Q@2 I
>`.pickRestart({
A: "db1@2 eb1@2 f1@2 gb1@3 ~ db2@4 ab1@2", B: "db1@2 eb1@2 f1@2 gb1@3 ~ db2@3 ~ ab1@2",
C: "db1 eb1 f1 gb1 ab1 b0 c1 eb1", D: "f1 bb1 c2 bb1 a1 g1 f1 eb1", E: "bb1 c2 d2 eb2 f2 bb1 g1 f1",
F: "eb1 f1 g1 ab1 bb1 eb2@2 bb1", G: "ab1 c2 db2 d2 eb2 c2 bb1 ab1", H: "db1@2 eb1@2 e1@2 db1 ~@3 b1@2 c2@2 db2@2",
I: "db1 ~@3", J: "db1 eb1 f1 gb1 ab1 b1 c2 db2", K: "db1 d1 eb1 e1 ab1 b1 c2 db2", L: "db1@3 ~@13",
M: "[~@15 eb1@3 f1@3 ~ gb1@2 f1@3 ~ ab1@3 ~]/2",
N: "[db1@2 eb1@2 f1@2 gb1@3 ~ db2@3 ~@2 db1@4 eb1@4 f1@4 db1@4 gb1@4 bb1@4 eb2@4 db2@4 db1@4 eb1@4 f1@4 db1@4 db1@4 eb1@4 db1@8 db1@8 ~ eb1@4 f1@4]/6",
O: "[gb1@7 ab1@11 ~@2 db1@4 db1@8]/2", P: "~ db1@7 ~ db1@7", Q: "[db1 ~@13 db1@4 ~@14]/2",
})).s("gm_electric_bass_finger").gain(0.45)
// chords · brass section
const brass_section = note(`<
A B C D E@2 ~@6 F ~@5 G ~ H ~@5 I ~@23 J@2 K ~@3 F ~@5 L ~ M ~@5 N ~@2 O P Q R S T U ~ V
>`.pickRestart({
A: "[ab4,f5,ab5]@3 [db4,ab4,db5]!2 ~@5 [db5,ab5,db6]@4 [bb4,gb5,bb5] ~", // Db Db5 Ebm
B: "[ab4,f5,ab5]@3 [db4,ab4,db5]!2 ~@5 [ab4,f5,ab5]@4 [gb4,eb5,gb5] ~", C: "[f4,db5,f5] ~@15",
D: "[ab4,db5,ab5]!2 ~ [ab4,db5,ab5]!2 ~ [ab4,db5,ab5] ~ [ab4,db5,ab5] ~ [ab4,db5,ab5,db6]@4 [ab4,ab5] ~", // Db5 Ab
E: "[[ab4,db5,ab5,db6]@4 [ab4,ab5] ~ [ab4,db5,ab5,db6]@4 [ab4,ab5] ~ [c5,g5,c6]@3 [db5,ab5,db6]@4 ~@13]/2", // Db5 Ab Db5 Ab C5 Db5
F: "~@3 [eb4,eb5,eb6] ~@2 [ab4,ab5,ab6] ~", G: "~@10 [bb4,f5,bb5]@5 ~", H: "~@10 [ab4,eb5,ab5]!2 ~ [ab4,eb5,ab5]!2 ~",
I: "~@2 [ab4,db5,f5,ab5]@9 [ab4,db5,f5,ab5]!2 ~@3", // Db
J: "[~@15 [e4,g4,e5,g5]@3 [f4,ab4,f5,ab5] ~@3 [e4,g4,e5,g5]@2 [f4,ab4,f5,ab5] ~@6 [gb4,bb4,gb5,bb5], ~@15 ab2@16 ~]/2", // Em Fm Em Fm Gb
K: "~ [f4,ab4,f5,ab5] ~ [eb4,gb4,eb5,gb5] [db4,f4,db5,f5]@2 [c4,eb4,c5,eb5] ~", // Fm Ebm Db Cm
L: "~@10 [bb4,f5,bb5]@3 [bb4,f5,bb5]!2 ~", M: "~@10 [ab4,eb5,ab5] [ab4,ab5] ~ [ab4,eb5,ab5]!2 ~",
N: "ab3@8 [ab4,db5,f5,ab5]!3 ~@5", // Db
O: "~@3 [ab4,eb5,ab5] [ab4,eb5,ab5]@2 ~@5 [ab4,eb5,ab5] [ab4,eb5,ab5]@2 ~@2, ab3@8 db3@7 ~", // Ab5
P: "~@3 [ab4,eb5,ab5] [ab4,eb5,ab5]@2 ~@10, ab3@9 ~@7", // Ab5
Q: "ab5@2 ~ [f4,f5]@4 ~ [gb4,gb5]@2 ~@2 [ab4,ab5]@2 ~@2, ab4 ~@15", R: "[bb4,db6]@8 [bb4,eb6]@7 ~",
S: "~@4 [ab4,db5,f5,ab5]@2 ~@2 [db4,gb4,bb4,gb5] [ab4,db5,f5,ab5]@2 ~@2 [db4,ab4,db5] ~@2", // Db Gb Db Db5
T: "~ [ab4,db5]@2 ~@2 [db4,ab4,db5] ~@3 [ab4,db5,f5,ab5]@2 ~@2 [db4,ab4,db5] ~@2, ~ [f5,ab5] ~@14", // Db5 Db Db5 Fm
U: "[ab4,db5,f5,ab5] ~@6 [db3,db4,db5]", V: "[db3,db4,db5,ab5,db6,db7] ~@7",
})).s("gm_brass_section").gain(0.48).pan(0.4)
// chords · brass section · soft notes · Dbsus2 Gbmaj7 Absus2 Cm Fm Bbm Ebsus2 Gbsus2 …
const brass_section_soft = note(`<
~@64
[~@11 eb5 ~@4]
~@14
[~@2 [db5,eb5] [f5,gb5] [ab5,bb5] [c6,db6,eb6] [f6,gb6,ab6] [bb6,c7,db7] [eb7,f7] [gb7,ab7] ~@4 [db6,ab6,ab7]@2]
~@2
>`).s("gm_brass_section").gain(0.24).pan(0.4)
// other · tenor sax
const tenor_sax = note(`<
~@3 A@2 ~@4 B C D E B C D F G H ~@2 B C I J K L ~@23 M N ~ B C D E B C D F G H ~@2 B C I J K L ~@4 O P@3 ~@3
>`.pickRestart({
A: "[~@8 ab3@3 ~ ab3@2 ~ ab3@2 ~ ab3@2 ~@2 ab3@10]/2", B: "ab3 ~ db3 ~@2 db4 ~ bb3",
C: "ab3@3 ~ db3@2 ~@4 ab3@2 ~@2 gb3@2", D: "f3 gb3 g3 ab3 db3@2 eb3@2", E: "f3 ~@3", F: "db3 ~@3",
G: "c4@3 ~ f3@3 ~@3 db4@2 ~@2 db4@2", H: "db4 c4!2 bb3!2 ~@3", I: "f3@2 gb3@2 g3 ~ ab3@2 db3@3 ~ eb3@2 ~@2",
J: "~@2 f3@2 gb3@2 ab3@2 db3@3 ~ eb3@2 ~@2", K: "~@2 f3@2 gb3@2 ab3@2 db4@3 ~ eb4@3 ~", L: "db4@5 ~@3",
M: "~@8 gb3@3 ~ ab3@4", N: "~ ab3@12 ~@3", O: "~@3 f3@5 gb3@3 ~ ab3@2 ~@2", P: "[db4@6 ~@2 eb4@7 db4@20 ~@13]/3",
})).s("gm_tenor_sax").gain(0.43).pan(0.7)
// other · flute
const flute = note(`<
~@2
[ab5 bb5 c6 db6 bb5 c6 db6 eb6 c6 db6 eb6 f6 db6 eb6 f6 gb6]
[ab6 ~@15]
~@52
[~@2 ab5 bb5 c6 db6 eb6 ~ db6 eb6 f6 gb6 ab6@2 ~@2]
~@25
>`).s("gm_flute").gain(0.4)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@5 A B C D A B C D A B C E F G H I J@6 ~@4 K L K M ~@18 A B C D A B C E F G H I J@5 N@4 ~@8
>`.pickRestart({
A: "db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~@3 db3 ~", B: "db3 ~ db3 ~ db3 ~ db3 ~@3 db3 ~@3 db3 ~",
C: "db3 ~@3 db3 ~ db3 ~@3 db3 ~ db3 ~ db3 ~",
D: "[eb3,ab3] ~ [eb3,ab3] ~ [eb3,ab3] ~ [eb3,ab3] ~ [eb3,ab3] ~ ab3 ~ [eb3,ab3] ~ [eb3,bb3]@2", // Ab5 Eb5
E: "[db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ ab3 ~ [db3,ab3] ~ [eb3,bb3]@2", // Db5 Eb5
F: "[f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~", // F5
G: "[f3,bb3] ~ [f3,bb3] ~ [f3,bb3] ~ [f3,bb3] ~ [f3,bb3] ~ [f3,bb3] ~ [f3,bb3] ~ [f3,bb3] ~", // Bb5
H: "[eb3,bb3] ~ [eb3,bb3] ~ [eb3,bb3] ~ [eb3,bb3] ~ [eb3,bb3] ~ [eb3,bb3] ~ [eb3,bb3] ~ [eb3,bb3] ~", // Eb5
I: "[eb3,ab3] ~ [eb3,ab3] ~ [eb3,ab3] ~ [eb3,ab3] ~ [eb3,ab3] ~ [eb3,ab3] ~ [db3,gb3] ~ [db3,gb3] ~", // Ab5 Gb5
J: "[db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~", // Db5
K: "[db3,ab3]@5 ~ [db3,ab3] ~", L: "[db3,ab3]@7 ~@5 [db3,ab3]@3 ~", M: "[db3,ab3]@11 ~@5",
N: "[[db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ab3@6 ~ f3 ~ eb3@2 db3@3 ~ db4@7 ~@2 db4 c4@3 ~ bb3@2 ~ ab3@7 ~@10]/4", // Db5
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.3)
// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@5 A B C D A B C D A B C E ~@36 A B C D A B C E ~@21>".pickRestart({
A: "~@12 db3 ~@3", B: "~@8 db3 ~@3 db3 ~@3", C: "~@2 db3 ~@5 db3 ~@7", D: "~@10 eb3 ~@5", E: "~@10 db3 ~@5",
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.3)
// chords · overdriven guitar
const overdriven_guitar = note(`<
~@5 A@2 B C A@2 B C A@2 B C D E F G H@3 I@3 ~@4 J K J L M N O@2 M P Q R M N O@2 M P Q S ~@2 A@2 B C A@2 B C D E F G
H@3 I@3 ~@11
>`.pickRestart({
A: "db3 ~@7 gb3@2 ~@6", B: "db3 ~@3 gb3 ~@3", C: "~@2 [eb3,ab3] ~@3 eb3 ~ [eb3,ab3]@2 ~@2 [eb3,ab3]@2 [eb3,bb3]@2",
D: "[f2,c3,f3]@3 ~", E: "[f2,bb2]@9 ~ [f3,bb3]@5 ~", F: "[eb2,bb2,eb3]@11 ~@5", G: "[ab2,eb3,ab3] [gb2,db3,gb3]",
H: "~ db5, db3@3 ~, ~@2 ab3@5 ~", I: "~ ab3@3, db3@3 ~", J: "[db3,ab3,db4]@4 ~@2 [db3,ab3,db4] ~",
K: "[db3,ab3,db4]@3 ~@3 [db3,ab3,db4] ~", L: "[db3,ab3,db4]@3 ~@5",
M: "[db3,ab3,db4]@3 ~ [db3,ab3,db4] ~ [db3,ab3,db4] ~ db3 ~ db3 ~ [db3,ab3,db4]@2 ~@2", // Db5
N: "db3 ~ db3 ~ db3 ~ [db3,ab3,db4] ~ [gb3,db4,gb4]@3 ~ [c3,g3,c4]@3 ~, [ab3,db4] ~@3", // Db5 Gb5 C5 Db5
O: "[[ab3,db4]@2 db3 ~ [db3,ab3,db4] ~ db3 ~ db3 ~ [db3,ab3,db4]@2 db3 ~ db3!2 ~@2 db3 ~ db3 ~ [db3,ab3,db4] ~ [db3,ab3,db4] ~ [gb3,db4,gb4]@6, db3 ~@13 [ab3,db4]@5 ~@13]/2", // Db5 Gb5 Db5
P: "db3 ~ db3 ~ db3 ~ [db3,ab3,db4] ~ [b2,gb3,b3]@3 ~ [c3,g3,c4]@3 ~, [ab3,db4] ~@3", // Db5 B5 C5 Db5
Q: "[ab3,db4]@2 db3 ~ [db3,ab3,db4] ~ db3 ~ db3 ~ db3 ~ [ab3,db4]@2 db3 ~, db3 ~@15", // Db5
R: "db3 ~ db3 ~ db3 ~ [db3,ab3,db4] ~ [b2,gb3,b3]@4 [b2,gb3,b3]@4, ~ [ab3,db4]@2 ~@5", S: "[db3,ab3,db4] ~@7",
})).s("gm_overdriven_guitar").gain(0.44).pan(0.7)
// chords · electric guitar muted
const electric_guitar_muted = note("<~@5 A@3 ~ A@3 ~ A@3 ~@37 A@3 ~ A@3 ~@22>".pickRestart({
A: "[db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~", // Db5
})).s("gm_electric_guitar_muted").gain(0.21).pan(0.4)
// chords · synth bass 1
const synth_bass_1 = note("<~@17 A B C D ~@40 A B C D ~@17>".pickRestart({
A: "[f5,a5] ~ [f5,a5] ~ [f5,a5] ~ [f5,a5] ~ [f5,a5] ~ [f5,a5] ~ [f5,a5] ~ [f5,a5] ~", // F
B: "[f5,bb5] ~ [f5,bb5] ~ [f5,bb5] ~ [f5,bb5] ~ [f5,bb5] ~ [f5,bb5] ~ [f5,bb5] ~ [f5,bb5] ~", // Bb5
C: "[eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~ [eb5,g5] ~", // Eb
D: "[eb5,ab5] ~ [eb5,ab5] ~ [eb5,ab5] ~ [eb5,ab5] ~ [eb5,ab5] ~ [eb5,ab5] ~ [eb5,ab5] ~ [eb5,ab5] ~", // Ab5
})).s("gm_synth_bass_1").gain(0.35)
// other · whistle
const whistle = note("<~@17 A ~ B ~@41 A ~ B ~@6 C@5 ~@7>".pickRestart({
A: "~@6 a5@9 ~", B: "~@6 g5@9 ~", C: "[~@15 ab5@15 ~ db6@15 ~ ab5@15 ~ gb5@16 ~]/5",
})).s("gm_whistle").gain(0.21).pan(0.6)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@26 A@5 ~@39 B@4 ~@8>".pickRestart({
A: "[~@16 ab4@30 ~@2 db5@25 ~@7, ~@14 ab3@32 ~ ab4@26 ~@7, ~@15 [db4,f4]@30 ~ [db4,f4]@27 ~@7]/5", // Db
B: "[~@15 ab3@6 ~ f3 ~ eb3@2 db3@3 ~ db4@7 ~@2 db4 c4@3 ~ bb3@2 ~ ab3@7 ~@10]/4",
})).s("gm_acoustic_guitar_steel").gain(0.49).pan(0.3)
// chords · kalimba
const kalimba = note("<~@27 A@7 B ~@8 A@7 B ~@5 C ~@25>".pickRestart({
A: "[ab3,db4] ~@2 [ab3,db4]@2 ~ [b3,e4] ~@2 [b3,e4] ~@2 [gb3,b3] ~ [gb3,b3] ~", B: "[ab3,db4] ~@15",
C: "~@2 ab5 bb5 c6 db6 eb6 ~ db6 eb6 f6 gb6 ab6 ~@3",
})).s("gm_kalimba").gain(0.35).pan(0.7)
// chords · kalimba · soft notes
const kalimba_soft = note(`<
~@27
[f4 ~@2 f4 ~@2 ab4 ~@2 ab4 ~@2 eb4 ~ eb4 ~]!7
[f4 ~@15]
~@8
[f4 ~@2 f4 ~@2 ab4 ~@2 ab4 ~@2 eb4 ~ eb4 ~]!7
[f4 ~@15]
~@31
>`).s("gm_kalimba").gain(0.2).pan(0.7)
// other · overdriven guitar
const overdriven_guitar_2 = note("<~@35 A@3 B C@4 D E F G H I J K ~@31>".pickRestart({
A: "b3!8", B: "b3!7 bb3", C: "ab3/4", D: "b3@2 b3!2 b3@2 ~@2 b3@2 b3!2 b3@2 b3 ~",
E: "b3@2 b3!2 b3@2 b3 ~ b3@2 ~ b3 b3@2 b3 ~", F: "b3@2 b3!2 b3@2 b3!2 b3@2 b3 ~ b3@2 b3 ~",
G: "b3@2 b3!2 b3@2 ~ b3 b3@2 ~ b3 b3@2 ~ b3", H: "db4@2 db4!2 db4@2 ~@2 db4@2 db4!2 db4@2 db4 ~",
I: "db4@2 db4!2 db4@2 db4 ~ db4@2 ~ db4 b3@2 b3 ~", J: "db4@2 db4!2 db4@2 db4!2 db4@2 db4 ~ b3@2 b3 ~",
K: "db4@3 ~@13",
})).s("gm_overdriven_guitar").gain(0.61).pan(0.4)
// other · overdriven guitar · soft notes
const overdriven_guitar_soft = note("<~@43 A B C D E F G ~@32>".pickRestart({
A: "~@6 b3!2 ~@7 b3", B: "~@7 b3 ~@2 b3 ~@4 b3", C: "~@11 b3 ~@3 b3", D: "~@6 b3 ~@3 b3 ~@3 b3 ~",
E: "~@6 db4!2 ~@7 db4", F: "~@7 db4 ~@2 db4 ~@4 b3", G: "~@11 db4 ~@3 b3",
})).s("gm_overdriven_guitar").gain(0.38).pan(0.4)
// drums · kick
const kick = s("bd").struct("<~@4 A B C@20 D E@4 C@11 F C@6 D G ~@2 C@7 H C@9 I E@4 J K L M I ~@2>".pickRestart({
A: "~@12 x ~@2 x", B: "~@5 x ~ x", C: "x ~@4 x ~ x", D: "x ~@4 x ~@2", E: "x!4", F: "x ~ x!2", G: "x",
H: "x ~@8 x!2 ~@3 x ~", I: "x ~@6 x", J: "x ~@2 x ~@4 x ~@3 x ~@3", K: "x!2", L: "x ~@3 x ~@4 x ~@6",
M: "~ x ~@7 x ~@6",
})).gain(0.72)
// drums · snare
const snare = s("sd").struct("<~@2 A B ~ C@21 D ~@3 E C@3 F C@7 G C@6 H B ~ E C@17 I C@3 J B K L M N ~ B>".pickRestart({
A: "~@7 x!9", B: "x", C: "~ x ~ x", D: "~@4 x ~@4 x ~ x!2 ~@3", E: "~@3 x", F: "~@4 x ~@6 x!2 ~@3",
G: "~@4 x ~@8 x!3", H: "~@2 x!2 ~@12", I: "~@4 x ~@3 x!3 ~@5", J: "~ x!3", K: "~ x ~@2", L: "x ~@12 x ~@2",
M: "~@5 x ~@7 x ~@2", N: "x ~@6 x",
})).gain(0.8)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<A@2 B C D ~@13 E ~ F ~@30 G H ~@9 E ~ F ~@9 I ~ J ~@3 K ~>".pickRestart({
A: "x ~@4 x ~@2", B: "x!7 ~@9", C: "~ x ~ x!2 ~ x ~ x ~@5 x ~", D: "~@4 x ~@5 x ~ x ~@2 x", E: "~@5 x ~@2",
F: "~@10 x!2 ~ x!2 ~", G: "~@9 x!3 ~@4", H: "~ x ~@6", I: "~@9 x ~ x ~ x ~ x", J: "~@3 x", K: "~@13 x!3",
})).gain(0.4)
// drums · hihat
const hihat = s("hh").struct("<~@5 A@26 B A@2 C B A@6 C A@2 D A@3 ~@4 A@7 E B A@8 F ~@11>".pickRestart({
A: "x!8", B: "~ x!7", C: "x!4 ~@4", D: "x!7 ~", E: "x!5 ~@3", F: "x!5 ~ x!2",
})).gain(0.48)
// drums · mid tom
const mid_tom = s("mt").struct("<~@34 A ~@7 B ~@6 C ~ D E ~@27 F ~>".pickRestart({
A: "~@2 x!2 ~@2 x!2 ~@2 x ~ x ~@3", B: "~@5 x ~@2", C: "~@5 x ~ x", D: "~@9 x!3 ~@3 x", E: "~@3 x!2 ~@3", F: "~@3 x",
})).gain(0.56)
// … 74 more lines
More by The B-52's
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.