Strudelify
Believe cover art

1995 · Made In England

Believe

Elton John

KeyG minorTempo70 bpm
0:00/0:00
// Believe — John Elton
// 70 bpm, 4/4, key G minor. 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 72 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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, A@4 for four bars: edit a riff to change every repeat.

// bass · fretless bass · "Bass"
const bass = note(`<
  A B C D A B E D A B E D A B C F G F H I J K L D A B E D A B C F M F H I J K L D A N O D P Q R S T U V W T X C F Y F H
  Z AA K AA K AA AB AC AD AE AF AG ~
>`.pickRestart({
  A: "g1@11 ~ g1@2 ~@2 g1@16", B: "f1@5 ~ f1 ~ f1@8", C: "eb1@11 ~ eb1@2 ~@2 eb1@7 ~ d2@8", D: "c2@5 ~ c2@2 d2@4 d1@4",
  E: "eb1@5 ~ eb1 ~ eb1@8", F: "c2@5 ~ c2 ~ c2@4 bb1@4", G: "ab1@11 ~ ab1@2 ~@2 ab1@8 bb1@8",
  H: "ab1@5 ~ ab1 ~ ab1@4 g1@4", I: "f1@5 ~ f1@2 g1@4 g1@3 ~", J: "c2@5 ~ c2@2 bb1@5 ~ bb1 eb1",
  K: "ab1@10 ~@2 ab1@4 g1@7 ~ g1@8", L: "c2@11 ~ c2@2 ~@2 c2@11 ~ g1@4", M: "ab1@11 ~ ab1@2 ~@2 ab1@12 ~@4",
  N: "f1@11 ~ f1@2 ~@2 f1@6 bb1@2 f2@8", O: "eb1@5 ~ eb1 ~ eb1@4 eb2@4", P: "g1@5 ~ g1 ~ g1@4 g2@4",
  Q: "f1@10 ~@2 f1@3 ~ f1@8 f2@8", R: "eb1@9 ~@3 eb1@2 ~@2 eb1@6 ~@2 eb1@8",
  S: "c2@12 ~@2 c2@2 d2 ~ d2@3 ~ c1 ~ d1 ~ d1@3 ~@3", T: "g1@10 ~@2 g1@2 ~@2 g1@10 ~@2 g1@3 ~",
  U: "f1@5 ~ f1 ~ f1@5 ~ f1 ~", V: "eb1@10 ~@2 eb1@2 ~@2 eb1@10 ~@2 eb1@3 ~", W: "c2@11 ~ c2@3 ~ d2@6 d1 ~ d1@5 ~ d1 ~",
  X: "f1@11 ~ f1 ~@3 f1@10 ~@2 f1@4", Y: "ab1@10 ~@2 ab1@2 ~@2 ab1@6 ~@2 ab1@2 bb1@5 ~",
  Z: "f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ g1@3 ~ g1@3 ~ g1 ~ g1 ~ g1 ~ g1 ~", AA: "c2@5 ~ c2@2 bb1@5 ~ bb1@2",
  AB: "ab1@10 ~@2 ab1@4 g1@7 ~ g1@3 ~ g1@3 ~", AC: "c2@3 ~ c2@2 ~ c2 c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~",
  AD: "d2@3 ~ d2@2 ~ d2 d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~",
  AE: "eb2@3 ~ eb2@2 ~ eb2 eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~",
  AF: "f1@3 ~ f1@2 ~ f1 f1@3 ~ f1@3 ~ g1 ~ g1@3 ~@3 g1 ~ g1@4 ~@2", AG: "c1@31 ~",
})).s("gm_fretless_bass").gain(0.44)

// chords · distortion guitar · "Dist. gt"
const distortion_guitar = note(`<
  ~@15 A B C D E F@2 G@2 ~@7 A H I J K L M N@2 O P Q R O S Q T ~@7 U@2 V W X Y@6 Z AA AB@2 AC@2
>`.pickRestart({
  A: "~@3 [bb2,f3]", B: "[ab2,eb3]@3 [bb2,f3]", C: "[c3,g3]@3 [bb2,f3]", D: "[ab2,eb3]@3 [g2,d3]", E: "[f2,c3] [g2,d3]",
  F: "[~@43 eb3@5 b3@4 c4@4 b3@8, ~@4 g3@16 f3@12 eb3@9 ~@23, ~@4 c4@7 ~ bb3@5 ~ ab3@6 g3@8, ~@12 eb4@12 ~@4 eb4@8 ~@4 c4@9 ~@15, ~@4 g4@3 ~@9]/2",
  G: "[~@6 g4@16 ~ [d3,a3] [d3,a3]@8, g3@11 ~@5, ~ c4@10 ~@5, ~@2 eb4@9 ~@5]/2", H: "[ab2,eb3]@30 ab2 ~",
  I: "[c3,g3]@3 [bb2,f3], a2 ~@31", J: "[ab2,eb3]@3 [g2,d3], ~@24 db3 ~@7", K: "[f2,c3]@16 [g2,d3]@15 ~, d3 ~@31",
  L: "~@4 g4 ~@2 eb4, ~@4 g3@13 ~@3 f3@12, ~@2 c4@3 ~ bb3@2, ~@12 eb4@9 ~@11",
  M: "~@11 eb3@5 b3@4 c4@4 b3@8, eb3@8 c4@9 ~@15, ~ ab3@3 ~@4",
  N: "[~@12 g4@36 [d2,a2,d3]@2 [d2,a2,d3] ~@5 [d2,a2,d3] ~ [d2,a2,d3]@6, g3@3 ~, ~ c4@11 ~@4, ~ eb4@5 ~@2]/2", // D5
  O: "d5@8 c5@2 bb4 ~ g4 ~@3 bb4 ~@3 c5 ~@3 g4@7 ~", P: "g4@2 f4 ~ d4@2 ~@2 f4 ~@3 g4@4 d4@8 ~@8",
  Q: "~@8 c5@2 bb4 ~ g4 ~@3 bb4 ~@3 c5 ~@3 g4@6 ~@2", R: "g4@2 f4 ~ d4 ~@3 f4 ~@3 g4@4 d4@14 ~@2",
  S: "g4@2 f4 ~ d4 ~@3 f4 ~@3 g4 ~@3 d4@13 ~@3", T: "g4 ~ f4 ~ d4 ~@3 f4 ~@3 g4 ~@3 d4@15 ~",
  U: "[~@24 [bb2,f3]@7 ~ ab2@23 ~ [ab2,eb3] ~ [bb2,f3]@6, ~@31 eb3@24 ~@9]/2", V: "[c3,g3]@23 ~ [bb2,f3]@8",
  W: "[ab2,eb3]@24 [g2,eb3]@7 ~", X: "[f2,c3]@15 ~ [g2,d3,g3]@15 ~",
  Y: "[~@52 c4@4 b3@4 ~@12 c4@4 ~@40 c4@3 b3@4 ~@48 c4@5 ~@4 c4@4 b3@3 c4@5, c3@16 bb2@16 ab2@15 ~ g2@16 ~@23 c4@10 ~@6 ab3@9 ~@19 g3@12 bb2@16 ~ ab2@16 g2@16, ~@4 g3@12 ~@3 g3@14 ~@3 eb3@12 ~@4 d3@9 ~@3 c3@15 ~ bb2@16 ab2@15 g2@16 ~@13 eb4@12 ~@3 eb4@8 ~@29, ~@8 c4@11 ~@5 c4@8 ~@8 ab3@8 ~@20 g3@13 ~@2 g3@13 ~@4 eb3@12 ~@4 d3@8 ~@4 c3@16 ~@7 c4@9 ~@8 ab3@8 ~@16, ~@12 eb4@8 ~@8 eb4@8 ~@8 c4@7 ~@9 c4@9 ~@7 eb4@12 ~@3 eb4@8 ~@8 c4@7 ~@9 c4@9 ~@4 c4@12 g3@13 ~@2 eb3@13 ~@4 d3@8 ~@4]/6",
  Z: "~@3 g4, ~@4 c4@14 ~ c4@11 ~@2, ~@4 g4@7 ~@5, ~@3 c5@5",
  AA: "d4 ~@5 b4@2, ~@2 d4@7 ~ d4@6, ~@4 b4@7 ~@5, ~@11 d5@13 ~@8",
  AB: "[eb4@4 bb3@4 ~@11 eb4@12 [c4,f4]@15 ~@2 [d4,g4]@2 [d4,g4]@2 ~@4 [d4,g4] ~ [d4,g4]@6, g4@15 ~@17, ~@4 eb4@5 ~@23, ~@6 c5@9 ~@17]/2", // F5 G5
  AC: "[[c3,g3]@9 ~@7]/2", // C5
})).s("gm_distortion_guitar").gain(0.24).pan(0.6)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  A@2 B@2 C@4 D@4 E@4 F G H I J@2 K@2 L@6 M@2 N@3 O P Q R@2 ~@8 S@4 T@3 U V W@3 X Y X Z AA@3 AB AC@2 ~@2
>`.pickRestart({
  A: "[bb3@2 ~@5 g3 d4@7 bb3, g4, d4 ~]/2", B: "[g4@8 c4@3 bb3 ~@2 gb4@2, eb4@3 [a3,d4]]/2",
  C: "[d4@64 eb4@32 [c4,eb4]@16 [a3,d4,g4]@3 ~@5 [a3,d4,gb4]@3 ~@5, g4@7 ~, bb3@47 ~@17]/4", // Cm Dsus4 D
  D: "[d4@32 d4@28 bb3@4 f4@31 ~ c4@12 bb3@3 ~@9 gb4@7 ~, g4@119 ~@9, bb3@28 ~@36 eb4@47 ~ [a3,d4]@15 ~]/4", // D5
  E: "[d4@64 eb4@32 c4@24 [bb3,d4,f4]@7 ~, g4@15 ~, bb3@95 ~ eb4 ~@31]/4", F: "[ab3,c4]@23 ~ [bb3,d4,f4]@7 ~, eb4 ~@31",
  G: "[c4,eb4,g4]@24 [bb3,d4,f4]@7 ~", H: "[ab3,c4,eb4]@23 [g3,bb3,d4]@8 ~",
  I: "[f3,ab3,c4]@15 ~ c4@7 b3@8 ~, ~ [g3,d4]", // Fm G5
  J: "[[c4,eb4]@15 [bb3,d4]@16 [ab3,c4,eb4]@17 c4@8 b3@8, g4@31 ~@17 [g3,d4]@16]/2", K: "[[c4,eb4,g4]@3 [d4,gb4,a4]]/2",
  L: "[d4@63 ~@33 c4@15 ~@9 gb4@8 [bb3,g4]@32 f4@32, g4@5 ~@3, bb3@94 ~@17 a3@15 ~@66, ~@64 eb4@47 d4@80 ~]/6", // Eb
  M: "[eb4@23 d4@8 ~@24 [bb3,d4,f4]@8 ~, g4@7 ~, ~@31 [c4,eb4]@24 ~@9, ~ c5]/2", // Bb Cm
  N: "[[ab3,c4,eb4]@25 [bb3,d4]@6 ~@25 [bb3,d4,f4]@6 ~@2 [c4,eb4]@24 [g3,bb3,d4]@7 ~, eb5@31 [c4,eb4,g4]@25 ~@7 ab3@23 ~@10, ~ c5 ~]/3", // Ab Bb Cm Gm Cm
  O: "[f3,ab3,c4]@8 c4@4 b3@3 ~, ~@16 [g3,d4]@15 ~", P: "[c4,eb4]@15 ~ [bb3,d4]@15 ~, g4@15 ~, ~@16 [c4,eb4] ~@15",
  Q: "[ab3,c4,eb4]@15 c4@8 ~ b3@6 ~@2, ~@15 [g3,d4]@16 ~", // Ab G5
  R: "[[c4,eb4,g4]@46 ~@2 [d4,gb4,a4,c5,d5] ~ [d4,gb4,a4,d5] ~@5 [d4,gb4,a4,d5] ~ [d4,gb4,a4,d5] ~@5]/2", // Cm D7 D
  S: "[~@32 f3@31 ~ eb3@31 c4@16 ~@9 gb3@7 ~, g3@119 ~@9, bb3@95 ~@16 [a3,d4]@15 ~@2, d4@63 ~@65]/4", // D5
  T: "[~@63 eb4@32 ~, g4@47 ~, d4@61 ~@35, ~ bb3@94 ~]/3", U: "[g3,c4,eb4]@23 ~ [bb3,d4,f4]@8",
  V: "[ab3,c4,eb4]@24 ~@2 [bb3,d4,f4]@5 ~", // Ab Bb
  W: "[[c4,eb4,g4]@25 [bb3,d4,f4]@6 [ab3,c4]@24 ~ [g3,bb3]@7 [f3,ab3,c4]@16 ~ c4@7 ~ b3@7 ~, ~@31 eb4@30 ~@19 [g3,d4]@15 ~]/3", // Cm Bb Ab Gm Fm G5
  X: "[c4,eb4] [bb3,d4], g4@31 ~", Y: "[ab3,c4,eb4]@16 c4@8 b3@5 ~@3, ~ [g3,d4], ~@16 a3 ~@15",
  Z: "[ab3,c4,eb4]@15 ~@8 b3@7 ~@2, ~@15 c4@8 ~@9, ~ [g3,d4]", // Ab G5
  AA: "[[c4,eb4]@16 [bb3,d4]@15 ~ [ab3,eb4]@16 c4@7 b3@8 ~ [g3,c4]@31 ~, g4@31 c4@16 ~ [g3,d4]@15 eb4@31 ~@2]/3", // Cm Bb Ab5 C5 G5
  AB: "[g3,b3,d4]@15 ~", AC: "[[g3,c4,eb4]@31 ~ [ab3,c4]@13 ~@3 [g3,c4,d4]@3 ~@5 [g3,b3,d4]@3 ~@5, ~@31 f4@14 ~@19]/2",
})).s("gm_string_ensemble_1").gain(0.04).pan(0.4)

// other · string ensemble 1 · "Strings"
const string_ensemble_1_2 = note(`<
  A@2 B@2 C D E F G H I@2 G J K L ~@6 M N ~@4 O P Q@2 ~@6 M R S@2 T@2 U@2 V@2 ~@18 W@2 X Y ~@2
>`.pickRestart({
  A: "[bb3@63 ~]/2", B: "[bb3@31 c4@13 bb3@4 a3@16]/2", C: "bb3@3 f3", D: "d3@3 f3", E: "eb3@23 g3@9",
  F: "c3@14 ~@2 [d2,a3,d4,g4] ~ [a3,d4,g4] ~@5 [d2,a3,d4,gb4] ~ [d2,a3,d4,gb4] ~@5, ~@9 d2 ~@6", G: "g3", H: "f3",
  I: "[eb3@31 c3@16 ~ d3@16]/2", J: "f3@23 ~ f3@8", K: "eb3@6 eb3 d3", L: "c3@10 bb3 ~ d4 eb4 d4 ~", M: "~@6 c4 d4",
  N: "eb4@3 d4@4 c4@4 g3@2 ~ c4@2 a3@7 ~@9", O: "~@5 a3 bb3 a3", P: "bb3@19 d4@5 eb4@3 d4@5",
  Q: "[bb4@19 [f4,ab4]@5 [eb4,g4]@4 [d4,f4]@3 ~ c4@24 d4 ~ eb4 ~ d4 ~@3, ~@31 eb4@25 ~@8]/2", // Fm Eb Dm
  R: "eb4@3 d4@4 c4@4 g3@2 ~ c4@2 ~@16", S: "[bb3,d4,g4]/2", T: "[bb3@4 c4@2 g4 gb4, [eb4,g4]@3 [a3,d4]]/2",
  U: "[[bb3,d4,g4]@63 ~]/2", V: "[bb3@31 c4@15 ~@2 [d4,g4] ~ [d4,g4] ~@5 [d4,gb4] ~ [d4,gb4] ~@5, [eb4,g4]@23 ~@9]/2",
  W: "[c4@24 ~ g3 ~ c4 ~ eb4 ~ d4@6 g3@19 ~@2 f4 eb4 ~@2 d4 ~]/2", X: "eb4@5 g3@20 ~ c5 ~ g4 ~ ab4 ~",
  Y: "f4@12 eb4@3 ~ d4 ~ d4 ~@5 d4 ~ d4 ~@5",
})).s("gm_string_ensemble_1").gain(0.33).pan(0.7)

// chords · acoustic guitar steel · "Steel gt"
const acoustic_guitar_steel = note(`<
  A B C D E F G H I J K L M@2 N O ~@4 P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI ~@32
>`.pickRestart({
  A: "[d4,g4]@2 [bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [bb3,d4,g4] [d3,bb3,d4,g4] [d3,bb3,d4,g4]@2 d4!2, ~@7 [d3,bb3,g4]", // G5 Gm
  B: "[d3,bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [bb3,d4] d4 [d3,bb3,d4,g4]@2 [d3,bb3,g4]@2, ~@10 [d3,g4]@2 ~@2 d4 ~", // Gm Bb Gm G5
  C: "[d3,bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [d3,bb3,d4,g4]@2 [bb3,g4]@2 [bb3,d4,g4]@2 d4!2 [bb3,g4]@2, ~@2 d3!2, ~@8 d4 ~@3 [bb3,g4]@2 d4 ~", // Gm Eb Gm Eb
  D: "d4!2 [d3,bb3,d4,g4]@2 [bb3,d4] d4!5 [d3,a3,d4,g4]@2 [d4,gb4] d4 [d3,a3,gb4]@2, [d3,bb3,g4] ~ d3 [d3,bb3] [d3,a3] ~ [d3,a3] ~, ~@8 g4 ~@7 g4 ~@11 d4@2 ~@2", // Gm Bb Dsus4 D Gm D5
  E: "[d3,bb3,d4,g4]@4 [bb3,d4,g4]@4 [bb3,g4]@4 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4]@2 d4 ~ g4@2 [d4,g4] ~ [bb3,g4]@4 d4@2 d4@2, ~@4 d3@11 ~ d3@6 ~ d3@4 ~@5, ~@8 d4@2 ~@9 d4@4 ~ d4@2 ~@2 [bb3,g4]@4", // Gm Eb Gm Bb G5 Eb
  F: "[bb3,d4,g4]@4 [bb3,d4,g4]@4 [bb3,d4,g4]@4 [bb3,g4]@4 [bb3,d4,g4]@3 ~ [d4,g4]@2 [bb3,d4,g4] ~ [d3,bb3,g4]@4 [d3,g4]@4, d3@6 d3@5 ~@5, ~@12 d4@2 ~@5 bb3@2 ~@7 [bb3,d4]@2 ~@2", // Gm Eb Gm G5 Gm G5 Bb
  G: "[d3,bb3,g4]@4 [d3,bb3,d4,g4]@4 [eb3,g3,eb4,g4]@4 [eb3,g3,eb4,g4]@4 [g3,eb4,g4]@3 ~ eb4@2 ~@2 g3@4 [eb3,g3,g4]@4, ~@16 eb3@6 eb4@2 eb4 ~@3 eb4@2 ~@2, ~@19 g3@4 eb3@4 ~@5, ~@5 g4 ~@2", // Gm Eb Cm Eb
  H: "[g3,eb4] eb4 [eb3,g3,eb4,g4]@2 eb4!2 [eb3,g3,g4]@2 [a3,d4] [a3,d4,g4]@3 [a3,d4] d4 [a3,d4,gb4]@2, g4@2 ~@2 [eb3,g3,g4]@2 eb4 ~ d3@4 [d3,gb4]@2 ~@2, ~@16 g4 ~@15", // Cm Eb D5 Dsus4 D5 D Eb D
  I: "g4@2 g4@2 [bb3,g4]@2 g4@2 [d3,bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4] d4 [bb3,d4,g4]@2, d3@8 ~@5 d3@3, [bb3,d4]@8 d4@2 ~@16 bb3 ~@5", // Eb Gm Bb Gm Bb
  J: "[bb3,d4]@2 ~@2 [bb3,g4]@4 [d3,bb3,d4,g4]@6 [d3,bb3,d4,g4] ~ [bb3,d4,g4]@4 [bb3,d4,g4]@4 [bb3,d4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@4, d3@4 ~@4 d3@5 ~@3, g4 ~@7", // Bb Eb Gm Bb Gm
  K: "[g3,eb4,g4]@4 [g3,g4]@4 [g3,eb4,g4]@4 [g3,eb4,g4]@4 [eb3,g3,eb4,g4]@4 [g3,eb4,g4]@2 [g3,eb4,g4] ~ eb4@2 [eb4,g4]@2 [g3,g4]@4, eb3!2 ~ eb3, ~@6 g3 ~, ~@24 g4 ~@3 eb4@2 ~@2", // Cm G Cm Eb Cm Eb G
  L: "[g3,eb4,g4]@2 [g3,eb4,g4]@2 [eb3,g3,eb4,g4]@2 [eb3,g3,eb4,g4]@2 [d3,a3]@3 d4 [a3,d4,gb4]@2 [a3,gb4]@2, eb3@2 ~@2 [d4,g4] ~ d3@2, ~@14 d4 ~", // Cm Eb D5 D G5
  M: "[[bb3,d4,g4]@4 [bb3,d4]@2 d4@2 [d3,bb3,d4]@6 [bb3,d4] d3 [bb3,g4]@4 d4@2 d4 ~ [d4,g4]@2 [d4,g4] ~ [bb3,g4]@4 [bb3,d4,g4]@4 [bb3,d4,g4]@4 [d3,bb3,d4,g4]@4 ~@2 [bb3,d4] ~ [bb3,d4,g4]@4 [bb3,d4,g4]@4 d4@2 d4@2 [d3,bb3,d4,g4]@4, d3@8 ~@8 d3@24 ~@6 d3@9 ~ [bb3,g4]@4 ~@4, ~@2 g4@2 g4@2 ~@2 d4 ~ [bb3,g4]@2 bb3@2 d4 ~@7 g4@2 ~@8]/2", // Gm Bb Gm Bb Eb G5 Eb Gm …
  N: "[g3,eb4,g4]!3 [g3,g4] [g3,eb4,g4] g4 [g3,g4] g4, eb3@4 ~@2 eb4 ~@5 eb4 ~ eb4 ~", // Cm G Cm G
  O: "[g3,eb4,g4]@2 [g3,eb4,g4]@2 [g3,eb4,g4]@2 g4@2 [g3,g4]@2 g4 eb4 ~@4, ~@4 eb3@4 eb4 ~ g3@2 ~@4", // Cm G
  P: "[eb4,g4]!2 [g3,eb4,g4]@2 [eb4,g4]!4 [g3,eb4,g4]@2 [bb3,d4,g4]@2 d4!3 [c4,g4], g3 ~ g3!2 ~@2 [bb3,g4] bb3, ~@28 g4 ~@3", // Eb Cm Eb Cm Gm C5 Eb
  Q: "[g3,g4]@4 [g3,g4]@4 [g3,c4,g4]@4 [g3,c4,g4]@4 g3@4 ~@2 c4@2 ~ g4 [b3,g4]@2 [g3,b3,g4]@4, c4 ~@7 c4 ~ [g3,g4]@2 [g3,b3] ~@3", // G C5 Em G
  R: "eb4!4 [eb4,g4] eb4 [eb4,g4]!2 eb4!2 [eb4,g4]!2 eb4 [eb4,g4] [g3,eb4,g4]@2, [g3,g4]!2 g3!2 [g3,g4] g3!2 ~, ~@24 g4 ~@7", // Eb Cm G
  S: "[eb4,g4] g4!2 [eb4,g4] eb4 [eb4,g4] [g3,eb4,g4]@2 d4!2 [a3,g4]@2 [a3,gb4]@2 [a3,d4,gb4]@2, g3@4 g3@2 ~@2 [a3,g4]@2 d4 ~ d4 ~@3, ~@2 eb4@4 ~@2 g4 ~@23", // Eb Cm A7 D A7
  T: "[bb3,g4]@3 ~ [bb3,g4]@4 [bb3,d4]@6 d4@2 [bb3,d4,g4]@4 [bb3,g4]@4 [bb3,d4,g4]@4 [d4,g4]@2 d4@2, d4 ~@3 d4 ~@3 g4@4 ~@8 d4@2 ~@6 bb3@4", // Eb Bb Gm Eb Gm G5
  U: "[bb3,d4]@4 [bb3,d4]@2 ~ d4 [bb3,d4,g4]@2 d4!2 [d4,g4]!2 d4 [d4,g4], g4 ~@2 [bb3,g4] ~ [bb3,g4] bb3!2, ~@28 g4 ~@3", // Bb Gm G5 Eb
  V: "[g3,eb4]@3 [eb4,g4] [g3,eb4,g4]@2 [g3,eb4,g4]!2 eb4 [eb4,g4] eb4!2 [g3,eb4,g4]!2 eb4!2, g4@5 ~@11 g3@4 [g3,g4]@4 ~@4 [g3,g4]@4, ~@16 g4 ~@15", // Cm Eb Cm Eb Cm G
  W: "[g3,eb4,g4]@2 [g3,eb4,g4]@2 [eb4,g4]!2 eb4!2 d4 ~@2 [a3,d4] d4!2 [d4,gb4]@2, ~@2 g3 [g3,g4] [a3,g4] g4 ~@2, ~@9 d4@2 ~ a3@2 ~@2", // Cm Eb D5 D G A7
  X: "[bb3,d4,g4]@3 [bb3,d4]@3 [bb3,d4] ~ [d4,g4]@2 d4@2 g4@4 [bb3,d4,g4]@4 [bb3,d4,g4]@2 ~ [bb3,d4] [d4,g4]@2 d4@2 d4@2 d4 ~, ~@4 bb3@4 ~@3 g4 bb3@2 [bb3,g4]@2", // Gm Bb G5 Gm Bb G5 Eb
  Y: "[bb3,d4,g4]@4 [d4,g4]@2 [bb3,d4,g4] ~ [bb3,g4]@4 g4@2 [d4,g4] ~ [bb3,d4,g4]@4 [bb3,d4,g4]@2 [bb3,d4,g4] ~ d4@2 d4@2 [bb3,d4,g4]@4, ~@4 d4 ~@7 [bb3,g4]@2 ~@2", // Gm G5 Gm Eb G5 Gm Eb
  Z: "[g3,eb4,g4]@4 eb4@2 eb4 ~ [eb4,g4]@4 g4@2 [eb4,g4] ~ [g3,eb4,g4]@4 g4@4 [g3,g4]@4 [g3,g4]@4, ~@4 [g3,g4]@4 g3@3 ~@9 eb4@2 ~@2 eb4@2 ~@6", // Cm Eb Cm G
  AA: "[g3,eb4]@4 [g3,g4]@2 [g3,eb4,g4] ~ [eb4,g4]@2 ~@2 g4@4 [g3,g4]@4 [g3,eb4,g4]@4 [bb3,d4,f4]@3 ~ [d4,f4]@2 [d4,f4]@2, ~@4 g3@2 ~@2 eb4 ~@5 bb3@2", // Cm G Cm Eb G Cm Bb Dm
  AB: "[ab3,c4,ab4]@4 [ab3,c4,ab4]@2 c4@2 [ab3,c4] ~@3 c4@2 c4 ~ [c4,ab4]@2 c4@2 ab4@4 ab4@2 c4@2 ab4@4, ~@4 ab4@2 [ab3,ab4]@2 ab3@2 c4 ~ ab3@2 ~@2, ~@24 c4 ~@3 c4@2 ~@2", // Ab Fm Ab
  AC: "[g3,g4]@2 [g3,g4] [g3,eb4,g4] [g3,eb4,g4]@2 g4 [g3,eb4,g4] [g3,eb4,g4]@3 eb4 d4 [d4,f4]!2 d4, eb4 ~@11 bb3@2 bb3@2, ~@24 f4 ~@7", // G Cm Dm
  AD: "[c4,ab4] ab4 [c4,ab4] c4 [ab3,ab4]@3 c4!2 [c4,ab4] [ab3,c4]@2 eb4!2 [eb4,g4] g4, ab3@2 ab3@2 c4 ~@3 ab3@2 ~@4 g3@2, ~@16 ab4 ~@7 g4 ~@7", // Fm Ab Fm Ab Eb
  AE: "[c4,f4] ~@2 [c4,f4] [ab3,f4]@2 [c4,f4] [ab3,c4,f4] c4 [c4,g4]!3 [g3,b3,g4]!2 [b3,g4] b3, ab3@2 ab3@2 c4 ~@3 g3@2 g3@2 ~@2 g3@2, ~@16 g4 ~@15", // F5 Db F5 Fm C5 G Em
  AF: "[g3,eb4,g4] g4 ~ eb4!2 [eb4,g4] [g3,g4]@2 [d4,g4] ~@2 d4 [bb3,d4,g4] ~ [d4,g4] g4, ~ eb4@2 ~ g3@2 ~@2 bb3@2 ~@3 [d4,g4] ~@2, ~@4 g4@4 g4 ~@3 eb4@2 ~@6 g4@4 ~@3 bb3@4 ~", // Cm Eb G G5 Gm G5
  AG: "[g3,c4,g4]@2 [c4,g4]@2 [c4,g4] c4 [g3,c4]@2 [c4,g4] g4 [c4,g4]!2 [b3,g4]!4, ~@4 g3@2 g4 ~ g3@4 g3@2 g3@2", // C5 Em
  AH: "g4!2 [eb4,g4] ~ [eb4,g4]@2 [eb4,g4]!3 eb4 [eb4,g4] g4 [eb4,g4] g4 [eb4,g4]!2, [g3,eb4] g3@2 g3!2 ~ g3@2", // Eb Cm
  AI: "[eb4,g4] ~ g4 eb4!2 g4 ~ eb4 d4 [d4,g4]@3 [d4,gb4] [d4,gb4]@2 ~, g3@4 g3@4 a3@4 a3@3 ~, ~@8 g4 ~ eb4@4 ~@18, ~@3 g4 ~@4", // Eb G5 D
})).s("gm_acoustic_guitar_steel").gain(0.06).pan(0.4)

// chords · acoustic guitar steel · "Steel gt" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~ A B C D E F G H I J K L M N O ~@5 P Q R S T ~ U V W X Y Z AA AB AC AD AE AF AG ~@32
>`.pickRestart({
  A: "~@4 d3@2 ~@5 bb3 ~@3 d4", B: "~@9 d4 ~@5 d4", C: "~@10 [bb3,g4]@2 g4 ~ g4@2 ~@2 g4@2 ~@6 gb4@2 ~@2 d4@2",
  D: "~@10 d4@2 ~@4 g4 g4@2 bb3@4 ~@3 d4@2 d3@4", E: "~@14 d4@2 ~@6 d3 ~ d4@4 ~@2 [bb3,d4]@2",
  F: "d4@4 ~@21 eb4@2 ~@3 eb4@2, ~@6 g4 ~", G: "~ g3 ~@5 eb4 ~@5 a3 d3@2, eb3 ~@7",
  H: "~@5 d4 [bb3,d4]@2 ~@2 d3@2 g4@2 ~@2", I: "~ [bb3,d4] d4@2 ~@8 g4 d3 d3@2", J: "~@4 eb4@4 ~@14 eb3 ~@7 eb4@2",
  K: "~@10 [d4,g4] [a3,g4] ~@3 d4", L: "~@6 bb3@2 ~@4 g4@4 ~@3 [bb3,d4] ~@10 d4 ~", M: "~@6 d4 ~@5 d3@2 ~@2",
  N: "~@7 eb4 ~@2 [g3,eb4]@2 ~ eb4 ~ eb4, ~@7 g3", O: "~@6 [g3,eb4]@2 ~ eb4!2 g4 ~@4, ~@2 eb3 ~",
  P: "~ c4 c4@2 ~@4 g4 [c4,g4] c4 ~@2 g3 ~@2", Q: "~@5 g4 ~@10", R: "~@11 d4 ~ d4 ~@2",
  S: "~@12 g4@2 ~ bb3 ~@6 d4@2 ~@6 g4@2, ~@7 g4 ~@8", T: "~ g4!2 ~@5", U: "~@12 gb4!2 a3@2",
  V: "~@2 d4 g4@3 g4 ~@3 g4@2 d4@2 d4@2 ~@10 g4@2 ~@4", W: "~@10 d4@2 [bb3,d4]@2 bb3 ~@17",
  X: "~@11 g3@3 g3 ~@7 eb4@2 ~@2 eb4@2 eb4@4, ~@5 g3 ~@2", Y: "g4@2 eb4 ~@2 [eb4,g4] [g3,eb4]@2 ~ eb4 ~@6",
  Z: "~@3 ab4 ~ c4 ~@3 ab4 ~ c4 ~ ab4 ab3 c4, ~@5 ab3 ~@2", AA: "~ eb4!2 ~@7 g4 [g3,g4] ~@3 f4",
  AB: "~ c4 ~ ab4 ~@3 ab3 ~@2 ab4@2 ~ g4 ~ eb4, ~@5 c4@2 ~@5 g3@2 ~@2, ~@3 ab4 ~@4",
  AC: "~ [c4,f4]!2 ~@2 c4 ab3 ~@8 g4", AD: "~ g3@3 ~@3 eb4 ~ d4@2 bb3 ~@3 d4, ~@9 g4 ~@6",
  AE: "~@2 g3@2 ~ g4 ~ g4 ~ c4 ~@6", AF: "~@3 [eb4,g4] ~@5 g4 ~ eb4 ~ eb4 ~@2, ~@5 g3 ~@2",
  AG: "~ eb4@2 g4 ~@4 g4 ~@7, ~ g4 ~@14",
})).s("gm_acoustic_guitar_steel").gain(0.03).pan(0.4)

// chords · piano
const piano = note(`<
  A B C D E@2 ~ F G H I J K L M N O P Q R S T U@2 V@3 W ~@11 X Y Z AA AB AC AD ~ AE AF AG AH AI ~@20
>`.pickRestart({
  A: "~@3 g3, [bb3,d4,g4]", B: "f3@19 ~@5 [d4,g4,bb4]@8", C: "eb2@20 ~@4 d2@7 ~, ~@24 d3 ~@7",
  D: "[c2,c4,eb4,g4]@14 ~@10 [gb4,a4]@7 ~, c3 ~@15 d2@14 ~@2", // Cm Gbm
  E: "[~@8 [d4,g4,bb4]@16 [bb4,bb5]@24 ~@8 [d4,g4,bb4]@7 ~]/2", // Gm Bb Gm
  F: "[c4,eb4]@8 c3@6 a1@2 [d1,d4,g4,a4] ~ [d1,a4]@2 ~@4 [d4,gb4,a4]@2 [d4,gb4,a4]@6, g4@11 ~@3 a-1 ~@3 [d4,g4] ~@5 d1 ~ d1 ~@5", // Cm Dsus4 D5 D G5
  G: "g3@23 ~ g3@2 g3@6", H: "~@8 f3@15 ~ f3@7 ~", I: "eb3@7 ~ eb3@15 ~ eb3@7 ~", J: "c3@8 c3@7 ~ d3@7 ~ [a3,d4,gb4]@8",
  K: "~@8 g3@15 ~ g3@2 g3@6", L: "f3@7 ~ f3@15 ~ f3@7 ~", M: "eb3@8 eb3 ~@15 [d2,d3]@8",
  N: "~@2 c3@3 ~ [bb1,bb2]@2, c2@5 ~@3", O: "ab2@5 ~@3 [c4,eb4]@14 ~@2 bb1@8, ab1@23 ~@9, ~@3 ab2@4 ~@9, ~@4 ab3@5 ~@7",
  P: "c2@5 ~@11 c2@7 ~ bb1@7 ~, ~@3 c2@5 ~@8, ~@8 [eb4,g4]@17 ~@7, ~@2 c4@3 ~@3", // Eb
  Q: "ab1@3 ~ [ab3,c4,eb4]@8 g1@4, ~@6 ab1@15 ~@11", R: "[f1,f3]@8 f1@7 ~@9 c4@4 g3@4, [ab3,c4]@15 ~ g1@16, ~@3 d4",
  S: "~@8 [c4,eb4]@8 bb1@5 ~@3 [bb3,d4,g4]@8, c2@16 ~@6 bb1@7 ~@3, ~@2 g4@3 ~@3", // Cm Gm
  T: "~ [ab3,c4,eb4] ~ [g3,c4,d4], ab1@15 ~ g1@15 ~", U: "[~@8 [c4,eb4,g4]@31 ~@25, c2@39 ~@25]/2",
  V: "[~@2 [d4,g4]@3 ~ [d4,bb4]@4 ~@4 [d4,g4]@3 ~@5 [bb3,eb4]@2]/3", W: "~ [g3,c4] ~ [a3,d4,gb4]",
  X: "~@16 [d1,d2,d4,gb4,a4,d5] ~ [d1,d2,d4,gb4,a4,d5] ~@5 [d1,a1,d2,d4,gb4,a4,d5] ~ [d1,d2,d4,gb4,a4,d5] ~@5", // D
  Y: "~@8 [g5,bb5,d6,g6]@16 ~@6 [f3,bb3,d4] ~", Z: "[f3,bb3,d4]@8 [f5,bb5,d6,g6]@19 ~@3 [g3,bb3,eb4] ~, ~@4 f6 ~@11",
  AA: "[g3,bb3,eb4]@15 ~@15 [g3,c4] ~", AB: "[g3,c4]@13 ~@3 [a3,d4]@13 ~@3",
  AC: "~@6 [g5,bb5,d6,g6]@2 [g5,bb5,d6,g6]@14 ~@2 [g3,bb3,d4]@5 ~ [f3,bb3,d4] ~", // Gm Bb
  AD: "[f3,bb3,d4]@6 [g5,bb5,d6,g6] ~ [g5,bb5,d6,g6]@14 ~@10", // Bb Gm
  AE: "~@16 [d1,a1,d2,a3,d4,g4] ~ [d1,d2,a3,d4,g4] ~@5 [d1,d2,a3,d4,gb4] ~ [d1,d2,a3,d4,gb4] ~@5", // Dsus4 D
  AF: "[d4,g4,bb4]@7 ~ d4@6 ~@2 d4@6 ~@2 [d4,g4,bb4]@7 ~, ~@4 [g4,bb4]@7 ~@5", // Gm
  AG: "[d4,f4,bb4]@6 ~@2 [d4,f4,bb4]@6 ~@2 [d4,f4,bb4]@5 ~@3 [d4,f4,bb4]@7 ~", // Bb
  AH: "[eb4,g4,bb4]@5 ~@3 [eb4,g4]@6 ~@2 g4@5 ~@3 [eb4,g4,bb4]@7 ~, ~@8 bb4@13 ~@11", // Eb
  AI: "[c4,eb4,bb4]@6 ~@2 [c4,eb4,g4,bb4]@9 ~@7 [a3,d4,gb4]@7 ~, ~@8 d4 ~@15 g3 ~@7", // Cm7 D
})).s("gm_piano").gain(0.48).pan(0.6)

// chords · piano · soft notes
const piano_soft = note("<~@2 A B C ~ D ~@2 E ~@2 F ~@2 G H I ~ J ~@7 K ~@11 L ~@10 M N ~@20>".pickRestart({
  A: "[bb3,eb4,g4]@3 ~", B: "~@16 [d4,g4,a4]@7 ~ d4@7 ~, ~@16 d3@13 ~@3", C: "[d4,g4,bb4]@7 ~@25",
  D: "[eb4,g4,bb4]@7 ~", E: "f3@7 ~@25", F: "[d3,g3]@7 ~@25", G: "c3@7 ~@25", H: "~@4 ab2 ~@3", I: "~@22 c4@3 ~@7",
  J: "~@7 b3", K: "~@6 c3 ~@25", L: "~@24 f1 ~@7", M: "~@16 eb4@5 ~@11", N: "g4@5 ~@12 d3@2 ~@13",
})).s("gm_piano").gain(0.29).pan(0.6)

// other · string ensemble 2 · "Strings"
const string_ensemble_2 = note("<A@8 ~@40 B C@3 D E F G@2 H@3 ~@12>".pickRestart({
  A: "[~@5 [d4,g4]@106 ~ g4@8 gb4@8 g4@114 ~@14, ~@56 d4@65 ~@7]/8", B: "~@15 bb3@7 ~@2 bb3@4 c4@4",
  C: "[d4@23 c4@4 g3@4 bb3@17 ~@7 bb3@8 c4@13 bb3@3 ~ a3@15 ~]/3", D: "g4@3 d4, g3 ~@31", E: "g4@19 d4@13",
  F: "bb4@3 g4", G: "[c5@24 [d4,d5]@7 ~ eb5@25 ~ [d4,d5]@6, ~@31 eb4@26 ~@7]/2",
  H: "[~@24 bb3@7 ab3@24 ~ bb3@7 ab3@16 g3@16 ~, [g3,g4]@31 ~@25 d4 ~@39]/3", // G
// … 143 more lines

More by Elton John