0:00/0:00
// Rock Lobster — The B-52's
// 183 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 221 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): GtrClean.
setcpm(183/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, A@4 for four bars: edit a riff to change every repeat.
// other · electric guitar clean · "GtrClean"
const electric_guitar_clean = note(`<
~ A B A C A D A D A D A D A D A E F G H I F G H I F G H J K G L M N O N O P@3 Q A D A D A D A D R D R D A D A D A D A
D S G H I F G H I F G H J K G L M N O N O P@3 Q A D A D A D A D A D A D A D A D A D A E T U V W X@2 Y Z AA AB AC AD AE
AF AG AH AI AJ AK AL AM AN AO AP AQ@2 AR@2 AS AT AU AV AW AT AX AY AZ BA BB BC BD BA BB BE BF BG BF BH@2 BI@2 BJ@2
BK@2 BL BM@2 BN BO BP BQ BR@2 BP BQ BS@2 BP BT@3 BP BQ BU@2 BP BV BP BW BP BX BY@2 BP BZ BP BZ BP BX CA@2 CB CC CD CE
CF CG CH CI CJ CK CL@2 BP CM@3 BP CM@3 CL@2 CN@2
>`.pickRestart({
A: "c2@3 ~ d2@3 ~ eb2@3 ~ d2 ~ c2 ~", B: "ab2@2 f2@2 ab2@2 g2@6 ~@2 g2 ~", C: "ab2 ~ f2 ~ ab2 ~ g2@6 ~@2 g2@2",
D: "ab2 ~ f2 ~ ab2 ~ g2@6 ~@2 g2 ~", E: "ab2 ~ f2 ~ ab2 ~ g2@6 ~@4", F: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
G: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", H: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~",
I: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~", J: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~, ~@2 f3 ab3",
K: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~, g3@5 ~@3", L: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ g2@2",
M: "~@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~", N: "c2 ~ c2 ~ c2 ~ c2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~",
O: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ g2 ~ g2 ~ g2 ~ g2 ~", P: "c2 ~ c2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g2 ~ g2 ~",
Q: "ab2 ~ ab2 ~ g2 ~ g2 ~ ab2 ~ ab2 ~ g2 ~ g2 ~", R: "c2@2 ~@2 d2@2 ~@2 eb2@3 ~ d2 ~ c2 ~",
S: "c2@3 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", T: "bb2@3 ~ b2@3 ~ c3 ~ c3 ~ c3 ~ c3 ~",
U: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~", V: "c3 ~ c3 ~ c3 ~ c3 ~ c2 ~ c2 ~ c2 ~ c2 ~",
W: "c2@3 ~ c2 ~ c2@3 ~ c2 ~ c2@3 ~", X: "c2 ~ c2 ~ c2 ~ c2 ~ c3 ~ c3 ~ c3 ~ c3 ~",
Y: "c2 ~ c2 ~ c2 ~ c2 ~ c3 ~@3 c2 ~@3", Z: "c3 ~@3 c2 ~@3 c3 ~ c2 ~ c2 ~ c2 ~",
AA: "c2 ~ c2 ~ c2 ~ c2 ~ f4 ~ f4 ~ f4 ~ f4 ~", AB: "f4 ~ f4 ~ f4 ~ f4 ~ e4 ~ e4 ~ e4 ~ e4 ~",
AC: "e4 ~ e4 ~ e4 ~ e4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~", AD: "eb4 ~ eb4 ~ eb4 ~ eb4 ~ d4 ~ d4 ~ d4 ~ d4 ~",
AE: "d4 ~ d4 ~ d4 ~ d4 ~ db4 ~ db4 ~ db4 ~ db4 ~", AF: "db4 ~ db4 ~ db4 ~ db4 ~ c4 ~ c4 ~ c4 ~ c4 ~",
AG: "c4 ~ c4 ~ c4 ~ c4 ~ b3 ~ b3 ~ b3 ~ b3 ~", AH: "b3 ~ b3 ~ b3 ~ b3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~",
AI: "bb3 ~ bb3 ~ bb3 ~ bb3 ~ a3 ~ a3 ~ a3 ~ a3 ~", AJ: "a3 ~ a3 ~ a3 ~ a3 ~ ab3 ~ ab3 ~ ab3 ~ ab3 ~",
AK: "ab3 ~ ab3 ~ ab3 ~ ab3 ~ g3 ~ g3 ~ g3 ~ g3 ~", AL: "g3 ~ g3 ~ g3 ~ g3 ~ gb3 ~ gb3 ~ gb3 ~ gb3 ~",
AM: "gb3 ~ gb3 ~ gb3 ~ gb3@2 f3 ~ gb3 ~ gb3 ~ gb3 ~", AN: "gb3 ~ gb3 ~ gb3 ~ gb3@2 f3 ~ gb3 ~ gb3 ~ gb3@2",
AO: "f3 ~ gb3 ~ gb3 ~ gb3@2 f3 ~ gb3@2 f3 ~ gb3@2", AP: "f3 ~ gb3@2 f3 ~ gb3 ~ c2@3 ~ d2@3 ~",
AQ: "[eb2@3 ~ d2 ~ c2 ~ ab2 ~ f2 ~ ab2 ~ g2@7 ~ g2 ~ c2@3 ~ d2@3 ~]/2",
AR: "[eb2@3 ~ d2 ~ c2 ~ ab2 ~ f2 ~ ab2 ~ g2@7 ~ g2 ~ [f2,c3]@3 ~ [ab2,eb3]@3 ~]/2", // F5 Ab5
AS: "[bb2,f3]@3 ~@3 [bb2,f3]@2 ~@2 [ab2,eb3]@3 ~ [ab2,eb3] ~", // Bb5 Ab5
AT: "[c3,f3]@2 ~@2 f3@2 ~@2 [f2,c3]@3 ~ [ab2,eb3]@2 ~@2", // F5 Ab5
AU: "[bb2,f3]@2 ~@4 [ab2,eb3]@3 ~ [ab2,eb3]@2 ~@2 [ab2,eb3] ~", AV: "f3@2 ~@6 [f2,c3]@3 ~ [ab2,eb3]@2 ~@2",
AW: "[bb2,f3]@4 ~@2 [bb2,f3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~", // Bb5 Ab5
AX: "[bb2,f3]@2 ~@4 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~", // Bb5 Ab5
AY: "f3@3 ~@3 [f2,c3]@2 ~@2 [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // F5
AZ: "[f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ eb2 ~ eb2 ~ eb2 ~", // F5
BA: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3]@2", // F5
BB: "~@2 [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ eb2 ~ eb2 ~ eb2 ~", // F5
BC: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3]@3 ~ [f2,c3]@3 ~", BD: "[f2,c3]@3 ~ [f2,c3]@3 ~ [f2,c3] ~ eb2 ~ eb2 ~ eb2 ~",
BE: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~, ~@7 c3", // Fm
BF: "[f2,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~", // Fm Ab5
BG: "[ab2,ab3] ~ [ab2,ab3] ~ [g2,ab3] ~ [g2,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~, ~@7 c3", // Ab Abmaj7 Fm
BH: "[[eb2,ab3] ~ [eb2,ab3] ~ [eb2,g3] ~ [eb2,g3] ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ [f2,f3]@5 ~ eb2@3 ~ f2 ~, ~@8 [f2,f3]@6 [f2,f3]@5 ~ c3 ~@11]/2", // Ab5 Eb F
BI: "[eb2 ~ eb2 ~ f3@2 eb2 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ [f2,f3]@5 ~ eb2@3 ~ f2 ~, ~@4 eb2 ~@3 [f2,f3]@5 ~ [f2,f3]@4 ~@2 c3 ~@11]/2", // F
BJ: "[eb2 ~ eb2 ~ [f2,f3]@2 ~@2 [f2,c3,f3]@2 ~@2 f2 ~ f2@4 ~@2 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~, ~@7 c3 ~@2 f2@2 ~@4]/2", // F F5
BK: "[eb2 ~ eb2 ~ eb2 ~ eb2 ~ [c3,f3]@2 ~@2 f2 ~ f2@4 ~@2 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2@2, ~@8 f2@4 ~@2 c3@2 ~@4 f2@5 ~@7]/2", // F5
BL: "~@2 eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2", // F5
BM: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [c3,f3]@2 ~@2 f2@2 f2@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@3 f2@4 ~@2 c3 ~]/2", // F5
BN: "~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ [eb2,f3]@2, ~ f2 ~@2", // F5 Ebsus2
BO: "ab2 ~ ab2 ~ [g2,f3]@2 g2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2", BP: "~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~, ~ f2 ~@2",
BQ: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2", // F5
BR: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ ab3@2 g2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@11]/2", // F5
BS: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [c3,f3]@2 ~@2 f2 ~ [f2,c3]@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@3 f2@4 ~@4]/2", // F5
BT: "[eb2 ~ eb2 ~ eb2 ~ eb2 ~ [c3,f3]@2 ~@2 f2 ~ f2@4 ~@2 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [c3,f3]@2 ~@2 f2@2 f2@2, ~@8 f2@4 ~@2 c3@2 ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@3 f2@4 ~@2 c3 ~]/3", // F5
BU: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ [g2,ab3]@2 g2 ~ [f2,c3,f3]@2 ~@4 f2@2, ~@4 f2@4 ~@6 ab3@5 ~@11 c3 ~]/2", // F5 Abmaj7 F5
BV: "ab2 ~ ab2 ~ g2 ~ g2 ~ [f2,f3]@4 ~@2 [f2,c3,f3]@2, ~@8 c3 ~@7", // F F5
BW: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,f3]@4 ~@2 [f2,c3]@2, ~@4 c3 ~@3", // F F5
BX: "ab2 ~ ab2 ~ g2 ~ g2 ~ [f2,c3,f3]@3 ~@3 [f2,c3]@2", // F5
BY: "[~@4 [c3,f3]@2 ~@4 ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [f2,f3]@4 ~@2 [f2,c3]@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@3 c3@2 ~@6]/2", // F5 F F5
BZ: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@4 [f2,c3]@2", // F5
CA: "[~@4 [c3,f3]@2 ~@4 ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [f2,c3,f3]@2 ~@4 c3@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@11]/2", // F5
CB: "~@2 [c3,f3] ~@5", CC: "~@8 [f2,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [f2,c3,ab3] ~, ~@2 c3 ~",
CD: "[f2,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~, c3 ~@7", // Fm Ab5
CE: "[eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [f2,c3,ab3] ~", // Ab5 Fm
CF: "[f2,ab3] ~ [f2,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~", // Fm Ab5
CG: "[eb2,ab3] ~ [eb2,ab3] ~ [eb2,g3] ~ [eb2,g3] ~ [f2,c3]@3 ~@3 [f2,c3]@2, ~@8 f3 ~@7", // Ab5 Eb F5
CH: "~@4 [f2,f3]@3 ~@3 eb2 ~ eb2 ~ eb2 ~, ~@4 c3 ~@11", // F
CI: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@4 f2@2, ~@14 c3 ~", CJ: "~@4 [f2,c3,f3]@2 ~@4 eb2 ~ eb2 ~ [eb2,ab3]@2",
CK: "eb2 ~ eb2 ~ [eb2,ab3]@2 eb2 ~ [f2,f3]@4 ~@2 [f2,c3]@2, ~@8 c3 ~@7", // Ab5 F F5
CL: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ f2@4 ~@2 f2@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@3 f3@2 ~@6, ~@24 c3 ~@5 c3 ~]/2", // F5
CM: "[eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,f3]@4 ~@2 f2@4 ~@2 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ f2@4 ~@2 f2@2, ~@8 c3@2 ~@4 c3 ~@5 f2@4 ~@6 ab3@5 ~ g2 ~@3 f3@2 ~@6, ~@40 c3 ~@5 c3 ~]/3", // F F5
CN: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [f2,c3,f3]@2 ~@6, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@11]/2", // F5
})).s("gm_electric_guitar_clean").gain(0.5)
// bass · electric bass finger · "FingrBass"
const bass = note(`<
~@5 A B A B A B A B A B A B C D E F G H E F C H E F C H E F I J I J K L M@2 N ~@3 A B A O A B A B A B A B A B A B C H
E F C H P Q C H E F C H E F I J I J L@2 M@2 N ~@3 A B A B A B A B A B A B A B A R S T U T@3 V W X@2 ~@33 Y@2 Z@2 AA@2
AB ~ AA@2 AC@40 AD AE AF@2 AG@2 AC@6 AH@2 AC@8 AI
>`.pickRestart({
A: "c2@3 ~@5", B: "c2@2 ~ g1@3 ~@2", C: "c1@5 ~@3 c1@5 ~@3", D: "eb1@6 ~@2 eb1@5 ~@3", E: "ab1@5 ~@3 ab1@5 ~@3",
F: "g1@5 ~@3 g1@5 ~@3", G: "c1@5 ~@3 c1@4 ~@4", H: "eb1@5 ~@3 eb1@4 ~@4", I: "c1@5 ~@3 eb1@5 ~@3",
J: "ab1@5 ~@3 g1@5 ~@3", K: "c1@3 ~ eb1@3 ~ ab1@2 ~@2 g1@3 ~", L: "c1@3 ~ eb1@2 ~@2 ab1@2 ~@2 g1@2 ~@2",
M: "ab1 ~ g1 ~ ab1 ~ g1 ~", N: "c1 ~@7", O: "c2@4 ~@2 g1@5 ~@5", P: "ab1 ~ ab1 ~", Q: "g1 ~ g1 ~",
R: "c2@4 ~@2 g1@7 ~@3", S: "bb1@3 ~ b1@3 ~ c1 ~ c1 ~ c1 ~ c1 ~", T: "c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~",
U: "c1 ~ c1 ~ c1 ~ c1@3 ~ c1 ~ c1 ~ c1 ~", V: "c1 ~ c1 ~ c1 ~ c1 ~ c1@2 ~@2 c1@3 ~",
W: "c1@3 ~ c1@3 ~ c1 ~ c1 ~ c1 ~ c1 ~", X: "[c1 ~ c1 ~ c1 ~ c1 ~ f2@16 ~@8]/2",
Y: "[~@8 f1@4 ~@2 f1@4 ~@8 eb1 ~ eb1 ~ eb1 ~]/2", Z: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@4 ~@14]/2",
AA: "[~@8 f1@4 ~@2 f1@4 ~@2 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2", AB: "ab1 ~ ab1 ~ g1 ~ g1 ~ f1@3 ~@3 f1@2",
AC: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@4 ~@2 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2", AD: "ab1 ~ ab1 ~ g1 ~ g1 ~ f1@5 ~ f1 ~",
AE: "f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~@3 ab1@2", AF: "[~@2 ab1 ~ g1@2 ~@2 f1@4 ~@2 f1@5 ~ f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2",
AG: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@4 ~@2 f1@5 ~ f1 ~ eb1 ~ eb1 ~]/2",
AH: "[ab1 ~ ab1 ~ [g1,ab1] ~ g1 ~ f1@2 ~@4 f1@4 ~@2 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2", // Abmaj7
AI: "ab1 ~ ab1 ~ g1 ~ g1 ~ f1@2 ~@6",
})).s("gm_electric_bass_finger").gain(0.64)
// other · string ensemble 1 · "Strings1"
const string_ensemble_1 = note("<~@113 A@8 B@7 ~@93>".pickRestart({
A: "[~ f5@2 e5@2 eb5@2 d5@2 db5@2 c5@2 b4@2 bb4]/8", B: "[~ a4@2 ab4@2 g4@2 gb4@6 ~]/7",
})).s("gm_string_ensemble_1").gain(0.4)
// drums · kick
const kick = s("bd").struct(`<
~@3 A@2 B C B C B C B C B C B C D@22 E@2 F ~ F ~ B G B G B G B G B G B G B G B G D@11 E D@10 E@2 ~@2 F ~ B C B C B C B
C B C B C B C B C H I J C K C E@2 F ~@14 L ~ M A N C E C E C E C D O P I P I P I@5 P Q P Q P I P I P I P I P I P I P I
P I P I P I P I P I P I P I P I P I P I P I P I P I P I P R P I P I P I P I P I P I P I P I P I P I J
>`.pickRestart({
A: "x!4", B: "x ~@3 x ~@2 x", C: "x ~@2 x ~ x ~@2", D: "x ~@3 x!2 ~@2", E: "x!2", F: "x", G: "x ~@2 x ~@4",
H: "x ~@3 x!2 ~ x", I: "~ x ~@2 x!2 ~ x", J: "~ x ~@2 x ~@3", K: "x!2 ~@2 x ~@3", L: "~ x", M: "~@2 x!2", N: "x!3 ~",
O: "x!2 ~@2 x!2 ~ x", P: "~ x ~@2 x ~@2 x", Q: "~@2 x ~ x!2 ~ x", R: "x ~@2 x!3 ~ x",
})).gain(0.72)
// drums · snare
const snare = s("sd").struct(`<
~@4 A B@11 C D@23 E ~@3 A B@15 C D@11 F D@11 G ~@3 A B@15 C B@8 ~@19 H B@3 I B I B@8 J I B@15 I B@7 H B@7 H B I B@3 I
B@11 K B@21 L
>`.pickRestart({
A: "~@5 x!3", B: "~ x ~ x", C: "~@2 x ~@2 x!3", D: "~@2 x!2 ~@2 x ~", E: "~@2 x!2 ~@4", F: "~@4 x ~ x ~@3 x!3 ~ x ~",
G: "~ x ~@2", H: "~ x!3 ~@2 x ~", I: "~@3 x", J: "~@2 x ~@2 x!2 ~", K: "x!8 ~@4 x ~@3", L: "~ x!2 ~",
})).gain(0.72)
// drums · low tom
const low_tom = s("lt").struct("<~@136 A ~ A ~@9 B ~@15 C ~@17 D ~@3 C ~@34>".pickRestart({
A: "~ x ~@2", B: "~ x!3 ~@4", C: "~@3 x ~@4", D: "~@2 x!2 ~@4",
})).gain(0.72)
// drums · hihat
const hihat = s("hh").struct(`<
A@3 ~@2 B C@10 ~@25 D A@2 E B C@14 F ~@24 D A G E G H D H D H D H D H D H D H D ~@28 I C J C J C J C F ~@15 K C L C L
C L C M C@7 N C N C@5 N C M C O C M C N C N C N C N C N C ~@4 I C@3 L B L B L B L B L B C@2 L B P
>`.pickRestart({
A: "x!4", B: "~ x!7", C: "x!8", D: "x ~ x ~ x ~ x!2", E: "x!3 ~", F: "x", G: "~ x!3", H: "x!7 ~", I: "~@5 x!3",
J: "x ~@3 x!4", K: "~@4 x!2 ~ x", L: "x!6 ~ x", M: "x ~@4 x!3", N: "x!4 ~ x!3", O: "x!3 ~ x!4", P: "x!2 ~@2 x ~@3",
})).gain(0.72)
// drums · mid tom
const mid_tom = s("mt").struct("<~@40 A ~@43 A ~@28 B ~@22 C ~ C ~@8 D E ~@15 F ~@17 G ~@3 F ~@34>".pickRestart({
A: "~@10 x!3 ~@3", B: "x ~ x!3 ~@11", C: "~ x ~@2", D: "~@7 x", E: "x", F: "~ x!2 ~@5", G: "~ x ~@6",
})).gain(0.64)
// drums · open hat
const open_hat = s("oh").struct(`<
~@16 A B@20 C@2 B D ~@19 E B@20 C@2 B A ~@19 A B@4 C@2 B D ~@27 F B G B G B@2 A H B@7 I ~ J ~ J ~ J ~@21 K ~@13 H B G
B D ~@3 J L J L J L J L J L ~@2 J L M
>`.pickRestart({
A: "x!5 ~@3", B: "x!8", C: "x!6 ~ x", D: "x!4 ~@4", E: "~ x ~ x!5", F: "~@4 x!4", G: "x!4 ~ x!3", H: "~@5 x!3",
I: "x!3 ~@3 x ~", J: "~@3 x", K: "~@3 x ~@4", L: "x", M: "~ x ~@2",
})).gain(0.56)
// drums · crash
const crash = s("cr").struct(`<
~@3 A ~ A ~@11 A ~@19 B@2 ~@2 A ~ A ~ A ~@14 C A ~@19 B@2 ~@2 A ~ A ~ A ~@15 A ~@3 B@2 ~@2 D ~@14 D ~ D ~ D ~ C ~@5 C
~ D ~ D ~@3 D@2 ~@14 D ~@7 D ~ D ~@5 D ~ D ~@3 D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~@18
>`.pickRestart({
A: "x", B: "~@3 x", C: "~ x ~@2", D: "~ x",
})).gain(0.56)
// drums · tambourine
const tambourine = s("tb").struct("<~@5 A@36 B ~@3 A@40 B ~@3 A@24 C ~@18 D A@7 E A@79 F>".pickRestart({
A: "x!8", B: "x", C: "x!6 ~ x", D: "~@4 x!4", E: "x!3 ~ x!4", F: "x!5 ~@3",
})).gain(0.32)
// drums · cowbell
const cowbell = s("cb").struct(`<
~@3 A B ~@38 A B ~@42 A B ~@41 C A D ~@23 E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D
E D E D ~@23
>`.pickRestart({
A: "x!4", B: "x!3 ~", C: "~@2 x!2", D: "x", E: "~@7 x",
})).gain(0.64)
// drums · ht
const ht = s("ht").struct("<~@40 [~@7 x] ~@43 [~@4 x ~@2 x] ~@28 [~@3 x ~@4] ~@107>").gain(0.64)
stack(
electric_guitar_clean, bass, string_ensemble_1, kick, snare, low_tom, hihat, mid_tom, open_hat, crash, tambourine,
cowbell, ht
)
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.