0:00/0:00
// I Guess That's Why They Call It the Blues — John Elton
// 122 bpm, 12/8, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 95 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Guitar 2, Guitar 3.
setcpm(122/6)
// 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 · "Bass"
const bass = note(`<
~ A B A C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM M AN AO P AP AQ AR AS
AT AU AV AW AX AY AZ BA BB BC AE AF AG AH AI AJ AK AL AM M AN AO P AP AQ AR AS AT AU AV AW AX BD AZ BA BE BF BG BH BI
BJ BK BL BM BN ~
>`.pickRestart({
A: "c3@9 ~ d3 ~ e3@9 ~ e3 ~, ~@12 d3 ~@11", B: "f3@4 e3 d3", C: "f3@7 ~", D: "g2@5 d2 g2@5 d2",
E: "e2@5 ~ f2@4 e2 d2", F: "c2 ~ c2 a2@3 g2 ~ c2 a2@2 g2, ~@6 g2 ~@11 g2 ~@5",
G: "c2 ~@3 c2@2 a2@6 g2@2 ~@4 e2@2 d2@4, ~@6 g2 ~@17", H: "g2@10 d2@2 g2@7 ~ d2@2 c2@2",
I: "b1@8 f#2@2 d2@2 f2@7 ~ e2@2 d2@2", J: "c2 ~ c2 a2@3 c2 ~ g2 a2@3, ~@6 g2 ~@17",
K: "c2 ~@3 c2@2 a2@5 ~ e2@4 g2@3 ~ g2@3 ~, ~@6 g2 ~@17", L: "g1@3 ~ g1@2 b1@2 d2@2 g2 ~ g2@6 d2@6",
M: "b1@3 ~ b1@2 d#2@2 f#2@2 b2@2 a2@6 f#2@6", N: "e2@7 ~@3 e2@2 d2@7 ~@3 d2@2", O: "c2@8 ~@2 c2 ~ c2@3 ~ c2@3 ~ c2@4",
P: "g1@10 d2@2 g2@6 ~@2 g2 ~ d2 ~", Q: "a2@5 ~ a2 ~ e2 ~ a1 ~ f1@9 ~ f1@2, ~@9 c2@2 ~@13",
R: "g1@7 ~ g1 ~ g1 ~ g1@5 ~ g1@2 g2@2 g1@2", S: "g1@3 g2 g1 ~ g1@3 g2 g1 ~ a1@6 b1@6",
T: "c2@8 g2@2 c2@2 b1@6 d2@2 g2 ~ g2@2", U: "f2@9 ~ f2 ~ f2@4 e2@4 d2@4", V: "c2@7 ~ e2@2 f2@2 g2@6 ~@2 g2@2 f#2@2",
W: "f2@6 ~@4 f2@2 e3@4 e2@3 ~ e2@2 f2@2, ~@12 d#3 ~@11", X: "g2@10 d2 ~ g2@4 d2@4 g2@2 g#2@2",
Y: "a2@7 ~ d2@2 e2@2 e2@3 ~ e2@3 ~ e2@3 ~", Z: "f2@7 ~ f2 ~ f2 ~ f2@3 ~ f2@2 ~@2 f2@3 ~",
AA: "f#2@3 ~ f#2 ~ f#2 ~ f#2@2 d2@2 f#2@3 ~ f#2 ~ f#2 ~ f#2 ~ f#2@2", AB: "f2@6 ~@2 g2@2 a2@2 g2@6 d2@5 ~",
AC: "c2@9 ~ d2@2 e2@8 ~@2 e2@2", AD: "f2@9 ~ f2 ~ f2@5 ~ f2 ~ f2 ~ f2@2", AE: "g2@9 ~ d2 ~ g2@7 ~ a2@2 b2@2",
AF: "e2@9 ~ e2@2 f2@7 ~ e2@2 d2@2", AG: "c2 ~@3 c2@2 a2@6 g2@2 ~@2 g2@2 a2@6, ~@6 g2 ~@17",
AH: "c2 ~@3 c2@2 a2@6 g2@2 ~@2 e1@3 ~ e1@2 f1@2, ~@6 g2 ~@17", AI: "g1@7 ~ d2@2 ~@2 g1@8 d2@2 g2@2, ~@5 g2@2 ~@5",
AJ: "b1@3 f#2 b2 b1 f2@4 e2 d2", AK: "c2 ~ c2 a2@3 g2 ~@2 a2@2 g2, ~@6 g2 ~@11 g2 ~@5",
AL: "c2@2 ~@2 c2@2 a2@5 ~ g2@2 ~@2 e1@3 ~ f1@3 ~, ~@6 g2 ~@17", AM: "g1@3 ~ g1@2 b1@2 d2@2 g2@2 g1@7 ~@3 g1@2",
AN: "e2@6 ~@4 e2@2 d2@7 ~@3 d2@2", AO: "c2@7 ~@3 c2@2 e1@3 ~ e1@3 ~ e1@2 f1@2",
AP: "~@6 a2@3 e2 b1 ~ f1@4 f1@2 f2@2 c2@4, a1@3 ~@5", AQ: "g1 ~ g1 g2 g1 g2 g1 ~ g1 g2 g1 g2",
AR: "g1@2 ~@2 g1@2 g2@2 g1@2 g#1@2 a1@6 b1@5 ~", AS: "c2@4 g2 c2 b1@3 g2@3, ~@18 f2 ~@5",
AT: "f2@9 ~ f2@2 a2@4 g2@4 f2@4", AU: "c2@7 ~ e2@2 f2@2 g2@6 ~@4 f#2@2",
AV: "f2@2 c2@2 f1@2 f2@5 ~ c2@4 e2@4 f2@2 f#2@2", AW: "g2@5 ~ b2 ~ d2 g1 g2 g#2, ~@7 g2@2 ~@3",
AX: "a2@6 a2@2 d2@2 d#2@2 e2@3 ~ e2@4 e2@3 ~", AY: "f2@5 ~ f2@6 f2@2 f1@2 f2@6 f2@2",
AZ: "f#2@2 f#1@2 f#2@6 d2@2 f#2@2 d2@2 f#2@7 ~", BA: "f2@6 ~@2 f2@2 f#2@2 g2@2 ~@2 g2@3 ~ g2@2 d2@2",
BB: "c2@8 ~@2 d2@2 e2@7 ~@3 e2@2", BC: "f2@12 ~@2 a2@3 ~ d3@4 a2 ~", BD: "f2@5 ~ f2@6 f2@2 f1@2 f2@5 ~ f2@2",
BE: "c2@3 ~ e2 f2 g2@3 ~ g2 g#2", BF: "a2@3 ~ d2 d#2 e2 g2 e2 a2 g2 e2", BG: "f2@6 ~@4 f2@2 g2@6 g1@5 ~",
BH: "c2@7 ~ e2@2 f2@2 g2@6 ~@2 g2@2 g#2@2", BI: "a2@2 e2@2 a1@5 ~@3 e2@2 b1@2 e1@4 ~@2 e1@2",
BJ: "f1@7 ~@3 f1@2 g1@4 a1@4 b1@4", BK: "c2@6 ~@2 e2@2 f2@2 g2@5 ~@3 g2@2 g#2@2", BL: "a2 e2 a1@2 d2 d#2 e2@3 ~@3",
BM: "f2@3 ~ a2@3 ~ c3@2 ~@2 g2@3 ~ d2@3 ~ g1@3 ~", BN: "c2@11 ~",
})).s("gm_electric_bass_finger").gain(0.33)
// chords · piano · "Keyboard"
const piano = note(`<
A@3 B C D E F G H I J K L@2 M N O P Q@2 R S T U V W X Y Z AA AB D E F G H I J AC AD@2 M N AE P Q@2 R S T U V W X Y Z
AF AB D E F AG H I J K AH@2 M N AE AI Q@2 R S T U V AJ AK Y Z AL AM AN AO AP AQ AR AS AT AU ~
>`.pickRestart({
A: "[~@24 [c5,e5]@7 ~ [g4,b4,d5]@2 [a4,c5] ~@2 b4@3 [d4,g4,c5]@3 ~ [e3,d4,g4,b4]@2 ~@2 f3@6 f3@6 ~@2 c4@2 f4 ~ [f4,g4] ~@2 g4 d3@2, ~@23 g4@8 ~@5 [d4,g4]@4 ~@7 c4@13 f3@8 e3@2 f4 ~, ~@24 c3@8 ~@2 c3@2 e3@8 ~@2 c3@2 [f4,a4]@14 ~@4 [c4,a4]@5 ~]/3", // C G Am Csus2 Em7 Fsus2 G5 F
B: "[c3,g3,c4,e4]@4 [e4,c5,e5] c3 [g4,b4]@2 [a4,c5]@2 [e3,g4,b4] c3, ~@12 d4@11 ~, ~@12 e3@7 ~@5", // C G Am Em
C: "f3@3 ~@2 c4 [f3,a3,c4,f4]@2 [c4,f4] f3 e3 [d3,a3,c4,f4], a4@11 ~@13, [c4,f4]@4 a3@2 ~@3 [a3,c4,f4]@2 ~, ~@6 f3@5 ~@13", // F F5 Dm7 F5 F
D: "g3@10 d3@2 ~@4 g4@2 [b3,d4,g4,b4]@5 ~, [b3,b4]@2 ~, [d4,g4]@12 g2@11 ~, ~@7 d4@2 ~@3", // G B G5
E: "[e4,g4]@3 [e3,b3] [g3,e4,g4] c3 [f3,c4,f4,a4]@4 [e3,e4,g4] d3, b4@10 ~@12 f4 ~, [e3,b3]@5 ~@19", // Em E5 C F Em E5
F: "[c3,e3,e4,g4]@4 ~@2 [c3,f3,f4,a4]@6 [c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@4 c4@2, c4 ~@11", // C F C F
G: "[c3,e3,e4,g4]@3 ~ c4@2 [c3,f3,f4,a4]@5 ~ [c3,e3,e4,g4]@4 [c3,e3,c4,e4,g4]@4 [c3,e3,c4,e4,g4]@4, ~@6 c4 ~@17", // C F C
H: "[b3,d4,g4]@6 ~@4 d3@2 b3@5 ~@3 d3@2 c3@2, [g3,b4]@10 g4@8 b3@4 g4 ~, ~@8 d4@11 ~ d4@4, ~@6 [g2,b4]@5 ~", // G
I: "f#4@3 ~ d4 [b2,f#4] [c4,f4,a4]@3 [c4,f4] f4 f3, b2@3 ~ f3@3 ~, b3@5 ~ b3@4 ~@8 a4@5 ~", // B5 F F5
J: "[c3,e3,c4,e4,g4]@2 ~@4 [c3,f3,f4,a4]@5 ~ [c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@5 ~, ~@2 c4 ~@5", // C F C F
K: "[c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@5 ~ [c4,e4,g4]@2 ~@2 [c3,e3,c4,e4,g4]@4 [c3,e3,c4,e4,g4]@4, ~ c4 ~ e3 ~@2", // C F C
L: "[[b3,d4]@6 ~@4 g2 ~ [g2,d4,g4,b4]@6 b3@2 [g2,d4,g4,b4]@2 a2@2 [b2,a4]@8 ~@2 b2 ~ [b2,f#4]@6 b3@2 [d#4,f#4]@2 b3 ~, [g2,b4]@5 ~@17 b2@2, ~@6 b3@4 ~@2 b3@5 ~@5 b3@7 ~@19, ~@4 d4@2 ~@6 [d#4,f#4]@3 ~ d#4@2 a4@5 ~]/2", // Bm G B7 B5 D#m G D#m
M: "[e4,g4]@6 b3 ~ [e4,g4]@2 e3@2 [d3,b3,f4]@6 b3 ~ b3@2 b3 ~, e3@9 ~@11 [d3,d4,f4]@4, b3@3 ~@5 b3 ~ b3 ~ d4@5 ~@3 g4 ~@3", // Em Bdim Dm
N: "[g3,c4]@6 g3@2 c4@2 g3 ~ [c3,c4,e4]@4 [c3,c4,e4]@4 [c3,c4,e4]@4, c3@11 ~ g3@11 ~, e4@3 ~@5", // C5 C
O: "[b3,d4]@6 ~@2 b3@2 [d2,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@2 g3@2 ~@2 g3 ~, [g2,g4]@11 ~ g2@7 ~ [g2,b3,d4]@4, g3@5 ~ g3@4 ~@2 g4@11 ~", // Bm D G
P: "a3@5 ~@3 c4@2 a2@2 [f2,a3,c4,f4,a4]@6 [a3,c4,f4,a4]@4 ~@2, a4@10 e4 ~@13, [a2,c4,e4]@4 ~@5 f2@3, ~@3 a3@2 ~@7", // F Am
Q: "[[b3,d4]@3 ~@2 d4 g3@2 ~ g3 [c4,e4] ~ [b3,d4]@3 ~ b3 g2 [a2,c4,e4,g4]@3 [b2,b3,d4,f4]@3, [g2,g4]@10 g2 ~ [g2,b3,g4]@8 g2 ~ g2@11 ~@15, g3@5 ~ g3@5 ~@11 g3@5 ~@3 g3@4 ~@14, ~@8 b3@4 ~@12 g4@9 ~ d4 ~@13]/2", // Bm C Bm Am7 Bdim G
R: "[c3,g3]@6 [e3,g3]@2 ~@2 [c3,e4] ~ [b2,g3,b3,d4]@6 [d3,g3]@2 [g3,b3]@2 b2 ~, [c4,e4,g4]@4 [g3,c4]@2 g4@5 ~", // C5 Em C G G5 G C C5
S: "[f2,f3,c4,f4]@3 c3 [f3,c4] f2 [f3,c4,f4]@2 [e3,c4,f4,a4]@2 [d3,a3,c4,f4]@2, a4@5 ~@7, a3@5 ~ a3@4 ~@2 a3@3 ~@9", // F5 Fmaj7 Dm7
T: "[e4,g4]@3 ~@3 g2@2 [e2,e4]@2 f2@2 [d4,g4]@3 ~ [d4,g4]@2 d3@2 [g2,d4]@2 f#2@2, c5@9 ~@3 b4@10 ~@2, [c2,c3,c4]@3 c4@2 ~ [g2,b3]@3 ~@3, ~@4 g4@4 ~@2 g4 ~@7 b3@4 ~@2", // Em E G5 C G
U: "[c4,f4]@3 ~ f4@2 ~@2 c4@2 f2@2 ~@2 g4@2 [e4,g4]@2 ~@2 [g2,e4]@2 g4 ~, a4@9 ~ f4 ~@13, f2@6 a3@4 ~@6 c4 ~ c4@4 ~@2, a3@4 c4 ~ f3@6 [c3,c4,e4,c5]@4 [e2,c5]@5 ~@3", // F5 Em C
V: "[b3,g4]@2 g4 b3@2 [d2,g4] [g2,b3]@2 ~@2 [g2,d4] g#2, [g2,b4]@5 ~@3 [d2,d4,g4]@2 ~@2, d4@7 ~@5 b4@8 ~@2 g4 ~, ~@9 b3@2 ~", // Em G5 G G5 G G5
W: "[a3,c4,e4]@3 ~ [c4,e4]@2 ~@2 d2@2 [e2,e4]@2 [e2,g3,e4]@3 ~ e2@2 ~@2 [e2,c4]@2 e4 ~, a4@9 ~@3 g4@10 ~@2, a2@6 [c3,a3]@4 ~@6 e4 ~ g3@4 ~@2, ~@4 a3 ~@7 c4@7 ~@5", // Am C E Em C F
X: "[c4,f4,a4]@3 ~ [a3,c4,f4]@2 ~@4 f2 ~ [f2,a3,a4]@4 [f2,c4,f4]@2 ~@2 [f2,c4]@2 f4 ~, f2@4 a4@7 ~@13, ~@3 f2@2 f4@2 ~@5, ~@8 c4@7 ~ a3 ~ a3@4 ~@2", // F F5
Y: "[f#2,a3,d4,f#4,a4]@4 [a3,d4,f#4]@2 f#2 ~ f#2@2 d2@2 a3@4 f#2 ~ a3@2 f#2 ~ f#2@2, ~@4 a4@7 ~ a4@10 ~@2, ~@4 f#2 ~ a3@4 ~@2 f#2@3 ~@3 f#2 ~@5, ~@8 d4@9 ~ [d4,f#4]@4 a3 ~", // D
Z: "[c4,f4]@3 ~ g2 a2 [g2,a4]@2 ~@2 [a3,c4,f4,a4] ~, [f2,a4]@8 c4@7 ~@3 g2@6, a3@5 ~ a3@4 f4@5 ~@9, ~@12 a3@3 ~ [a3,c4,f4,a4]@4 ~@4", // F5 Gsus2 F
AA: "~@3 c5 ~ g4 b4@2 [g4,b4]@2 [e2,e4,g4] c2, c2@9 d2@3 [e2,d5]@8 ~@4, [g3,c4,e4]@8 c5@3 ~@13, ~@6 [g4,e5]@5 ~@13", // G Em E7 C
AB: "[c4,f4,a4]@6 f3@2 ~@2 f2 ~@3 a3@2 ~@2 [f3,a3]@2 [f2,f3,a3]@2 [c2,f3,a3]@2, f2@8 f3@4 [f2,f3]@6 f2 ~@5, ~@9 a3@2 ~@13, ~@5 c4@2 ~ c4@3 ~", // F
AC: "[c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@5 ~ [c4,e4,g4]@2 ~@2 [c3,c4,e4,g4]@4 [c3,c4,e4,g4]@4, ~ c4 ~ e3 ~@2", // C F C
AD: "[[b3,d4]@6 ~@4 g2 ~ [g2,d4,g4,b4]@6 b3@2 [g2,d4,g4,b4]@2 a2@2 [d#4,f#4]@6 ~@4 f#4@2 [b2,f#4]@6 b3@2 [d#4,f#4]@2 b3 ~, [g2,b4]@10 ~@14 [b2,a4]@9 ~ b2 ~@9 b2@4, ~@6 b3@4 ~@2 b3@5 ~@5 b3@7 ~ b3@5 ~ b3@5 ~@7, ~@4 d4@2 ~@10 d#4@2 a4@5 ~]/2", // Bm G D#m B5 D#m G B7
AE: "[b3,d4]@6 ~@2 b3@2 [d2,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 g3@2 ~@2 g3 ~, [g2,g4]@11 ~ g2@7 ~ [g2,b3,d4]@4, g3@5 ~ g3@4 ~@2 g4@11 ~", // Bm D G
AF: "~@3 c5 ~ g4 b4@2 [g4,b4]@2 [e2,e4,g4] c2, c2@9 d2@3 [e2,d5]@8 ~@4, [g3,c4,e4]@8 c5@3 ~@13, ~ e5 ~@2, ~@3 g4@2 ~@7", // G Em E7 C
AG: "[c3,e3,e4,g4]@4 c4@2 [c3,f3,f4,a4]@5 ~ [c3,e3,e4,g4]@4 [c3,e3,c4,e4,g4]@4 [c3,e3,c4,e4,g4]@4, ~@6 c4 ~@17", // C F C
AH: "[[b3,d4,g4]@6 ~@4 g2 ~ [g2,d4,g4,b4]@6 b3@2 [g2,d4,g4,b4]@2 a2@2 [d#4,f#4]@6 ~@4 f#4@2 [b2,f#4]@6 b3@2 [d#4,f#4]@2 b3 ~, [g2,b4]@10 ~@14 [b2,a4]@9 ~ b2 ~@9 b2@4, ~@6 b3@4 ~@2 b3@5 ~@5 b3@7 ~ b3@5 ~ b3@5 ~@7, ~@4 d4@2 ~@10 d#4@2 a4@5 ~]/2", // G D#m B5 D#m G B7
AI: "a3@5 ~@3 c4@2 a2@2 [f2,a3,c4,f4]@6 [a3,c4,f4]@4 ~@2, [a2,c4,e4]@4 ~@5 f2@3, ~@6 a3@4 e4 ~@13", // F Am
AJ: "[a3,c4,e4]@3 ~ [c4,e4]@2 c3@2 d2@2 [e2,e4]@2 [e2,g3,e4]@3 ~ e2@2 ~@2 [e2,c4]@2 e4 ~, a4@9 ~@3 g4@10 ~@2, a2@6 ~@10 e4 ~ g3@4 ~@2, ~@4 a3 ~ a3@5 ~ c4@7 ~@5", // Am C E Em C
AK: "[c4,f4,a4]@3 ~ a3@2 ~@4 f2 ~ [f2,a3,a4]@4 [f2,c4,f4]@2 ~@2 [f2,c4]@2 f4 ~, f2@4 a4@7 ~@13, ~@4 [c4,f4]@4 c4@7 ~ a3 ~ a3@4 ~@2, ~@3 f2@2 f4@2 ~@5", // F F5
AL: "c2@4 c2@2 [g2,e4]@2 [e2,c4]@2 [g2,g3] ~ [g3,b3]@4 g2@2 d3@2 [b2,g3,b3]@2 g2@2, [e3,g3]@5 ~ g2 ~ [g3,b3]@2 ~@2, c4@6 ~@6 d4@11 ~", // C G Em G
AM: "[a3,c4]@2 [a2,e3] ~ [c3,a3] e3 [e2,e3,g3]@2 ~ b2 [g2,g3] e2, [a2,e3]@3 ~@3 [e3,c4]@4 a2 ~ b3@8 ~@4, ~@4 [e3,g3] ~", // Am A5 F Em G A5 C Em
AN: "[f2,f3,a3,c4,f4]@4 [a2,c3,f3,a3,c4]@4 ~@4 [g2,f3,c4,f4]@3 ~ [c3,a3,c4,f4]@4 [a3,c4,f4]@3 ~, ~@4 f4@6 a3@5 ~@5 c3 ~@3, ~@8 [f2,c3,f3]@4 ~@4 [g2,f3]@7 ~", // F Csus4 F F5 G7
AO: "c4@3 [g2,e4] [e2,c4] c2 [g3,b3]@2 g2 d3 [g3,b3] g2, [e3,g3]@10 g3 ~ d4@11 ~, c2@3 ~@9 g2@2 ~@2 [g3,b3]@4 ~@4", // C G Em G
AP: "[a3,c4]@2 [a2,e3] ~ [c3,a3] [a2,e3] [e2,e3,g3]@2 e2 b2 [g2,g3] e2, [a2,e3]@3 ~@3 [e3,c4]@4 ~@2 b3@8 ~@4, ~@4 [e3,g3] ~", // Am A5 F A5 Em G A5 C …
AQ: "[f2,f3,a3,c4,f4]@4 [a2,f3,a3,c4]@4 f3@2 ~@2 [f2,c3,f3,c4,f4]@3 ~ [f2,c3,a3,c4,f4]@3 ~ [f2,d3,a3,c4,f4]@3 ~, ~@4 f4@7 ~@13, ~@8 c3 ~ a3@5 ~ f3@7 ~", // F F5 F Dm7
AR: "c4@6 e4@2 c4@2 g3 ~ [g3,b3]@4 [g3,b3]@4 [g3,b3]@2 g2@2, [c2,e3,g3]@10 ~@2 d4@11 ~, ~@12 g2@7 ~@3 b2 ~", // G C
AS: "[a3,c4]@2 ~@2 a3 [a2,c3,e3] [e3,g3]@2 [e3,g3]@2 [g2,b2,g3] [g2,b2], a2@3 c4@2 ~ b3@4 ~@2, e3@3 ~ e3@4 a2 ~@3 g2 ~@11", // Am Em G
AT: "[f3,a3,c4,f4]@2 [f3,a3,c4]@2 f3 ~ [g2,f3,c4,f4]@2 [a3,c4,f4] ~ [g2,a3,c4,f4] g1, f2@10 a3@5 ~ f3@7 ~, a2@2 ~@2 f4@7 ~@7 d2@4 ~@2", // F Csus4 F
AU: "[c3,e3,g3,c4], c2@7 ~", // C
})).s("gm_piano").gain(0.27)
// chords · piano · "Keyboard" · soft notes
const piano_soft = note(`<
~@5 A B C D E F G@2 H I J ~ K ~ L ~@2 M ~ N O P Q R ~@3 A B C D E F G@2 S I J ~ K ~ L ~@2 M ~ N O P Q R ~@3 A B C D E
F G@2 H I J ~ K ~ L ~@2 M ~ N O P Q R ~ T U V W X Y Z AA AB ~@2
>`.pickRestart({
A: "~@11 d3", B: "~@10 b3 ~@13", C: "~@4 c4@2 c4@3 ~ c4@4 ~@2 c4@4 ~@4", D: "~@5 c4@2 ~@5", E: "~@3 b3@2 ~@7",
F: "d4@7 ~@17", G: "[~@4 c4 ~@5 c4@4 ~@2 c4@5 ~ c4@4 ~@8 c4@2 c3@4 ~@8]/2", H: "~@5 g4 ~@6", I: "~@12 d#4@7 ~@5",
J: "~@4 b3 ~@19", K: "~@22 a2 ~", L: "~@12 d4@7 ~@5", M: "~@5 f4 ~@6", N: "~@12 g4 ~@11", O: "~@6 d2 ~ d4@7 ~@9",
P: "~@8 c4@3 ~@9 e4 ~@3", Q: "a3@3 ~@3 a3@4 ~@6 a4@5 ~@3", R: "~@5 f#4@4 ~@3", S: "~@10 g4 ~@13", T: "~@6 c4 ~@17",
U: "~@8 e2 ~ [e3,b3] ~", V: "~@4 f2@4 ~@6 c3 ~@9", W: "~@4 c2@2 c4 ~@13 b2@4", X: "~@10 [e3,b3] ~",
Y: "~@4 f2@5 ~@15", Z: "~@6 c4 ~@13 g2@2 ~@2, ~@20 b2 ~@3", AA: "~@8 c3 ~@11 [e3,b3]@2 ~@2",
AB: "~@2 a2@7 ~@5 d2@2 g1@3 ~@5, ~@16 a1 ~@7",
})).s("gm_piano").gain(0.13)
// chords · acoustic guitar steel · "Guitar 1"
const acoustic_guitar_steel = note(`<
~@5 A B C D E F G H I J@2 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J@2 K L M N O P AA R S T U V W X Y Z A B C
H E F G H I J@2 K L M N O P AA R S T U V W AB AC AD AE AF AG AH AI AJ AK AL ~
>`.pickRestart({
A: "g4@2 ~@2 g4@2 [d4,g4,b4]@2 [d4,g4]@2 [d4,g4,b4]@2 [d4,b4]@2 ~@2 g4@2 d4@2 d4@2 g4 ~, ~@12 g4@4 ~@2 [g4,b4]@5 ~", // G G5 G
B: "[b3,e4]@2 ~@2 [b3,e4,g4]@2 [b3,e4,g4]@2 [b3,e4,g4]@2 [b3,e4,g4] ~ [c4,f4,a4]@2 ~@2 [c4,f4,a4]@2 [c4,f4,a4]@2 [c4,f4,a4]@2 [c4,f4,a4] ~", // E5 Em F
C: "[c3,g3,c4,e4]@4 c4 ~ [c3,a3,c4,f4]@5 ~ [c3,g3,c4,e4]@4 c4 ~ [c3,a3,c4,f4]@5 ~", // C F C F
D: "[c3,g3,c4,e4]@4 c4 ~ [c3,a3,c4,f4]@5 ~ [c3,g3,c4,e4]@4 [c3,g3,c4,e4]@4 [c3,g3,c4,e4]@3 ~", // C F C
E: "[d4,g4,b4]@4 ~@6 g4@2 [d4,g4]@2 ~@4 [d4,g4,b4]@2 [d4,g4,b4]@2 [d4,g4,b4] ~, ~@3 b4 ~@2", // G G5 G
F: "[d4,f#4,b4]@2 ~@4 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4] ~@7 [c4,f4,a4]@2 [c4,f4,a4]@2 [c4,f4,a4]@2", // Bm F
G: "[c3,g3,e4]@6 [c3,a3,c4,f4]@6 c4@4 c4 ~ [c3,a3,c4,f4]@5 ~, c4@2 ~@4 [c3,g3,e4]@3 ~@3", // C F C
H: "[c3,g3,c4,e4]@4 c4 ~ [c3,a3,c4,f4]@5 ~ [c3,g3,c4,e4]@4 [c3,g3,c4,e4]@4 [c3,g3,c4,e4]@4", // C F C
I: "[d4,g4,b4]@4 ~@2 d4@2 [d4,g4]@2 [d4,g4,b4]@2 [d4,g4]@2 ~@2 [g4,b4]@4 [d4,g4,b4]@3 ~, ~@6 b4@2 d4 ~@3", // G G5 G G5 G
J: "[[d#4,f#4,b4]@4 ~@2 [d#4,f#4]@2 [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [f#4,b4]@4 [d#4,f#4,b4]@2 [d#4,f#4,b4]@4 ~@2 [e4,g4]@9 ~@3 [a3,d4,f4]@10 ~@2, ~@12 d#4@2 ~@9 b3@9 ~@16]/2", // B D#m B B5 B Em Dm
K: "[e4,g4]@4 ~@2 e4@4 [c4,e4]@2 [c4,e4,g4]@4 [c4,e4,g4]@4 [c4,e4,g4]@3 ~, ~@3 c4 ~@8", // Em C
L: "~ [d4,g4,b4]!2 ~ g4 [d4,g4,b4] [d4,g4] [d4,g4,b4] [g4,b4] d4 ~ g4, ~@3 b4, ~@9 g4@2 ~, ~@5 d4", // G G5 G
M: "[c4,e4,a4]@4 ~@2 [c4,e4]@2 [c4,e4]@2 [c4,e4] ~ [c4,f4]@2 ~@4 [c4,f4,a4]@2 [c4,f4,a4]@2 [c4,f4,a4] ~", // Am C F5 F
N: "[d4,g4,b4] ~@2 g4 ~ [d4,g4,b4] [d4,g4] d4 [g4,b4]@2 [d4,g4,b4]@2, ~@6 b4@2 d4 ~@3", // G G5 G
O: "b4@2 b4@2 [d4,g4]@2 d4@2 d4@2 ~@2 [a3,c4,e4]@5 ~ [b3,d4,f4]@6, [d4,g4]@4 ~@2 [g4,b4]@5 ~@13", // G5 Am Bdim G5 G
P: "[g4,c5,e5]@2 [c5,e5]@2 ~@2 c5@2 [g4,c5]@2 [g4,c5]@2 g4@2 ~@2 b4@2 [g4,b4]@2 [g4,b4,d5]@2 g4 ~, ~@2 e5 d5@2 ~, ~@3 b4 ~@2, ~@7 g4@2 ~@3", // C C5 G
Q: "[f4,a4,c5]@2 ~@2 [a4,c5]@2 [a4,c5]@2 ~@2 [f4,a4,c5] ~ [f4,a4,c5]@4 [f4,a4,c5]@4 [f4,a4,c5]@3 ~", // F Am F
R: "[e4,g4,c5]@2 [e4,g4,c5]@2 [e4,g4]@2 [e4,g4]@2 [e4,g4,c5]@2 e4 ~ [d4,g4,b4]@2 ~@2 [d4,g4,b4]@2 [d4,g4,b4]@2 [d4,g4,b4]@2 [d4,g4] ~", // C Em C G G5
S: "[c4,f4,a4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4,a4]@2 [c4,f4,a4]@2 [f4,a4] ~ [c4,e4,g4]@4 [c4,e4,g4]@4 [c4,e4,g4]@3 ~", // F F5 F C
T: "~ [d4,g4,b4] [g4,b4] [d4,g4] ~ [g4,b4] [d4,g4,b4]@2 d4!2 [d4,g4,b4]@2, ~@4 [g4,b4] ~", // G G5 G
U: "[c4,e4]@2 ~@6 [e4,a4]@2 c4 ~ [c4,e4,g4]@4 [c4,e4,g4]@4 [c4,e4,g4]@3 ~, a4@2 ~ c4@2 ~@7", // C A5 C
V: "[c4,f4]@2 ~@2 [f4,a4]@2 [c4,a4]@2 c4@2 f4 ~ [c4,f4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@3 ~, ~@3 f4@2 ~@7", // F5 F
W: "[d4,f#4,a4]@2 ~@4 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [f#4,a4]@4 [f#4,a4]@4 [d4,f#4,a4]@2 d4 ~, ~@6 d4 ~ d4 ~@3", // D F#m D
X: "[c4,f4]@2 ~@2 c4@2 ~@4 c4@2 c4@2 ~@6 [f4,a4]@2 c4 ~, a4 f4 [f4,a4]!3 ~, ~@3 c4@2 ~@2 c4@2 c4@2 ~", // F5 F
Y: "c4@6 e4@2 g4@2 e4 ~ [b3,e4]@4 ~@4 [b3,g4]@2 e4 ~, g4@2 ~ g4@2 ~, e4@4 ~@2 c4@5 ~@13", // E5 Em
Z: "[c4,f4,a4]@12 [f4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@3 ~", // F
AA: "[f4,a4,c5]@2 ~@2 [a4,c5]@2 [a4,c5]@2 ~@2 [f4,a4,c5] ~ [f4,a4,c5]@4 [f4,a4,c5]@4 [f4,a4,c5]@2 ~@2", // F Am F
AB: "[c4,f4]@2 ~@2 c4@2 ~@4 c4@2 c4@2 ~@6 [f4,a4]@2 c4 ~, ~ f4 [f4,a4]!3 ~, ~@3 c4@2 ~@2 c4@2 c4@2 ~", // F5 F
AC: "[e4,g4,c5]@6 e4@2 e4@2 [e4,g4,c5]@2 [d4,g4]@4 [d4,g4,b4]@4 [d4,g4,b4]@3 ~, ~@3 [g4,c5]@2 ~@7", // C G5 G C5
AD: "[e4,a4]@6 e4@2 e4@2 [a4,c5] ~@5 [e4,g4,b4]@4 [e4,g4,b4]@3 ~, ~@3 [a4,c5]@2 ~@7", // A5 Am Em Am
AE: "[c4,f4,a4]@4 [c4,f4]@4 [c4,f4,a4]@3 ~ [c4,f4]@4 [c4,f4]@4 [c4,f4,g4]@3 ~, ~@3 g4@2 ~, ~@16 a4@7 ~", // F F5 F F5 Csus4
AF: "~@6 [e4,g4,c5]@4 [e4,g4,c5]@2 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4]@2 ~@2", // C G
AG: "~@6 e4@2 e4@2 [e4,a4,c5]@2 e4@4 [e4,g4,b4]@4 [e4,g4,b4]@3 ~, ~@3 [a4,c5]@2 ~@7", // Am Em Am
AH: "[f4,a4]@6 c4@4 c4@2 [c4,f4,a4]@4 [d4,f4,g4]@4 [d4,f4,g4]@3 ~, c4@2 ~ a4@3 ~@6, ~@3 f4 ~@8", // F G7
AI: "[e4,g4,c5]@6 [e4,g4]@2 [e4,g4]@2 g4 ~ [g4,b4]@4 g4@4 [d4,g4,b4]@3 ~, ~@6 c5@5 ~@13", // C Em G
AJ: "[a4,c5]@6 e4@2 e4@2 [a4,c5] ~ [e4,g4]@4 [e4,g4]@4 [e4,g4,b4]@3 ~, e4@2 ~ [a4,c5]@2 ~ b4@4 ~@2", // Am Em Am
AK: "[c4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@3 ~ [c4,f4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@3 ~", AL: "[g4,c5]@11 ~",
})).s("gm_acoustic_guitar_steel").gain(0.12).pan(0.2)
// chords · acoustic guitar steel · "Guitar 1" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@5 A B ~@2 C D E ~ F G ~ H I J K L M N O P Q R S T U V W A B ~@2 C D E ~ F G ~ H I J K L M N O P Q R S T U V W A B
~@2 C D E ~ F G ~ H I J K L M N O P Q R S T U X Y Z AA AB AC AD AE AF AG ~
>`.pickRestart({
A: "[d4,b4] [d4,g4,b4] [d4,b4] ~ b4 ~@2 [d4,b4]!2 ~@3", B: "g4 [b3,e4,g4] ~@5 [c4,f4,a4] ~@4",
C: "~@2 [d4,g4,b4]!3 [d4,b4] ~ [d4,g4] [d4,g4,b4] ~@3", D: "~ [d4,f#4,b4]!2 ~@3 a4 [c4,f4,a4]!2 ~@3", E: "~@2 c4 ~@9",
F: "~@2 [d4,g4,b4] [g4,b4] b4 ~@2 [d4,g4] ~ d4 ~@2", G: "~@2 [d#4,f#4,b4] b4 ~@3 d#4 ~@4",
H: "c4!2 [c4,e4,g4] ~ c4 g4 ~@6, ~@3 g4@2 ~@7", I: "~@3 [d4,g4,b4] [d4,b4] ~ b4 ~ d4 ~@3",
J: "~@4 [c4,e4,a4]@2 a4@2 a4@2 a4 ~ a4@2 [c4,f4,a4]@2 [c4,f4,a4]@2 ~@6", // Am F
K: "~ [d4,g4,b4]!2 [d4,b4] [d4,g4,b4] ~@2 g4 ~ d4 ~@2", L: "~@4 b4@2 ~@4 d4 ~@13", M: "~ g4 [g4,c5,e5] [g4,e5] ~@8",
N: "~ [f4,a4,c5] f4!2 [f4,a4,c5] ~@7", O: "~@2 c5!2 ~@3 [d4,g4,b4] ~@4", P: "~ a4!2 ~@9",
Q: "~@2 d4 b4 [d4,g4,b4] d4 ~@6", R: "~ [c4,e4] [c4,e4,a4] [e4,a4] ~@8", S: "a4@2 [c4,f4,a4]@2 c4@2 ~@2 a4@3 ~@13",
T: "~ [d4,f#4,a4]!2 ~@4 d4 ~ d4 ~@2", U: "~ [c4,f4] a4@2 ~@8",
V: "~@4 e4@2 ~@2 e4@3 ~@5 [b3,e4]@2 e4@4 ~@2, ~@9 b3 ~@2", W: "~@3 c4 ~@2", X: "~@3 b4 ~@2",
Y: "c5@3 ~@3 [e4,g4,b4]@2 ~@4", Z: "~ a4 ~@4", AA: "~@2 [e4,g4,c5] ~@9", AB: "~@2 [e4,a4,c5] ~@3 [g4,b4]@2 ~@4",
AC: "~@2 c4 ~ f4@2 ~@6", AD: "~@3 d4 [d4,b4] ~", AE: "~@2 e4 ~@9", AF: "f4 ~@23", AG: "e4@11 ~",
})).s("gm_acoustic_guitar_steel").gain(0.06).pan(0.2)
// chords · overdriven guitar · "Guitar 2"
const overdriven_guitar = note("<~@24 A B A C D E@2 ~@20 A B A C D E@2 ~@20 A B A C D F G H ~ I J K ~@5>".pickRestart({
A: "~@22 g3 ~", B: "[g3,b3,d4]@4 ~@18 g3 ~", C: "~@2 [f3,f4] ~@3", D: "~@18 [a3,f#4]@3 ~ [a3,f#4]@2",
E: "[~@6 f2@2 g2@2 a2@2 g2@3 ~ d4@4 c4@3 c3@12 ~@13, ~@16 g2@7 ~@25, ~@16 c#4 ~@31]/2",
F: "a3@5 ~ f2@2 g2@2 a2@2 g2@3 ~ d4@4 c4@3 c3, ~@16 g2@7 ~, ~@16 c#4 ~@7", G: "~@4 [c3,g3,c4] ~@3 [c3,g3,c4] ~@15",
H: "~@4 [e3,a3] ~@3 a3 ~@15", I: "[c3,g3,c4]@4 ~@4 [c3,g3,c4] ~@15", J: "[e3,a3]@4 ~@4 a3 ~@15", K: "~ f3 c4 ~@2 c4",
})).s("gm_overdriven_guitar").gain(0.15).pan(0.4)
// chords · overdriven guitar · "Guitar 2" · soft notes
const overdriven_guitar_soft = note("<~@24 A B A C D ~@22 A B A C D ~@22 A B A C D ~@12>".pickRestart({
A: "~@22 c3 ~", B: "~@22 d3 ~", C: "~@5 c3 ~@5 c4", D: "~@18 f#3@3 ~ f#3@2",
})).s("gm_overdriven_guitar").gain(0.07).pan(0.4)
// chords · electric guitar clean · "Guitar 3"
const electric_guitar_clean = note(`<
~@14 A@3 ~ B C@2 ~@11 D ~@3 E ~@2 F ~ A@3 ~ B C@2 ~@11 D ~@3 E ~@2 F ~ A@3 ~ B C@2 ~@9 G H I J K L M H N ~@2
>`.pickRestart({
A: "[~@12 a4@11 ~@2 g5@8 ~@3 b4@9 ~@2 e4@17 ~@8, ~@23 g4@10 ~@39, ~@12 b4@5 ~@19]/3",
B: "~@4 [d4,g4]@2 d4@5 ~@2 f4@10 ~, ~ c4@5 ~@6, ~@6 g4@4 ~ a3@9 ~@4", // G5
C: "[~@12 c4@5 ~ c4@4 g4@10 ~@2 g4 ~ [d4,g4]@6 g4@6]/2", D: "~@14 g4 ~@7 b4 ~", E: "~@14 b4 ~@9", F: "~@5 c4@3 ~@4",
// … 97 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.