Strudelify

I Guess That's Why They Call It the Blues

Elton John

KeyC majorTempo122 bpm
0:00/0:00
// I Guess That's Why They Call It the Blues — Elton John
// 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): tk7, tk8.
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.

// chords · piano · "tk1"
const piano = note(`<
  A@3 B C D E F G H I J@2 K@2 L M N O P@2 Q R S T U V W X Y Z AA D E F G H I AB@2 AC@2 L M AD O P@2 Q AE S T U V W X Y Z
  AA D E F AF H I J@2 AG@2 L M AH AI AJ@2 Q AE S T U V W X AK 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] ~@3 d3@2, ~@23 g4@8 ~@5 [d4,g4]@4 ~@7 c4@13 f3@8 e3@2 f4 ~, ~@24 c3@8 ~@2 c3@2 e3@7 ~@3 c3@2 [f4,a4]@14 ~@4 [c4,a4]@3 g4@2 ~]/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@5 d3 ~@2 g4 [b3,d4,g4,b4]@2 d3, [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 ~@5 b3 ~@13", // Em E5 C F Em E5
  F: "[c3,e3,e4,g4]@4 c4@2 c4@3 ~@3 [c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@4 c4@2, c4 ~@2 [c3,f3,f4,a4]@3 ~@6, ~@5 c4@2 ~ c4@2 ~@2", // C F
  G: "[c3,e3,e4,g4]@3 ~ c4@2 [c3,f3,f4,a4]@4 ~@2 [c3,e3,e4,g4]@4 [c3,e3,c4,e4,g4]@4 [c3,e3,c4,e4,g4]@4, ~@6 c4 ~@3 c4@4 ~@10", // C F C
  H: "[b3,d4,g4]@6 ~@4 d3@2 b3@5 ~@3 d3@2 c3@2, [g3,b4]@5 ~ [g2,b4]@5 ~, ~@6 b3@4 g4@9 ~ d4@4, ~@8 d4@10 b3@4 g4 ~", // G
  I: "[d4,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 ~", // D B5 F F5
  J: "[[c3,e3,c4,e4,g4]@2 ~@2 c4 ~ [c3,f3,f4,a4]@4 ~@2 [c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@4 ~@2 [c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@4 c4@2 [c4,e4,g4]@2 ~@2 [c3,e3,c4,e4,g4]@4 [c3,e3,c4,e4,g4]@4, ~@6 c4@3 ~ c4@4 ~@2 c4@5 ~ c4@4 ~@2 c4@4 ~@4 [c3,e3]@4 ~@8]/2", // C F C F C F C
  K: "[[b3,d4]@6 ~@4 g4@2 [g2,d4,g4,b4]@6 b3@2 [g2,d4,g4,b4]@2 a2@2 [b2,a4]@8 ~@2 b2 ~ [b2,d#4,f#4]@6 b3@2 [d#4,f#4]@2 b3 ~, [g2,b4]@10 g2 ~@33 b2@4, ~@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 B D#m G D#m
  L: "b3@3 ~ b3 ~ b3 ~ [e4,g4]@2 e3@2 [d3,b3,f4]@6 b3 ~ b3@2 b3 ~, e3@9 ~@11 [d3,d4,f4]@4, [e4,g4]@7 ~ b3 ~ b3 ~ d4@5 ~@3 g4 ~@3", // Em Bdim Dm Em
  M: "[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
  N: "[b3,d4]@6 ~@2 b3@2 [d2,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@2 g3@2 ~@2 [a2,g3] ~, [g2,g4]@11 ~ g2@7 ~ [g2,b3,d4]@4, g3@5 ~ g3@5 ~ g4@11 ~", // Bm D G A7 G
  O: "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
  P: "[[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,d4,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
  Q: "[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
  R: "[f2,f3,c4,f4]@3 c3 [f3,c4] f2 [f3,c4,f4]@2 [e3,c4,f4,a4]@2 [d3,a3,c4,f4]@2, a4@10 f4 ~@13, a3@5 ~ a3@4 ~@2 a3@3 ~@9", // F5 Fmaj7 Dm7
  S: "[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
  T: "[c4,f4]@3 ~ f4@2 ~@2 c4@2 f2@2 g4 ~ 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
  U: "[b3,g4]@4 g4@2 d2 ~@3 [d2,g4]@2 [g2,b3]@4 ~@4 [g2,d4]@2 g#2@2, [g2,b4]@5 ~@3 [d2,d4,g4]@2 ~@2, d4@6 b3@5 ~ b4@8 ~@2 g4 ~, ~@8 d4@7 ~@3 b3@4 ~@2", // Em G5 G G5 G G5
  V: "[a3,c4,e4]@3 ~ [c4,e4]@2 ~@2 [d2,c4]@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 ~ e4 ~@3", // Am C D7 E Em C F
  W: "[a3,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 ~@5 a4@5 ~@3, ~@3 [f2,a3]@2 f4@2 ~@5, ~@8 c4@7 ~ a3 ~ a3@4 ~@2", // F F5 F
  X: "[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 f#4@8 ~@6, ~@8 d4@9 ~ [d4,f#4]@4 a3 ~, ~@12 f#2@3 ~@3 f#2 ~@5", // D
  Y: "[c4,f4]@6 ~@2 g2@2 a2@2 [a3,a4]@3 ~@5 [a3,c4,f4,a4]@2 ~@2, [f2,a4]@8 c4@7 ~ [a3,c4,f4,a4]@4 ~@4, a3@5 ~ a3@4 f4@5 ~@9, ~@6 g2@2 ~ g2@3", // F5 A F
  Z: "~@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
  AA: "[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
  AB: "[[c3,e3,c4,e4,g4]@2 ~@2 c4 ~ [c3,f3,f4,a4]@4 ~@2 [c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@4 ~@2 [c3,e3,e4,g4]@3 ~@3 [c3,f3,f4,a4]@4 c4@2 [c4,e4,g4]@2 ~@2 [c3,c4,e4,g4]@4 [c3,c4,e4,g4]@4, ~@6 c4@3 ~ c4@4 ~@2 c4@5 ~ c4@4 ~@2 c4@4 ~@4 [c3,e3]@4 ~@8]/2", // C F C F C F C
  AC: "[[b3,d4]@6 ~@4 [g2,g4] ~ [g2,d4,g4,b4]@6 b3@2 [g2,d4,g4,b4]@2 a2@2 [d#4,f#4]@6 ~@4 f#4@2 [b2,d#4,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 B D#m G B7
  AD: "[b3,d4]@6 ~@2 b3@2 [d2,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 g3@2 ~@2 [a2,g3] ~, [g2,g4]@11 ~ g2@7 ~ [g2,b3,d4]@4, g3@5 ~ g3@5 ~ g4@11 ~", // Bm D G A7 G
  AE: "[f2,f3,c4,f4]@3 c3 [f3,c4] [f2,f4] [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 F F5 Fmaj7 Dm7
  AF: "[c3,e3,e4,g4]@2 c4 [c3,f3,f4,a4]@2 ~ [c3,e3,e4,g4]@2 [c3,e3,c4,e4,g4]@2 [c3,e3,c4,e4,g4]@2, ~@6 c4 ~@3 c4@4 ~@10", // C F C
  AG: "[[b3,d4,g4]@6 ~@4 [g2,g4] ~ [g2,d4,g4,b4]@6 b3@2 [g2,d4,g4,b4]@2 a2@2 [d#4,f#4]@6 ~@4 f#4@2 [b2,d#4,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 B D#m G B7
  AH: "[b3,d4]@6 ~@2 b3@2 [d2,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 g3@2 ~@2 [a2,g3] ~, [g2,g4]@11 ~ g2@7 ~ [g2,b3,d4]@4, g3@5 ~ g3@4 ~@2 g4@11 ~", // Bm D G A7 G
  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: "[[b3,d4]@3 ~ b3 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,d4,g4]@8 g2 ~ g2@11 ~@15, g3@5 ~ g3@5 ~@11 g3@5 ~@3 g3@4 ~@14, ~@24 g4@9 ~ d4 ~@13]/2", // Bm C Bm Am7 Bdim G
  AK: "[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
  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 c4 ~@5 d4@11 ~", // C G Em G
  AM: "[a3,c4]@2 [a2,e3] ~ [c3,a3] e3 [e2,e3,g3]@2 e2 b2 [g2,e3,g3,b3] e2, [a2,e3]@3 ~@3 [e3,c4]@4 a2 ~ b3@8 ~@4, ~@4 [e3,g3] ~", // Am A5 F Em A5 C Em
  AN: "[f2,f3,a3,c4,f4]@4 [f2,a2,c3,f3,a3,c4]@4 ~@4 [g2,f3,c4,f4]@2 c3 ~ [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: "c2@3 ~ c2@2 [g2,e4]@2 [e2,c4]@2 c2@2 [g3,b3]@4 g2@2 d3@2 [g3,b3]@2 g2@2, [e3,g3]@10 g3 ~ g2@2 ~@2 [g3,b3]@4 b2@4, c4@6 c4 ~@5 d4@11 ~", // C G Em G
  AP: "[a3,c4]@2 [a2,e3] ~ [c3,a3] [a2,e3] [e2,e3,g3]@2 e2 b2 [g2,e3,g3,b3] e2, [a2,e3]@3 ~@3 [e3,c4]@4 ~@2 b3@8 ~@4, ~@4 [e3,g3] ~", // Am A5 F A5 Em A5 C Em
  AQ: "[f2,f3,a3,c4,f4]@4 [f2,a2,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, ~@4 f3@3 ~ c3 ~ a3@5 ~ f3@7 ~", // F F5 F Dm7
  AR: "c4@6 e4@2 c4@2 g3 ~ [g3,b3]@4 [g3,b3]@4 [g2,g3,b3]@2 g2@2, [c2,e3,g3]@10 ~@2 g2@7 ~ b2 ~ b2 ~, ~@6 c4 ~@5 d4@11 ~", // G C
  AS: "[a3,c4]@4 ~@4 [a2,c3] ~ [a2,c3,e3]@2 [e3,g3]@4 [e3,g3]@4 [g2,b2,e3,g3,b3]@2 [g2,b2]@2, a2@3 c4@2 ~ b3@4 ~@2, e3@3 ~ e3@4 a3@2 ~@2 g2 ~@11", // Am Em G
  AT: "a2 ~ [f3,a3,c4]@2 f3 ~@2 d2 [g1,a3,c4,f4] ~ [g2,a3,c4,f4] g1, f2@11 ~ [g2,f3,c4,f4]@4 a1 ~ d2@4 ~@2, [f3,a3,c4,f4]@4 f4@7 ~@13, ~@2 a2@7 ~ a3@5 ~ f3@7 ~", // F Csus4 F
  AU: "[c3,e3,g3,c4], c2@7 ~", // C
})).s("gm_piano").gain(0.28)

// bass · fretless bass · "tk2"
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 BD AL AM M AN AO P AP AQ AR AS AT AU AV AW AX AY 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@15 ~ e3@4 d3@4", 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@5 ~ 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: "c2@3 ~ c2@2 a2@6 g2@2 ~@4 a2@4 g2@2, ~@6 g2 ~@11 g2 ~@5", 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_fretless_bass").gain(0.3)

// chords · acoustic guitar steel · "tk3"
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 AA AB 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 AC R AD T U V W AE AF AG AH AI AJ AK AL AM AN AO ~
>`.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 ~@4 g4@2 [d4,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]!3 [g4,b4] d4 ~ g4, ~@3 b4, ~@9 g4@2 ~, ~@5 d4", // G
  M: "[c4,e4,a4]@4 ~@2 [c4,e4]@2 [c4,e4,a4]@2 [c4,e4] ~ [c4,f4]@2 ~@4 [c4,f4,a4]@2 [c4,f4,a4]@2 [c4,f4,a4] ~", // Am C 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]@4", // 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,a4]@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: "[g4,c5,e5] [c5,e5] ~ c5 [g4,c5]!2 g4 ~ b4 [g4,b4] g4!2, ~@4 e5@2 d5@3 ~@3, ~@3 b4 ~ [b4,d5], ~@7 g4@2 ~@3", // C C5 G Bm
  AB: "[f4,a4,c5]@2 ~@2 [a4,c5]@2 [a4,c5]@2 ~@2 [f4,a4,c5] ~ [f4,a4,c5]@3 ~ [f4,a4,c5]@3 ~ [f4,a4,c5]@2 ~@2", // F Am F
  AC: "[f4,a4,c5]@2 ~@2 [a4,c5]@2 [a4,c5]@2 ~@2 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@2 [f4,a4,c5]@2 ~@2 [f4,a4,c5]@2 ~@2", // F Am F
  AD: "[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
  AE: "[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
  AF: "[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
  AG: "[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
  AH: "[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
  AI: "~@4 g4@2 [e4,g4,c5]@4 [e4,g4,c5]@2 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4]@2 ~@2", // C G
  AJ: "~@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
  AK: "[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
  AL: "[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
  AM: "[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
  AN: "[c4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@3 ~ [c4,f4,a4]@4 [c4,f4,a4]@4 [c4,f4,a4]@3 ~", AO: "[g4,c5]@11 ~",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.2)

// chords · acoustic guitar steel · "tk3" · 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]!2 [d4,b4] 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] ~@3 d4 ~@3",
  J: "~@4 [c4,e4,a4]@2 a4@2 ~@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 [c4,f4,a4] c4 ~@9",
  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,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 ~@5", AG: "e4@11 ~",
})).s("gm_acoustic_guitar_steel").gain(0.06).pan(0.2)

// chords · overdriven guitar · "tk7"
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 · "tk7" · 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 · "tk8"
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",
  G: "~ g4!2 ~@3", H: "~@4 g4@4 g4@3 ~@13", I: "~@4 g4@4 g4@3 ~ a3@4 g4@4 ~@4", J: "[g3,c4,e4]@7 ~ [e4,g4]@3 ~@13",
  K: "~ g4!2 ~@3, [a3,c4,e4]@7 ~@17", L: "~@4 [f4,g4]@4 g4@3 ~ g3@6 ~@6", M: "~ g4 ~@4",
  N: "~@2 g4@2 g4@2 ~@2 g4@2 g4 ~",
})).s("gm_electric_guitar_clean").gain(0.14)

// chords · electric guitar clean · "tk8" · soft notes
const electric_guitar_clean_2 = note("<~@38 [~@10 c4@3 ~@9 c4@2] ~@26 [~@10 c4@3 ~@9 c4@2] ~@26 [~@12 g3@5 ~@7] ~@2>")
  .s("gm_electric_guitar_clean").gain(0.08)

// other · harmonica · "tk9"
// … 96 more lines

More by Elton John