Strudelify
I Don't Wanna Go On With You Like That cover art

1998 · Reg Strikes Back

I Don't Wanna Go On With You Like That

Elton John

KeyA minorTempo133 bpm
0:00/0:00
// I Don't Wanna Go On With You Like That — John Elton
// 133 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 121 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(133/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 · slap bass 2 · "Bass"
const bass = note(`<
  ~ A@2 B C A@2 B D E F G H I J K E@2 L M N I O P Q@2 R S T U V T W X@2 Y Z AA@2 AB AC E L M N I O P Q@2 R AD T U V T W
  Q R AD T U V T W X@2 Y Z AA@2 AB AC AE@2 AF AG AH@2 AI AJ@2 R S T U V T W Q R S T U V T W X@2 Y Z AA@2 AB AC X@2 Y Z
  AA@2 AB AC X@2 Y Z AA@2 AB AK
>`.pickRestart({
  A: "a1 ~ a2 ~ a1 ~ a2 ~", B: "d2 ~ d2 ~ d2 ~ d2 ~", C: "d1 ~ d1 ~ d1 ~ d1 ~",
  D: "d1@3 ~ d1@2 ~@2 d1@2 e1@2 g1@2 e1@2", E: "a1@4 ~@2 a1 ~ a1@4 g1@2 e1@2", F: "a1@4 ~@2 a1 ~ a1@5 ~ a1 ~",
  G: "d2@4 ~@2 d2 ~ d2@4 d1@4", H: "g1@5 ~ g1 ~ g1@4 d1@2 g1@2", I: "a1 b1 c2 c#2", J: "d2@4 ~@2 d2 ~ d1@5 ~ d1 ~",
  K: "g1@5 ~ g1 ~ g1@5 ~ g1 ~", L: "a1@5 ~ a1 ~ a1@4 g1@2 e1@2", M: "d1@2 ~ d1 d2@2 d1@2", N: "g1@5 ~ g1 ~ g1@3 ~ g1@4",
  O: "d2@4 ~@2 d2 ~ d1@4 d2@4", P: "g1@5 ~ g1 ~ g1@4 e1@2 d1@2", Q: "a1@3 ~ g1 ~ e1 ~ a1@4 g1 ~ e1 ~",
  R: "a1@4 g1 ~ e1 ~ a1@4 g1 ~ e1 ~", S: "d1@4 d2 ~ d2 ~ d1@4 d2 ~ d2 ~", T: "g1@4 g2 ~ g2 ~ g1@4 g2 ~ g2 ~",
  U: "c1 d1 d#1 e1", V: "f1@4 f2 ~ f2@2 f1@4 f2 ~ f2 ~", W: "a1@3 ~ a1@3 ~ a1@2 e1@2 g1@2 a1@2",
  X: "a1@3 ~ a1@2 ~@2 a1@2 e1@2 g1@2 e1@2", Y: "d1@3 ~ d2@2 ~@2 d2@2 a1@2 c2@2 a1@2", Z: "d1@2 d2 ~ d2 a1 c2 a1",
  AA: "g1 ~ g1 ~ g1 e1 d1 e1", AB: "a1 ~ a1 ~ a1 g1 e1 g1", AC: "a1 ~ a1 ~ a1 e1 g1 a1",
  AD: "d1@4 d2 ~ d2@2 d1@4 d2 ~ d2 ~", AE: "d1@4 d2@3 ~ d1@4 d2 ~ d2@2", AF: "e1@4 e2@3 ~ e1@4 e2 ~ e2@2",
  AG: "e1@4 e2@2 ~@2 e1@4 e2 ~ e2@2", AH: "f1@4 f2@3 ~ f1@4 f2 ~ f2@2", AI: "g1@4 g2@4 g1@4 g2 ~ g2@2",
  AJ: "[g#1@2 b1@2 d2@2 d#2@2 e2@2 g#2@4 ~@2 a1@3 ~ g1 ~ e1 ~ a1@4 g1 ~ e1 ~, ~@7 a2@2 ~@7]/2",
  AK: "a1@2 ~@2 a1 ~ g1 a1@2 ~@7",
})).s("gm_slap_bass_2").gain(0.33)

// chords · piano · "Keyboard"
const piano = note(`<
  ~ A@3 B C@3 D E@8 F@8 G@3 H I J@2 K L M@2 N@4 O@5 P@7 H I J@2 Q@4 H I J@2 K L M@2 N@4 R S@4 T U@2 V W@3 H I J@2 Q@4 H
  I J@2 K L M@2 N@4 X L M@2 N@4 Y Z@2 AA@2 AB@2 Z AC
>`.pickRestart({
  A: "[[a3,c4,e4]@26 g3 ~ [c4,e4] ~ [a3,c4,f4]@17 ~]/3", // Am C F
  B: "[g3,e4] ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@4 g3 ~ [a3,c4,f4]@3 ~, c4 ~@7", // C F
  C: "[[a3,c4,e4]@26 g3@2 [c4,e4] ~ [a3,c4,f4]@17 ~]/3", // Am C F
  D: "[g3,e4] ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@4 a3 ~ [a3,c4,f4]@3 ~, c4 ~@7", // C F
  E: "[[a3,c4,e4]@27 ~ [a3,c4,e4] ~ [a3,c4,f4]@13 ~ [a3,c4,f4] ~ [g3,b3,d4]@13 ~ [g3,b3,d4] ~ [a3,c#4,e4]@4 a4@2 ~@4 [a3,c#4,e4]@2 g4@2 [a3,c#4,e4] ~ [a3,c4,f4]@14 [a3,c4] ~ [c4,d4,g4]@13 ~ [g3,b3]@2 [a3,c4,e4]@18]/8", // Am F G A F Am Csus2 G …
  F: "[[a3,c4,e4]@27 ~ [a3,c4,e4] ~ [a3,c4,f4]@13 ~ [a3,c4,f4] ~ [g3,b3,d4]@13 ~ [g3,b3,d4] ~@5 a4@2 [a3,c#4,e4] ~@5 g4@2 [a3,c#4,e4]@2 [a3,c4,f4]@14 [a3,c4] ~ [c4,g4]@11 ~@3 [g3,b3]@2 e4@16 [e4,a4]@2, ~@31 [a3,c#4,e4]@3 ~@2 [a3,c#4,e4]@2 ~@9 d4@8 a3@9, ~@55 c4@7 ~@2]/8", // Am F G A F Am C5 G …
  G: "[~@2 c4 ~ [c4,e4,a4]@3 ~ [b3,d4,g4] ~ [c4,e4,a4]@8 ~@8 [e4,a4]@2 c4 ~ [a3,d4,f4]@12 ~@6]/3", // Am G Am A5 Dm
  H: "[b3,d4,g4] ~ [b3,d4] ~@3 [b3,d4,g4]@2 ~@2 [b3,d4,f4]@4 ~@2, ~ g4 ~@6", // G Bm G Bdim
  I: "[c4,e4] ~ [e4,g4]@2 f4@2 ~@2 [g3,c4] ~ g4@2 f4@2 e4 ~, ~@2 c4@4 e4@4 c4@5 ~, ~@10 e4 ~@5", // C Em C5
  J: "[[f4,a4] ~ [c4,f4] ~@3 [c4,f4,a4] ~@3 [c4,f4,a4]@3 ~ [b3,d4,g4]@7 ~ [b3,d4,g4] ~@3 g4@2 f4@2 e4 ~, ~@26 [b3,d4]@5 ~]/2", // F F5 F G Bm
  K: "[c4,e4,a4] ~ [c4,e4,a4] ~@3 [c4,e4,a4] ~@3 [b3,d4,g4] ~@3 [c4,e4,a4] ~", // Am G Am
  L: "~@4 [c4,e4,a4]@2 a3 ~ [g3,b3] ~ [a3,a4]@2 ~@4, ~@10 [c4,e4] ~@5", // Am G A C
  M: "[[c4,e4,a4]@2 a3@2 c4 ~ [a3,c4,e4,a4]@2 ~@2 a3 ~ [c4,e4]@2 [d4,f4]@4 a3 ~ [d4,f4]@2 a3 ~ [g3,c4,e4] ~ [a3,c4,f4]@3 ~@3, a3 ~@11 a3@5 ~@3 a3 ~@11]/2", // Am C Dm C F
  N: "[[g3,c4,e4]@2 g3 ~ [g3,c4,e4] ~ [a3,d4,f4]@4 a3@2 [c4,f4] ~ [c4,d4,g4]@5 ~ [c4,d4,g4] ~ [b3,d4,g4]@5 ~ [b3,d4,g4] ~ [d4,g4]@5 ~ d4 ~ [g3,b3,d4]@5 ~ [b3,d4,g4] ~ [a3,c4,e4,a4]@4 a3@2 [c4,e4,a4]@2 a3 ~ [g3,b3,d4,g4] ~ [a3,c4,e4,a4]@4 a3@2, ~@30 c4@6 g4@7 ~@21]/4", // C Dm F5 Csus2 G G5 G Am …
  O: "[[c4,e4,a4]@2 a3 ~ [g3,b3,d4,g4] ~ [a3,c4,e4,a4]@3 ~ [a3,c4,e4,a4]@4 [a3,c4,e4]@28 ~@2 [a3,c4,e4] ~ [a3,c4,f4]@13 ~ [a3,c4,f4] ~ [g3,b3,d4]@13 ~ [g3,b3,d4] ~ [a3,c#4,e4]@2, ~@7 a4@2 ~@31]/5", // Am G Am F G A
  P: "[~@2 a4@2 [a3,c#4,e4] ~@5 g4@2 [a3,c#4,e4]@2 [a3,c4,f4]@14 [a3,c4] ~ [c4,g4]@11 ~@3 [g3,b3]@2 e4@16 [e4,a4]@4 c4 ~ [c4,e4,a4]@3 ~ [b3,d4,g4] ~ [c4,e4,a4]@8 ~@8 [e4,a4]@2 c4 ~ [a3,d4,f4]@12 ~@6, ~@4 [a3,c#4,e4]@2 ~@9 d4@8 a3@9 ~@24, ~@23 c4@7 ~@26]/7", // A F Am C5 G A5 Am G …
  Q: "[[c4,e4,a4] ~ [c4,e4,a4] ~@3 [c4,e4,a4] ~@3 [b3,d4,g4] ~@3 [c4,e4,a4]@4 c4 ~ [c4,e4,a4]@3 ~ [b3,d4,g4] ~ [c4,e4,a4]@16 [e4,a4]@2 c4 ~ [a3,d4,f4]@12 ~@6]/4", // Am G Am G Am A5 Dm
  R: "[c4,e4,a4]@2 a3 ~ [g3,b3,d4,g4] ~ [a3,c4,e4,a4]@4 [a3,c4,e4,a4]@6", // Am G Am
  S: "[[c4,f4]@10 c4@3 ~ c4@8 [c4,f4,a4]@3 ~ [c4,f4,a4]@3 ~ [c4,e4]@13 ~@3 [c4,e4]@7 ~ [c4,f4]@3 ~ [c4,e4,g4]@4 ~@2, a4@21 ~@9 g4@22 ~@12]/4", // F5 F C F5 C
  T: "[c4,f4,a4]@5 ~@3 [f4,a4]@6 ~@2, ~ c4", // F
  U: "[[f4,a4]@6 ~@2 [f4,a4] ~ [c4,f4,a4]@4 [b3,d4,g4]@7 ~@3 [b3,d4,g4]@7 ~, c4 ~@7]/2", // F G
  V: "[b3,d4,g#4]@6 [b3,d4] ~ [b3,d4,g#4]@6 ~@2", // G#dim Bm G#dim
  W: "[[e4,a4]@2 c4 ~ [c4,e4,a4]@3 ~ [b3,d4,g4] ~ [c4,e4,a4]@8 ~@8 [e4,a4]@2 c4 ~ [a3,d4,f4]@12 ~@6]/3", // A5 Am G Am A5 Dm
  X: "[c4,e4,a4]@2 a3 ~ [g3,b3,d4,g4] ~ [a3,c4,e4,a4]@4 [a3,c4,e4,a4]@4 [c4,e4,a4] ~", // Am G Am
  Y: "[c4,e4,a4]@2 a3 ~ [g3,b3,d4,g4] ~ [a3,c4,e4,a4]@3 ~ [a3,c4,e4,a4]@4 [a3,c4,e4,a4]@2", // Am G Am
  Z: "~@2 [e4,a4,c5] ~ [d4,g4,b4] ~@3 [c4,e4,a4]@2 ~ [d4,g4,b4] ~@4", // Am G Am G
  AA: "~@2 [f4,a4,c5] ~ [d4,g4,b4] ~@3 [c4,f4,a4]@2 ~ [d4,g4,b4] ~@4", // F G F G
  AB: "~@2 [d4,g4,b4] ~ [c4,f4,a4] ~@3 [b3,d4,g4]@2 ~ [c4,f4,a4] ~@4", // G F G F
  AC: "~@2 [e4,a4,c5] ~ [e4,a4,c5] ~ [d4,g4,b4] [c4,e4,a4] ~@8", // Am G Am
})).s("gm_piano").gain(0.25).pan(0.4)

// chords · piano · "Keyboard" · soft notes
const piano_soft = note(`<
  ~@24 A ~@4 B C ~@2 D ~@3 E F ~@9 A ~@4 B C ~@6 B C ~@2 D ~@3 E F ~@2 G@2 H I J K L M ~@4 B C ~@6 B C ~@2 D ~@3 E F ~@2
  D ~@3 E F ~@10
>`.pickRestart({
  A: "~@12 c4 ~@3", B: "g3 ~@15", C: "c4 ~ a4 ~@5 c4 ~@3 f4 ~@3", D: "~@2 a3@2 ~@4 [d4,g4] ~@5 a3 ~",
  E: "~@2 g3@3 ~@5 g3@3 ~@3", F: "~ g3 ~@6", G: "[~@6 f4@5 ~@5]/2", H: "~@12 [c4,e4] ~@3", I: "~@14 c4 ~",
  J: "~@6 c4 ~@9", K: "~@3 c4@2 ~@3", L: "~@6 [b3,d4,g4] ~@9", M: "~@6 g#4 ~@9",
})).s("gm_piano").gain(0.15).pan(0.4)

// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
  A B@8 C@8 D@4 E@7 F@5 G@3 H@5 D@4 E@7 F@5 I@8 G@3 J@6 K@6 L M@8 I@8 N@8 O@8 P@8
>`.pickRestart({
  A: "~@15 a2",
  B: "[[e3,a3,c4,e4]@28 ~@5 f4@27 ~@5 e4@28 ~@4 f4@27 ~@4, ~@31 d3@29 ~@3 a2@30 ~@35, ~@32 [a3,c4]@28 ~@4 e3@30 ~ d3@30 ~@3, ~@16 [a3,c4]@7 ~ [a3,c4]@7 ~]/8", // Am
  C: "[[e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [a3,c4,e4]@2 [a3,c4,e4]@4 [a3,c4,e4]@4 a3@2 e3@2 [a3,c4,e4]@4 [a3,c4,e4]@2 [c4,e4]@2 [a3,c4,f4]@6 [a3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [b3,e4]@2 [g3,b3,g4]@4 [b3,g4]@2 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 b3@2 [a3,c#4,e4]@6 [a3,c#4,e4]@4 [a3,c#4,e4]@2 [a3,c#4,e4]@2 ~@2 [c4,f4]@4 c4@2 [a3,c4]@2 [c4,f4]@4 [c4,f4]@2 [a3,c4,f4] ~ [g3,c4,f4]@6 [g3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [g3,f4]@2 c4@4 c4@2 [e3,a3,c4]@2 [e3,c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [a2,e3,c4,e4]@2, a2@15 ~@26 f4@2 ~@14 e4@2 ~@2 e3@2 ~, ~@8 e3@12 ~@2 e3@7 ~@7 d3@10 d3@8 [d3,g3]@8 e3@9 ~ e3@4 ~@2 d3@16 d3@16 a2@16 ~@2, ~@9 [c4,e4]@2 ~@9 a3@2 ~@3 g3@2 ~@12 a3@3 ~ a3@3 ~@6 g3@2 ~ [e3,a3]@3 ~ a3@3 a3@2]/8", // Am C F F5 E5 G Em A …
  D: "[[a3,c4,e4]@4 [a3,c4,e4]@4 [c4,e4]@2 a2@2 ~@2 [c4,e4]@4 ~@2 e3@2 [a3,c4,e4]@4 [a3,c4,e4]@2 [e3,a3,c4,e4] ~ [c4,f4]@6 [c4,f4]@4 [c4,f4]@2 [c4,f4]@2 f4 ~ [b3,g4]@4 ~@2 g3@2 [b3,g4]@4 b3@4 [e3,a3,c#4,e4]@2, e3@4 [e3,a3]@3 e3@3 ~ e3@3 ~@6 [d3,a3]@3 d3@8 ~, ~@5 [c4,e4]@2 a3@4 ~@4 a3@5 ~@3 g3@3 ~ g3@4 ~, ~@6 a2@7 a2@3 ~@16, ~@9 [c4,e4]@2 ~@14 [b3,g4]@2 ~@2 g4 ~@2]/4", // Am C Am F5 Em A A5 D5 …
  E: "[~@4 [e3,a3,c#4,e4]@4 [a3,c#4,e4]@2 [a3,c#4]@2 [g3,b3] ~ [c4,f4]@4 [c4,f4]@4 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4] ~ [g3,c4,f4]@6 [g3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [g3,b3]@2 [a3,c4,e4]@4 c4@2 c4@2 [a3,c4,e4]@4 [e3,e4]@2 e4@2 [c4,e4]@2 [c4,e4]@4 [c4,e4]@4 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@4 [a3,c4,e4]@4 [a3,c4,e4]@2 [a3,c4,e4]@2 [a3,c4,e4]@4 [e3,a3,c4,e4]@2 [a3,c4,e4] ~ [a3,c4,f4]@6 [a3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [g3,a3,c4,f4] ~ [g3,b3,g4]@2, ~@2 a2@3 a2@10 ~@8 a2@22 ~@11, ~@8 e3@4 ~@2 d3@16 d3@9 ~ d3@6 e3@12 c4@4 ~@50, ~@5 e4@2 a3@4 ~@9 g3@2 ~@3 [a3,e4]@2 ~@2 a3@3 ~@24, ~@60 e3@4 [e3,a3]@8 ~@6 e3@12 ~@4 d3@9 ~ [d3,a3]@4 d3@4]/7", // A G F5 F Csus4 F5 G Am …
  F: "[~@2 [g3,b3,g4]@4 [g3,b3,g4]@4 [d3,g3,b3,g4]@3 ~ [c3,e3,g3,c4,e4]@6 [e3,g3,c4,e4]@4 [e3,c4,e4]@2 [e3,c4,e4]@3 ~ [a3,c4,f4]@4 [a3,c4]@2 [a3,c4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [g3,b3,g4]@4 [d3,g3,b3,g4]@2 [d3,g3,b3,g4]@3 ~ [a2,c4,e4]@4 ~@2 a3@2 [c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2, ~@2 d3@8 ~@10 c3@9 ~@5 f4@4 ~@8 [g3,b3]@6 ~@10 a3@6 ~@12, ~@24 g3@6 f3@8 f3@7 ~ d3@10 ~@6 e3@8 [e3,a3]@6 [e3,a3]@4, ~@33 [c4,e4]@2 ~@5]/5", // G C F Am F F5 G Am …
  G: "[[a2,e3,a3,c4,e4]@2 [a3,c4,e4]@2 [c4,e4] [e3,c4,e4]@2 [c4,e4]@2 c4 [e3,a3,c4] [c4,e4]@2 [c4,e4]!2 [a3,c4,f4]@2 [a3,c4,f4] [c4,f4]@2 [c4,f4] [a3,c4,f4]@2 [a3,c4,f4], ~@4 e3@6 ~@4 [e3,a3]@6 ~@2 [e3,a3]@7 ~@7 a3@6 ~@6, ~@4 a3@3 ~@2 e4@2 ~@13]/3", // Am C Am C F F5 F A5
  H: "[[c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [b3,g4]@4 [b3,g4]@2 g4@2 g4@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@2 [b3,g4]@4 [b3,g4]@4 [a3,e4]@4 [a3,e4]@2 [a3,c4,e4]@4 [c4,e4]@2 e4@2 e4@2 [c4,e4]@4 a3@2 [e3,a3]@2 [c4,e4]@4 [c4,e4]@2 [e3,a3,c4,e4]@2 [a2,e3,a3,c4,e4]@2, ~@6 a3@7 ~ [d3,g3,b3]@6 g3@10 g3@6 ~@2 g3@8 ~@6 a2@6 a2@20 ~@2, ~@20 d3@6 d3@19 ~ [e3,c4]@6 e3@16 ~@2 [e3,a3]@6 ~@4, ~@13 b3@2 ~@13 a3@5 ~@7, ~@29 c4@2 ~@2 [c4,e4]@2 ~@5]/5", // F5 Em G Em A5 Am C A5 …
  I: "[[a2,e3,a3,c4,e4]@4 [a3,c4,e4]@4 [c4,e4]@2 [e3,c4,e4]@4 [c4,e4]@4 c4@2 [e3,a3,c4]@2 [c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4]@4 [c4,f4]@2 ~@4 [g3,b3,g4]@4 [g3,b3,g4]@4 [g3,b3,g4]@4 [d3,g3,b3,g4]@3 ~ [c3,e3,g3,c4,e4]@6 [e3,g3,c4,e4]@4 [e3,c4,e4]@2 [e3,c4,e4]@3 ~ [a3,c4,f4]@4 [a3,c4]@2 [a3,c4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [g3,b3,g4]@4 [d3,g3,b3,g4]@2 [d3,g3,b3,g4]@3 ~ [a2,c4,e4]@4 ~@2 a3@2 [c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2, ~@4 e3@6 ~@4 [e3,a3]@6 ~@2 [e3,a3]@7 ~@7 a3@6 [a3,c4,f4]@4 ~@26 g3@6 f3@8 f3@7 ~ d3@10 ~@6 e3@8 [e3,a3]@6 [e3,a3]@4, ~@8 a3@6 ~@4 e4@4 ~@22 d3@6 d3@8 ~@10 c3@9 ~@5 f4@4 ~@8 [g3,b3]@6 ~@10 a3@6 ~@12, ~@57 [c4,e4]@2 ~@5]/8", // Am C Am C F F5 G C …
  J: "[[c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [b3,g4]@4 [b3,g4]@2 g4@2 g4@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@2 [b3,g4]@4 [b3,g4]@4 [a3,e4]@4 [a3,e4]@2 [a3,c4,e4]@4 [c4,e4]@2 e4@2 e4@2 [c4,e4]@4 a3@2 [e3,a3]@2 [c4,e4]@4 [c4,e4]@2 [e3,a3,c4,e4]@2 [a3,c4,f4]@6 [a3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [a3,c4,f4] ~ [a3,c4,f4]@2, ~@6 a3@7 ~ [d3,g3,b3]@6 g3@10 g3@6 ~@2 g3@8 ~@6 a2@6 a2@22 ~@16, ~@20 d3@6 d3@19 ~ [e3,c4]@6 e3@16 ~@2 [e3,a3]@6 ~@2 d3@9 ~ [d3,a3]@4 d3@4, ~@13 b3@2 ~@13 a3@5 ~@15, ~@29 c4@2 ~@2 [c4,e4]@2 ~@13]/6", // F5 Em G Em A5 Am C A5 …
  K: "[~@2 [a3,c4,f4]@4 [a3,c4,f4]@4 [d3,a3,c4,f4]@3 ~ [c3,e3,g3,c4,e4]@6 [e3,g3,c4,e4]@4 [e3,c4,e4]@2 [e3,c4,e4]@3 ~ [g3,c4,e4]@4 [g3,c4]@2 [g3,c4]@2 [g3,c4,f4]@4 [g3,c4,e4]@2 [c4,e4] ~ [a3,c4,f4]@4 [a3,c4]@2 [a3,c4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4] ~ f4@4 f4@2 [a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@3 ~ [d4,g4]@4 ~@2 b3@2 [d4,g4]@4 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2, ~@2 d3@8 ~@10 c3@9 ~@5 e4@4 ~@12 f4@4 ~@8 [a3,c4]@6 ~@10 g3@8 [g3,b3]@6 [g3,b3]@4, ~@24 g3@6 e3@8 e3@7 ~ f3@8 f3@7 ~ f3@10 ~@6 b3@6 ~@12, ~@41 [d4,g4]@2 ~@5]/6", // F Dm7 C C5 Csus4 C F Am …
  L: "[d4,g#4] ~ b3 [d4,g#4]@2 [d4,g#4] [e3,b3,d4,g#4] [e3,a3,c4,e4], e3@3 [e3,b3]@3 ~@2, b3 ~@3, ~ [d4,g#4]@2 ~@5", // Ddim E7 Am E5 Ddim
  M: "[[c4,e4]@4 [c4,e4]@4 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@4 [a3,c4,e4]@4 [a3,c4,e4]@2 [a3,c4,e4]@2 [a3,c4,e4]@4 [e3,a3,c4,e4]@2 [a3,c4,e4] ~ [a3,c4,f4]@6 [a3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [g3,a3,c4,f4] ~ [g3,b3,g4]@4 [g3,b3,g4]@4 [g3,b3,g4]@4 [d3,g3,b3,g4]@3 ~ [c3,e3,g3,c4,e4]@6 [e3,g3,c4,e4]@4 [e3,c4,e4]@2 [e3,c4,e4]@3 ~ [a3,c4,f4]@4 [a3,c4]@2 [a3,c4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [g3,b3,g4]@4 [d3,g3,b3,g4]@2 [d3,g3,b3,g4]@3 ~ [a2,c4,e4]@4 ~@2 a3@2 [c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2, [e3,a3]@8 ~@6 e3@12 ~@4 d3@9 ~ [d3,a3]@4 d3@6 d3@8 ~@10 c3@9 ~@5 f4@4 ~@8 [g3,b3]@6 ~@10 a3@6 ~@12, ~@72 g3@6 f3@8 f3@7 ~ d3@10 ~@6 e3@8 [e3,a3]@6 [e3,a3]@4, ~@57 [c4,e4]@2 ~@5]/8", // C Am F F5 F G C F …
  N: "[[a2,e3,a3,c4,e4]@4 [a3,c4,e4]@4 [c4,e4]@2 [e3,c4,e4]@4 [c4,e4]@4 c4@2 [e3,a3,c4]@2 [c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [a3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [b3,g4]@4 [b3,g4]@2 g4@2 g4@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@2 [b3,g4]@4 [b3,g4]@4 [a3,e4]@4 [a3,e4]@2 [a3,c4,e4]@4 [c4,e4]@2 e4@2 e4@2 [c4,e4]@4 a3@2 [e3,a3]@2 [c4,e4]@4 [c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2, ~@4 e3@6 ~@4 [e3,a3]@6 ~@2 [e3,a3]@7 ~@7 a3@6 ~@4 a3@8 a3@7 ~ [d3,g3,b3]@6 g3@10 g3@6 ~@2 g3@8 ~@6 a2@6 a2@22, ~@8 a3@6 ~@4 e4@4 ~@46 d3@6 d3@19 ~ [e3,c4]@6 e3@16 ~@2 [e3,a3]@6 ~@4, ~@37 b3@2 ~@13 a3@5 ~@7, ~@53 c4@2 ~@2 [c4,e4]@2 ~@5]/8", // Am C Am C F F5 F F5 …
  O: "[[a2,e3,a3,c4,e4]@4 [a3,c4,e4]@4 [c4,e4]@2 [e3,c4,e4]@4 [c4,e4]@4 c4@2 [e3,a3,c4]@2 [c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [a3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [b3,g4]@4 [b3,g4]@2 g4@2 g4@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@2 [b3,g4]@4 [b3,g4]@4 [a3,e4]@4 [a3,e4]@2 [a3,c4,e4]@4 [c4,e4]@2 e4@2 e4@2 [c4,e4]@4 a3@2 [e3,a3]@2 [c4,e4]@4 [c4,e4]@2 [e3,a3,c4,e4]@2 [a3,c4,e4]@2, ~@4 e3@6 ~@4 [e3,a3]@6 ~@2 [e3,a3]@7 ~@7 a3@6 ~@4 a3@8 a3@7 ~ [d3,g3,b3]@6 g3@10 g3@6 ~@2 g3@8 ~@6 a2@6 a2@22, ~@8 a3@6 ~@4 e4@4 ~@46 d3@6 d3@19 ~ [e3,c4]@6 e3@16 ~@2 [e3,a3]@6 ~@4, ~@37 b3@2 ~@13 a3@5 ~@7, ~@53 c4@2 ~@2 [c4,e4]@2 ~@5]/8", // Am C Am C F F5 F F5 …
  P: "[[e3,a3,c4,e4]@4 [a3,c4,e4]@4 [c4,e4]@2 [e3,c4,e4]@4 [c4,e4]@4 c4@2 [e3,a3,c4]@2 [c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [a3,c4,f4]@4 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@4 [c4,f4]@2 [c4,f4] ~ g4@4 g4@2 [b3,g4]@4 [b3,g4]@2 g4@2 g4@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@2 [b3,g4]@4 [b3,g4]@4 [a3,e4]@4 [a3,e4]@2 [a3,c4,e4]@4 [c4,e4]@2 e4@2 e4@2 [c4,e4]@4 a3@2 [e3,a3]@2 [e3,a3,c4,e4]@4 ~@6, ~@4 e3@6 ~@4 [e3,a3]@6 ~@2 [e3,a3]@7 ~@7 a3@6 ~@4 a3@8 a3@7 ~ [d3,g3,b3]@6 g3@10 g3@6 ~@2 g3@8 ~@6 a2@6 a2@22, ~@8 a3@6 ~@4 e4@4 ~@46 d3@6 d3@19 ~ [e3,c4]@6 e3@16 ~@12, ~@37 b3@2 ~@13 a3@5 ~@7, ~@53 c4@2 ~@2 [c4,e4]@2 ~@5]/8", // Am C Am C F F5 F F5 …
})).s("gm_acoustic_guitar_steel").gain(0.09).pan(0.6)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  ~ A@8 B@2 C D E@2 D F@4 D E@2 G H@6 I G J@5 K@2 L@5 D E@2 G M@4 N@2 I G M@4 N@2 I G J@5 O@8 P@4 Q@5 I G M@4 N@2 I G
  J@5 R@4 S@4 R@4 S@4 T@4
>`.pickRestart({
  A: "[e5 f5 e5 f5, a5]/8", B: "e5/2", C: "f5", D: "[g4,d5]", E: "[c#5 c5, a4]/2", F: "[e5@3 f5, a4]/4", G: "[d5,g5]",
  H: "[e5@3 f5 d5 e5, a5@2 g5]/6", I: "[f5,a5]", J: "[e5@3 f5@2, a5]/5", K: "[d5,g5]/2", L: "[e5@4 f5, a5]/5",
  M: "[e5@3 f5, a5]/4", N: "[d5 e5, g5]/2", O: "[[d5,g5] e5 f5 [e5,g5], ~@32 a5@65 ~@31]/8",
  P: "[[f5,a5]@2 g5 g#5, ~ d5]/4", Q: "[e5@2 f5 d5 e5, a5@3 g5@2]/5", R: "[[d5,g5] [e5,a5]]/4", S: "[e5 f5, a5]/4",
  T: "[[d5,g5]@4 [e5,a5]@3 ~]/4", // G5 A5
})).s("gm_string_ensemble_1").gain(0.1)

// drums · kick
const kick = s("bd").struct("<~ A@71 B A@7 C A@23 B A@7 B A@7 D>".pickRestart({
  A: "x!2", B: "x ~@3 x ~@2 x", C: "x ~@3 x!4", D: "x ~@6 x ~@8",
})).gain(0.28)

// drums · snare
const snare = s("sd").struct("<~ A@31 B A@23 B A@7 B A@7 C A@15 B A@7 B A@7 C A@7 C A@7 D>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@2 x ~@2 x!2 ~", D: "~@4 x ~ x!2 ~@8",
})).gain(0.28)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A@7 B A@15 C A@7 D A@7 E A@7 D A@7 B F A@6 D A G A G A G A H ~@8 A@7 B F A@6 D A G A G A G A H A G A G A G A H A G A
  G A G A I
>`.pickRestart({
  A: "x!8", B: "x!5 ~ x ~", C: "x!5 ~ x!2", D: "x!5 ~@3", E: "x!6 ~@2", F: "~ x!7", G: "x!7 ~", H: "x!2 ~@2 x ~@3",
  I: "x!2 ~@6",
})).gain(0.22)

// drums · low tom
const low_tom = s("lt").struct("<~@32 A ~@15 B ~@7 B ~@7 A ~@10 C ~ C ~ C@2 ~@7 B ~@7 A ~@24>".pickRestart({
  A: "~@6 x!2", B: "~@3 x", C: "x",
})).gain(0.28)

// drums · mid tom
const mid_tom = s("mt").struct("<~@32 A ~@15 A ~@15 A ~@9 B ~ B ~ B@2 ~@16 A ~@24>".pickRestart({
  A: "~@5 x ~@2", B: "~@7 x",
})).gain(0.28)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@8 A ~@15 B ~@15 C ~@15 A ~@9 D ~ D ~ D ~ E ~@15 A ~@9 D ~ D ~ D ~ E ~ D ~ D ~ D ~ E ~ D ~ D ~ D ~ F
>`.pickRestart({
  A: "~@5 x ~ x", B: "~@5 x ~@2", C: "~@3 x", D: "~@7 x", E: "~ x ~@2", F: "~@2 x!2 ~@4",
})).gain(0.18)

// drums · crash
const crash = s("cr").struct("<~@57 A ~@15 A ~@6 B ~@8 A ~@30 C>".pickRestart({
  A: "x", B: "~@3 x", C: "~ x",
})).gain(0.22)

// drums · ride
const ride = s("rd").struct("<~@73 [~@2 x!6] [x!8]!6 [x!6 ~@2] ~@40>").gain(0.22)

stack(
  bass, piano, piano_soft, acoustic_guitar_steel, string_ensemble_1, kick, snare, hihat, low_tom, mid_tom, open_hat,
  crash, ride
)

More by Elton John