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: edit a riff to change every repeat.
// other · electric guitar clean · "GtrClean"
const electric_guitar_clean = note(`<
~ A B A C D E F G H E A E I G A J K L M N K L M N K L M O P L Q R S T S T U@3 V A G A E F E W E W E W E W E I G I G I
G X L M N K L M N K L M O P L Y@2 S T S T U@3 V A G Z G W E A E A E A E A E A E A E AA AB AC AD AE AF AG@2 AH AI AJ AK
AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ@2 BA@2 BB BC BD BE BF BC BG BH BI BJ BK BL BM BJ BK BN BO BP BO BQ@2 BR@2
BS@2 BT@2 BU BV@2 BW BX BY BZ CA@2 BY BZ CB@2 BY CC CD@2 BY BZ CE@2 CF CG CH CI BY CJ CK@2 CL CM CF CM BY CN CO@2 CP
CQ CR CS CT CU CV CW CX CY CZ@2 CH DA@3 CF DB DC@2 DD@2 DE@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: "c2@3 ~ d2@3 ~ eb2@2 ~@2 d2 ~ c2 ~", E: "ab2 ~ f2 ~ ab2 ~ g2@6 ~@2 g2 ~", F: "c2@2 ~@2 d2@3 ~ eb2@3 ~ d2 ~ c2 ~",
G: "ab2 ~ f2 ~ ab2 ~ g2@7 ~ g2 ~", H: "c2@3 ~ d2@2 ~@2 eb2@2 ~@2 d2 ~ c2 ~", I: "c2@3 ~ d2@2 ~@2 eb2@3 ~ d2 ~ c2 ~",
J: "ab2 ~ f2 ~ ab2 ~ g2@6 ~@4", K: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
L: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", M: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~",
N: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~", O: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~, ~@2 f3 ab3",
P: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~, g3@5 ~@3", Q: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ g2@2",
R: "~@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~", S: "c2 ~ c2 ~ c2 ~ c2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~",
T: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ g2 ~ g2 ~ g2 ~ g2 ~", U: "c2 ~ c2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g2 ~ g2 ~",
V: "ab2 ~ ab2 ~ g2 ~ g2 ~ ab2 ~ ab2 ~ g2 ~ g2 ~", W: "c2@2 ~@2 d2@2 ~@2 eb2@3 ~ d2 ~ c2 ~",
X: "c2@3 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
Y: "[ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ g2@4 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~]/2",
Z: "c2@3 ~ d2@2 ~@2 eb2@3 ~ d2@2 c2 ~", AA: "c2@3 ~ d2@3 ~ eb2@3 ~ d2@2 c2 ~", AB: "ab2 ~ f2 ~ ab2 ~ g2@7 ~@3",
AC: "bb2@3 ~ b2@3 ~ c3 ~ c3 ~ c3 ~ c3 ~", AD: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~",
AE: "c3 ~ c3 ~ c3 ~ c3 ~ c2 ~ c2 ~ c2 ~ c2 ~", AF: "c2@3 ~ c2 ~ c2@3 ~ c2 ~ c2@3 ~",
AG: "c2 ~ c2 ~ c2 ~ c2 ~ c3 ~ c3 ~ c3 ~ c3 ~", AH: "c2 ~ c2 ~ c2 ~ c2 ~ c3 ~@3 c2 ~@3",
AI: "c3 ~@3 c2 ~@3 c3 ~ c2 ~ c2 ~ c2 ~", AJ: "c2 ~ c2 ~ c2 ~ c2 ~ f4 ~ f4 ~ f4 ~ f4 ~",
AK: "f4 ~ f4 ~ f4 ~ f4 ~ e4 ~ e4 ~ e4 ~ e4 ~", AL: "e4 ~ e4 ~ e4 ~ e4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~",
AM: "eb4 ~ eb4 ~ eb4 ~ eb4 ~ d4 ~ d4 ~ d4 ~ d4 ~", AN: "d4 ~ d4 ~ d4 ~ d4 ~ db4 ~ db4 ~ db4 ~ db4 ~",
AO: "db4 ~ db4 ~ db4 ~ db4 ~ c4 ~ c4 ~ c4 ~ c4 ~", AP: "c4 ~ c4 ~ c4 ~ c4 ~ b3 ~ b3 ~ b3 ~ b3 ~",
AQ: "b3 ~ b3 ~ b3 ~ b3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~", AR: "bb3 ~ bb3 ~ bb3 ~ bb3 ~ a3 ~ a3 ~ a3 ~ a3 ~",
AS: "a3 ~ a3 ~ a3 ~ a3 ~ ab3 ~ ab3 ~ ab3 ~ ab3 ~", AT: "ab3 ~ ab3 ~ ab3 ~ ab3 ~ g3 ~ g3 ~ g3 ~ g3 ~",
AU: "g3 ~ g3 ~ g3 ~ g3 ~ gb3 ~ gb3 ~ gb3 ~ gb3 ~", AV: "gb3 ~ gb3 ~ gb3 ~ gb3@2 f3 ~ gb3 ~ gb3 ~ gb3 ~",
AW: "gb3 ~ gb3 ~ gb3 ~ gb3@2 f3 ~ gb3 ~ gb3 ~ gb3@2", AX: "f3 ~ gb3 ~ gb3 ~ gb3@2 f3 ~ gb3@2 f3 ~ gb3@2",
AY: "f3 ~ gb3@2 f3 ~ gb3 ~ c2@3 ~ d2@3 ~", AZ: "[eb2@3 ~ d2 ~ c2 ~ ab2 ~ f2 ~ ab2 ~ g2@7 ~ g2 ~ c2@3 ~ d2@3 ~]/2",
BA: "[eb2@3 ~ d2 ~ c2 ~ ab2 ~ f2 ~ ab2 ~ g2@6 ~@2 g2 ~ [f2,c3]@3 ~ [ab2,eb3]@3 ~]/2", // F5 Ab5
BB: "[bb2,f3]@3 ~@3 [bb2,f3]@2 ~@2 [ab2,eb3]@3 ~ [ab2,eb3] ~", // Bb5 Ab5
BC: "[c3,f3]@2 ~@2 f3@2 ~@2 [f2,c3]@3 ~ [ab2,eb3]@2 ~@2", // F5 Ab5
BD: "[bb2,f3]@2 ~@4 [ab2,eb3]@3 ~ [ab2,eb3]@2 ~@2 [ab2,eb3] ~", BE: "f3@2 ~@6 [f2,c3]@3 ~ [ab2,eb3]@2 ~@2",
BF: "[bb2,f3]@4 ~@2 [bb2,f3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~", // Bb5 Ab5
BG: "[bb2,f3]@2 ~@4 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~", // Bb5 Ab5
BH: "f3@3 ~@3 [f2,c3]@2 ~@2 [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // F5
BI: "[f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ eb2 ~ eb2 ~ eb2 ~", // F5
BJ: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3]@2", // F5
BK: "~@2 [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ eb2 ~ eb2 ~ eb2 ~", // F5
BL: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3]@3 ~ [f2,c3]@3 ~", BM: "[f2,c3]@3 ~ [f2,c3]@3 ~ [f2,c3] ~ eb2 ~ eb2 ~ eb2 ~",
BN: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~, ~@7 c3", // Fm
BO: "[f2,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~", // Fm Ab5
BP: "[ab2,ab3] ~ [ab2,ab3] ~ [g2,ab3] ~ [g2,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~, ~@7 c3", // Ab Abmaj7 Fm
BQ: "[[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
BR: "[eb2 ~ eb2 ~ f3@2 eb2 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ [f2,f3]@5 ~ eb2@2 ~@2 f2 ~, ~@4 eb2 ~@3 [f2,f3]@5 ~ [f2,f3]@4 ~@2 c3 ~@11]/2", // F
BS: "[eb2 ~ eb2 ~ [f2,f3]@2 ~@2 [f2,c3,f3]@2 ~@2 f2 ~ f2@4 ~@2 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~, ~@14 c3@2 ~@4 f2@5 ~@7]/2", // F F5
BT: "[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
BU: "~@2 eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2", // F5
BV: "[~@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@6 g2 ~@3 f2@4 ~@2 c3 ~]/2", // F5
BW: "~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ [eb2,f3]@2, ~ f2 ~@2", // F5 Ebsus2
BX: "ab2 ~ ab2 ~ [g2,f3]@2 g2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2", BY: "~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~, ~ f2 ~@2",
BZ: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2", // F5
CA: "[~@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
CB: "[~@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
CC: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [c3,f3]@2 ~@2 f2 ~ [f2,c3]@2, ~@2 f2 ~", // F5
CD: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [f2,c3,f3]@2 ~@2 f2 ~ [f2,c3]@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@11]/2", // F5
CE: "[~@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
CF: "~@4 [f2,f3]@3 ~@3 eb2 ~ eb2 ~ eb2 ~, ~@4 c3 ~@11", // F
CG: "ab2 ~ ab2 ~ g2 ~ g2 ~ [f2,f3]@4 ~@2 [f2,c3,f3]@2, ~@8 c3 ~@7", // F F5
CH: "~@4 f2@4 ~@2 eb2 ~ eb2 ~ eb2 ~, ~@2 f3 ~@5, ~@4 c3 ~@11",
CI: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,f3]@4 ~@2 [f2,c3]@2, ~@4 c3 ~@3", // F F5
CJ: "ab2 ~ ab2 ~ g2 ~ g2 ~ [f2,c3,f3]@3 ~@3 [f2,c3]@2", // F5
CK: "[~@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
CL: "~@4 [f2,f3]@4 ~@2 eb2 ~ eb2 ~ eb2 ~, ~@2 c3 ~@5", CM: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@4 [f2,c3]@2",
CN: "ab2 ~ ab2 ~ g2 ~ g2 ~ [f2,c3]@4 ~@2 [f2,c3]@2, ~@4 f3 ~@3", // F5
CO: "[~@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
CP: "~@2 [c3,f3] ~@5", CQ: "~@8 [f2,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [f2,c3,ab3] ~, ~@2 c3 ~",
CR: "[f2,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~, c3 ~@7", // Fm Ab5
CS: "[eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ [f2,c3,ab3] ~", // Ab5 Fm
CT: "[f2,ab3] ~ [f2,ab3] ~ [f2,c3,ab3] ~ [f2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~ [eb2,ab3] ~", // Fm Ab5
CU: "[eb2,ab3] ~ [eb2,ab3] ~ [eb2,g3] ~ [eb2,g3] ~ [f2,c3]@3 ~@3 [f2,c3]@2, ~@8 f3 ~@7", // Ab5 Eb F5
CV: "~@4 [f2,c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~", CW: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,c3,f3]@2 ~@4 f2@2, ~@14 c3 ~",
CX: "~@4 [f2,c3,f3]@2 ~@4 eb2 ~ eb2 ~ [eb2,ab3]@2", // F5 Ab5
CY: "eb2 ~ eb2 ~ [eb2,ab3]@2 eb2 ~ [f2,f3]@4 ~@2 [f2,c3]@2, ~@8 c3 ~@7", // Ab5 F F5
CZ: "[~@4 [c3,f3]@2 ~@4 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [f2,f3]@3 ~@3 f2@2, ~@4 f2@4 ~@6 ab3@5 ~ g2 ~@3 c3 ~@5 c3 ~]/2", // F5 F
DA: "[eb2 ~ eb2 ~ eb2 ~ eb2 ~ [f2,f3]@4 ~@2 f2@4 ~@2 f2@4 ~@2 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ f2@4 ~@2 f2@2, ~@8 c3@2 ~@4 c3 ~@5 f3@2 ~@8 ab3@5 ~@5 f3@2 ~@6, ~@20 c3 ~@15 g2 ~@3 c3 ~@5 c3 ~]/3", // F
DB: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ f2@4 ~@2 f2@2, ~@4 f3 ~@3, ~@8 c3 ~@5 c3 ~",
DC: "[~@4 f2@4 ~@2 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ f2@4 ~@2 f2@2, ~@4 f3@2 ~@8 ab3@5 ~@5 f3@2 ~@6, ~@4 c3 ~@15 g2 ~@3 c3 ~@5 c3 ~]/2",
DD: "[~@4 f2@4 ~@2 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [f2,f3]@3 ~@3 f2@2, ~@4 f3@2 ~@8 ab3@5 ~@13, ~@4 c3 ~@15 g2 ~@3 c3 ~@5 c3 ~]/2", // F
DE: "[~@4 f2@4 ~@2 eb2 ~ eb2 ~ eb2 ~ ab2 ~ ab2 ~ g3@2 g2 ~ [f2,c3,f3]@2 ~@6, ~@4 f3@2 ~@8 ab3@5 ~@13, ~@4 c3 ~@15 g2 ~@11]/2", // F5
})).s("gm_electric_guitar_clean").gain(0.5)
// bass · electric bass finger · "FingrBass"
const bass = note(`<
~@5 A B A C A C A B A B D B E F G H I J K H E F K H E J K H L M L N O P Q R S ~@3 A C A T D C A C D T U C D T A T V J
W X E Y Z X AA Y W AB AC AD K H AE N L N AF@2 AG@2 S ~@3 U AH U C U C A AI A T A AI A T A B AJ AK AL AK@3 AM AN AO@2
~@33 AP@2 AQ@2 AR@2 AS ~ AT@2 AU@2 AV AW AX@8 AY@2 AX@6 AZ@2 AX@8 AZ@2 BA@2 AX@2 AY@2 AX@2 BB BC BD@2 BE@2 BF@2 AY@4
BG@2 AX@8 BH
>`.pickRestart({
A: "c2@3 ~@5", B: "c2@4 ~@2 g1@7 ~@3", C: "c2@2 ~ g1@3 ~@2", D: "c2@7 ~@9", E: "c1@5 ~@3 c1@5 ~@3",
F: "eb1@6 ~@2 eb1@5 ~@3", G: "ab1@5 ~@3 ab1@6 ~@2", H: "g1@5 ~@3 g1@5 ~@3", I: "c1@5 ~@3 c1@4 ~@4",
J: "eb1@5 ~@3 eb1@4 ~@4", K: "ab1@5 ~@3 ab1@5 ~@3", L: "c1@5 ~@3 eb1@5 ~@3", M: "ab1@6 ~@2 g1@5 ~@3",
N: "ab1@5 ~@3 g1@5 ~@3", O: "c1@3 ~ eb1@3 ~ ab1@2 ~@2 g1@3 ~", P: "c1@2 ~@2 eb1@3 ~ ab1@3 ~ g1@3 ~",
Q: "ab1@2 ~@2 g1@3 ~ ab1@3 ~ g1@3 ~", R: "ab1@3 ~ g1@3 ~ ab1@3 ~ g1@2 ~@2", S: "c1 ~@7", T: "c2@4 ~@2 g1@5 ~@5",
U: "c2@5 ~@11", V: "c1@3 ~ c1@3 ~", W: "ab1@4 ~@4 ab1@5 ~@3", X: "g1 ~ g1 ~", Y: "eb1 ~ eb1 ~", Z: "ab1 ~ ab1 ~",
AA: "c1@4 ~@4 c1@5 ~@3", AB: "g1@5 ~@3 g1@4 ~@4", AC: "c1@5 ~@3 c1@6 ~@2", AD: "eb1@5 ~@3 eb1@5 ~@3",
AE: "c1@3 ~ eb1@3 ~", AF: "c1@3 ~ eb1@2 ~@2 ab1@2 ~@2 g1@2 ~@2", AG: "ab1 ~ g1 ~ ab1 ~ g1 ~", AH: "c2@3 ~@3 g1@6 ~@4",
AI: "c2@3 ~@3 g1@5 ~@5", AJ: "bb1@3 ~ b1@3 ~ c1 ~ c1 ~ c1 ~ c1 ~", AK: "c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~",
AL: "c1 ~ c1 ~ c1 ~ c1@3 ~ c1 ~ c1 ~ c1 ~", AM: "c1 ~ c1 ~ c1 ~ c1 ~ c1@2 ~@2 c1@3 ~",
AN: "c1@3 ~ c1@3 ~ c1 ~ c1 ~ c1 ~ c1 ~", AO: "[c1 ~ c1 ~ c1 ~ c1 ~ f2@16 ~@8]/2",
AP: "[~@8 f1@4 ~@2 f1@4 ~@8 eb1 ~ eb1 ~ eb1 ~]/2", AQ: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@4 ~@14]/2",
AR: "[~@8 f1@3 ~@3 f1@4 ~@2 f1@3 ~@3 eb1 ~ eb1 ~ eb1 ~]/2", AS: "ab1 ~ ab1 ~ g1 ~ g1 ~ f1@3 ~@3 f1@2",
AT: "[~@8 f1@4 ~@2 f1@4 ~@2 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2",
AU: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@3 ~@3 f1@4 ~@2 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2",
AV: "ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@2", AW: "~@4 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~",
AX: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@4 ~@2 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2",
AY: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@5 ~ f1@4 ~@2 f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2",
AZ: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@5 ~ f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2",
BA: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@4 ~@2 f1@5 ~ eb1 ~ eb1 ~ eb1 ~]/2", BB: "ab1 ~ ab1 ~ g1 ~ g1 ~ f1@5 ~ f1 ~",
BC: "f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~@3 ab1@2", BD: "[~@2 ab1 ~ g1@2 ~@2 f1@4 ~@2 f1@5 ~ f1@4 ~@2 eb1 ~ eb1 ~ eb1 ~]/2",
BE: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@4 ~@2 f1@5 ~ f1@5 ~ f1 ~ eb1 ~ eb1 ~]/2",
BF: "[ab1 ~ ab1 ~ g1 ~ g1 ~ f1@5 ~ f1@4 ~@2 f1@5 ~ eb1 ~ eb1 ~ eb1 ~]/2",
BG: "[ab1 ~ ab1 ~ [g1,ab1] ~ g1 ~ f1@2 ~@4 f1@4 ~@2 f1@5 ~ eb1 ~ eb1 ~ eb1 ~]/2", // Abmaj7
BH: "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(`<
// … 13 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.