Strudelify

Sixty Years On

Elton John

KeyB minorTempo150 bpm
0:00/0:00
// Sixty Years On — Elton John
// 150 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 102 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/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
const piano = note(`<
  A@2 B@2 C@2 D@2 E F G@2 H I J K L M N O P Q R S@8 T@6 U@4 V@8 W@6 X@2 Y@8 Z@6 AA@7 AB@3 AC@6 AD@4 AE AF@2 AG@3 AH AI@4
>`.pickRestart({
  A: "[d5 b4 f#4 d4 d5 b4 f#4 d4 d5 b4 f#4 d4 d5 b4 f#4 d4, b2, ~ b3 b3!2]/2",
  B: "[c#5 a4 e4 c#4 c#5 a4 e4 c#4 c#5 a4 e4 c#4 c#5 a4 e4 c#4, b2, ~ b3 b3!2]/2",
  C: "[b4 g#4 e4 g4 e5 b4 g4 e4 a4 f#4 d4 f#4 d5 a4 f#4 e4, b2, b3!2 a3!2]/2",
  D: "[b4 d4 f#4 d4 b4 d4 f#4 d4 b4 f#4 e4 f#4 b4 f#4 e4 f#4, b2, ~ b3 b3!2]/2",
  E: "d5 b4 f#4 d5 f#4!3 b4, b2, ~ b4 b3@2, ~@2 b4 d5",
  F: "c#5 a4 [e4,d5] [c#5,d5] a4 e4 c#5 [a4,c#5], a2, e5 ~ a3@2, ~@2 d5 ~", // E7 Dmaj7 A
  G: "[b4 g4 [d4,b4] b4 g4 e4 [b4,c#5] g4 ~ [f#4,a4] [d4,f#4] f#4 d5 b4 f#4 [d4,f#4], g2 e2, c#5 ~ g3@2 ~@2 f#3@2, ~@4 b4@2 ~ b4@2 ~@7]/2", // G Bsus2 F#m D
  H: "g4 e4 b3 a3 g4 e4 b3 g3, e2, ~ g4@3 e3@4, ~@2 b4!2", I: "b4 g4 e4 b3 b4 g4 [e4,d5] [b3,d5], e2, d5 d5@2 ~, ~ e3",
  J: "a#4 f#4 c#4 a#4 f#4 c#4 a#4 f#4, f#2, d5 c#5 f#3@2, ~@2 b4 c#5",
  K: "d5 c#5 ~ b4 c#4@2 a#4@2 f#4@2 c#4@2 a#4@2 f#4@2, f#2, a#4@3 f#4@3 ~@2 f#3@8, ~ c#5@3",
  L: "b4 f#4 [d4,d5] [f#4,d5] [b4,d5] b4 f#4 [e3,d4], b2@7 ~, ~@4 b3@3 ~, ~@5 d5@3", // D Bm E7
  M: "c#5 a4 [e4,d5] c#4 a4!2 e4 [d3,c#4], a2@7 ~, e5@2 ~ c#5@5, ~@4 a3@3 ~", // E7 Dmaj7
  N: "~ g4 [d4,b4] b3 ~ g4 d4 [d3,b3], g2, b4@2 ~ b4@2 d5@3, ~@4 g3@3 ~", // G
  O: "b4 [f#4,a4] d4 d5 b4 f#4 d4 f#4, f#2, f#3!2, ~ f#4 ~@2", P: "~ e4 b3 b4 g4 e4 b3 e4, e2, g4!2 e3@2, ~@2 b4!2",
  Q: "[b4,d5] g4 e4 b3 g4 e4 [g4,d5] [b4,d5], e2, ~ d5@5 ~@2, ~ e3", // Bm G5 Bm
  R: "[b4,d5] a#4 f#4 [c#4,c#5] c#5 b4 [c#4,a#4]@2, f#2, ~ c#5@2 ~ f#3@4, ~@2 [c#4,f#4,a#4] ~", // Bm C# F#
  S: "[b2!4 ~ b2!3 b2!8 b2 [b2,d4,f#4,b4] [b2,c#4,e4,a4] b2!5 b2!3 [b2,c#4,e4,a4] b2!2 [b2,c#4,e4,a4] [b2,a4] b2 [b2,c#4,e4,b4] [b2,b3,e4,g#4] b2!5 b2 [b2,b3,e4,g#4] [b2,a3,d4,f#4] b2!5 b2 [f#3,b3,d4]@8 b4 d4 f#4 d4 b4 d4 f#4, b4@4 b4@4 ~@7 [f#5,b5,d6]@2 ~@2 [c#4,e4,a4]@2 [c#4,e4,a4]@4 [c#4,e4,a4]@2 ~ [c#4,e4,a4]@2 ~ [c#4,e4]@2 ~@2 [b3,e4,g#4]@2 [b3,e4,g#4]@4 ~@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 ~@15, [d4,f#4]@3 ~ [d4,f#4]@3 [d5,f#5,b5]@3 [f#5,b5,d6]@3 [d6,f#6,b6]@2 ~@49]/8", // Bm A B7 C#m7 E Bm7 Bm A …
  T: "[[f#3,d4] d5 b4 f#4 d5 f#4!3 b4 c#5 a4 [e4,d5] [c#5,d5] a4 e4 c#5 [a4,c#5] b4 g4 [d4,b4] b4 g4 e4 [b4,c#5] g4 ~ [f#4,a4] [d4,f#4] f#4 d5 b4 f#4 [d4,f#4] g4 e4 b3 a3 g4 e4 b3 g3 b4 g4 e4 b3 b4 g4 [e4,d5], ~ b2@8 a2@8 g2@8 e2@8 e2@8 e2@7, ~@3 b4@2 b3@4 ~@4 a3@4 ~@4 g3@4 ~@4 f#3@4 ~@4 e3@4 ~@4 e3@3, ~@5 b4@2 d5@2 e5@2 ~@2 d5@2 ~@2 c#5@2 ~@2 b4@2 ~ b4@2 ~@8 g4@3 b4@2 b4@2 d5@2 d5@4 ~]/6", // D E7 Dmaj7 A G Bsus2 F#m D …
  U: "[[b3,d5]@2 a#4@2 f#4@2 c#4@2 a#4@2 f#4@2 c#4@2 a#4@2 f#4@2 d5 c#5 ~ b4 c#4@2 a#4@2 f#4@2 c#4@2 a#4@2 f#4@2 b4@2 f#4@2 [d4,d5]@2 [f#4,d5]@2 [b4,d5]@2 b4@2 f#4@2 [e3,d4]@2 c#5@2 a4@2 [e4,d5]@2 c#4@2 a4@2 a4@2 e4@2, ~ f#2@8 f#2@8 b2@7 ~ a2@7, ~ d5@2 c#5@2 f#3@4 ~@2 c#5@6 ~@5 d5@3 e5@2 ~ c#5@4, ~@10 b4@4 c#5@4 a#4@3 f#4@3 ~@2 f#3@8 ~@8 b3@6 ~@10 a3@6]/4", // Bm D Bm E7
  V: "[[d3,c#4] [g4,b4]@2 [d4,b4] b3 ~@2 d4 [d3,b3] [e4,b4] [f#4,a4] d4 d5 b4 f#4 ~ f#4 [e4,g4]@2 b3 b4 g4 e4 b3 e4 [b4,d5] g4 e4 b3 g4 e4 [g4,d5] [b4,d5]!2 a#4 f#4 [c#4,c#5] c#5 b4 [c#4,a#4]@2 b2!7 b2!8 b2 [b2,d4,f#4,b4] [b2,c#4,e4,a4] b2!5, ~ g2@8 f#2@8 e2@8 e2@8 f#2@8 ~@23, ~@4 b4@2 d5@3 ~@12 b4@2 b4@2 ~ d5@5 ~@3 c#5@2 ~@8 b4@5 ~@15, ~@5 g3@3 ~ f#3@4 f#3@4 ~@4 e3@4 ~@4 e3@4 ~@4 f#3@4 ~@14 [d4,f#4,b4]@2 ~@2 [c#4,e4,a4]@2 [c#4,e4,a4]@3, ~@5 g4@2 ~@4 f#4@2 ~@2 d4@2 ~@2 g4@2 ~@16 [c#4,f#4,a#4]@2 ~@2 [d4,f#4,b4]@3 [d4,f#4]@3 [d5,f#5,b5]@3 [d5,f#5,b5]@3 [d5,f#5,d6]@2 ~@9]/8", // Dmaj7 G E5 F#m Em Bm G5 Bm …
  W: "[b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 [b2,c#4,e4]@2 [b2,b3,e4,g#4]@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 [b2,b3,e4,g#4]@2 [b2,a3,d4,f#4]@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 [d5,f#5,b5]!2 ~ [b2,d5,f#5,b5] [d5,f#5,b5]!2 ~ [b2,d5,f#5,b5] [d5,f#5,b5]!2 ~ [b2,d5,f#5,b5] [d5,f#5,b5]!2, [a4,c#5,e5]@6 [c#5,e5,a5]@6 [e5,a5,c#6]@6 a4@4 [b3,e4,g#4]@4 [b3,e4,g#4]@8 ~@4 [a3,d4,f#4]@4 [a3,d4,f#4]@4 [d4,f#4]@4 [b3,d4,f#4]@6 [d4,f#4,b4]@6 [d5,f#5,b5]@6 [f#5,b5,d6]@6 [f#5,b5,d6]@4 [d5,f#5,b5]@4 b2@3 ~ b2@3 ~ b2@3 ~ b2@2]/6", // C#m7 E Bm7 Bm A E D Bm
  X: "[~ [b2,d5,f#5,b5] [d5,f#5,b5]!2 ~ [b2,d5,f#5,b5] [d5,f#5,b5]!2 ~ [b2,d5,f#5,b5] b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2, ~@2 b2@3 ~ b2@3 ~ [c#5,f#5,b5]@4 [c#5,f#5,b5]@4 ~@2 [c#5,e5,a5]@6 [e5,a5,c#6]@6]/2", // Bm F#sus4 A
  Y: "[b2!8 b2!8 b2!8 b2 [b3,d4,f#4,b4]@8 d5 b4 f#4 d5 f#4!3 b4 c#5 a4 [e4,d5] [c#5,d5] a4 e4 c#5 [a4,c#5] b4 g4 [d4,b4] b4 g4 e4 [b4,c#5] g4 ~ [f#4,a4] [d4,f#4] f#4 d5 b4 f#4, [c#5,e5,a5]@3 [c#4,e4,a4]@3 [a3,c#4,e4]@3 ~ [b3,e4,g#4]@3 [b3,e4,g#4,b4]@2 [b3,e4,g#4]@2 ~ [a3,d4,a4]@3 [a3,d4,a4]@2 [a3,d4,f#4]@2 ~@8 b2@8 a2@8 g2@8 e2@7, ~@35 b4@2 b3@4 ~@4 a3@4 ~@4 g3@4 ~@4 f#3@3, ~@37 b4@2 d5@2 e5@2 ~@2 d5@2 ~@2 c#5@2 ~@2 b4@2 ~ b4@2 ~@6]/8", // Bm E7 Dmaj7 A G Bsus2 F#m D …
  Z: "[[d4,f#4]@2 g4@2 e4@2 b3@2 a3@2 g4@2 e4@2 b3@2 g3@2 b4@2 g4@2 e4@2 b3@2 b4@2 g4@2 [e4,d5]@2 [b3,d5]@2 a#4@2 f#4@2 c#4@2 a#4@2 f#4@2 c#4@2 a#4@2 f#4@2 d5 c#5 ~ b4 c#4@2 a#4@2 f#4@2 c#4@2 a#4@2 f#4@2 b4@2 f#4@2 [d4,d5]@2 [f#4,d5]@2 [b4,d5]@2 b4@2 f#4@2 [e3,d4]@2 c#5@2 a4@2 [e4,d5]@2 c#4@2 a4@2 a4@2 e4@2, ~ e2@8 e2@8 f#2@8 f#2@8 b2@7 ~ a2@7, ~@2 g4@3 e3@4 ~@4 e3@4 ~@4 f#3@4 ~@2 c#5@6 ~@5 d5@3 e5@2 ~ c#5@4, ~@10 b4@4 b4@4 d5@4 d5@8 ~@4 d5@4 c#5@4 b4@4 c#5@4 a#4@3 f#4@3 ~@2 f#3@8 ~@8 b3@6 ~@10 a3@6]/6", // D E7 Bm D Bm E7
  AA: "[[d3,c#4]@2 ~@2 g4@2 [d4,b4]@2 b3@2 ~@2 g4@2 d4@2 [d3,b3]@2 b4@2 [f#4,a4]@2 d4@2 d5@2 b4@2 f#4@2 d4@2 f#4@2 ~@2 e4@2 b3@2 b4@2 g4@2 e4@2 b3@2 e4@2 [b4,d5]@2 g4@2 e4@2 b3@2 g4@2 e4@2 [g4,d5]@2 [b4,d5]@2 [b4,d5]@2 a#4@2 f#4@2 [c#4,c#5]@2 c#5@2 b4@2 [c#4,a#4]@4 d5 c#5 ~ b4 [f#3,f#4]@2 [e3,c#4]@2 [f#3,c#4,f#4,a#4]@4 [f#2,c#4]@4 f#5@4 f#5@2 f#5@2 f#5@2 [b3,f#5]@2 [f#3,f#5]@2, ~ g2@8 f#2@8 e2@8 e2@8 f#2@8 [f#2,b4]@2 ~@6 b2@5 ~@2, ~@2 b4@4 ~@2 b4@4 d5@6 ~@4 f#4@4 ~@8 g4@4 g4@4 b4@4 b4@4 ~@2 d5@10 ~@6 c#5@4 ~@2 [c#4,f#4,a#4]@4 ~@7 a#4@3 ~@10 [b4,d5]@8 [b4,d5]@6, ~@5 g3@3 ~ f#3@4 f#3@4 ~@4 e3@4 ~@4 e3@4 ~@4 f#3@4 ~@2 c#5@6 ~@7]/7", // Dmaj7 G F#m Bm G5 Bm C# F# …
  AB: "[[b2,f#5] g5 f#5@2 ~@2 a3 e3 a2 d5 d5@3 ~ g3 [d3,d5] [g2,d5] d5 [b4,d5] ~ f#4 d5 b4 f#4, ~ a2@5 ~@3 g2@5 ~@3 f#2@7, ~ [a4,c#5,e5]@4 [a4,c#5]@4 [g4,b4]@4 [g4,b4]@4 ~@7, ~@4 f#5@3 ~@17, ~@5 e5@2 e5@2 ~@4 [d5,e5]@2 ~@4 b4@2 ~@3]/3", // B5 D G5 Bm A G Dsus2
  AC: "[[d4,f#4]@2 g4@4 g4@4 b4@4 b4@4 d5@2 ~@6 [e4,g4,b4]@8 f#5@2 ~@4 a4@2 f#5 e5 d5!2 e5@4 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 [b2,d4,f#4,b4]@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2, ~ e2@8 e2@8 f#2@4 [f#2,c#4,f#4,b4]@4 ~@23, ~ [e4,b4]@4 [e4,g4]@4 [e4,g4,b4]@4 ~@4 [c#4,f#4,b4]@3 ~@5 [d4,f#4,b4]@3 [d4,f#4,b4]@3 [f#4,b4]@2 ~@6 [d4,f#4,b4]@2 ~@2 [c#4,e4,a4]@2 [c#4,e4,a4]@3, ~@10 d5@7 ~ f#5@3 ~@4 f#5@8 ~ [d5,f#5,b5]@3 [d5,f#5,b5]@2 ~@9]/6", // D Em Bm F#sus4 E5 Em F#sus4 Bm …
  AD: "[b2!8 b2 [b2,c#4,e4,a4] [b2,b3,e4,g#4] b2!5 b2 [b2,b3,e4,g#4] [b2,a3,d4,f#4] b2!5 b2!8, [c#5,e5,a5]@2 [e5,a5,c#6]@4 [c#5,e5,a5]@3 ~@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 ~@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [d4,f#4,b4]@3 ~ [d4,f#4,b4,d5]@3]/4", // A E Bm7 A E D Bm
  AE: "b2!8, [d4,f#4,b4]@3 [d4,f#4,b4,d5]@3 [d4,f#4,b4]@2", // Bm
  AF: "[b2!8 b2!8, [d4,f#4,b4,d5]@2 f#5@8 ~ [d5,f#5,b5]@3 [d5,f#5,b5]@2, ~@2 [d4,f#4,b4]@3 [d4,f#4,b4]@3 [f#4,b4]@2 ~@6]/2", // Bm B5
  AG: "[b2!2 [b2,d4,f#4,b4] b2!5 b2!8 b2!2 [b2,c#4,e4,a4] [b2,b3,e4,g#4] b2!4, [d4,f#4,b4]@2 ~@2 [c#4,e4,a4]@2 [c#4,e4,a4]@3 [c#5,e5,a5]@2 [e5,a5,c#6]@4 [c#5,e5,a5]@3 ~@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2]/3", // Bm A E Bm A E
  AH: "b2!2 [b2,b3,e4,g#4] [b2,a3,d4,f#4] b2!4, [b3,e4,g#4] ~ [a3,d4,f#4]!2", // E Bm7 E D
  AI: "[b2!8 b2!8 b2!3 [b2,d4,f#4,b4,f#5]@8 ~@5, [a3,d4,f#4]@2 [d4,f#4,b4]@3 ~ [d4,f#4,b4,d5]@3 [d4,f#4,b4]@3 [d4,f#4,b4,d5]@3 [d4,f#4,b4]@2 [d4,f#4,b4,d5]@2 ~@13]/4", // Bm D Bm
})).s("gm_piano").gain(0.36)

stack(piano)

More by Elton John