0:00/0:00
// Country Comfort — Elton John
// 136 bpm, 4/4, key A 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 173 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(136/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 · piano · "tk1"
const piano = note(`<
A@6 B@2 C@8 D@3 E F G@2 H@2 I J K@4 L@2 M N O P Q R@3 S T@3 U V@2 W@2 X Y Z@2 AA AB@2 G@2 H@2 I J K@4 L@2 M N O AC AD
AE@3 AF AG AH AI AJ AK AL AM@2 AN AO AP@2 AA AQ AR G@2 H@2 I J K@4 AS@2 M AT O AC AD AE@3 AU AG AH AI AJ AV AL AM@2 AN
AO AP@2 AA AQ AR G@2 H@2 I J K@4 L@2 M N O AC AD AE@3 AF AG AH AI AJ AK AL AM@2 AW AO AP@2 AW AO AP@2 AW AO AP@2 AA AQ
~
>`.pickRestart({
A: "[~@7 a3@4 ~@2 [c#4,e4,a4]@4 ~@11 d4@2 [a3,d4,f#4,a4]@4 [g3,e4]@2 [f#3,d4]@2 ~@8 [c#4,e4,a4]@4 ~@7 d4@4 d4@2 [a3,d4,f#4,a4]@4 ~@2 [f#3,d4]@4 [c#4,e4,a4]@8 ~@11 [a3,c#4,e4,a4]@4, ~@7 a2@14 ~ a2@13 ~@5 a2@14 ~ a2@18 a1@15 a3@4 ~@4, ~@7 [c#4,e4,a4]@6 ~@4 [c#4,e4,a4]@5 ~@2 [f#4,a4]@6 ~@4 a4@5 ~@18 [f#4,a4]@6 ~@18 a4@9 a1@6, ~@11 a3@8 ~ a3@4 d4@4 ~@12 [c#4,e4,a4]@6 ~@5 [c#4,e4,a4]@5 ~@26 [c#4,e4]@10 ~@4, ~@26 a3@4 ~@8 a3@6 a3@8 ~ a3@10 ~@4 [g3,e4,a4]@6 a2@12 a2@10 ~]/6", // A D C D A D A F#m …
B: "[a2@2 a3@2 a3@2 [c#2,c#3,a3,e4]@4 [a3,d4,f#4]@8 a3@5 ~@2 a3@2 ~@2 [a3,d4,f#4]@3, a3 ~ [b1,b2,d4,f#4]@4 ~@4 d2@16 ~ d2@5, ~@10 d3@12 ~ d3@9, ~@9 [d4,f#4]@4 ~@3]/2", // A D Bm D
C: "[~ [d3,a3]@2 ~@2 a3@4 [c#2,a3]@2 [b3,d4,f#4]@10 ~@2 b2@3 [a3,a#3] b3@4 b3@2 ~@9 e3@2 [e3,b3]@6 e3@4 e3@4 b3 ~ [b3,e4,a4]@2 ~ [b3,e4]@4 [b3,e4,g#4]@4 ~@4 b3@2 [a2,c#4,e4,a4]@6 ~@4 a3@3 ~ a3@2 ~@3 [c#4,e4]@4 a3 ~ [b1,b2,a3,d4,f#4]@2 a3 ~ [c#2,c#3,a3,c#4,e4]@4 [a3,d4,f#4]@6 [a3,d4]@4 a3@4 ~@2 d2@2, ~@3 c#2@6 ~@2 b1@16 g1@16 ~@28 b3@4 ~@8 [a3,c#4,e4]@4 [c#4,e4]@6 [a3,e4,a4]@2 [a3,a4]@5 ~@20 d4@8, ~@5 [c#3,d4,f#4]@6 b2@12 ~@4 g2@8 ~ g2@4 g2@4 [e2,a3]@16 e2@6 ~ e2@6 e2@4 a1@16 [a1,a2]@7 ~@10 [d2,d3]@15 d3@3, ~@21 [b3,d4,f#4]@6 g4@6 ~@17 b3@8 ~@5 a4@14 ~@6 a4@10 ~ c#4@2 ~@20 f#4@12, ~@21 a3@4 ~@9 [b3,g4]@4 [b3,g4]@6 ~@6 g#3@10 ~@11 [e4,g#4]@6 ~@7 a2@5 ~ a2@3 ~@31 a3@4]/8", // D5 F#m Bm A#maj7 E5 Esus4 E5 E …
D: "[~ a3@4 a3@2 ~@2 a3@4 [c#2,a3]@2 [a3,b3,d4,f#4]@6 [a3,b3,d4,f#4]@4 ~@4 b2 ~ e4@3 ~@4 e2 ~@5 d4@2 d2 ~, ~ [d4,f#4]@6 c#2@6 ~@2 b1@16 e2@5 e4@4 [e4,a4]@8, ~@9 [c#3,d4,f#4]@6 b2@14 ~@5 g#4@5 ~ d4@4 ~@4, ~@25 [a3,b3,d4,f#4]@6 [f#4,b4]@8 ~ d2@6 ~@2, ~@42 f#4@5 ~]/3", // F#m Bm7 D A5 Dmaj7 Bm7 B5
E: "[c#4,e4,a4]@4 ~@4 a2@4 [a2,a3]@3 ~, a1@15 ~, a2 ~, ~@4 [c#4,e4,a4]@11 ~, ~ a3@2 ~", // A
F: "[a3,d4,f#4,a4]@2 [d4,f#4] ~@3 [a3,d4,f#4,a4] ~ a2 ~@3 a2@4, ~ a3 ~@3 [a3,d4,f#4,a4]@3", // D
G: "[b3@2 c#4@6 ~@6 [a3,c#4,e4]@4 ~@6 [a3,d4,f#4]@2 a3 ~ [e3,c#4,e4]@2 a3 ~, a2@20 a2@7 ~@5, e3@12 e3@10 e3@5 ~@5, [a3,e4]@8 [a3,c#4,e4]@6 ~@4 [c#4,e4]@9 ~@5, ~@18 a3@6 ~@4 a3 ~@3]/2", // A D C#m A5 A C#m
H: "[[a3,d4,f#4]@8 ~@6 [a3,d4,f#4]@4 ~@4 a3@2 [d3,a3,d4,f#4]@2 ~@2 e4@2 a3 ~, ~@4 [a3,d4,f#4]@3 ~@2 a3@2 ~@5, ~@12 d3@5 ~ [d3,d4,f#4]@6 ~@2 [d3,a3,d4,f#4]@5 ~, ~@5 e4@2 ~]/2", // D
I: "b2@4 ~@3 a3, d4@3 ~, [b3,f#4]@5 [b3,f#4]@3, ~@2 b2 [b2,d4]", // B5 Bm
J: "[a3,a#3] ~@11 g2@2 a3 ~, g2@3 ~, d3@8 d3@7 ~, b3@2 ~@2 [b3,g4]@6 [b3,g4]@5 ~", // A#maj7 Em
K: "[e3@6 ~@8 a3 ~ [g#3,e4]@2 ~@12 a3 ~@7 e3@2 ~@2 c#4@2 ~@2 [a3,e4]@4 ~@2 c#4@2 [e3,a3] ~ [b2,a3,d4,f#4]@3 ~ [c#4,e4]@2 a3 ~, e2@15 ~ e2@15 ~ a2@14 ~@4 [a2,e3,a3,e4]@5 ~@9, [a3,b3,e4]@10 [a3,b3,e4]@5 ~@3 [g#3,e4]@6 [g#3,e4]@7 ~ [a3,c#4,e4]@9 ~@5 c#4@6 ~@12, ~@3 e3@3 e3@5 e3@3 e3@5 ~@3 e3@3 ~@5 c#3@2, ~@26 b3@5 ~@9 [a3,b3,e4]@6 ~@14 a3 ~@3]/4", // C#m A5 Bm7 C#m A5 Asus2 C#m A …
L: "[a3@4 a3@4 ~@6 [d2,a3,d4,a4]@4 ~@2 f#4@2 a3 ~ [a3,d4,f#4]@2 ~@2 [d3,e4]@2 a3@2, d3@12 d3@6 [d2,d3,a3,d4,a4]@5 ~ d3@4 ~@4, [d4,f#4]@4 [a3,d4,f#4]@3 f#4@3 ~@3 [d4,f#4]@3, ~@13 a3@2 ~]/2", // D5 D Dsus2 D5 D
M: "a3@2 ~@5 a3, d4@3 d4, f#4@5 a3@2 ~, b2@8 b2@7 ~, ~@2 a3@3 [b3,f#4]@3", // B5
N: "g#3@2 g#3 e3 f#3@2 f#3 d3, [e2,e3,b3,e4]@7 ~ [d2,d3,a3,d4]@7 ~", // E5 D5
O: "~@12 a2@2 a3 ~, b3@15 ~, a2@10 [a3,e4]@5 ~, [a3,e4]@6 [a3,e4]@2 e3@7 ~, ~@2 c#4@13 ~", // A5
P: "[a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@4 ~@6 e3@2 a3 ~, e3@3 ~, a2@8 a2@7 ~, ~@6 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@5 ~", // A
Q: "a3@2 a3 ~@4 a3, d2@3 d2, d3!2, [d4,f#4,a4]@3 [a3,d4,f#4,a4]@2 [d4,f#4,a4]@3, ~@5 a3@2 ~", // D
R: "[b3 ~@13 b3 ~@11 [a3,c#4,e4,a4]@4 ~@2 e3@2 ~@8 [d4,f#4]@2 ~@2 [e3,a3]@2, e2@15 ~ a2@8 a2@16 a2@8, [e4,a4]@4 ~@6 a3@3 ~@2 [a3,c#4,e4,a4]@2 [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@2 a3@2 ~, e3@3 e3@3 e3@6 e3@4 ~@2 e3@4 [c#4,e4]@2, ~@4 b3@4 [b3,e4,g#4]@7 ~ [c#4,e4,a4]@10 ~@16 a4@6]/3", // A D A5 A D C#m E A
S: "a3@2 ~@5 a3, d2, f#4@2 a3 d3, [d4,a4]@3 d3@2 f#4@3, d3 a3 [d4,a4]@2", // D5
T: "[b3@4 b3@2 ~@8 b3 ~@19 [a3,c#4,e4,a4]@4 a3 ~ [a3,d4,f#4,a4]@2 a3 ~ [a2,a3,c#4,e4,a4]@2 a3 ~, e2@15 ~ a2@8 a2@8 a2@11 ~@5, [e3,e4,a4]@6 e3@6 e3@12 e3@4 e3@4 e3@7 ~ e3@7 ~, ~@4 [e4,g#4]@4 ~@2 a3@3 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@7, ~@4 b3@3 ~ [c#4,e4,a4]@5 ~@11]/3", // A D A A5 E A
U: "[a3,d4,f#4,a4]@2 ~@10 d3@2 a3 ~, d2@15 ~, d3@3 d3@3 ~@2, ~@2 [a3,d4,f#4,a4]@6 [a3,d4,f#4,a4]@7 ~", // D
V: "[[b3,e4,a4] ~@3 [b3,e4]@2 [b3,e4,g#4] b3 ~@2 e3@2 [g2,d3,b3,d4,g4]@4, e2@7 ~ [a2,c#4,e4,a4]@4 ~@4, e3@3 e3@3 e3@4 ~@6, ~ [b3,e4,a4]@3 a4@3 ~@9]/2", // Esus4 E5 E G A Esus4
W: "[[g3,a3,c4,f4]@4 ~@5 [a3,c4,f4]@2 ~ f3 ~ c4 a3, [f2,c3], f3@12 f3@6 f3@4 [a3,f4]@4 [a3,f4]@5 ~, ~@8 [a3,c4,f4]@10 ~@4 c4@5 f3@5, ~ g3 g3@2]/2", // F F5 Dm F
X: "a3@2 ~ f#3 ~@3 a3, b2, d4@4 f#3 d4@3, f#4!2, f#3 a3!2 f#3",
Y: "f#3@4 ~@8 d3@2 a3 ~, d2@15 ~, a3@5 a3@2 ~, d4@3 d3@3 ~@2, d3 f#3 [f#3,d4]@2", // D
Z: "[a3@2 a3@2 a3@2 a3@2 ~ [a3,d4,f#4]@2 ~ e3@2 ~ d4, a2 a2, [e3,c#4,e4]@2 e3@4 ~ [e3,a3,f#4], b3 ~@7 [c#4,e4]@8 ~@6 d4@8 ~@2, ~@11 [a3,f#4]@3 ~@2]/2", // D C#m F#m7 C#m D
AA: "[g2,d3,a3,b3,d4] [d2,d3,f#3,a3,d4]", // G D
AB: "[a2@16 a2@2 ~ a2@3 [a3,d4,f#4,a4]@2 a2@2 ~@2 a2@2 a3@2, [e3,c#4,e4]@25 ~@7, a3@18 [a3,d4,f#4,a4]@4 ~@4 [a3,c#4,e4,a4]@5 ~, b3 ~@31]/2", // D C#m D A
AC: "[a3,c#4,e4]@2 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@4 a3 ~, a4 ~@15", // A
AD: "a3@3 ~ a3 ~ [a3,d4,f#4,a4]@4 a3@3 ~ a3 ~, [d4,f#4,a4]@3 ~@2 [d4,f#4,a4]@3", // D
AE: "[[e3,b3]@4 b3@2 ~@8 b3 ~ a2@4 a3@4 e3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4] ~ e3 ~@3 e3 ~@5 [a3,d4]@2 ~@2 [e3,a3] ~, [e4,a4]@8 [b3,e4,g#4]@7 ~ [c#4,e4,a4]@10 ~@8 [a3,d4,f#4,a4]@4 [a3,d4,f#4,a4]@4 a4@5 ~, ~@6 e3@5 ~ e3@9 ~@3 a2@14 ~@2 a2@6 ~@2, ~@42 f#4 ~ [c#4,e4]@4]/3", // E5 A D5 A5 E A D C#m
AF: "[d3,a3]@2 a3 ~@3 d3 a3, d2@5 ~@3, [d4,f#4,a4]@6 d3@4 f#4@5 ~, ~@8 [d4,a4]@7 ~, ~@8 a3@5 ~@3", // D5 D D5
AG: "[e3,b3]@2 b3 ~ b3@2 ~ b3, [e4,a4]@6 e3@5 ~ e3@4, ~@8 [e4,g#4]@7 ~", // E5 A5 E
AH: "~@4 a3@3 ~@3 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@2, [c#4,e4,a4]@9 ~@7", // A
AI: "~@2 a3@3 ~ a3 ~ a3@2 a3@2 a3 ~ a3 ~, ~ [c#4,e4,a4]@3 [d4,f#4,a4]@2 [c#4,e4,a4]@2", // A D A
AJ: "[a3,d4,f#4,a4] ~ [a3,d4,f#4,a4]@6 a3@6 a3@2, ~ [d4,f#4,a4]", // D
AK: "[b3,a4] ~ [b3,e4,a4]@5 ~ [b3,e4,a4]@3 ~ b3 ~ b3@2, e4 ~@5 [e4,g#4]@2", AL: "[c#4,e4,a4]@8 [g2,d3,b3,d4,g4]@7 ~",
AM: "[[f3,g3,f4]@4 ~@2 f3@2 g3 [f3,a3,c4,f4]@2 ~ f3 ~ c4 a3, [f2,c3]@31 ~, [a3,c4]@7 ~ [a3,c4,f4]@9 ~@5 [a3,c4,f4]@4 a3@3 ~@3, ~@8 g3@7 ~@11 f4@6, ~@27 f3@5]/2", // Fsus2 F F5 Am F
AN: "[f#3,a3]@4 a3@2 f#3 ~@7 a3@2, b2@15 ~, d4@10 d4@5 ~, f#4@8 f#4@7 ~, ~@2 [f#3,a3] f#3", // F#m
AO: "[d3,f#3]@4 ~@4 f#3@2 ~@2 d3@2 a3 ~, d2, a3@9 ~ a3@4 ~@2, d4@6 d3@5 ~@5, ~ f#3 d4@2", // D
AP: "[[a3,b3]@3 ~ a3@4 a3@4 a3@4 ~@2 [a3,d4,f#4]@4 ~@2 e3@2 ~@4 d4@2, [a2,e3,c#4,e4]@8 e3@10 ~@4 [a3,d4]@7 ~@3, ~@2 [c#4,e4]@2 a2@3 [e3,a3,f#4], ~@22 f#4@5 ~@5]/2", // Asus2 D A D5 C#m F#m7
AQ: "[e3,a3,c#4,e4], a2@3 ~, b3 ~@15", // A
AR: "a2 ~ a2 ~ a2 ~ a2 a3, ~ [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@2 [c#4,e4,a4]@3, ~@5 a3@2 ~", // D A
AS: "[a3@4 a3@4 ~@6 [d2,a3,d4,a4]@4 ~@2 f#4@2 a3 ~ [a3,d4,f#4]@2 ~@4 a3@2, d3@12 d3@6 [d2,d3,a3,d4,a4]@5 ~ d3@4 [d3,e4]@4, [d4,f#4]@4 [a3,d4,f#4]@3 f#4@3 ~@3 [d4,f#4]@3, ~@13 a3@2 ~]/2", // D5 D D5 Dsus2 D
AT: "g#3@4 g#3@2 e3 ~ f#3@4 f#3@2 d3@2, [e2,e3,b3,e4]@7 ~ [d2,d3,a3,d4]@7 ~", // E5 D5
AU: "[d3,a3]@4 a3@2 ~@6 d3@2 a3 ~, d2@5 ~@3, [d4,f#4,a4]@6 d3@4 f#4@5 ~, ~@8 [d4,a4]@7 ~, ~@8 a3@5 ~@3", // D5 D D5
AV: "[b3,e4]@2 [b3,e4,a4]@5 ~ [b3,e4,a4]@3 ~ b3 ~ b3@2, a4 ~@11 [e4,g#4]@4", // E5 Esus4 E
AW: "[f#3,a3]@4 a3@2 f#3 ~@7 a3 ~, b2@15 ~, d4@10 d4@5 ~, f#4@8 f#4@7 ~, ~@2 [f#3,a3] f#3", // F#m
})).s("gm_piano").gain(0.35)
// bass · fretless bass · "tk2"
const bass = note(`<
~@19 A B C D E F G H I J K D L F M N O P Q R S T U V W X Y Z AA AB@2 AC AD AE AF AG AH@2 C D E F G H I J K D L F M N O
P Q R S T U V W X Y Z AA AB@2 AC AD AE AF AG AH@2 C D E F G H I J K D L F M N O P Q R S T U V W X Y Z AA AB@2 AC AD AE
AF AG AH@2 C D E F G H I J K D L F M N O P Q R S T U V W X Y Z AA AB@2 AC AD AE AF AI AD AE AF AJ AD AE AF AG AH@2
>`.pickRestart({
A: "~@2 a3@2 f#3@2 e3 f#3, ~@4 g3 ~@11", B: "c#3@4 b2@2 c#3@2 a2@2 f#2@2 e2 ~ c#2@2", C: "a1@4 e2 ~@3",
D: "a1@2 b1 c#2", E: "d2@5 ~@2 a1", F: "d2 c#2", G: "b1@2 ~ b1", H: "g1@8 ~@3 g1@2 ~ f#1@2",
I: "e1@5 ~ e1 ~ e1@4 b2@2 c#3@2", J: "e3 f#3 g3 ~ g#3 ~ e3 ~", K: "a2@3 e2", L: "d2@11 ~@3 a1@2", M: "b1@11 ~@5",
N: "e2@3 ~@3 e2@2 d2@8", O: "a1@2 a3 ~ f#3@2 e3 f#3", P: "c#3@2 b2@2 ~@2 a2@2 b2@2 a2 ~ f#2@2 e2@2",
Q: "d2@3 ~ d2@3 ~ f#3@4 d3@2 e3@2", R: "~@2 b2 ~@3 g#2@2 e2@4 f#2@2 g#2@2", S: "a2@6 e2 f#2",
T: "a1@2 e2 f#2 a2@2 b1 c#2", U: "d2@3 ~ d2 ~ d2@2 f#2@2 d2@2 b1@2 e2@2", V: "~@2 b2 ~@3 e2 ~ e2 ~ f#2@2 e2@2 c#2@2",
W: "a1@6 c#3 b2", X: "~@2 a2 ~@3 b2@2 a2@4 f#2@2 e2@2", Y: "d2@3 ~ d2@3 ~@3 d2@2 ~@2 e3@2",
Z: "~@2 b2 ~@3 e2 ~ f#2@4 e2@4", AA: "a1 g1", AB: "[f1@3 ~]/2", AC: "b2@8 f#2@2 b2 ~ b2@2 f#2@2",
AD: "d2@7 ~@3 d2@2 c#2@2 b1@2", AE: "a1@3 e2 a2@3 e2", AF: "a2 ~ a2 ~@3 e2@2 a1@8", AG: "g1 d2", AH: "[a1@3 ~]/2",
AI: "b1@8 f#2@2 b2 ~ b2@2 f#2@2", AJ: "g1@8 f#2@2 b2 ~ b2@2 f#2@2",
})).s("gm_fretless_bass").gain(0.35)
// chords · acoustic guitar steel · "tk3"
const acoustic_guitar_steel = note(`<
~@21 A@2 B@2 C D E@4 F@2 G H I@2 J K@3 L M@3 N O@2 P@2 Q@2 R@2 S T ~@117
>`.pickRestart({
A: "[a3@4 ~@2 c#4@4 c#4@2 ~@10 c#4@3 ~ c#4@2 a3@2 b3@2, e3@7 c#4@2 c#4@2 ~@5, ~@3 e4@8 e4@5, ~@12 a3@7 ~ a3@7 ~@5, ~@8 e3@7 ~]/2",
B: "[a3 ~@2 d4@2 d4@2 ~@2 d4!2 d4@2 ~ a3 ~, d3 d3, ~ d4@2 f#4@8 f#4@4 ~, ~@2 a3@4 ~ d4@2 ~ a3@4 ~@2, ~@13 d4@2 ~]/2",
C: "~@3 d4@2 ~ b3 ~, [b2,f#3]@15 ~, b3 b3@2 ~, ~@2 d4@4 f#4@9 ~, ~@10 d4@5 ~", // B5
D: "~@6 d4@3 ~@3 b3@2 ~@2, g3@7 ~, b3@2 b3@3 d4@2 ~, ~@2 d4@4 g4@7 ~@3",
E: "[~@6 e4@4 ~@10 b3@2 [g#3,b3]@4 [g#3,b3]@2 b2@2 ~@4 c#4@2 c#4@2 c#4@3 ~ c#4@2 c#4@2 ~@4 c#4@2 c#4@2 c#4@4 c#4@2 [a3,c#4]@2 ~@2, e3@6 e3@5 e3@3 [e3,g#3,b3]@2 e3@8 e3@7 ~, ~@2 b3@4 b3@3 ~ b3@4 [b3,e4]@6 e4@6 e4@4 e4@8 e4@16 e4@10, ~@2 a3@4 a3@2 b2@6 ~@9 c#4@2 ~@7, ~@18 g#3@4 ~@10 a3@4 a3@6 ~@2 a3@4 a3@11 ~@5]/4", // G#m A E E5
F: "[~@2 d4@2 ~@2 d4@3 ~@5 d4@2 ~@6 f#4@4 f#4@4 ~@2, a3@2 a3@4 [d3,a3]@2 [d3,a3]@2 d3@5 ~, ~@3 f#4@8 a3@3 ~@2, ~@5 d4@2 ~@2 d4@2 d4@4 ~]/2", // D5
G: "~@3 d4@2 d4 [b3,d4] f#3, f#3@2 f#3@5 ~, ~ d4@2 b3@3 ~@2, ~@5 f#4@2 ~", // Bm
H: "~ b3 g#3 ~@3 [a3,d4] ~, e3@3 ~@5, g#3 ~ [a3,d4] ~, ~ e4@3 ~ f#4@2 ~", // D5
I: "[a3@2 ~@5 c#4 ~@3 c#4@2 ~ a3 ~, e3@8 e3@7 ~, ~@4 a3@8 a3@4 a3@4 a3@7 ~@5, ~@3 e4@8 e4@5, ~@5 c#4@2 ~@2 c#4@2 ~@2 c#4@2 ~]/2",
J: "[d4,f#4]@4 [d4,f#4]@2 d4@4 d4@2 a3@3 ~, a3@3 ~, ~@3 f#4@4 ~", // D
K: "[~@2 a3 [a3,b3,e4]@2 a3 [e3,a3] a3 c#4!3 c#4@2 a3 ~@4 a3 [c#4,e4]@2 ~ [e3,a3] ~, ~ b3@2 ~@2 e4@6 e4@8 ~@2 e4@3, ~ e3@2 ~ [e3,a3] e3@3 e3@3 ~, ~@5 b3@3 ~@2 a3@3 c#4@2 c#4@2 c#4@2 ~@2 c#4@2 ~, ~@14 a3@2 a3@2 ~ a3@3 ~@2]/3", // Asus2 A5 C#m A5
L: "d3 ~ d4@2 ~@2 d4@3 ~@3 a3@2 d4 ~, a3@2 a3@3 d4@2 ~, ~@6 f#4@9 ~",
M: "[~@6 b3@3 ~@5 b3@2 ~@6 c#4@3 ~@9 a3@2 [e3,a3]@2 [e3,a3]@2 a3@2 [a3,c#4,e4]@2 [e3,a3,c#4]@2 [a3,c#4]@2, b2@7 ~@3 a3@3 [a3,c#4]@2 [a3,c#4]@2 ~@7, ~ b3@2 e4@8 e4@10 ~ e4@2, ~@4 e3@8 [e3,g#3]@4 e3@11 ~ e3@4 e3@4 ~@4 e3@4 ~@4, ~@2 g#3@3 b3@2 ~@2 c#4@2 ~@6 c#4@2 c#4@2 ~@3]/3", // A5 A E
N: "f#4@2 ~@2 a3@2 [d4,f#4]@4 d4@2 a3@2 [d4,f#4] ~, d3@3 ~, d4@3 ~@5, a3@2 ~ a3@3 ~@2, ~ f#4@2 ~@2 f#4@2 ~", // D
O: "[~@6 b3@4 g#3@2 [e3,g#3]@2 b3@2 c#4@4 [c#4,e4]@3 ~ b3@4 [g3,b3]@3 ~, [e3,g#3]@2 e3@4 ~@2 [e3,a3]@3 ~@5, ~@2 b3@4 e4@14 ~@4 [d4,g4]@7 ~, ~@2 g#3@3 b3@2 ~@9]/2", // E C#m G E A5 G5
P: "[[a3,c4,f4]@3 ~]/2", // F
Q: "[f#4@5 ~@9 b3@2 ~@6 d4@4 [d4,f#4]@4 ~@2, b3@7 ~@3 a3@4 ~@2, f#3@6 f#3@9 ~, d4@9 ~ d4@8 d4@4 ~@10, ~@6 f#4@9 ~@17]/2", // D
R: "[[a3,c#4]@4 a3@2 c#4@4 ~@4 c#4@7 ~ [a3,e4]@2 ~@4 a3@2 ~@2, e3@3 a3@2 ~@3, ~@3 e4@8 ~@2 f#4@2 ~, ~@5 c#4@2 ~@5 d4@2 ~@2, ~@12 e3@5 ~@15]/2", // A A5
S: "b3@7 ~ [f#3,a3,d4,f#4]@6 ~@2", T: "[e3,a3,c#4,e4]",
})).s("gm_acoustic_guitar_steel").gain(0.27).pan(0.6)
// chords · acoustic guitar steel · "tk3" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@21 A B C ~@2 D ~ E F ~@2 G H I J K L@2 ~ K M N F ~@2 O P Q@2 ~ R S T U ~@118
>`.pickRestart({
A: "~@4 a3@7 ~@5, ~ c#4@2 ~@5", B: "~@7 g3", C: "d4 ~@5 a3@2", D: "~@7 d3", E: "g#3 ~@7", F: "c#4 ~@7",
G: "~@6 a3 d3", H: "b3 b3@2 f#4@2 ~@2 b2, b2@13 ~@3", I: "~@2 b3 [g#3,b3] f#4 ~@3", J: "c#4@3 ~ c#4@2 c#4@4 ~@6",
K: "~@14 a3 ~", L: "[~@4 e3 ~@3, ~@7 e4@4 ~@5]/2", M: "f#4@3 ~@5", N: "~@5 g#3 ~@2", O: "b2@7 ~", P: "~@3 c#4 ~@4",
Q: "[f3@3 ~]/2", R: "~@6 a3 ~", S: "~@6 a3@5 ~@5", T: "~@2 e3@2 a3 ~@9 [a3,d4,f#4] ~", U: "g4@7 ~@9, d4@5 ~@11",
})).s("gm_acoustic_guitar_steel").gain(0.13).pan(0.6)
// chords · percussive organ · "tk5"
const percussive_organ = note(`<
~@37 A@3 ~ B C@2 ~ D@2 E F ~@24 A@3 ~ B C@2 ~ D@2 E F ~@24 A@3 ~ B C@2 ~ D@2 E F ~@24 A@3 ~ B C@2 ~ D@2 E F ~@16
>`.pickRestart({
A: "[[d4,a4] [d4,a4]@3 [d4,a4]@2 [d4,a4] [d4,a4]@2 [d4,a4]@3 [d4,a4] [d4,g#4]@2 [c#4,a4]@9]/3", // D5 Ddim F#m
B: "[d4,a4] [d4,a4]@2 [d4,a4]@3 [d4,a4]@2", C: "[[d4,a4]@3 [d4,a4] [d4,a4]@2 [d4,g#4] [c#4,a4]@9]/2",
D: "[[d4,a4]@4 [d4,a4]@2 [d4,a4] a4@2 g#4 [d4,g#4]@4 [d4,g#4]!2, ~@7 d4@3 ~@6]/2", E: "[c#4,a4] [b3,g4]",
F: "[a3,f4]", // Dm
})).s("gm_percussive_organ").gain(0.25).pan(0.7)
// chords · electric guitar jazz · "tk6"
const electric_guitar_jazz = note(`<
~@36 A B C D E F G H@2 I J K L ~ M N O P Q R ~ S T@4 U V@2 W@2 X Y O Z AA A B C D AB F G H@2 I J K L ~ M N O P Q R AC
AD AE AF@4 AG AH AI AJ AK@3 AL AM ~@2 C D AB F G H@2 I J K L ~ M N O P Q R ~ S T@4 U V@2 W@2 X Y O Z AA A B C D AB F G
H@2 I J K L ~ M N O P M N O P M N O P Q R ~
>`.pickRestart({
A: "~@2 [c#5,a5]@3 ~ [b4,g5] ~", B: "[a4,f#5]@13 ~@3", C: "[a4,f#5]@5 ~ [g#4,e5] ~", D: "[e4,c#5]",
E: "~ [d4,b4] b4@2, ~@8 d4@3 ~@5", F: "[f#4,a4]@5 ~@3 [f#4,d5]@6 ~@2", G: "[f#4,d5]@3 ~",
H: "[~ [e4,c#5]@6 ~ [c#5,a5]@12 ~@4 g4@2 ~@2 [f#4,d5]@2 [e4,c#5]@2, ~@12 e5@3 ~]/2", // C#m F#m D C#m
I: "[f#4,d5]@2 [f#4,e5] [a4,f#5]", J: "[a4,f#5]@3 ~", K: "[e4,c#5]@3 ~ [d4,b4]@3 ~", L: "[c4,a4]",
M: "[d4,b4]@13 ~@3", N: "a4@6 b4 ~, f#4@7 ~", O: "[d4,b4]@3 ~", P: "[f#4,d5]@13 ~@3", Q: "[g4,d5]@3 ~ [f#4,d5]@3 ~",
R: "[e4,c#5]@15 ~", S: "[a3,c#4]", T: "[~@12 [d4,f#4]@24 ~@8 b4@12 [d4,f#4]@5 ~@3, ~@11 d4@2 ~@3]/4",
U: "[d4,g4]@3 ~", V: "[[b3,g#4]@13 ~@3]/2", W: "[[e4,c#5]@10 ~@2 [e4,c#5]@3 ~]/2", X: "[f#4,d5]",
Y: "~@2 a4 [c#4,a#4], ~@4 c4 ~@3", Z: "a4@8 [b3,f#4]@5 ~@3, b3@5 ~@11", AA: "[c#4,e4]@15 ~",
AB: "~ [d4,b4] [d4,b4]@2", AC: "~@2 e4!2 a4 ~ b4 a4", AD: "[c#5,e5]@5 ~@3",
AE: "[a4,c#5]@5 ~ [c#5,e5] ~ b4@4 a4@4, ~@8 g4@7 ~", // A C#m
AF: "[[f#4,d5]@6 e5 ~ [a4,f#5]@12 ~@7 [f#4,a4]@3 [f#4,b4]@11 ~@3 f#4@4 g4@6 ~@3 b4@3 a4@4, ~@22 b4@5 ~ g4@2 ~@2]/4", // D F#m B5
AG: "[g#4,b4]@3 ~ [g#4,e5]@2 [a4,f#5] ~", AH: "[a4,f#5]@4 ~@2 [b4,g#5] ~", AI: "[c#5,a5]@13 ~@3",
AJ: "[c#5,a5]@4 c#5@2 b4 c#5, ~ a5", AK: "[[a4,f#5]@3 d5 a4@8 ~@2 [f#4,a4]@5 ~ [g#4,b4]@4, ~ f#4@3 ~@4]/3",
AL: "~ b4@6 ~ b4@8, g#4@3 ~@5", AM: "a4",
})).s("gm_electric_guitar_jazz").gain(0.22)
// other · harmonica · "tk7"
const harmonica = note(`<
~@73 A B@2 C D E@2 F G H I ~@2 J K ~@21 A B@2 C D E@2 F G H I ~@2 L K ~@21 A B@2 C D E@2 F G H I ~@2 J K ~@2 J K ~@2 J
K M ~@4
>`.pickRestart({
A: "a5@6 f#5 e5", B: "[f#5@2 e5@2 c#5@2 b4@2 a4@2 f#4@2 e4@15 ~@5, g5 ~@31]/2",
C: "c#5@3 ~ c#5@3 ~ [c#5,d5] a4 f#4@2 a4@2 a4 ~, d5 ~@3 d5 ~@11", D: "[f#5,a5]@12 f#5@2 e5 ~",
E: "[[b4,e5]@2 c#5 ~ c#5@2 b4 ~ [e4,a4]@4 b4@2 [e4,a4]@12 ~@6]/2", // E5 A5
F: "e4@2 f#4@2 [e4,a4]@2 f#4 ~ [e4,a4]@2 f#4@2 e4@2 ~@2, ~@8 f#4 ~@7", G: "[f#5,a5]@11 ~ f#5@4",
H: "e5 b4 c#5 a4 c#5 b4 a4 f#4, ~@8 b4 ~@7", I: "a4", J: "~@4 [f#4,a4]@2 f#4@2 a4 ~ a4 ~@3 a4 ~, ~@4 e4 ~@11",
K: "e4 ~ f#4 ~ [f#4,a4]@2 e4@2 [f#4,a4] ~ [f#4,a4] ~@3 f#4 ~, ~@4 e4 ~@11", // F#m
L: "~@4 [e4,f#4] ~ f#4@2 a4 ~ a4 ~@3 a4 ~, ~@2 a4 ~@5", M: "e4",
})).s("gm_harmonica").gain(0.25).pan(0.7)
// chords · fiddle · "tk8"
const fiddle = note(`<
~@58 A B C D@2 E F G H I J K L M N O P Q R@2 S@2 T U V W ~@2 X Y@2 Z AA AB ~@3 AC AD ~@6 AE ~@2 AF AG AH O P Q R@2 S@2
T U V W ~@2 X Y@2 Z AA AB ~@2 A B C D@2 E F G H I J K L M N O P Q R@2 S@2 T U V W ~@2 X Y@2 Z AI Y@2 Z AI Y@2 Z AA AB
~
>`.pickRestart({
A: "~@3 [a4,c#5]", B: "[f#4,d5]@6 [f#5,a5]@2 f#5@2 a5@2 c5 b4 a4@2, ~@2 d5 ~", C: "b4 a4 [f#4,b4]@4 c#5 a#4",
D: "[b4@2 [b4,e5]@3 [f#4,b4]@3]/2", E: "[b4,e5]@3 g#5 e5 g#5 e5 b4", F: "g#4@2 e4@5 ~",
G: "[c#5,e5]@6 [e5,a5] [c#5,e5]", H: "c#5 a4, a4@3 ~@5", I: "d4@6 [f#4,a4]@2 f#4@2 a4@2 [b3,c4] b3 a3@2, ~@2 d4 ~",
J: "b3 a3@4 b3 [f4,a#4]@2", K: "[f#4,b4]@2 [b4,e5]@5 ~", L: "[a4,c#5] [f#4,b4] [e4,a4] [c#4,f#4] e4@2 f#4 e4",
M: "[a4,c#5] [f#4,b4] [e4,a4]@2 [c#5,a5]@4", N: "f#5 e5 c#5 b4 a4 f#4 e4@2", O: "[f#5,a5] [a4,f#5], e5 ~@15",
P: "b4@2 a4 f#4 [c#5,e5] [b4,d5]@3, e5@6 ~@2 b4 ~@7", Q: "[a4,c#5]@3 b4 [a4,c#5] [f#4,b4] [e4,a4] f#4",
R: "[c#4@5 ~ c#4@2 b3@2 c#4@2 a3@4 f#4@8 e4@4 [f#4,b4]@4, e4@2 a4@5 ~]/2", // B5
S: "[[a4,c#5]@4 b4@4 ~@2 f#4 e4 [a4,e5]@2 e5 [a4,e5], ~@2 e4@3 ~@3, ~@16 a4@6 ~@6 a4 ~@3]/2", // A A5
T: "[a4,e5]@2 [f#4,b4] [e4,a4] [a4,c#5] [f#4,b4] [e4,a4] f#4", U: "a4 f#4, d4", V: "e4 b3 c#4 b3", W: "a3",
X: "[b4,e5]@2 [b4,e5]!2 [b4,e5]@2 [b4,e5]!2", // E5
Y: "[[f#4,a4]@2 b4@2 [a4,d5]@2 [a4,d5]@2 [d5,f#5]@2 a4@2 [b4,c5] b4 ~@2 c#5@6 ~@2 [c#5,a5]@8, ~@14 a4@9 ~@9]/2", // F#m D5 D Cmaj7 F#m
Z: "c#5 ~ d5@2 c#5 a4@3, ~@2 a4@4 ~@2 a4 ~ e4@4 ~@2", AA: "[d4,b4]", AB: "a4", AC: "~@12 c5 ~@3", AD: "~@7 a#4",
AE: "~@10 a4@2 c4 ~@3", AF: "~@2 a4 ~@5", AG: "~ b4 ~@6", AH: "~ e5 ~ b4 a4 ~@3",
AI: "~@2 [b4,e5]!2 [b4,e5]@2 [b4,e5]!2", // E5
})).s("gm_fiddle").gain(0.16).pan(0.2)
// chords · fiddle · "tk8" · soft notes
const fiddle_soft = note("<~@61 A ~@5 B ~@26 C D E F@2 G H I J K L M N O P ~@24 A ~@5 B ~@33>".pickRestart({
A: "f#4 ~", B: "f#4@3 ~@5", C: "~@3 [a4,c#5]", D: "[f#4,d5]@6 [f#5,a5]@2 f#5@2 a5@2 ~ b4 a4@2, ~@2 d5 ~",
E: "b4 a4 [f#4,b4]@4 c#5 ~", F: "[[f#4,b4]@2 [b4,e5]@3 [f#4,b4]@3]/2", G: "[b4,e5]@3 g#5 e5 g#5 e5 b4",
H: "g#4@2 e4@5 ~", I: "[c#5,e5]@6 [e5,a5] [c#5,e5]", J: "c#5 a4, a4@3 ~@5",
K: "[d4,f#4]@6 [f#4,a4]@2 d4@4 b3!2 a3@2, ~@4 f#4 ~@3", L: "b3 a3@4 b3 [f4,a#4]@2", M: "[f#4,b4]@2 [b4,e5]@5 ~",
N: "[a4,c#5] [f#4,b4] e4 [c#4,f#4] e4@2 f#4 e4", O: "[a4,c#5] f#4 [e4,a4]@2 [c#5,a5]@4", P: "f#5 ~ c#5 ~@2 f#4 e4@2",
})).s("gm_fiddle").gain(0.08).pan(0.2)
// drums · kick
// … 77 more lines
More by Elton John
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.