0:00/0:00
// Miami 2017 (Seen the Lights Go Out on Broadway) — Billy Joel
// 164 bpm, 4/4, key D major. 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: duplicate parts dropped: ch 5 overdriven guitar (copy of ch 4 electric guitar clean)
// note: Full arrangement: all 190 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(164/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(`<
~@40 A@5 B C@8 D E@8 F@8 G@8 H I J K@2 L M N O P M N O Q@2 R S R T U V W X Y T Z AA W AB AC@2 AD AE AF T U AG AH@8
AI@4 AJ@4 AK@2 ~@20 AL@3 AM@6 AN@4 ~@17 AO@6
>`.pickRestart({
A: "[~@23 f#1@24 g1@23 ~ a1@24 b1@23 ~@2]/5", B: "c#2@23 ~",
C: "[b1@18 ~@3 b1@6 d2@7 ~@2 d2@2 ~ d2@2 ~ d2@3 b1@6 d2@5 ~ b1@6 d2@6 f#1@9 a1@6 f#1@6 a1@2 ~ a2@5 ~ a2 ~@2 a2 ~@2 a2@2 ~ a2@7 ~@2 b1@6 d2@7 ~@2 d2@2 ~ d2@2 ~ d2@3 b1@6 d2@5 ~ b1@6 d2@6 f#1@9 a1@6 f#1@6 a1@2 ~ a2@3]/8",
D: "~@3 a2 ~@2 a2 ~@2 a2@2 ~ a2@5 ~ a1@5 ~",
E: "[d2@4 ~@2 d2@2 ~@7 a1@5 ~ d2@8 ~ d2@3 ~@6 a1@6 d2@7 ~@2 d2@2 ~@7 a1@5 ~ d2@8 ~ d2@3 ~@6 a1@6 b1@7 ~@2 b1@2 ~@7 b1@5 ~ g1@8 ~ g1@3 ~@6 g1@6 a1@8 ~ a1@2 ~@7 a1@5 ~ a1@8 ~ a1@3 ~@6 a1@6 f#1@3]/8",
F: "[~@6 f#1@2 ~@7 f#1@5 ~ f#1@8 ~ f#1@3 ~@6 f#1@6 b1@7 ~@2 b1@2 ~@7 b1@5 ~ b1@8 ~ b1@3 ~@6 b1@6 a1@8 ~ a1@2 ~@7 e1@3 f#1@3 a1@8 ~ a1@3 ~@6 a1@6 g1@7 ~@2 g1@2 ~@7 g1@4 ~@2 g1@7 ~@2 g1@3 ~@6 a1@8 ~]/8",
G: "[d2@4 ~@2 d2@2 ~@7 a1@5 ~ d2@8 ~ d2@3 ~@6 a1@6 d2@7 ~@2 d2@2 ~@7 a1@3 b1@3 d2@8 ~ d2@3 ~@6 a1@3 a#1@3 b1@7 ~@2 b1@2 ~@7 b1@5 ~ g1@8 ~ g1@3 ~@6 g1@6 a1@8 ~ a1@2 ~@4 e1@3 a1@3 e1@2 ~ a1@8 ~ a1@3 ~@3 e1@3 ~@3 a1@4 ~@2]/8",
H: "f#1@11 ~", I: "~ g1@23", J: "~ a1@11", K: "[~ b1@8 c#2@7]/2", L: "~ b1@5",
M: "~ b1@6 d2@7 ~@2 d2@2 ~ d2@2 ~ d2@2", N: "~ b1@6 d2@5 ~ b1@6 d2@5", O: "~ f#1@9 ~ a1@6 f#1@5 a1@2",
P: "~ a2@5 ~ a2 ~@2 a2 ~@2 a2@2 ~ a2@7 ~",
Q: "[~ a2@5 ~ a2 ~@2 a2 ~@2 a2@2 ~ a2@5 ~ a1@5 ~ d2@4 ~@2 d2@4 ~@5 d2@4 ~]/2", R: "~ d2@8 ~ d2@3 ~@6 d2@5",
S: "~ d2@7 ~@2 d2@2 ~@7 d2@5", T: "~ b1@7 ~@2 b1@2 ~@7 b1@5", U: "~ g1@8 ~ g1@3 ~@6 g1@5",
V: "~ a1@8 ~ a1@2 ~@7 a1@5", W: "~ a1@8 ~ a1@3 ~@6 a1@5", X: "~ f#1@7 ~@2 f#1@2 ~@7 c#2@3 e2@2",
Y: "~ f#2@8 ~ f#1@3 ~@6 e2@3 c#2@2", Z: "~ b1@8 ~ b1@3 ~@6 b1@5", AA: "~ a1@8 ~ a1@2 ~@7 e1@3 f#1@2",
AB: "~ g1@7 ~@2 g1@2 ~@7 d2@3 d2@2", AC: "[~ g1@7 ~@2 g1@3 ~@6 a1@8 ~ d3@4 ~@2 d3@3 ~@6 a2@5]/2",
AD: "~ d2@8 ~ d3@3 ~@6 g3@5", AE: "~ f#3@7 ~@2 d3@2 ~@7 g3@5", AF: "~ f#3@8 ~ d3@7 ~@2 d2@3 c#2@2",
AG: "~ a1@8 ~ a1@2 ~@4 e1@3 a1@3 e1@2",
AH: "[~ a1@8 ~ a1@3 ~@3 a1@3 ~@3 a1@4 ~@2 f#1@22 ~@3 g1@24 ~ a1@22 ~@3 b1@24 ~ c#2@22 ~@3 b1@20 ~@2 b1@6 d2@7 ~@2 d2@2]/8",
AI: "[~ d2@2 ~ d2@3 b1@6 d2@5 ~ b1@6 d2@6 f#1@9 a1@6 f#1@7 ~@2 f#2@3 ~@3 f#2@3 ~@3 f#2@2 ~ e2@7 ~@2 b1@6 d2@7 ~@2 d2@2]/4",
AJ: "[~ d2@2 ~ d2@3 b1@6 d2@5 ~ b1@6 d2@6 f#1@9 a1@6 f#1@6 a1@2 ~ a1@3 ~@3 a1@3 ~@3 a1@2 ~ a1@10 ~@2 d2@2 ~ d2@2 ~@3 d2@2 ~ d2@3]/4",
AK: "[~@3 g1@13 ~@8]/2", AL: "[~@21 e3@38 ~ f#1@12]/3",
AM: "[~@14 g1@23 ~@4 a1@24 ~@2 b1@24 ~@2 c#2@24 ~@2 b1@24 ~]/6", AN: "[~ a#1@44 ~@3]/4", AO: "[~@6 d1@131 ~@7]/6",
})).s("gm_electric_bass_finger").gain(0.34).pan(0.6)
// chords · piano
const piano = note(`<
A@2 B@7 C@2 D@5 E@6 F G@2 H@5 I@7 J@8 K L M@3 N@4 O P@7 Q@6 R@3 S@8 T U V@8 W@5 X Y Z AA AB AC AD AE AF AG AH AI AJ AK
AL@2 AM AN AO AP AQ AI AR AS@8 AT@7 AU@5 AV AW AX@6 AY@3 AZ@2 BA@7 BB@6 BC@6 BD@8 BE BF@6 BG@6
>`.pickRestart({
A: "[~@19 f#5@3 a5@3 d6@3 f#6 g6@2 ~@5 a5@3 ~@3 a5@3 d6@3, ~@19 d3@19 ~ c3@9, ~@31 f#6@4 ~@13, ~@33 d6@5 ~ c5@7 ~@2]/2",
B: "[e6@3 a5@3 e6@3 d6@2 ~ a5@3 ~@2 g5@3 d6@3 e6@3 g5@3 e6@3 d6@2 ~ g5@3 ~@3 f5@3 d6@3 e6@2 f5@3 e6@3 d6@2 ~ f5@3 d6@3 ~@3 a4@3 d5@3 f#5 g5@2 f#5@3 ~@5 a5@3 ~@3 g5@3 f#5@3 e5@3 d5@3 a4@3 a5@3 d5@3 f#5@3 g5 ~ [g4,d5]@3 g5@2 ~ g5@3 f#5@3 ~@3 g4@2 ~@7 c5@3 ~@3 c5@2 ~@3 g4@3 d4@3 [f#2,a3,d4,a4]@10 ~, ~@15 b2@20 ~@3 a#2@24 ~@2 a3@20 ~@3 g3@20 ~@4 [g3,b3,d4]@21 ~@2 a#2@23 ~@11, ~@15 b4@6 ~@17 a#4@7 ~@19 [d4,f#4]@22 ~ [c4,e4]@22 ~@28 f4@6 g4@6 ~@19, ~@79 d5@5 ~@31 f#5@2 ~@11 d5@5 ~@35, ~@81 a4@5 ~ a4@5 ~@13 a4@5 ~@12 g4@5 ~@7 a#4@6 ~@8 a#4@6 ~@14]/7", // G5 D G D C
C: "[~ [f#2,a3,d4,a4]@12 ~@6 b4@3 d5@3 g5@4 f#5@3 e5@3 d5@3 [f#2,a3,d4,a4]@10, ~@13 [g2,b3,d4]@23 ~@12, ~@13 g4@16 ~@19]/2", // D G
D: "[~@2 [f#2,a3,d4,a4]@12 ~@6 b4@3 d5@3 g5@3 f#5@3 e5@3 d5@3 ~@31 g3@6 ~@6 g3@6 [a4,d5]@12 d4@3 f#4@3 a4@3 d5@3 [a2,c#3,c#5]@9, ~@14 [g2,b3,d4]@23 ~ c#3@23 ~@2 b2@23 ~@13 d3@10 ~@11, ~@14 g4@16 ~@8 [a2,c#5,e5]@10 ~@2 a2@12 ~ [g2,b4,d5]@11 ~ [g2,b4,d5]@12 [f#2,d3]@11 ~ f#2@12 ~@9, ~@44 a3@11 ~ a3@11 ~@53, ~@5 [c#5,e5] ~@6]/5", // D D5 A G A G D C#m
E: "[~@3 [g2,b2,d3,b4,d5]@12 [a4,d5]@10 ~@3 [a4,d5]@9 ~@3 [b2,b4,d5]@11 ~ [f#2,b2,b4,d5]@12 ~@12 d4@10 ~@2 d4@6 e4@6 d4@6 ~ c#4@6 [f#2,b3]@11 ~ [f#2,b3]@12 [g2,d3,g3]@7, ~@15 d2@47 ~@2 d2@35 ~@45, ~@15 f#2@25 ~@24 d3@20 ~@4 a3@14 ~@23 d4@19, ~@28 a2@26 ~@10 a4@24 d3@12 c#3@11 ~@2 b2@22 ~@9, ~@16 a3@3 a2@9 ~@8]/6", // G D5 Bm B5 G5
F: "~@5 [g2,d3,g3,d4]@12 [g2,b2]@7", // G5 G
G: "[~@5 [e3,b3,d4]@11 ~ [a2,c#4,e4]@12 ~ [c#4,g4]@6 e4@6 [a2,c#4,e4]@6, ~@5 g2@17 ~@8 a2@9 ~@9, ~@17 e3@22 ~@9, ~@3 a4]/2", // E7 A C#dim A
H: "[~@6 [a3,c#4,e4]@10 ~@2 [a3,c#4,e4]@10 ~@2 [a3,c#4,e4]@11 ~ b3@10 ~@3 b3@11 ~ a3@12 [b3,d4]@11 ~ [f#3,a3,d4]@11 ~ [f#3,a3,d4]@12 ~ a2@4, ~@6 a1@35 ~ b1@48 ~@30, ~@18 f#2@23 ~ f#4@31 ~@47, ~@55 [f#2,d4]@21 ~@3 f#2@12 e2@24 ~@5, ~@67 b2@21 ~@27 [e3,a3,c#4]@5]/5", // A Bm D A
I: "[~@7 [e3,a3,c#4]@11 ~@2 [f#2,b2,b3]@11 ~ [g2,b3]@11 ~ [b3,d4,g4]@12 [a2,a3,c#4,e4]@11 ~ [a4,d5]@10 ~@2 [a4,d5]@10 ~@2 [b2,d5]@11 ~@2 [f#2,b2,b4,d5]@12 a3@10 ~@2 a3@10 ~@2 d4@6 e4@6 d4@6 c#4@6 [f#2,b3]@3, ~@20 d4@22 ~@2 g2@20 ~@4 d3@47 ~@2 d3@20 ~@4 d3@11 ~ c#3@11 ~@4, ~@68 f#2@25 ~@24 d2@35 ~@16, ~@68 d4@23 ~ b3@22 ~@3 [d4,a4]@24 a3@14 ~@13, ~@80 a2@26 ~@23 a2@36 ~@3]/7", // A B5 G A D5 Bm B5 D5
J: "[~@9 [f#2,b3]@12 ~ [g2,d3]@11 ~ [g2,d3,g3,d4]@12 [g3,d4]@10 ~@2 [g3,b3,d4]@11 ~ [a2,a3]@12 d4@6 e4@6 ~ [a2,f#4,a4]@11 ~ [a2,d5]@12 [b2,d4,g4,b4]@11 ~ [b2,d4]@12 [e3,e4,a4,d5]@11 ~ [e3,c#5]@12 [g2,g4,b4]@11 ~@2 [d4,g4,b4]@10 ~@2, ~@9 d4@20 ~@17 g2@12 g2@17 ~@7 [a2,b3]@10 ~@3 f#2@24 g2@23 ~ a2@24 b2@23 ~@2, ~@22 g3@9 ~@15 b2@22 ~@2 e3@22 ~@88 g2@12, ~@70 [c#4,e4]@11 ~@26 [f#4,a4]@10 ~@14 [g4,b4]@10 ~@14 [e4,a4]@9 ~@28]/8", // B5 G5 G A D D5 G Bm …
K: "[a4,c#5]@5 ~ [a4,c#5]@6, [a2,c#3]@23 ~", L: "[g4,b4]@5 ~ [g4,b4]@5 ~, [b2,d3]@11 ~",
M: "[d4@3 ~@3 f#4@4 ~@2 [a3,f#4]@5 ~ [a3,f#4]@3 ~@3 f#4@3 ~@3 f#4@3 ~@3 f#4@3 ~@9 e4@3 c#4@2 ~ e4@2 ~ e4@2 ~ c#4@3 a4 ~@2 [c#4,e4]@3 [d4,f#4,a4]@3, f#4@5 ~@7 d4@9 ~@6 d4@6 ~@6 d4@6 f#3@6 a3@8 ~ [a3,e4]@6 a3@5 ~, ~@3 [a3,d4]@8 ~@10 b3@6 ~@6 b3@5 ~@4 f#4@5 ~@7 c#4@5 ~@13]/3", // D C#m D A5 D5
N: "[~@3 [d4,f#4,a4]@4 ~@2 [d4,f#4,a4]@3 ~@6 a3@3 ~@3 d4@3 ~@3 f#4@4 ~@2 [a3,f#4]@5 ~ [a3,f#4]@3 ~@3 f#4@3 ~@3 f#4@3 ~@3 f#4@3 ~@9 e4@3 c#4@2 ~ e4@2 ~ e4@2 ~ c#4@3 a4 ~@2 [c#4,e4]@3 [d4,f#4,a4]@3, ~@12 [c#4,e4,a4]@8 ~ b3@6 [a3,d4]@8 ~@10 b3@6 ~@6 b3@5 ~@4 f#4@5 ~@7 c#4@5 ~@13, ~@24 f#4@5 ~@7 d4@9 ~@6 d4@6 ~@6 d4@6 f#3@6 a3@8 ~ [a3,e4]@6 a3@5 ~]/4", // D C#m D A D5 A5
O: "~@3 [d4,f#4,a4]@4 ~@2 [d4,f#4,a4]@3 e4@5 ~ [a3,e4]@5 ~, ~@3 [c#4,a4]@2 ~", // D A5 F#m
P: "[[a3,d4,f#4]@5 ~ [a3,d4,f#4]@5 ~@4 [a3,d4,f#4]@3 [a3,d4,f#4]@3 [b3,d4,g4]@6 ~@3 [b3,d4,g4]@4 ~@5 [b3,d4,g4]@3 [b3,d4,g4]@3 [a3,d4,f#4]@7 ~@2 [a3,d4,f#4]@5 ~@4 [a3,d4,f#4]@3 [b3,d4,f#4]@3 [a3,d4,f#4]@6 ~@3 [a3,d4,f#4]@4 ~@5 [a3,d4,f#4,b4]@3 [a3,d4,f#4,d5]@3 [b3,d4,f#4,f#5]@7 ~@2 [b3,d4,f#4]@4 ~@5 [b3,d4,f#4]@4 ~@2 [b3,d4,g4]@7 ~@2 [b3,d4,g4]@5 ~@4 [b3,d4,g4]@4 ~@2 [a3,c#4,e4]@6 ~@3 [a3,c#4,e4]@5 ~@4 [a3,c#4,e4]@3 [b3,d4]@3 [a3,c#4,e4]@3]/7", // D G D Bm D Bm7 D Bm …
Q: "[~@6 [a3,c#4,e4]@4 ~@5 e4@3 e4@3 [f#3,a3,c#4]@7 ~@2 [f#3,a3,c#4]@4 ~@5 [f#3,a3,c#4]@4 ~@2 [f#3,a3,c#4]@7 ~@2 [f#3,a3,c#4]@5 ~@4 [f#3,c#4]@3 a3@2 ~ [b3,d4,f#4]@6 ~@3 [b3,d4,f#4]@4 ~@2 b3@2 ~ [b3,d4,f#4]@4 ~@2 [b3,d4,f#4]@7 ~@2 [b3,d4,f#4]@5 ~@4 [b3,d4,f#4]@4 ~@2 [a3,c#4,e4]@6 ~@3 [a3,c#4,e4]@5 ~@4 [a3,c#4,e4]@3 [b3,d4]@3 [a3,c#4,e4]@3, ~@15 [a3,c#4]@5 ~@43 a3@2 ~@79]/6", // A F#m F#5 Bm A Bm A
R: "[~@6 [a3,c#4,e4]@4 ~@5 e4@3 e4@3 [g3,b3,d4]@7 ~@2 [b3,d4,g4]@5 ~ b3@2 ~ [b3,d4,g4]@4 ~@2 [g3,b3,d4]@6 ~@3 [b3,d4,g4]@5 ~ d4@3 [a3,c#4,e4]@7 ~@2, ~@15 [a3,c#4]@5 ~@52]/3", // A G A
S: "[[a3,d4,f#4]@5 ~ [a3,d4,f#4]@5 ~ d4@2 ~ [a3,d4,f#4]@3 [a3,d4,f#4]@3 [b3,d4,g4]@6 ~@3 [b3,d4,g4]@4 ~@2 d4@2 ~ [b3,d4,g4]@3 [b3,d4,g4]@3 [a3,d4,f#4]@7 ~@2 [a3,d4,f#4]@5 ~ d4@2 ~ [a3,d4,f#4]@3 [b3,d4,f#4]@3 [a3,d4,f#4]@6 ~@3 [a3,d4,f#4]@4 ~@5 [a3,d4,f#4,b4]@3 [a3,d4,f#4,d5]@3 [b3,d4,f#4,f#5]@7 ~@2 [b3,d4,f#4]@4 ~@2 d4@2 ~ [b3,d4,f#4]@4 ~@2 [b3,d4,g4]@7 ~@2 d4@2 ~ d4@2 ~@4 [b3,d4,g4]@4 ~@2 [a3,c#4,e4]@6 ~@3 [a3,c#4,e4]@5 ~ c#4@2 ~ [a3,c#4,e4]@3 [b3,d4]@3 [a3,c#4,e4]@6 ~@3 [a3,c#4,e4]@4 ~@8 [a3,e4]@5 ~, ~@126 [b3,g4]@5 ~@49 [a3,e4]@5 ~@7, ~@183 c#4@5 ~@4]/8", // D G D Bm D Bm7 D Bm …
T: "[a2,f#4,a4]@6 [a3,f#4]@5 ~, f#2, d4@5 ~ a2@6", U: "~ [b2,b3,d4,g4]@11 ~ [b2,b3,d4,g4]@11, ~ g2@23",
V: "[~@2 [a2,d4,e4,a4]@12 [a2,c#4]@12 ~ [g2,d4,g4,b4]@11 ~ [d4,g4]@10 ~@2 [c#4,e4,a4]@10 ~@3 [a3,e4]@12 [g3,d4,g4]@10 ~@2 [g3,d4]@10 ~@2 d4@3 ~@3 f#4@4 ~@2 [a3,f#4]@5 ~ [a3,f#4]@3 ~@3 f#4@3 ~@3 f#4@3 ~@3 f#4@3 ~@9 e4@3 c#4@2 ~ e4@2 ~ e4@2 ~ c#4@3 a4 ~@2 [c#4,e4]@3 [d4,f#4,a4]@3 ~@3 [d4,f#4,a4]@4 ~@2 [d4,f#4,a4]@3 ~@6 a3@2, ~@2 e2@24 ~ b2@24 ~@49 f#4@5 ~@7 d4@9 ~@6 d4@6 ~@6 d4@6 f#3@6 a3@8 ~ [a3,e4]@6 a3@5 ~@21, ~@14 [a3,e4]@10 ~@15 g2@12 [c#2,a2]@24 ~ [d2,g2]@22 ~@5 [a3,d4]@8 ~@10 b3@6 ~@6 b3@5 ~@4 f#4@5 ~@7 c#4@5 ~@25 [c#4,e4,a4]@8]/8", // Asus4 A G G5 A A5 G5 D …
W: "[~@4 d4@3 ~@3 f#4@4 ~@2 [a3,f#4]@5 ~ [a3,f#4]@3 ~@3 f#4@3 ~@3 f#4@3 ~@3 f#4@3 ~@9 e4@3 c#4@2 ~ e4@2 ~ e4@2 ~ c#4@3 a4 ~@2 [c#4,e4]@3 [d4,f#4,a4]@3 ~@3 [d4,f#4,a4]@4 ~@2 [d4,f#4,a4]@3 e4@5 ~ [a3,e4]@5 ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@5 ~ d6@3 [a3,d4,f#4]@3 [a3,d4,f#4,d6]@2, ~ b3@6 [a3,d4]@8 ~@10 b3@6 ~@6 b3@5 ~@4 f#4@5 ~@7 c#4@5 ~@25 [c#4,a4]@8 ~@4 d6@3 ~@3 d6@3 ~@11, ~@4 f#4@5 ~@7 d4@9 ~@6 d4@6 ~@6 d4@6 f#3@6 a3@8 ~ [a3,e4]@6 a3@5 ~@45]/5", // D C#m D A5 D D5 F#m A5
X: "~@4 d6@2 ~@4 [b3,d4,g4,d6]@4 ~@2 d6@3 [b3,d4,g4]@3 [b3,d4,g4,d6]@2, ~ [b3,d4,g4]@6 ~@17", // G
Y: "~@4 d6@3 ~@3 [a3,d4,f#4]@5 ~ d6@3 [a3,d4,f#4]@3 [b3,d4,f#4,d6]@2, ~ [a3,d4,f#4]@7 ~@2 d6@3 ~@11", // D Bm D
Z: "~@4 d6@3 ~@3 [a3,d4,f#4,d6]@4 ~@2 d6@2 ~ [a3,d4,f#4,b4]@3 [a3,d4,f#4,d5,d6]@2, ~ [a3,d4,f#4]@6 ~@17", // D Bm7 D
AA: "~@4 d6@3 ~@3 [b3,d4,f#4]@4 ~@2 d6@3 [b3,d4,f#4]@3 d6@2, ~ [b3,d4,f#4,f#5]@7 ~@2 d6@2 ~@12", // Bm
AB: "~@4 d6@3 ~@3 [b3,d4,g4]@5 ~ d6@3 [b3,d4,g4]@3 d6@2, ~ [b3,d4,g4]@7 ~@2 d6@3 ~@11", // G
AC: "~@4 c#6@2 ~@4 [a3,c#4,e4]@5 ~ c#6@2 ~ [a3,c#4,e4]@3 [b3,d4,c#6]@2, ~ [a3,c#4,e4]@6 ~@3 c#6@2 ~@12", // A Bm A
AD: "~@4 c#6@2 ~@4 [a3,c#4,e4]@4 ~@2 c#6@2 ~ e4@3 [e4,c#6]@2, ~ [a3,c#4,e4]@6 ~@3 c#6@2 ~@7 [a3,c#4]@5", // A C#m A
AE: "~ [f#3,a3,c#4]@7 ~@2 [f#3,a3,c#4]@4 ~@2 a3@2 ~ [f#3,a3,c#4]@4 ~", // F#m
AF: "~ [f#3,a3,c#4]@7 ~@2 [f#3,a3,c#4]@5 ~@4 [f#3,c#4]@3 a3@2, ~@19 a3@2 ~@3", // F#m F#5
AG: "~ [b3,d4,f#4]@6 ~@3 [b3,d4,f#4]@4 ~@5 [b3,d4,f#4]@4 ~", // Bm
AH: "~ [b3,d4,f#4]@7 ~@2 [b3,d4,f#4]@5 ~ b3@2 ~ [b3,d4,f#4]@4 ~", // Bm
AI: "~ [a3,c#4,e4]@6 ~@3 [a3,c#4,e4]@5 ~@4 [a3,c#4,e4]@3 [b3,d4]@2", // A Bm
AJ: "~ [a3,c#4,e4]@6 ~@3 [a3,c#4,e4]@4 ~@5 e4@3 e4@2, ~@19 [a3,c#4]@5", // A
AK: "~ [g3,b3,d4]@7 ~@2 [b3,d4,g4]@5 ~@4 [b3,d4,g4]@4 ~", // G
AL: "[~ [g3,b3,d4]@6 ~@3 [d4,g4]@2 ~ [d4,g4]@5 ~ [a3,c#4,e4]@7 ~@2 [a3,d4,f#4]@5 ~ [a3,d4,f#4]@5 ~ a3@2 ~ [a3,d4,f#4]@3 [a3,d4,f#4]@2, ~@10 b3@3 ~@35]/2", // G G5 A D
AM: "~ [b3,d4,g4]@6 ~@3 [b3,d4,g4]@4 ~@5 [b3,d4,g4]@3 [b3,d4,g4]@2", // G
AN: "~ [a3,d4,f#4]@7 ~@2 [a3,d4,f#4]@5 ~@4 [a3,d4,f#4]@3 [b3,d4,f#4]@2", // D Bm
AO: "~ [a3,d4,f#4]@6 ~@3 [a3,d4,f#4]@4 ~@5 [a3,d4,f#4,b4]@3 [a3,d4,f#4,d5]@2", // D Bm7 D
AP: "~ [b3,d4,f#4,f#5]@7 ~@2 [b3,d4,f#4]@4 ~@5 [b3,d4,f#4]@4 ~", // Bm
AQ: "~ [b3,d4,g4]@7 ~@2 [b3,d4,g4]@5 ~@4 [b3,d4,g4]@4 ~", // G
AR: "~ [a3,c#4,e4]@6 ~@3 [a3,c#4,e4]@4 ~@8 [a3,e4]@2, ~@16 [a3,e4]@5 ~@3, ~@19 c#4@5", // A A5
AS: "[~@4 [a2,f#4,a4]@12 ~ [a3,f#4]@10 ~@2 [b2,b3,d4,g4]@11 ~@2 [b2,d4]@12 [a2,d4,e4,a4]@12 ~ [a2,c#4]@12 [g2,d4,g4,b4]@11 ~@2 [d4,g4]@10 ~@2 [c#4,e4,a4]@10 ~@3 [a3,e4]@12 [g3,d4,g4]@11 ~ [g3,d4]@10 ~@3 d4@3 ~@3 f#4@4 ~@2 [a3,f#4]@5 ~ [a3,f#4]@3 ~@3 f#4@3 ~@3 f#4@3 ~@3 f#4@2, ~@4 f#2@24 ~ g2@24 ~ e2@24 ~ b2@24 ~@51 f#4@5 ~@7 d4@9 ~@6 d4@6 ~@5, ~@4 d4@10 ~@3 a2@12 ~@13 [b3,g4]@10 ~@15 [a3,e4]@10 ~@15 g2@12 [c#2,a2]@24 ~ [d2,g2]@22 ~@6 [a3,d4]@8 ~@10 b3@6 ~@6 b3@5]/8", // D G Bm Asus4 A G G5 A …
AT: "[~@10 e4@3 c#4@2 ~ e4@2 ~ e4@2 ~ c#4@3 a4 ~@2 [c#4,e4]@3 [d4,f#4,a4]@3 ~@3 [d4,f#4,a4]@4 ~@2 [d4,f#4,a4]@3 ~@6 a3@3 ~@3 d4@3 ~@3 f#4@4 ~@2 [a3,f#4]@5 ~ [a3,f#4]@3 ~@3 f#4@3 ~@3 f#4@3 ~@3 f#4@3 ~@9 e4@3 c#4@2 ~ e4@2 ~ e4@2 ~ c#4@3 a4 ~@2 [c#4,e4]@3 [d4,f#4,a4]@3 ~@3 [d4,f#4,a4]@4 ~@2 [d4,f#4,a4]@3 e4@5 ~ [a3,e4]@5 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@2 ~@3 [a3,d4,f#4]@2 ~ [a3,d4,f#4]@3, ~ d4@6 f#3@6 a3@8 ~ [a3,e4]@6 a3@5 ~@22 b3@6 [a3,d4]@8 ~@10 b3@6 ~@6 b3@5 ~@4 f#4@5 ~@7 c#4@5 ~@25 [c#4,a4]@8 ~@18, ~@4 f#4@5 ~@7 c#4@5 ~@25 [c#4,e4,a4]@8 ~@4 f#4@5 ~@7 d4@9 ~@6 d4@6 ~@6 d4@6 f#3@6 a3@8 ~ [a3,e4]@6 a3@5 ~@39]/7", // C#m D C#m D A5 D A5 D5 …
AU: "[~@6 [g2,g3,b3,d4]@28 ~@13 d4@10 ~@2 d4@6 e4@6 d4@6 c#4@6 ~ [f#2,b3]@11 ~ [f#2,b3]@12 [d3,g3]@10 ~@2, ~@34 a4@24 ~ d3@11 ~ c#3@11 ~@2 b2@23 ~@13, ~@34 d3@20 ~@5 a3@14 ~@23 d4@20 ~@4, ~@34 a3@13 a2@36 ~@25 g2@12, ~@7 d2@7 ~@10]/5", // G B5 G5
AV: "[g2,d3]@13 [g2,b2]@11, [g3,d4]@11 ~@13", AW: "~ [b3,d4,g4]@11 ~@2 [a2,e3,c#4,e4]@10, ~ g2@18 ~@5",
AX: "[~@2 [c#4,g4]@6 e4@6 ~ [a2,c#4,e4]@12 [a3,c#4,e4]@10 ~@3 [f#3,a3,c#4,e4]@10 ~@2 [f#3,a3,c#4,e4]@12 ~ b3@10 ~@3 b3@11 ~ a3@12 ~ [b3,d4]@11 ~ [f#3,a3,d4]@11 ~@2 [f#3,a3,d4]@12 ~ [e3,a3,c#4]@3, ~@2 a2@10 ~@3 f#2@45 ~@5 b1@50 ~@29, ~@8 a4@26 ~@31 f#4@32 ~@47, ~@27 a2@36 ~@15 f#2@22 ~@3 f#2@12 a2@24 ~@5, ~@27 e3@13 ~@38 d4@20 ~@46]/6", // C#dim A F#m7 Bm D A
AY: "[~@9 [e3,a3,c#4]@11 ~@2 [b2,f#3]@12 ~ [g2,b3]@11 ~ [d4,g4]@13 [a2,a3,c#4,e4]@12, ~@22 d4@23 ~@2 b3@11 ~@14, ~@22 b3@10 ~@15 g2@21 ~@4]/3", // A B5 G G5 A
AZ: "[[a4,d5]@10 ~@3 [a4,d5]@11 ~@2 [b2,d5]@11 ~ [f#2,b2,b4,d5]@10, d2, f#2@13 ~@11, d4@23 ~@3 b3@22, ~@13 a2@27 ~@8]/2", // D5 Bm
BA: "[~@3 a3@10 ~@2 a3@10 ~@3 d4@6 [e4,g4]@7 [d4,f#4]@6 [c#4,e4]@6 [f#2,b3,d4]@12 ~ [f#2,b3]@13 [d3,g3]@10 ~@2 [g2,d3,g3,d4]@12 ~ [a3,d4]@11 ~@2 [g3,b3,d4]@12 ~ [a2,a3]@13 d4@6 ~ e4@6 [f#2,a2,f#4,a4]@12, ~@3 d2@25 f#4@5 ~@33 d4@20 ~@44 [c#4,e4]@12 ~@26, ~@3 [d4,a4]@25 a3@14 ~@126, ~@3 d3@21 ~@4 d3@11 ~@2 c#3@12 b2@23 ~@28 d3@23 ~@3 e2@24 ~@14, ~@15 a2@37 ~@27 g2@12 ~@13 a2@13 g2@19 ~@7 [a2,b3]@11 ~@14]/7", // Em D C#m Bm B5 G5 D5 G …
BB: "[~ [a2,d5]@13 [d4,g4,b4]@12 ~@2 [d4,g4,b4]@11 ~@2 [e3,e4,a4,d5]@12 ~ [e3,c#5]@13 [g4,b4]@12 ~ [d4,g4,b4]@11 ~@2 [a4,c#5]@10 ~@3 [a4,c#5]@13 [g4,b4]@11 ~@3 [g4,b4]@11, ~ [f#4,a4]@11 ~@2 g2@25 ~@2 a2@26 b2@25 ~ [a2,c#3]@25 ~ [b2,d3]@24 ~, ~@14 b2@10 ~@4 b2@13 ~@13 [e4,a4]@10 ~@3 g2@10 ~@3 g2@13 ~@51]/6", // D5 G Dsus2 C#m G A G F#m …
BC: "[~@2 [a#3,d4,f4]@92 ~ f#5@3 a5@3 d6@3 f#6 ~@2 f#6@3 ~@3 a5@3 ~@3 a5@3 d6@3 e6@3 a5@3 e6@2 d6@2 ~ a5@3 ~@3 g5@2, ~@2 a#2@89 ~@4 d3@19 ~@2 c3@20 ~@3 [b2,b4]@5, ~@106 g6@2 ~@2 d6@5 ~ c5@7 ~@21]/6", // A# B
BD: "[~ d6@3 e6@3 g5@3 e6@3 d6@2 ~ g5@3 ~@2 f5@3 d6@3 e6@3 f5@3 e6@3 d6@2 ~ f5@3 d6@3 ~@3 a4@3 d5@2 f#5 ~@2 f#5@3 ~@6 a5@3 ~@3 g5@3 f#5@3 e5@3 d5@3 a4@2 a5@3 d5@3 f#5@3 g5 ~@2 [g4,d5]@3 g5@2 ~ g5@3 f#5@3 ~@3 g4@2 ~@6 c5@3 ~@3 c5@3 ~@3 g4@3 d4@3 f#5@3 a5@3 d6@3 f#6 g6@2 ~@5 a5@3 ~@3 a5@3 d6@3 e6@3 a5@3 e6@3 d6@2 ~ a5@3 ~@3 g5@3 d6@3 e6, ~@19 a#2@24 ~@2 a3@20 ~@3 g3@20 ~@3 [g3,b3,d4]@21 ~@3 a#2@23 d3@19 ~ c3@21 ~@3 b2@10, ~@19 a#4@7 ~@19 [d4,f#4]@22 ~ [c4,e4]@22 ~@28 f4@6 ~@34 c5@7 ~@17 b4@6 ~@4, ~@55 g5@2 ~@2 d5@5 ~@32 f#5@2 ~@11 d5@5 ~@36 f#6@4 ~@38, ~@62 a4@5 ~ a4@5 ~@12 a4@5 ~@13 g4@5 ~@7 a#4@6 ~@2 g4@6 a#4@6 ~@17 d6@5 ~@35]/8", // G5 G D C
BE: "~@2 g5@3 ~@2 d6@2 ~ g5@3 ~@3 f5@3 d6@3 e6@2, ~@5 e6@4 ~@4 a#2@11, ~@13 a#4@7 ~@4",
BF: "[~ f5@3 e6@3 d6@3 f5@3 d6@3 ~@3 a4@3 d5@3 f#5 ~@2 f#5@3 ~@6 a5@3 ~@3 g5@3 f#5@3 e5@3 d5@3 a4@3 a5@3 d5@3 g5@3 f#5@3 [g4,e5]@4 d5@3 g5@3 f#5@4 e5@3 [g4,d5]@3 d5@4 c5@3 a#4@3 ~ f4@4 e5@3 d5@4 c5@3 ~ g4@3 [d3,a3,d5,f#5]@25, ~@16 [a3,d4,f#4]@22 ~@2 [g3,c4,e4]@22 ~@2 [g3,b3,d4]@24 ~@2 f3@15 ~@39, ~@27 g5@2 ~@2 d5@5 ~@108, ~@34 a4@5 ~ a4@5 ~@13 a4@5 ~@14 g4@6 ~@7 a#2@13 ~@2 [c3,g3]@14 ~@25]/6", // C G5 D C G C5
BG: "[~ [d3,f#3,a3]@22 ~]/6", // D
})).s("gm_piano").gain(0.3)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@40 A@5 B C@4 D@4 E F@8 G@8 H@8 I J K L M@2 N O P Q R S P T U V W X Y Z@2 AA AB AC@2 AD@2 AA AE AF U AG AH AI AJ AK
AL AM@8 AN AO AP@2 AN AO AQ@2 AR@2 ~@22 AS@7 AT@4 ~@23
>`.pickRestart({
A: "[~@23 [f#2,d3]@24 [g2,b2]@23 ~ [a2,d3]@23 ~ [b2,g3]@24 ~]/5", B: "[c#3,e3]",
C: "[[b2,d3]@21 [b3,d4]@6 [a3,d4,f#4]@11 ~ [a3,d4,f#4]@3 ~@3 [b3,d4]@6 [d4,f#4]@6 b3@6 [a3,d4,f#4]@6 ~@3 a3@2 ~ [a3,e4]@11 ~ [a3,c#4,e4]@3 ~@3 [a3,d4,f#4]@3, ~@51 a3@10 ~@8 f#3@6 c#4@9 ~@12]/4", // Bm D Bm D A5 A D
D: "[~@3 [a3,d4,f#4]@4 ~@2 [d4,f#4]@3 [a3,c#4,e4]@9 ~@6 [a3,d4,f#4]@11 ~ [a3,d4,f#4]@3 ~@3 [b3,d4]@6 [d4,f#4]@6 b3@6 [a3,d4,f#4]@6 ~@3 a3@2 ~ [a3,e4]@11 ~ [a3,c#4,e4]@3 ~@3 [a3,d4,f#4]@3, ~@21 [b3,d4]@5 ~@25 a3@10 ~@8 f#3@6 c#4@9 ~@12, ~@8 d3@3 ~@21]/4", // D A D Bm D A5 A D …
E: "~@3 [a3,d4,f#4]@4 ~@2 [d4,f#4]@3 [a3,c#4]@6 [a3,c#4]@2 ~@4, ~@4 e4@3 ~", // D A
F: "[[a3,d4,f#4]@3 ~@3 [a3,d4,f#4]@3 ~@6 [a3,d4]@3 d4@2 ~ [b3,d4,g4]@5 ~ [b3,d4,g4]@3 ~@9 [b3,d4,g4]@3 ~@3 [a3,d4,f#4]@6 [a3,d4,f#4]@3 ~@9 [a3,d4,f#4]@3 [d4,g4]@2 ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@3 ~@9 [a3,d4,f#4]@3 [a3,d4]@2 ~ [b3,d4,f#4]@5 ~ [b3,d4,f#4]@3 ~@9 [b3,d4]@3 d4@2 ~ [b3,d4,g4]@5 ~ [b3,d4,g4]@3 ~@9 d4@3 d4@3 [c#4,e4,a4]@6 [c#4,e4,a4]@3 ~@9 [c#4,e4]@3 d4@3 [a3,c#4,e4]@5 ~ c#4@6 c#4@5 ~ [a3,c#4]@3 c#4@2 ~ [f#3,a3,c#4]@3, ~@15 f#4@5 ~@91 f#4@5 ~@19 [b3,g4]@6 ~@18 a3@5 ~@7 [e4,a4]@10 ~@2 e4@6 ~@3]/8", // D D5 G D G5 D D5 Bm …
G: "[~@3 [f#3,a3,c#4]@3 ~@9 [f#3,c#4]@5 ~ [f#3,a3,c#4]@5 ~ [f#3,a3,c#4]@3 ~@9 a3@3 a3@3 [f#3,b3,d4]@6 [b3,d4,f#4]@3 ~@3 f#4@6 b3@3 b3@2 ~ [f#3,a3,b3,d4]@5 ~ [a3,d4,f#4]@3 ~@9 d4@3 b3@3 [a3,c#4,e4]@6 [a3,c#4,e4]@3 ~@3 [e3,a3]@5 ~ [a3,c#4]@3 [b3,d4]@3 [a3,c#4,e4]@5 ~ c#4@6 c#4@5 ~ [a3,c#4]@3 c#4@2 ~ [g3,b3,d4]@5 ~ [g3,b3,d4]@3 ~@9 [g3,d4]@5 ~ [g3,b3,d4]@5 ~ [g3,b3,d4]@3 ~@9 [e3,a3,c#4,a4]@6 ~@3, ~@15 a3@3 ~@21 [f#3,c#4]@6 ~@12 b3@5 ~ [f#3,d4]@5 ~@19 [f#3,a3]@6 ~@30 [e4,a4]@10 ~@2 e4@6 ~@18 b3@3 ~@30]/8", // F#m F#5 F#m Bm Bm7 D A A5 …
H: "[[a3,d4,f#4]@3 ~@3 [a3,d4,f#4]@3 ~@6 [a3,d4]@3 d4@2 ~ [b3,d4,g4]@5 ~ [g3,b3,d4]@3 ~@3 [g3,b3]@5 ~ [b3,d4,g4]@3 ~@3 [a3,d4,f#4]@6 [a3,d4,f#4]@3 ~@9 [a3,d4,f#4]@3 [d4,g4]@2 ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@3 ~@3 a3@5 ~ [a3,d4,f#4]@3 [a3,d4]@2 ~ [b3,d4,f#4]@5 ~ [b3,d4,f#4]@3 ~@3 f#3@5 ~ [b3,d4]@3 d4@2 ~ [b3,d4,g4]@5 ~ [b3,d4,g4]@3 ~@3 g3@3 g3@3 d4@3 d4@3 [c#4,e4,a4]@6 [c#4,e4,a4]@3 ~@9 [c#4,e4]@3 d4@3 [a3,c#4,e4]@5 ~ c#4@6 c#4@5 ~ c#4@3 c#4@4 ~@2, ~@15 f#4@5 ~@91 f#4@5 ~@19 [b3,g4]@6 ~@18 a3@5 ~@7 [e4,a4]@10 ~@2 [a3,e4]@7 ~@2]/8", // D D5 G D G5 D D5 Bm …
I: "[f#2,d3]@11 ~", J: "~ [g2,b2]@22 ~", K: "~ [a2,d3]@11", L: "~ [b2,g3]@7",
M: "[~@3 [c#3,e3]@23 ~@2 [b2,d3]@19 ~]/2", N: "~ [b3,d4]@3 b3@3 [a3,d4,f#4]@11 ~ [a3,d4,f#4]@3 ~@2",
O: "~@2 d4@5 [d4,f#4]@6 b3@6 [a3,d4,f#4]@5, ~ b3@6 a3@10 ~@7", // D
P: "~@4 a3@2 ~ [a3,e4]@11 ~ [a3,c#4,e4]@3 ~@2, ~ f#3@6 c#4@9 ~@8", // A5 A
Q: "~ [a3,d4,f#4]@3 ~@3 [a3,d4,f#4]@4 ~@2 [d4,f#4]@3 [a3,c#4,e4]@8", // D A
R: "~@7 [a3,d4,f#4]@11 ~ [a3,d4,f#4]@3 ~@2, ~ [b3,d4]@5 ~@18, ~@4 d3@9 ~@11", // D Bm
S: "~ [b3,d4]@6 [d4,f#4]@6 b3@6 [a3,d4,f#4]@5, ~@7 a3@10 ~@7", // Bm D
T: "~ [a3,d4,f#4]@3 ~@3 [a3,d4,f#4]@4 ~@2 [d4,f#4]@3 [a3,c#4]@6 [a3,c#4]@2, ~@2 e4", // D A
U: "~@4 [a3,d4,f#4]@3 ~@3 [a3,d4,f#4]@3 ~@6 [a3,d4]@3 d4@2, ~@19 f#4@5", // D D5
V: "~ [b3,d4,g4]@5 ~ [b3,d4,g4]@3 ~@3 b3@4 ~@2 [b3,d4,g4]@3 ~@2", // G
W: "~ [a3,d4,f#4]@6 [a3,d4,f#4]@3 ~@3 a3@4 ~@2 [a3,d4,f#4]@3 [d4,g4]@2", // D G5
X: "~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@3 ~@3 a3@2 ~ a3@2 ~ [a3,d4,f#4]@3 [a3,d4]@2", // D D5
Y: "~ [b3,d4,f#4]@5 ~ [b3,d4,f#4]@3 ~@3 b3@5 ~ [b3,d4]@3 d4@2, ~@19 f#4@5", // Bm
Z: "[~ [b3,d4,g4]@5 ~ [b3,d4,g4]@3 ~@3 b3@5 ~ d4@3 ~ d4@2 [c#4,e4,a4]@6 [c#4,e4,a4]@3 ~@3 a3@5 ~ [c#4,e4]@3 d4@2, ~@19 [b3,g4]@6 ~@18 a3@5]/2", // G A C#m Em
AA: "~ [a3,c#4,e4]@5 ~ c#4@6 c#4@5 ~ [a3,c#4]@3 c#4@2, ~@7 [e4,a4]@10 ~@2 e4@5", // A A5
AB: "~ [f#3,a3,c#4]@5 ~ [f#3,a3,c#4]@3 ~@3 f#3@5 ~ [f#3,c#4]@5, ~@19 a3@3 ~@2", // F#m F#5
AC: "[~ [f#3,a3,c#4]@5 ~ [f#3,a3,c#4]@3 ~@3 f#3@5 ~ a3@3 ~ a3@2 [f#3,b3,d4]@6 [b3,d4,f#4]@3 ~@3 f#4@6 b3@3 b3@2, ~@19 [f#3,c#4]@6 ~@12 b3@5 ~ [f#3,d4]@5]/2", // F#m Bm F#5 D
AD: "[~ [f#3,a3,b3,d4]@5 ~ [a3,d4,f#4]@3 ~@3 f#3@5 ~ d4@3 ~ b3@2 [a3,c#4,e4]@6 [a3,c#4,e4]@3 ~@3 [e3,a3]@5 ~ [a3,c#4]@3 [b3,d4]@2, ~@19 [f#3,a3]@6 ~@23]/2", // Bm7 D A A5 A Bm F#m
AE: "~ [g3,b3,d4]@5 ~ [g3,b3,d4]@3 ~@3 b3@5 ~ [g3,d4]@5, ~@19 b3@3 ~@2", // G G5
AF: "~ [g3,b3,d4]@5 ~ [g3,b3,d4]@3 ~@3 [g3,b3]@5 ~ [e3,a3,c#4,a4]@5", // G A
AG: "~ [b3,d4,g4]@5 ~ [g3,b3,d4]@3 ~@3 [g3,b3]@5 ~ [b3,d4,g4]@3 ~@2", // G
AH: "~ [a3,d4,f#4]@6 [a3,d4,f#4]@3 ~@3 [a3,d4]@5 ~ [a3,d4,f#4]@3 [d4,g4]@2", // D D5 D G5
AI: "~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@3 ~@3 a3@5 ~ [a3,d4,f#4]@3 [a3,d4]@2", // D D5
AJ: "~ [b3,d4,f#4]@5 ~ [b3,d4,f#4]@3 ~@3 f#3@5 ~ [b3,d4]@3 d4@2, ~@19 f#4@5", // Bm
AK: "~ [b3,d4,g4]@5 ~ [b3,d4,g4]@3 ~@3 g3@3 g3@3 d4@3 d4@2, ~@19 [b3,g4]@5", // G Em
AL: "~ [c#4,e4,a4]@6 [c#4,e4,a4]@3 ~@9 [c#4,e4]@3 d4@2, ~@19 a3@5", // A C#m
AM: "[~ [a3,c#4,e4]@5 ~ c#4@6 c#4@5 ~ c#4@3 c#4@4 ~@2 [f#2,d3]@22 ~@3 [g2,b2]@22 ~@3 [a2,d3]@22 ~@3 [b2,g3]@22 ~@3 [c#3,e3]@23 ~@2 [b2,d3]@20 ~@2 [b3,d4]@3 b3@3 [a3,d4,f#4]@11, ~@7 [e4,a4]@10 ~@2 [a3,e4]@7 ~@166]/8", // A D G D5 Em C#m Bm D …
AN: "~ [a3,d4,f#4]@3 ~@3 [b3,d4]@6 [d4,f#4]@6 b3@5, ~@13 a3@10 ~", // D Bm D
AO: "~ [a3,d4,f#4]@6 ~@3 a3@2 ~ [a3,e4]@11, ~@7 f#3@6 c#4@9 ~@2", // D A5
AP: "[~ [a3,c#4,e4]@3 ~@3 [a3,d4,f#4]@4 ~@2 [a3,d4,f#4]@4 ~@2 [d4,f#4]@3 [a3,c#4,e4]@9 ~@6 [a3,d4,f#4]@11, ~@31 [b3,d4]@5 ~@12, ~@34 d3@9 ~@5]/2", // A D A D Bm
AQ: "[~ [a3,c#4,e4]@3 ~@3 [a3,d4,f#4]@4 ~@2 [a3,d4,f#4]@4 ~@2 [d4,f#4]@3 [a3,c#4]@6 [a3,c#4]@2 ~@4 [a3,d4,f#4] ~@2 [a3,d4,f#4]@2 ~@3 [a3,d4,f#4] ~@2 [a3,d4,f#4]@2 ~, ~@22 e4@9 ~@17]/2", // A D A D
AR: "[~@3 [d3,g3]@13 ~@8]/2", // G5
AS: "[~@12 [f#2,d3]@23 ~@3 [g2,b2]@23 ~@4 [a2,d3]@23 ~@3 [b2,g3]@23 ~@3 [c#3,e3]@24 ~@2 [b2,d3]@23 ~@2]/7", // D G D5 Em C#m Bm
AT: "[~ [a#2,d3,f3]@43 ~@4]/4", // A#
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.7)
// drums · kick
const kick = s("bd").struct(`<
~@40 A@4 ~ B@2 C@7 D C@7 D C@7 E C@7 D B F G H@2 I J@7 K L J@6 K L J M N J@3 K J@7 K I O P Q R S T U V W X U V W ~ P Y
~@22 Z AA AB AC AD A ~ G ~@26
>`.pickRestart({
A: "~@23 x", B: "x", C: "x ~@3 x!2 ~ x", D: "x!4", E: "x ~ x ~ x ~ x!2", F: "~ x ~@22", G: "~ x ~@10", H: "~ x ~@6",
I: "~ x ~@4", J: "~ x ~@2 x ~@11 x ~@2 x ~@4", K: "~ x ~@2 x ~@5 x ~@5 x ~@5 x ~", L: "~@4 x ~@11 x ~@2 x ~@4",
M: "~ x ~@2 x ~@8 x ~@5 x ~@4", N: "~ x ~@5 x ~@8 x ~@2 x ~@4", O: "~@5 x ~@18", P: "~ x ~@2", Q: "~@7 x ~@16",
R: "~ x ~", S: "~@3 x ~@4", T: "~@7 x ~@2 x ~@11 x ~", U: "~ x ~@5 x ~@2 x ~@11 x ~", V: "~ x ~@5 x ~@2 x ~@8 x ~@4",
W: "~ x ~@5 x ~@5 x ~@5 x ~@2 x ~", X: "~@5 x ~@5 x", Y: "~@5 x ~@6", Z: "~ x", AA: "~@7 x ~@4", AB: "~@17 x ~@6",
AC: "~@19 x ~@4", AD: "~@7 x",
})).gain(0.3)
// drums · snare
const snare = s("sd").struct(`<
~@46 A B@7 C B@7 D B@7 E B@7 F G H I J K L M@7 N M@6 O P M@2 Q M@4 R S M@6 T U V W X Y Z K AA AB AC AD AA AB AC AE
~@28 AF ~@29
>`.pickRestart({
A: "~@4 x!3 ~", B: "~ x ~ x", C: "~ x ~ x ~@4", D: "~@3 x!2 ~ x ~@2 x ~@14", E: "~ x!6 ~",
F: "~@3 x ~@2 x ~@2 x ~@7 x!2 ~@5", G: "~ x", H: "~@13 x ~@10", I: "~@7 x ~@4", J: "~@5 x ~@2", K: "~@2 x",
L: "~@15 x!2 ~@7", M: "~@5 x ~@5 x", N: "~@7 x ~@5 x ~@10", O: "~@7 x ~@2 x ~@2 x ~ x!2 ~@5 x ~",
P: "~@4 x ~ x!2 ~ x!2 ~@2 x ~@10", Q: "~@5 x ~@2 x ~@2 x", R: "~@7 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x!2 ~",
S: "x!2 ~ x ~@6 x ~@11 x ~", T: "~@7 x ~@2 x ~@2 x ~@8 x!2", U: "~@17 x ~@6", V: "~@3 x", W: "~@19 x ~@4", X: "~@5 x",
Y: "~@7 x", Z: "~@20 x!2 ~@2", AA: "~ x ~@2 x ~", AB: "~@2 x ~@5 x ~@2 x", AC: "~ x ~@4",
AD: "~@2 x ~ x ~@2 x ~@8 x ~@7", AE: "~@2 x ~ x ~@5 x ~@2 x ~@4 x ~@2 x ~@2", AF: "~@8 x ~@2 x ~@3 x ~@8",
})).gain(0.3)
// drums · low tom
const low_tom = s("lt").struct(`<
~@46 A ~@7 B ~@7 C ~@19 B ~ D ~@7 E F ~@5 G H F ~@18 I J ~ K ~@7 L ~@28 M ~@29
>`.pickRestart({
A: "~@3 x ~@4", B: "~@6 x!2", C: "~@7 x ~@2 x ~@7 x ~@2 x ~@2", D: "~@19 x ~@2 x ~", E: "~@11 x", F: "~ x ~@22",
G: "~@19 x ~ x ~@2", H: "~@12 x ~@2 x ~@6 x ~", I: "~@23 x", J: "~ x ~@10", K: "~ x ~@2 x ~@19", L: "~@7 x ~@16",
M: "~@5 x ~@18",
})).gain(0.25)
// drums · hihat
const hihat = s("hh").struct("<~@79 A B C D E F ~@32 G H A I J D K ~@33 L M N ~ O P ~@27>".pickRestart({
A: "x ~@5 x ~@5 x ~@6 x ~@4", B: "~ x ~@5 x ~@5 x ~@5 x ~@4", C: "~ x ~@2 x ~@2 x ~@2 x ~", D: "~ x ~ x ~ x ~ x",
E: "~@3 x ~@6 x ~@5 x ~@5 x ~", F: "~@2 x ~@2 x ~@2 x ~@2 x", G: "~@4 x ~@6 x ~@5 x ~@5 x",
H: "~@5 x ~@6 x ~@5 x ~@5", I: "~ x ~@5 x ~@5 x ~@6 x ~@3", J: "~@2 x ~@5 x ~@5 x ~@6 x ~@2", K: "~ x ~@4",
L: "~ x ~@22", M: "~ x ~@6", N: "~ x ~@2", O: "~@5 x ~@6", P: "~ x",
})).gain(0.25)
// drums · mid tom
const mid_tom = s("mt").struct("<~@54 A ~@7 A ~@15 B ~@13 C D ~@6 E D ~@14 F ~@73>".pickRestart({
A: "~@13 x ~ x!2 ~@2 x ~@2 x ~", B: "~@5 x ~@2", C: "~@18 x!2 ~ x ~@2", D: "x!2 ~@6", E: "~ x ~@16 x!2 ~ x ~@2",
F: "~@19 x ~@4",
})).gain(0.25)
// … 28 more lines
More by Billy Joel
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.