0:00/0:00
// The Body Electric — Rush
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 116 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · piano
const piano = note(`<
~@17 A@2 B ~ C@2 ~ D@2 E@3 F G H@2 I J@2 K L M ~ N O@2 P Q@3 R@3 S T@2 U J@2 V L M W X Y@2 ~@5 Z@3 AA AB AC@2 AD AE@2
~ AF@2 ~ L M AG@2 H@2 AH AI@2 ~@6 AJ AK AL AM AN@4 ~@11
>`.pickRestart({
A: "[~@19 c#5@3 ~ c#5@3 c#5@3 c#5@7 a4@3 g4@7 d5@10 ~@8]/2", B: "~@2 d4@3 f#4@3 ~ a4@6 a4@7 f#4@3 e4@7",
C: "[~ c#5@3 ~ c#5@3 c#5@3 b4@3 ~ a4@3 e5@7 a4@6 a4@7 g4@7 c5@3 d5@3 a4@10 ~@3]/2",
D: "[~@12 c#5@3 c#5@3 ~ c#5@6 a4@3 ~ g4@6 d5@10 ~@7 d5@3 d5@3 ~ d5@5]/2",
E: "[~ d5@3 ~ d5@3 c5@13 a4@7 a4@3 a4@3 ~ g4@13 ~@7 b4@3 c#5@3 c#5@7 a4@3 e5@7 a4@7 a4@6 g4@5]/3",
F: "~@2 g4@7 a4@6 b4@7 c#5@3 a4@7", G: "~@23 d5@9",
H: "[~ d5@3 ~ d5@3 d5@3 d5@7 e5@10 e5@3 e5@3 ~ e5@3 e5@7 f5@10 ~@6 f5@3]/2", I: "~ g5@6 f5@10 ~@15",
J: "[~@2 d5@10 d5@3 d5@3 ~ d5@3 d5@7 e5@10 e5@3 e5@3 e5@3 ~ e5@6 f5@9]/2", K: "~@8 f5@3 e5@3 ~ d5@3 e5@3 d5@7 ~@4",
L: "~@13 d5@10 d5@3 d5@3 d5@3", M: "~ d5@6 e5@10 e5@3 ~ e5@3 e5@3 e5@5", N: "~@15 c#5",
O: "[~ c#5@3 ~ c#5@3 c#5@7 a4@3 g4@7 d5@10 ~@10 d4@3 f#4@3 a4@7 a4@6]/2", P: "~ f#4@3 e4@7 ~@21",
Q: "[~@12 c#5@3 c#5@3 ~ c#5@3 b4@3 a4@3 ~ e5@6 a4@7 a4@7 g4@6 c5@3 ~ d5@3 a4@10 ~@24]/3",
R: "[~@23 c#5@3 c#5@3 c#5@7 a4@3 g4@7 d5@10 ~@7 d5@3 d5@3 d5@7 d5@3 d5@3 ~ c5@13]/3", S: "a4@7 a4@3 a4@3 g4@13 ~@6",
T: "[~ b4@3 ~ c#5@3 c#5@7 a4@3 e5@7 a4@6 a4@7 g4@7 g4@6 a4@7 b4@6]/2", U: "~ c#5@3 a4@7 ~@21",
V: "~@8 f5@3 g5@7 f5@10 ~@4", W: "~@2 f5@10 ~@7 f5@3 e5@3 d5@3 ~ e5@3", X: "d5@7 ~@16 d5@9",
Y: "[~ d5@3 ~ d5@3 d5@3 d5@7 e5@10 e5@3 e5@3 ~ e5@3 a5@7 ~@19]/2",
Z: "[~@31 a4@3 c#5@7 c#5@10 c#5@3 b4@3 a4@3 ~ e5@10 ~@3 e5@3 e5@3 ~ e5@6 e5@7 a4@2]/3", AA: "~ a4@3 ~ a4@10 ~@17",
AB: "~@13 c#5@10 c#5@6 c#5@3", AC: "[~ b4@3 a4@3 e5@10 e5@3 ~ e5@3 e5@3 e5@3 ~ e5@3 a5@7 a4@3 a4@13 ~@7]/2",
AD: "~@3 a5@3 ~ a5@3 a5@10 ~@12", AE: "[~@18 e5@27 ~@19]/2", AF: "[~@29 e5@27 ~@8]/2",
AG: "[~@2 f5@10 ~@7 f5@3 g5@7 f5@10 ~@16 d5@9]/2", AH: "~ e5@3 d5@3 e5@3 ~ d5@7 ~@14",
AI: "[~@2 d5@10 d5@3 d5@3 ~ d5@3 d5@7 e5@10 e5@3 e5@3 e5@3 ~ a5@7 ~@8]/2", AJ: "~@9 a4@3 ~ c#5@6 c#5@10 c#5@3",
AK: "~ b4@3 a4@3 e5@10 ~@4 e5@3 e5@3 e5@5", AL: "~@2 e5@7 a4@3 a4@3 a4@10 ~@7", AM: "~@23 c#5@9",
AN: "[~ c#5@7 c#5@3 b4@3 ~ a4@3 e5@10 e5@3 e5@3 ~ e5@3 e5@3 e5@3 ~ a5@6 a4@3 ~ a4@13 ~@10 a5@3 a5@3 ~ a5@3 a5@7 c#6@3 a5@17 ~@13]/4",
})).s("gm_piano").gain(0.51)
// other · piano
const piano_2 = note(`<
A@4 B@5 C@2 D@2 E F G@3 ~@13 D@2 E F H I@2 J K@2 ~@13 F H I@2 J F L M@3 N@5 O@5 P@5 Q@4 J F L D@2 E F R@4 O@5 S@5 T@5
U@5 ~@2
>`.pickRestart({
A: "[~@23 d4@27 g4@27 a4@26 a4@25]/4", B: "[~@2 d4@27 g4@26 a4@27 a4@27 d4@26 g4@25]/5", C: "[~@2 a4@27 a4@27 ~@8]/2",
D: "[~ f4@3 ~ f4@3 f4@3 f4@3 ~@14 g4@3 g4@3 ~ g4@3 g4@3 ~@14 f4@3 f4@3 f4@3]/2",
E: "~ f4@3 ~@13 f4@3 ~ f4@3 f4@3 f4@3 ~@2", F: "~@12 f4@3 f4@3 ~ f4@3 f4@3 ~@7",
G: "[~@7 g4@3 g4@3 g4@3 ~ g4@3 ~@3 e4@57 ~@16]/3", H: "~@7 g4@3 g4@3 g4@3 ~ g4@3 ~@12",
I: "[~ f4@3 ~ f4@3 f4@3 f4@3 ~@14 f4@3 f4@3 ~ f4@3 f4@3 ~@14 f4@3 f4@3 f4@3]/2",
J: "~ f4@3 ~@13 g4@3 ~ g4@3 g4@3 g4@3 ~@2", K: "[~@2 e4@57 ~@5]/2", L: "~@7 f4@3 f4@3 f4@3 ~ f4@3 ~@12",
M: "[~ f4@3 ~ f4@3 f4@3 f4@3 ~@14 g4@3 g4@3 ~ g4@3 g4@3 ~@4 a4@26 c5@25]/3",
N: "[~@2 d5@27 e5@26 a4@27 c5@27 d5@26 e5@25]/5", O: "[~@2 a4@27 c5@26 d5@27 e5@27 a4@26 c5@25]/5",
P: "[~@2 d5@27 c5@26 d4@27 d4@27 a4@26 a4@25]/5", Q: "[~@2 d4@27 d4@26 a4@27 a4@27 ~@10 f4@3 f4@3 f4@3]/4",
R: "[~@7 g4@3 g4@3 g4@3 ~ g4@3 ~@3 a4@27 c5@27 d5@26 e5@25]/4", S: "[~@2 d5@27 e5@26 a4@27 c5@27 d5@26 c5@25]/5",
T: "[~@2 a4@27 c5@26 f#5@27 g5@27 a4@26 c5@25]/5", U: "[~@2 f#5@27 g5@26 a4@27 c5@27 f#5@26 g5@25]/5",
})).s("gm_piano").gain(0.46)
// other · piano
const piano_3 = note(`<
A@4 B@5 C@2 D@2 E F G@3 ~@13 D@2 E F H I@2 E J@2 ~@13 F H I@2 K F L M@3 N@5 O@5 P@5 Q@4 K F L D@2 E F R@4 O@5 S@5 T@5
U@5 ~@2
>`.pickRestart({
A: "[~@23 c4@27 d4@27 e4@26 e4@25]/4", B: "[~@2 c4@27 d4@26 e4@27 e4@27 c4@26 d4@25]/5", C: "[~@2 e4@27 e4@27 ~@8]/2",
D: "[~ d4@3 ~ d4@3 d4@3 d4@3 ~@14 e4@3 e4@3 ~ e4@3 e4@3 ~@14 d4@3 d4@3 d4@3]/2",
E: "~ d4@3 ~@13 d4@3 ~ d4@3 d4@3 d4@3 ~@2", F: "~@12 d4@3 d4@3 ~ d4@3 d4@3 ~@7",
G: "[~@7 e4@3 e4@3 e4@3 ~ e4@3 ~@3 a3@57 ~@16]/3", H: "~@7 e4@3 e4@3 e4@3 ~ e4@3 ~@12",
I: "[~ d4@3 ~ d4@3 d4@3 d4@3 ~@14 d4@3 d4@3 ~ d4@3 d4@3 ~@14 d4@3 d4@3 d4@3]/2", J: "[~@2 a3@57 ~@5]/2",
K: "~ d4@3 ~@13 e4@3 ~ e4@3 e4@3 e4@3 ~@2", L: "~@7 d4@3 d4@3 d4@3 ~ d4@3 ~@12",
M: "[~ d4@3 ~ d4@3 d4@3 d4@3 ~@14 e4@3 e4@3 ~ e4@3 e4@3 ~@4 e4@26 g4@25]/3",
N: "[~@2 a4@27 b4@26 e4@27 g4@27 a4@26 b4@25]/5", O: "[~@2 e4@27 g4@26 a4@27 b4@27 e4@26 g4@25]/5",
P: "[~@2 a4@27 g4@26 c4@27 c4@27 e4@26 e4@25]/5", Q: "[~@2 c4@27 c4@26 e4@27 e4@27 ~@10 d4@3 d4@3 d4@3]/4",
R: "[~@7 e4@3 e4@3 e4@3 ~ e4@3 ~@3 e4@27 g4@27 a4@26 b4@25]/4", S: "[~@2 a4@27 b4@26 e4@27 g4@27 a4@26 g4@25]/5",
T: "[~@2 e4@27 g4@26 d5@27 e5@27 e4@26 g4@25]/5", U: "[~@2 d5@27 e5@26 e4@27 g4@27 d5@26 e5@25]/5",
})).s("gm_piano").gain(0.46)
// other · piano
const piano_4 = note(`<
~ A@2 ~ B@2 ~@2 C ~ D E F G@2 H ~@14 D E F G@2 I J@2 K L ~@14 M N O P Q R S E T ~@2 U ~@3 V ~@2 W ~@9 X K R Y Z AA
AB@2 AC AD@5 AE@5 AF@4 ~@9 AG@2
>`.pickRestart({
A: "[~@18 c4@27 ~@19]/2", B: "[~@29 c4@27 ~@8]/2", C: "~@7 c4@25", D: "~@23 d3@3 ~@6", E: "~@11 d3@3 ~@4 e3@3 ~@11",
F: "~@6 e3@3 ~@4 f3@3 ~@16", G: "[~ f3@3 ~@3 f3@3 ~@17 f3@3 ~ e3@3 d3@3 ~@17 d3@3 ~@4 e3@3]/2",
H: "~@17 e3@3 ~@3 a2@3 ~@6", I: "~@7 e3@3 ~@3 d3@3 ~ e3@3 ~@3 f3@3 ~@6",
J: "[~@11 f3@3 ~@4 f3@3 ~@7 f3@3 f3@3 ~ f3@3 g3@3 e3@3 ~ d3@3 ~@16]/2", K: "~ d3@3 ~@3 e3@3 ~@17 e3@3 ~@2",
L: "~ a2@5 ~@10", M: "~@2 d3@3 ~@17 d3@3 ~@4 e3@3", N: "~@17 e3@3 ~@3 f3@3 ~@6", O: "~@11 f3@3 ~@4 f3@3 ~@11",
P: "~@6 f3@3 e3@3 ~ d3@3 ~@16", Q: "~ d3@3 ~@3 e3@3 ~@7 e3@3 ~@4 d3@3 e3@3 ~@2", R: "~@2 f3@3 ~@17 f3@3 ~@4 f3@3",
S: "~@7 f3@3 f3@3 f3@3 ~ g3@3 e3@3 d3@3 ~@6", T: "~@6 e3@3 ~@4 a2@7 ~@12", U: "~@23 a2@7 ~@2", V: "~@2 a2@7 ~@23",
W: "~@13 a2@7 ~@12", X: "~@13 d3@3 ~@16", Y: "~@17 f3@3 e3@3 d3@3 ~@6", Z: "~@11 d3@3 ~@4 e3@3 ~@7 e3@3 ~",
AA: "~@3 d3@3 e3@3 ~@4 f3@3 ~@16", AB: "[~ f3@3 ~@3 f3@3 ~@7 f3@3 ~ f3@3 f3@3 g3@3 ~ e3@3 d3@3 ~@17 d3@3 ~@4 e3@3]/2",
AC: "~@17 e3@3 ~@3 a2@7 a2@2",
AD: "[~ a2@7 a2@7 a2@3 a2@7 a2@3 a2@7 a2@6 a2@3 ~ a2@6 a2@3 ~ a2@6 a2@7 a2@3 a2@7 a2@3 a2@7 a2@7 a2@3 a2@7 a2@3 a2@7 a2@6 a2@3 ~ a2@6 a2@3 ~ a2@6 a2@7 a2@3 a2@7 a2@2]/5",
AE: "[~ a2@7 a2@7 a2@3 a2@7 a2@3 a2@7 a2@6 a2@3 ~ a2@6 a2@3 ~ a2@6 a2@7 a2@3 g2@7 g2@3 g2@7 g2@7 g2@3 d3@7 d3@3 d3@7 d3@6 d3@3 ~ e3@6 e3@3 ~ e3@6 e3@7 e3@3 a2@7 a2@2]/5",
AF: "[~ a2@7 a2@7 a2@3 g2@7 g2@3 g2@7 g2@6 g2@3 ~ d3@6 d3@3 ~ d3@6 d3@7 d3@3 g2@7 g2@3 g2@7 g2@7 g2@3 ~@30]/4",
AG: "[~@2 [a2,a3,a4,e5,a5]@57 ~@5]/2", // A5
})).s("gm_piano").gain(0.46)
// bass · piano
const bass = note(`<
A B@5 C@5 D E F@2 G H@2 I@6 J@4 K@3 D E F@2 L M@2 N O P@8 Q@7 R S T U V W D X@4 Y@5 Z@5 AA@5 AB@2 N V AC AD AE AF@2 AG
AH@5 AI@5 AJ@5 AK@2 AL@3 AM@2 AN@3
>`.pickRestart({
A: "~@23 d2@7 d2@2",
B: "[~ c3@3 ~ d2@3 d3@10 d2@7 d2@3 c3@3 d2@3 ~ d3@3 d2@3 c3@3 ~ a1@6 a1@3 ~ g2@3 a1@3 a2@10 a1@7 a1@3 c2@3 ~ a1@3 c2@3 d2@3 ~ e2@3 d2@7 d2@3 c3@3 d2@3 ~ d3@10 d2@6 d2@3 ~ c3@3 d2@3 d3@3 ~ d2@3 c3@3 a1@7 a1@2]/5",
C: "[~ g2@3 ~ a1@3 a2@10 a1@7 a1@3 c2@3 a1@3 ~ c2@3 d2@3 e2@3 ~ d2@6 d2@3 ~ c3@3 d2@3 d3@10 d2@7 d2@3 c3@3 ~ d2@3 d3@3 d2@3 ~ c3@3 a1@7 a1@3 g2@3 a1@3 ~ a2@10 a1@13 a1@3 c2@3 ~ a1@3 c2@3 d2@3 ~@6]/5",
D: "~@11 d2@3 ~@4 e2@3 ~@11", E: "~@6 e2@3 ~@4 f2@3 ~@16",
F: "[~ f2@3 ~@3 f2@3 ~@17 f2@3 ~ e2@3 d2@3 ~@17 d2@3 ~@4 e2@3]/2", G: "~@17 e2@3 ~@3 a1@3 ~@6",
H: "[~ a1@3 ~ a1@3 a1@3 a1@3 ~ a1@3 a1@3 ~@7 a1@3 a1@3 ~ a1@3 a1@3 a1@3 ~ a1@13 a1@3 e2@3]/2",
I: "[~ d2@3 c2@3 e1@13 ~ e1@3 g1@3 a1@3 ~ b1@3 d2@13 a1@3 ~ d2@6 a1@3 ~ c2@13 g1@3 c2@3 ~ d2@3 c2@3 a1@13 ~ a1@3 e2@3 d2@3 ~ c2@3 e1@13 e1@3 ~ g1@3 a1@3 b1@3 ~ d2@13 a1@3 d2@7 a1@3 c2@13 ~ a1@3 c2@3 d2@3 ~ c2]/6",
J: "[~@2 a1@13 a1@3 ~ e2@3 d2@3 c2@3 ~ e1@13 e1@3 g1@3 ~ a1@3 b1@3 d2@13 ~ a1@3 d2@7 a1@3 c2@13 g1@3 ~ c2@3 d2@3 c2@3 ~ a1@13 a1@3 e2@3]/4",
K: "[~ d2@3 c2@3 e1@13 ~ e1@3 g1@3 a1@3 ~ b1@3 d2@13 a1@3 ~ d2@6 a1@3 ~ c2@13 a1@3 c2@3 ~ a1@3 c2@3 d2@3 ~@6]/3",
L: "~@7 e2@3 ~@3 d2@3 ~ e2@3 ~@3 f2@3 ~@6", M: "[~@11 f2@3 ~@4 f2@3 ~@7 f2@3 f2@3 ~ f2@3 g2@3 e2@3 ~ d2@3 ~@16]/2",
N: "~ d2@3 ~@3 e2@3 ~@17 e2@3 ~@2", O: "~@2 a1@10 a1@3 a1@3 ~ a1@3 a1@3 a1@3 ~ a1@3",
P: "[a1@3 a1@3 ~ a1@3 a1@3 a1@3 ~ a1@3 a1@3 a1@13 ~ a1@3 e2@3 d2@3 ~ c2@3 e1@13 e1@3 ~ g1@3 a1@3 b1@3 ~ d2@13 a1@3 d2@7 a1@3 c2@13 ~ g1@3 c2@3 d2@3 ~ c2@3 a1@13 a1@3 ~ e2@3 d2@3 c2@3 ~ e1@13 e1@3 g1@3 ~ a1@3 b1@3 d2@13 ~ a1@3 d2@7 a1@3 c2@13 a1@3 ~ c2@3 d2@3 c2@3 ~ a1@13 a1@3 e2@3]/8",
Q: "[~ d2@3 c2@3 e1@13 ~ e1@3 g1@3 a1@3 ~ b1@3 d2@13 a1@3 ~ d2@6 a1@3 ~ c2@13 g1@3 c2@3 ~ d2@3 c2@3 a1@13 ~ a1@3 e2@3 d2@3 ~ c2@3 e1@13 e1@3 ~ g1@3 a1@3 b1@3 ~ d2@13 a1@3 d2@7 a1@3 c2@13 ~ a1@3 c2@3 a1@3 ~ c2@3 d2@3 ~@17 d2@3 ~@4 e2@3]/7",
R: "~@17 e2@3 ~@3 f2@3 ~@6", S: "~@11 f2@3 ~@4 f2@3 ~@11", T: "~@6 f2@3 e2@3 ~ d2@3 ~@16",
U: "~ d2@3 ~@3 e2@3 ~@7 e2@3 ~@4 d2@3 e2@3 ~@2", V: "~@2 f2@3 ~@17 f2@3 ~@4 f2@3",
W: "~@7 f2@3 f2@3 f2@3 ~ g2@3 e2@3 d2@3 ~@6",
X: "[~@6 e2@3 ~@4 a1@6 a1@3 ~ a1@6 a1@7 a1@3 a1@7 a1@3 a1@7 a1@7 a1@3 a1@7 a1@3 a1@7 a1@6 a1@3 ~ a1@6 a1@3 ~ a1@6 a1@7 a1@3 a1@7 a1@2]/4",
Y: "[~ a1@7 a1@7 a1@3 a1@7 a1@3 a1@7 a1@6 a1@3 ~ a1@6 a1@3 ~ a1@6 a1@7 a1@3 a1@7 a1@3 a1@7 a1@7 a1@3 a1@7 a1@3 a1@7 a1@6 a1@3 ~ g1@6 g1@3 ~ g1@6 g1@7 g1@3 d2@7 d2@2]/5",
Z: "[~ d2@7 d2@7 d2@3 e2@7 e2@3 e2@7 e2@6 e2@3 ~ a1@6 a1@3 ~ a1@6 a1@7 a1@3 g1@7 g1@3 g1@7 g1@7 g1@3 d2@7 d2@3 d2@7 d2@6 d2@3 ~ g1@6 g1@3 ~ g1@6 g1@7 g1@3 d2@7 d2@2]/5",
AA: "[~ c3@3 ~ d2@3 d3@3 d2@3 ~ c3@3 d2@7 d2@3 c3@3 d2@3 ~ d3@3 d2@3 c3@3 ~ a1@6 a1@3 ~ g2@3 a1@3 a2@10 a1@7 a1@3 c2@3 ~ a1@3 c2@3 d2@3 ~ e2@3 d2@7 d2@3 c3@3 d2@3 ~ d3@3 d2@3 c3@3 ~ d2@6 d2@3 ~ c3@3 d2@3 d3@3 ~ d2@3 c3@3 a1@7 a1@2]/5",
AB: "[~ g2@3 ~ a1@3 a2@10 a1@13 a1@3 ~ c2@3 a1@3 c2@3 ~ d2@3 ~@16]/2", AC: "~@17 f2@3 e2@3 d2@3 ~@6",
AD: "~@11 d2@3 ~@4 e2@3 ~@7 e2@3 ~", AE: "~@3 d2@3 e2@3 ~@4 f2@3 ~@16",
AF: "[~ f2@3 ~@3 f2@3 ~@7 f2@3 ~ f2@3 f2@3 g2@3 ~ e2@3 d2@3 ~@17 d2@3 ~@4 e2@3]/2", AG: "~@17 e2@3 ~@3 a1@7 a1@2",
AH: "[~ a1@7 a1@7 a1@3 a1@7 a1@3 a1@7 a1@6 a1@3 ~ a1@6 a1@3 ~ a1@6 a1@7 a1@3 a1@7 a1@3 a1@7 a1@7 a1@3 a1@7 a1@3 a1@7 a1@6 a1@3 ~ a1@6 a1@3 ~ a1@6 a1@7 a1@3 a1@7 a1@2]/5",
AI: "[~ a1@7 a1@7 a1@3 a1@7 a1@3 a1@7 a1@6 a1@3 ~ a1@6 a1@3 ~ a1@6 a1@7 a1@3 g1@7 g1@3 g1@7 g1@7 g1@3 d2@7 d2@3 d2@7 d2@6 d2@3 ~ e2@6 e2@3 ~ e2@6 e2@7 e2@3 a1@7 a1@2]/5",
AJ: "[~ a1@7 a1@7 a1@3 g1@7 g1@3 g1@7 g1@6 g1@3 ~ d2@6 d2@3 ~ d2@6 d2@7 d2@3 g1@7 g1@3 g1@7 g1@7 g1@3 a1@7 a1@3 a2@3 a1@3 ~ g2@3 g#2@3 a2@3 ~ g2@6 d2@3 ~ g2@3 d2@3 f#2@3 ~ g2@3 a2@3 d2@7 a1@2]/5",
AK: "[~ d2@3 ~ a1@3 c2@3 c#2@3 ~ d2@3 c2@7 g1@3 c2@7 b1@3 c2@3 b1@3 ~ a1@6 a1@3 ~ a2@3 a1@3 g2@3]/2",
AL: "[~ g#2@3 a2@3 g2@7 d2@3 g2@3 ~ d2@3 f#2@3 g2@3 ~ a2@3 d2@7 a1@3 d2@3 a1@3 ~ c2@3 c#2@3 d2@3 ~ c2@6 g1@3 ~ c2@6 b1@3 ~ c2@3 b1@3 a1@7 a1@2]/3",
AM: "[~ a2@3 ~ a1@3 g2@3 g#2@3 ~ a2@3 g2@7 d2@3 g2@3 d2@3 ~ f#2@3 g2@3 a2@3 ~ d2@6 a1@3 ~ d2@3 a1@3 c2@3]/2",
AN: "[~ c#2@3 d2@3 c2@7 g1@3 c2@7 b1@3 c2@3 ~ b1@3 a1@57 ~@5]/3",
})).s("gm_piano").gain(0.46)
// bass · epiano1
const bass_2 = note(`<
A B C D E A B C D E A F G H@2 I B C D E A B C D E A B C D E A F G J@2 A B C D K L B C D E A B C D E A B C D M I F N D
E A B C D E A B C D E A B C D E A B C D E A B C O M P B C D E A B C D E A B C D E A B C D E A B C D E A B C D Q ~
>`.pickRestart({
A: "~@23 f1@3 ~@6", B: "~@18 f1@3 ~@11", C: "~@13 f1@3 ~@16", D: "~@7 f1@3 ~@22", E: "~@2 f1@3 ~@24 f1@3",
F: "~@11 f1@3 ~@4 f1@3 ~@11", G: "~@6 f1@3 ~@4 f1@3 ~@16",
H: "[~ f1@3 ~@3 f1@3 ~@17 f1@3 ~ f1@3 f1@3 ~@17 f1@3 ~@4 f1@3]/2", I: "~@17 f1@3 ~@3 f1@3 ~@6",
J: "[~ f1@3 ~@3 f1@3 ~@17 f1@3 ~ f1@3 f1@3 ~@24 f1@3]/2", K: "~@2 f1@3 ~@14 f1@3 ~@10",
L: "f1@3 ~@4 f1@3 ~@3 f1@3 ~@7 f1@3 ~@6", M: "~@2 f1@3 ~@17 f1@3 ~@4 f1@3", N: "~@6 f1@3 f1@3 ~ f1@3 ~@16",
O: "~ f1@3 ~@3 f1@3 ~@17 f1@3 ~@2", P: "~@17 f1@3 f1@3 f1@3 ~@6", Q: "~@2 f1@3 ~@27",
})).s("gm_epiano1").gain(0.46)
// bass · epiano2
const bass_3 = note(`<
~ A@2 B@2 C A@2 B@2 C D@2 E@2 F A@2 B@2 C A@2 B@2 C A@2 B@2 C G@2 H@2 C A@2 I@2 J A@2 B@2 C A@2 B@2 C A@2 I@2 K G@2
B@2 C A@2 B@2 C A@2 B@2 C A@2 B@2 C A@2 B@2 C A@2 L@2 K A@2 B@2 C A@2 B@2 C A@2 B@2 C A@2 B@2 C A@2 B@2 C A@2 M@2 ~
>`.pickRestart({
A: "[~ g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 ~@10 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~@11 g1@3 g1@3 g1@3]/2",
B: "[~ g1@3 g1@3 ~@10 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 ~@10 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~@4]/2",
C: "~@7 g1@3 g1@3 g1@3 ~ g1@3 g1@3 ~@9",
D: "[~ g1@3 ~ g1@3 g1@3 g1@3 ~@4 g1@3 ~@7 g1@3 g1@3 ~ g1@3 g1@3 ~@4 g1@3 ~@7 g1@3 g1@3 g1@3]/2",
E: "[~ g1@3 ~@3 g1@3 ~@7 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 g1@3 ~@7 g1@3 g1@3 ~ g1@3 g1@3 ~@4 g1@3]/2",
F: "~@7 g1@3 g1@3 g1@3 ~ g1@3 ~@3 g1@3 ~@6",
G: "[~ g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 g1@3 ~@7 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 ~@7 g1@3 g1@3 g1@3]/2",
H: "[~ g1@3 g1@3 g1@3 ~@7 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 g1@3 ~@7 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~@4]/2",
I: "[~ g1@3 g1@3 ~@10 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 ~@10 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3]/2",
J: "g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~@6", K: "~@7 g1@3 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~@6",
L: "[~ g1@3 g1@3 g1@3 ~@7 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 g1@3 ~@7 g1@3 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3]/2",
M: "[~ g1@3 g1@3 ~@10 g1@3 ~ g1@3 g1@3 g1@3 ~ g1@3 ~@30]/2",
})).s("gm_epiano2").gain(0.46)
// bass · clavinet
const bass_4 = note("<~@15 A ~@18 B ~@22 C ~@27 A ~@30>".pickRestart({
A: "~@23 g#1@3 ~@6", B: "~@2 g#1@3 ~@27", C: "~@13 g#1@3 ~@16",
})).s("gm_clavinet").gain(0.46)
stack(piano, piano_2, piano_3, piano_4, bass, bass_2, bass_3, bass_4)
More by Rush
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.