0:00/0:00
// Atomic — Blondie
// 129 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 140 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(129/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.
// chords · synth strings 2
const synth_strings_2 = note(`<
~ A@6 B@5 C@5 D@2 E@6 F@8 G@4 H@6 I@5 J@6 K@6 C@5 L@3 M@8 N@7 O@5 P@6 Q@3 R S@7 R T@2 U@4 V@4 W@8 X Y Z@6 AA@8
>`.pickRestart({
A: "[a3@64 bb3@62 ~ [g3,b3,d4]@63 ~ g3, [d4,f4]@126 ~ c4 ~@64]/6", // G Dm
B: "[c4@31 db4@29 ~@4 f4@63 ~ f4@32, e4@61 ~@2 d4@62 ~@35, d4 ~@30 a3@95 ~ [bb3,d4]@33]/5", // Bb
C: "[~@31 [g3,b3,d4]@63 ~ [g3,c4,e4]@31 ~ [a3,e4]@32 [d4,gb4], ~@127 db4@30 ~@3]/5", D: "[[a3,d4,gb4]@63 [bb3,b3]]/2",
E: "[a3 ~ b3@60 ~ [g3,c4]@63 ~ [a3,db4]@64 d4, [e4,g4]@61 ~@2 e4@126 ~@3]/6", // C5 A Em
F: "[[a3,d4,gb4]@62 ~ [bb3,b3] a3 ~ b3@60 ~ [g3,c4]@63 ~ [a3,db4]@64 [d4,gb4], ~@63 g4@60 ~@133, ~@64 e4@61 ~@2 e4@126 ~@3]/8", // D Bmaj7 C5 A D
G: "[[a3,d4,gb4]@62 ~ [a3,bb3,b3] ~ b3@60 ~@2 [g3,c4,e4], ~@63 g4@60 ~@5, ~@64 e4@61 ~@3]/4", // D C
H: "[[g3,c4]@63 a3@62 ~@2 [a3,c4]@65, e4@126 ~ f4@62 ~@3, ~@63 db4@59 ~@70]/6", // C5 Am
I: "[[g3,e4]@61 ~@3 f4@60 ~@3 [g3,b3]@33, ~@63 [a3,d4]@62 ~ d4@34]/5", // C G D5
J: "[~@96 bb3@62 ~ [g3,b3,d4]@33, ~@31 f4@126 ~@35, ~@31 a3@64 ~@97, ~@32 d4@126 ~ c4 ~@32]/6", // G
K: "[~@31 [g3,c4]@32 db4@29 ~@3 [d4,f4]@63 ~ [bb3,d4,f4]@33, ~@31 e4@61 ~@100, ~@31 d4 ~@31 a3@95 ~@34]/6", // C5 Dm Bb
L: "[[a3,d4,gb4]@63 [a3,bb3,b3] ~ b3@31, ~@21 [e4,g4]@11]/3", // D Em
M: "[~@31 [g3,c4]@63 ~ [a3,db4]@64 [a3,d4,gb4]@62 ~@2 [a3,bb3,b3] ~ b3@31, ~@31 e4@126 ~@66 [e4,g4]@33]/8", // C5 A D Em
N: "[~@31 [g3,c4]@63 ~ a3@62 ~@2 c4@65, ~@31 e4@126 ~@2 f4@62 ~@3, ~@95 db4@59 ~@4 a3@63 ~@3]/7", // C5
O: "[[g3,e4]@61 ~@2 [d4,f4]@60 ~@4 b3@33, ~@31 a3@31 ~ [g3,d4]@17]/5", // C Dm G5
P: "[~@31 a3@64 bb3@62 ~ c4 [g3,b3]@33, ~@31 [d4,f4]@126 ~ d4@34]/6", // G Dm
Q: "[~@31 [g3,c4]@31 a3 a3@32 [a3,db4,d4,f4], ~@31 e4@62 ~@3, ~@31 d4 ~@31 db4@29 ~@4, ~@63 b3 ~@32]/3", R: "[d4,f4]",
S: "[~@31 [d4,f4]@59 ~@4 c4 g3@2 g3@61 [c4,e4] [g3,c4,e4]@31 a3 [db4,e4]@30 ~@2 [d4,f4], ~@31 bb3@62 ~ d4@62 ~@3 d4 ~@64, ~@95 b3@62 ~@34 a3@32 ~, ~@95 gb3 ~@128]/7", // Dm C Dbm Dm
T: "[~ d4, ~@31 [bb3,f4]@33]/2", // Bb5
U: "[~@30 [c4,d4] b3@2 b3@60 ~@2 [g3,c4,e4]@31 a3 [a3,db4,e4], ~@31 [g3,d4]@63 ~@34, ~@31 db4 ~@63 d4 ~@32]/4", // Csus2 C A G5
V: "[~@30 d4 f4 ~@63 [bb3,d4]@32 [bb3,d4,f4], ~@31 [a3,d4]@62 ~@35, ~@32 f4@95 ~]/4", // Bb D5
W: "[~@30 [c4,d4] b3 b3@62 ~ [g3,c4]@31 a3 db4@29 ~@2 d4 [d4,f4]@63 bb3 [bb3,d4,f4]@32 [bb3,d4,f4], ~@31 [g3,d4]@63 ~ e4@62 ~@99, ~@95 d4 ~@31 a3@94 ~@35]/8", // Csus2 C5 Dm Bb G5
X: "~@30 [g3,b3,c4,d4] d4", Y: "[g3,b3]",
Z: "[~@30 e4 c4@31 a3 db4@29 ~@2 d4 d4@63 ~ [bb3,d4]@33, ~@30 g3@32 ~ a3@95 ~@34, ~@31 e4@61 ~@3 f4@97, ~@31 d4 ~@160]/6", // Bb
AA: "[~@30 [g3,b3,d4]@64 e4 c4@30 ~ [a3,db4] db4@29 ~@2 d4 [d4,f4]@82 ~@15, ~@30 c4 ~@63 g3@32 ~ a3@114 ~@15, ~@95 e4@62 ~@99, ~@95 d4 ~@160]/8", // G A Dm
})).s("gm_synth_strings_2").gain(0.51)
// bass · electric bass finger
const bass = note(`<
~ A@2 B@2 C D E F G H I J C@2 E F K L M N E@2 O P K L Q N E@2 O R K L S T U E V W X Y Z AA@2 AB AC AD AE AF AG AH AI
AJ AK AL AM AN AO@4 AP AQ AR AS AT@4 AU AV AR AS AW@4 AX@3 AY AZ BA@3 BB@2 BC BD@3 BE@4 BC BF@3 BG@4 BH@4 BI@7 BJ@8
BK@8 BL@6 ~@2
>`.pickRestart({
A: "d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2",
B: "bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2",
C: "g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2",
D: "g1@4 g2 g2@2 ~ g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2",
E: "c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2",
F: "a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2",
G: "d2@4 d3@4 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2",
H: "d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 d3@2 ~ d2@4 d3 ~ d3@2",
I: "bb1@4 bb2 ~ bb2@2 bb1@3 ~ bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2",
J: "bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~@2 bb1@4 ~ bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2, ~@7 bb2 ~@8",
K: "d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~",
L: "d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~",
M: "e2@4 e3@2 ~ g2@5 g3@2 g3@2 b2@4 b3@3 d2@5 d3@4, ~@3 e3 ~@12",
N: "e2@4 e3@2 ~ g2@5 g3@2 g3@2 b2@4 b3@4 d2@4 d3@4, ~@3 e3 ~@12",
O: "a1@4 a2 ~ a2@2 a1@4 a2 ~ a2 a1@5 a2 ~ a2@2 a1@4 a2 ~ a2@2", P: "a1@4 a2@4 b1@4 b2@3 c2@5 c3@4 db2@4 db3@4",
Q: "e2@4 e3 e3@2 g2@5 g3@2 g3@2 b2@4 b3@3 d2@5 d3@4", R: "a1@4 a2@3 b1@5 b2@3 c2@4 c3@4 ~ db2@4 db3@4",
S: "e2@4 e3 e3@2 g2@5 g3@2 ~ b2@4 b3@4 d2@5 d3@4, ~@7 g3 ~@8",
T: "e2@4 e3@2 ~ g2@5 g3@2 g3@2 b2@4 b3@4 ~@3 d3@4 ~, ~@6 e3@2 ~@16 d2@5 ~@3",
U: "c2@4 c3 c3@2 ~ c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2",
V: "~@3 a2 ~ a2@2 ~ a1@4 a2 ~ a2 a1@5 a2 ~ a2@2 a1@4 a2 ~ a2@2, a1@5 ~@27",
W: "a2@4 a3@3 b1@5 c3@3 c2@4 c3@4 ~ e2@4 e3@4", X: "f2@4 f3 ~ f3 ~ f2@4 f3 f3@2 ~ f2@4 f3 ~ f3@2 f2@4 f3 ~ f3@2",
Y: "f2@4 f3 ~ f3 ~ f2@4 f3 ~ f3@2 f2@4 f3 ~ f3@2 f2@4 f3 ~ f3@2",
Z: "c2@4 c3 ~ c3@2 c2@4 c3 c3@2 ~ c2@4 c3 c3@2 ~ c2@4 c3 ~ c3 ~",
AA: "[c2@4 c3 ~ c3 ~ c2@4 c3 c3@2 ~ c2@4 c3 c3@2 ~ c2@4 c3 ~ c3 d2@5 d3 ~ d3@2 d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 d2]/2",
AB: "d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2",
AC: "g1@4 g2 ~@2 g1@5 g2 ~ g2@2 g1@4 g2 ~ g2 ~ g1@4 g2 ~ g2 ~, gb1 ~@5 g2@2 ~@24", AD: "g1 ~@31",
AE: "d2@4 d3 ~ d3@2 d2@3 d3 ~ d3@2 ~ d2@4 d3 d3@2 ~ d2@4 d3 ~ d3@2",
AF: "d2@4 d3 d3@2 ~ d2@4 d3 d3@2 ~ d2@4 d3 d3@2 ~ d2@3 d3 ~ d3@2 ~",
AG: "bb1@4 bb2 bb2@2 ~ bb1@4 bb2 ~ bb2@2 bb1@4 bb2 bb2@2 ~ bb1@4 bb2 bb2@2 ~",
AH: "bb1@4 bb2 bb2@2 ~ bb1@4 bb2 bb2@2 bb1@4 ~ bb2 bb2@2 ~ bb1@3 bb2 ~ bb2@3",
AI: "g1@4 g2 ~ g2@2 g1@4 g2 g2@2 ~ g1@4 g2 g2@2 ~ g1@4 g2 ~ g2@2",
AJ: "g1@3 g2 ~ g2@2 ~ g1@3 g2 ~ g2@2 g1@4 g2 ~ g2@2 ~ g1@3 g2 ~ g2@2 ~",
AK: "c2@4 c3 c3@2 c2@4 c3 ~ c3@2 ~ c2@3 c3 ~ c3@2 ~ c2@4 c3 c3@2 ~",
AL: "a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 a2@2 ~ a1@3 a2 ~ a2@2 ~",
AM: "d2@4 d3@4 d2@3 ~ d3 ~ d3@2 d2@4 d3 d3@2 ~ d2@4 d3 ~ d3@2",
AN: "d2@3 d3 ~ d3@2 d2@4 d3 ~@3 d2@4 d3 ~ d3@2 d2@4 d3 ~@2 d3@2, ~@7 d3 ~@8",
AO: "[bb1@3 bb2 ~@2 bb2@2 bb1@3 ~ bb2 bb2@2 bb1@4 ~ bb2 bb2@2 ~ bb1@4 bb2 bb2@2 bb1@4 ~ bb2 bb2@2 bb1@4 ~ bb2 bb2@2 bb1@4 ~ bb2 ~@2 bb1@4 ~ bb2 ~@2 g1@4 g2 ~ g2@2 ~ g1@4 g2 ~@2 g1@4 g2 ~@3 g1@4 g2 ~ g2@2 g1@5 g2 g2@2 ~ g1@3 g2 ~ g2@2 g1@4 ~ g2 g2@2 ~ g1@4 g2 ~ g2@2, ~@27 bb2 ~@3 bb2 ~@7 g2 ~@3 g2 ~@20]/4",
AP: "c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@3 c3 ~@2 c3@2 c2@4 c3 ~ c3@2",
AQ: "a1@4 a2 ~ a2@2 a1@4 a2 ~@2 a1@5 a2 ~@2 a1@4 a2 ~@2 a2@2, ~@7 a2 ~@3 a2 ~@4",
AR: "d2@3 d3 ~ d3@2 ~ d2@3 d3 ~@2 d3@2 d2@4 d3 ~ d3 d2@4 d3 ~ d3 ~ d2",
AS: "d2@4 d3!2 ~ d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~ d2@4 d3 ~ d3 ~@2",
AT: "[~@3 e3@2 e3@2 g2@4 g3@2 g3@2 b2@4 b3@4 d2@4 d3@4 e2@5 e3 e3@2 g2@5 g3@2 g3@2 ~@3 b3@4 d2@4 d3@4 c2@5 c3 c3@2 ~ c2@4 c3 c3@2 c2@5 c3 c3@2 c2@4 c3 ~ c3@2 c2@5 c3 c3@2 ~ c2@4 c3 c3@2 c2@4 c3 ~ c3@2 c2@5 c3 c3@2 ~, e2@5 ~@43 b2@5 ~@75]/4",
AU: "~@3 a2 ~ a2@2 a1@4 a2 ~ a2 ~ a1@5 a2 a2@2 a1@4 a2 ~ a2@2 ~, a1@5 ~@27",
AV: "~@3 a2@4 b1@5 b2@3 c2@4 c3@4 db2@4 db3@4 ~, a1@5 ~@27",
AW: "[~@3 e3@2 e3@2 g2@4 g3@2 g3@2 b2@4 b3@4 d2@4 d3@4 e2@5 e3 e3@2 g2@5 g3@2 g3@2 ~@3 b3@4 d2@4 d3@4 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@5 c3 c3@2 c2@4 c3 ~ c3@2 c2@5 c3 c3@2 ~ c2@4 c3 c3@2 c2@4 c3 ~ c3@2 c2@5 c3 c3@2 ~, e2@5 ~@43 b2@5 ~@75]/4",
AX: "[~@3 a2 ~ a2@2 a1@4 a2 ~ a2 ~ a1@5 a2 a2@2 a1@4 a2 ~ a2@2 a2@4 a3@4 b1@5 b2@3 c2@4 c3@4 e2@4 e3@4 f2@4 f3 ~ f3 ~@2 f2@4 f3 f3@2 f2@4 f3 ~ f3@2 ~ f2@4 f3 f3@2 ~, a1@5 ~@91]/3",
AY: "f2@4 f3!2 ~@2 f2@3 f3 ~ f3@2 ~ f2@4 f3 f3@2 ~ f2@4 f3 ~ f3@2",
AZ: "c2@4 c3 c3@2 ~ c2@3 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 ~ c3!2 ~@2",
BA: "[c2@4 c3!2 ~ c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@5 c3 ~ c3 d2@4 d3 ~@2 d3@2 d2@4 d3 ~ d3 ~ d2@3 d3 ~ d3 ~ d2@4 d3 ~@2 d3 d2@4 ~ d3 ~ d3 d2@4 d3 ~ d3 ~@2 d2@4 d3 ~ d3@2 d2@4 d3 ~@2 gb1, ~@47 d3]/3",
BB: "[g1@3 g2 ~ g2@2 g1@5 g2 ~@2 g1@5 g2 ~ g2 ~@4 g2 ~@2 g2 g1@2 ~@31, ~@14 g2@2 ~@8 g1@5 ~@35]/2",
BC: "d2@3 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 ~ d3 d3@2 ~",
BD: "[d2@3 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 bb1@4 bb2 ~ bb2@2 ~ bb1@4 bb2 bb2@2 ~ bb1@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 ~ bb1@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@3]/3",
BE: "[g1@4 g2 ~ g2@2 g1@3 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 a1@4 a2 ~ a2@2 a1@4 ~ a2 a2@2 ~ a1@3 a2 ~ a2@2 a1@4 a2 ~ a2@2 ~]/4",
BF: "[d2@3 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 bb1@4 bb2 ~ bb2@2 ~ bb1@4 bb2 bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 ~ bb1@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@3]/3",
BG: "[g1@4 g2 g2@2 ~ g1@3 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 ~ a1@3 a2 ~ a2@2 a1@4 a2 ~ a2@2 ~]/4",
BH: "[d2@3 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 bb1@4 bb2 ~ bb2@2 ~ bb1@4 bb2 bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 ~ bb1@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@3]/4",
BI: "[g1@4 g2 g2@2 ~ g1@3 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 bb1@4 bb2 ~ bb2@2 ~ bb1@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1]/7",
BJ: "[~@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 g1@5 g2 g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1]/8",
BK: "[~@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 ~ d2@3 d3 ~ d3@2 d2@4 d3 ~ d3@2 d2@4 d3 ~ d3@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1]/8",
BL: "[~@3 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 bb1@4 bb2 ~ bb2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 g2@2 ~ g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 g1@4 g2 ~ g2@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 c2@4 c3 ~ c3@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 a1@4 a2 ~ a2@2 d2@4 ~@29]/6",
})).s("gm_electric_bass_finger").gain(0.51)
// other · lead 8 bass lead
const lead_8_bass_lead = note(`<
A B@6 C D B@6 C E ~@31 F B@2 G@2 B@2 C H I@2 J@4 C E ~@23 K L@8 M@8 ~@15 N@16 O@3 ~
>`.pickRestart({
A: "~@12 a3@4 f4@4 e4@11 ~", B: "[d4@11 a3 f4 e4@3]/2", C: "g4", D: "a4@3 a3 f4 e4@3", E: "a4",
F: "~@15 f4@5 e4@11 ~, ~@12 a3@5 ~@15", G: "[d4@43 a3@5 f4@4 e4@12]/2", H: "a4@12 ~@3 f4@4 ~ e4@12, ~@6 a3@3 ~@7",
I: "[d4@43 a3@4 f4@4 e4@12 ~]/2", J: "[d4@43 a3@4 f4@4 ~ e4@11 d4@44 a3@5 f4@4 e4@12]/4", K: "~@11 a3@4 f4@5 e4@11 ~",
L: "[d4@43 a3@4 f4@4 ~ e4@11 d4@44 a3@4 f4@4 e4@12 d4@44 a3@4 f4@4 ~ e4@11 g4@32 a4@12 a3@4 f4@4 e4@12 ~]/8",
M: "[d4@43 a3@4 f4@4 ~ e4@11 d4@44 a3@4 f4@4 e4@12 d4@44 a3@4 f4@4 e4@12 g4@32 a4@12 a3@4 f4@4 e4@12 ~]/8",
N: "[~@11 a3@4 f4@4 e4@12 d4@44 a3@4 f4@4 ~ e4@11 d4@44 a3@4 f4@4 e4@12 d4@44 a3@4 f4@4 e4@12 g4@32 a4]/8",
O: "[~@11 a3@4 f4@4 e4@12 d4@44 ~@21]/3",
})).s("gm_lead_8_bass_lead").gain(0.51)
// chords · lead 2 sawtooth
const lead_2_sawtooth = note("<~@16 A@3 B@8 C@8 D E@7 F@6 ~@15 G@4 H@8 I@8 ~ J@4 ~@51>".pickRestart({
A: "[~@32 gb4@62 ~ a3, ~@31 [a3,d4]@62 ~@3]/3", // D5
B: "[~@2 [b3,e4]@59 ~@2 gb4 ~@64 db4@61 ~@3 d4@62 ~ a3, ~ g4@59 ~@3 [g3,c4]@64 a3@126 ~@3, ~@33 e4@62 ~@33]/8", // E5 C5
C: "[~@2 [b3,e4]@59 ~@2 gb4 ~@64 db4@61 ~@3 [d4,gb4]@62 ~ b3, ~ g4@59 ~@3 [g3,c4]@64 a3@126 ~@3, ~@33 e4@62 ~@33]/8", // E5 D C5
D: "[e4,g4]", E: "[~@31 c4@64 ~ db4@60 ~@3 c4@65, ~@30 g3@63 ~@3 a3@125 ~@3, ~@31 e4@125 ~@3 f4@62 ~@3]/7",
F: "[e4@61 ~@4 f4@58 ~@5 b3@34 ~@30, g3@59 ~@2 a3@64 ~@2 [g3,d4]@35 ~@30, ~@16 d4@15 ~@17]/6", // G5
G: "[~@16 gb4@31 ~ g4@16, ~@31 [a3,d4]@62 ~ b3@34, ~@95 e4@33]/4", // D5
H: "[~@31 [g3,c4]@63 ~ db4@62 ~@3 gb4@62 ~@2 g4@32, ~@31 e4@126 ~@2 d4@62 ~@35, ~@95 a3@126 ~@2 [b3,e4]@33]/8", // C5 E5
I: "[~@31 [g3,c4]@64 ~ db4@59 ~@4 f4@62 ~@2 [g3,e4]@33, ~@31 e4@124 ~@4 c4@97, ~@95 a3@125 ~@36]/8", // C5 C
J: "[[bb3,d4] ~@3 f4@56 ~@3 [g3,b3,d4]@35 ~@30, a3@31 ~@33, ~@2 d4@59 ~@67]/4", // Bb G
})).s("gm_lead_2_sawtooth").gain(0.51)
// other · synth brass 2
const synth_brass_2 = note("<~@44 A@4 ~@36 B@4 ~@16 C@6 D@8 E@6 F@8 G@8>".pickRestart({
A: "[~@4 ab3@3 a3@4 e4@6 ~@2 a4@4 ~@5 f4@68 g4@32]/4", B: "[~@3 ab3@3 ~ a3@4 e4@5 ~@3 a4@4 ~@4 f4@68 g4@33]/4",
C: "[~@31 d4@16 ~ a3@22 ~ a3@8 d4@8 f4@8 d4@16 bb3@23 ~ bb3@9 d4@8 f4@7 d4@16 b3@17]/6",
D: "[~@7 b3@15 ~ b3@8 c4@32 db4@31 ~ d4@16 a3@23 ~ a3@7 d4@9 f4@8 d4@16 bb3@23 ~ bb3@7 ~ d4@8 f4@8 d4@16 b3@17]/8",
E: "[~@7 b3@7 ~ b3@7 ~ b3@8 c4@32 db4@32 d4@16 a3@22 ~@2 a3@8 d4@8 f4@8 d4@16 bb3@17]/6",
F: "[~@7 bb3@8 d4@7 f4@9 d4@16 b3@23 ~ b3@7 ~ b3@16 c4@32 db4@32 d4@16 a3@23 ~ a3@8 d4@8 f4@8 d4@16 bb3@17]/8",
G: "[~@7 bb3@8 d4@7 f4@9 d4@16 b3@23 b3@7 ~ b3@17 c4@32 db4@31 d4@68 ~@30]/8",
})).s("gm_synth_brass_2").gain(0.51)
// drums · kick
const kick = s("bd").struct("<A B@39 C B@24 D E@14 F E@23 F E@7 F E@7 F E@7 F E@7 G ~@3>".pickRestart({
A: "~ x", B: "x!2", C: "x!5 ~@3", D: "x ~@14 x ~@15 x", E: "~@15 x ~@15 x", F: "~@3 x ~@3 x ~@3 x ~@3 x ~@15 x",
G: "~@7 x ~@7 x ~@7 x ~@7 x",
})).gain(0.51)
// drums · snare
const snare = s("sd").struct(`<
~ A@7 B A@7 B A@7 B A@7 B A@7 C A@7 D A@7 B A@7 B E@14 F G E@6 F ~ E@7 H E@6 F G E@6 F G E@6 F G E@6 F G E@7 I ~@3
>`.pickRestart({
A: "~ x ~ x", B: "~ x ~@2", C: "x!4 ~@4", D: "x", E: "~@7 x ~@15 x ~@8", F: "~@7 x ~@15 x ~@7 x",
G: "~@3 x ~@3 x ~@3 x ~@20", H: "~@7 x ~@24", I: "~@3 x ~@7 x ~@7 x ~@7 x ~@3 x",
})).gain(0.51)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@40 A ~@39 B ~@23 B ~@7 B ~@7 B ~@7 B ~@11>".pickRestart({
A: "~ x ~ x ~ x ~ x!2 ~@7", B: "~ x ~@3 x ~@3 x ~@3 x ~ x ~@16",
})).gain(0.26)
// drums · clap
const clap = s("cp").struct(`<
~ A@7 B A@7 B A@7 B A@7 B A@7 B A@7 C A@7 B A@7 B D@15 E D@6 F ~ D@7 E D@7 E D@7 E D@7 E D@7 E D@6 F G ~@3
>`.pickRestart({
A: "~ x ~ x", B: "~ x ~@2", C: "x", D: "~@7 x ~@15 x ~@8", E: "~@7 x ~@24", F: "~@7 x ~@15 x ~@7 x",
G: "~@7 x ~@7 x ~@7 x ~@7 x",
})).gain(0.46)
// drums · low tom
const low_tom = s("lt").struct(`<
A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@15 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 C ~@3
>`.pickRestart({
A: "~@14 x!2", B: "~@27 x ~ x ~@2", C: "~@11 x ~ x ~@13 x ~ x ~@2",
})).gain(0.41)
// drums · pedal hat
const pedal_hat = s("hh").struct("<A B@47 A B@16 C D@22 E D@46 F ~@4>".pickRestart({
A: "x ~@3 x ~@3 x!8", B: "x!8", C: "x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x",
D: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", E: "~@7 x ~@7 x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x",
F: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4",
})).gain(0.26)
// drums · pedal hat · soft notes
const pedal_hat_soft = s("hh").struct("<~ A@47 ~ A@16 B C@22 ~ C@47 ~@4>".pickRestart({
A: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", B: "~@2 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
C: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
})).gain(0.15)
// drums · mid tom
const mid_tom = s("mt").struct(`<
A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@15 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 C ~@3
>`.pickRestart({
A: "~@12 x!2 ~@2", B: "~@23 x ~ x ~@6", C: "~@7 x ~ x ~@13 x ~ x ~@6",
})).gain(0.31)
// drums · high tom
const high_tom = s("ht").struct(`<
A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@15 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 B ~@7 B ~@6 C D ~@3
// … 40 more lines
More by Blondie
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.