Strudelify
Believe cover art

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 48-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: edit a riff to change every repeat.

// bass · fretless bass · "Bass"
const bass = note(`<
  A B C D E F G H I B G J K L M N O P Q R S T U V E B G J K L W N X P Y Z S T U V E AA AB AC AD AE AF AG AH AI AJ AK AL
  AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD ~
>`.pickRestart({
  A: "g1@15 ~@3 g1@2 ~@4 g1@24", B: "f1@5 ~ f1 ~ f1@8", C: "eb1@15 ~@3 eb1@4 ~@2 eb1@12 d2@12",
  D: "c2@15 ~@3 c2@5 ~ d2@12 d1@11 ~", E: "g1@16 ~@2 g1@3 ~@3 g1@24", F: "f1@16 ~@2 f1@3 ~@3 f1@24",
  G: "eb1@5 ~ eb1 ~ eb1@8", H: "c2@15 ~@3 c2@6 d2@12 d1@11 ~", I: "g1@8 ~ g1 ~@2 g1@12",
  J: "c2@14 ~@4 c2@5 ~ d2@12 d1@11 ~", K: "g1@15 ~@3 g1@3 ~@3 g1@23 ~", L: "f1@15 ~@3 f1@3 ~@3 f1@23 ~",
  M: "eb1@16 ~@2 eb1@3 ~@3 eb1@11 ~ d2@12", N: "c2@8 ~ c2@2 ~ c2@6 bb1@6", O: "ab1@16 ~@2 ab1@3 ~@3 ab1@12 bb1@12",
  P: "c2@5 ~ c2 ~ c2@4 bb1@4", Q: "ab1@14 ~@4 ab1@3 ~@3 ab1@12 g1@12", R: "f1@5 ~ f1@2 g1@4 g1@3 ~",
  S: "c2@5 ~ c2@2 bb1@5 ~ bb1 eb1", T: "ab1@8 ~ ab1@3 g1@5 ~ g1@6", U: "c2@16 ~@2 c2@4 ~@2 c2@17 ~ g1@6",
  V: "c2@15 ~@3 c2@6 d2@12 d1@10 ~@2", W: "eb1@16 ~@2 eb1@4 ~@2 eb1@11 ~ d2@12", X: "ab1@16 ~@2 ab1@3 ~@3 ab1@18 ~@6",
  Y: "ab1@5 ~ ab1 ~ ab1@4 g1@4", Z: "f1@15 ~@3 f1@5 ~ g1@11 ~ g1@9 ~@3", AA: "f1@16 ~@2 f1@3 ~@3 f1@9 bb1@3 f2@12",
  AB: "eb1@14 ~@4 eb1@3 ~@3 eb1@12 eb2@12", AC: "c2@14 ~@4 c2@6 d2@12 d1@11 ~", AD: "g1@8 ~ g1@2 ~ g1@6 g2@6",
  AE: "f1@15 ~@3 f1@4 ~@2 f1@12 f2@12", AF: "eb1@14 ~@4 eb1@4 ~@2 eb1@9 ~@3 eb1@12",
  AG: "c2@19 ~@2 c2@2 ~ d2@2 ~ d2@4 ~@2 c1 ~@2 d1@2 ~ d1@4 ~@5", AH: "g1@16 ~@2 g1@3 ~@3 g1@15 ~@3 g1@4 ~@2",
  AI: "f1@15 ~@3 f1@3 ~@3 f1@15 ~@3 f1@4 ~@2", AJ: "eb1@14 ~@4 eb1@3 ~@3 eb1@15 ~@3 eb1@5 ~",
  AK: "c2@16 ~@2 c2@5 ~ d2@9 d1 ~@2 d1@7 ~@2 d1@2 ~", AL: "g1@16 ~@2 g1@3 ~@3 g1@16 ~@2 g1@5 ~",
  AM: "f1@8 ~ f1 ~@2 f1@8 ~ f1@3", AN: "eb1@15 ~@3 eb1@3 ~@3 eb1@12 d2@11 ~", AO: "c2@15 ~@3 c2@4 ~@2 c2@12 bb1@12",
  AP: "ab1@15 ~@3 ab1@4 ~@2 ab1@9 ~@3 ab1@3 bb1@8 ~", AQ: "c2@15 ~@3 c2@4 ~@2 c2@11 ~ bb1@12",
  AR: "ab1@8 ~ ab1@2 ~ ab1@6 g1@6",
  AS: "f1@4 ~@2 f1@4 ~@2 f1@4 ~@2 f1@5 ~ g1@4 ~@2 g1@4 ~@2 g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~",
  AT: "c2@15 ~@3 c2@6 bb1@16 ~@2 bb1@6", AU: "ab1@16 ~@2 ab1@5 ~ g1@10 ~@2 g1@12",
  AV: "c2@16 ~@2 c2@5 ~ bb1@15 ~@3 bb1@6", AW: "ab1@15 ~@3 ab1@5 ~ g1@11 ~ g1@11 ~", AX: "c2@8 ~ c2@3 bb1@8 ~ bb1@3",
  AY: "ab1@15 ~@3 ab1@6 g1@11 ~ g1@5 ~ g1@4 ~@2", AZ: "c2@5 ~ c2@3 ~ c2 ~ c2@5 ~ c2@5 ~ c2@5 ~ c2@5 ~ c2@5 ~ c2@5 ~",
  BA: "d2@5 ~ d2@3 ~ d2 ~ d2@5 ~ d2@4 ~@2 d2@5 ~ d2@5 ~ d2@4 ~@2 d2@5 ~",
  BB: "eb2@5 ~ eb2@3 ~ eb2 ~ eb2@5 ~ eb2@5 ~ eb2@4 ~@2 eb2@4 ~@2 eb2@5 ~ eb2@5 ~",
  BC: "f1@4 ~@2 f1@3 ~ f1 ~ f1@4 ~@2 f1@5 ~ g1@2 ~ g1@5 ~@4 g1@2 ~ g1@6 ~@3", BD: "c1@23 ~",
})).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 H@2 I J@2 K L M@2 N O P Q R S T U ~@7 V@2 W X Y Z@6 AA AB AC@2 AD@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: "[~@65 eb3@7 b3@5 c4@7 b3@12, ~@6 g3@24 f3@18 eb3@13 ~@35, ~@11 c4@21 ~@4 bb3@15 ~@2 ab3@19 g3@24, ~@18 eb4@18 ~@6 eb4@12 ~@5 c4@13 ~@24, ~@4 g4@3 ~@9]/2",
  G: "[~@6 g4@16 ~ [d3,a3] [d3,a3]@8, g3@11 ~@5, ~@5 c4@61 ~@30, ~@2 eb4@9 ~@5]/2", // D5
  H: "[~@35 [bb2,f3]@12 [ab2,eb3]@46 ab2 ~@2]/2", I: "[c3,g3]@3 [bb2,f3], a2 ~@47",
  J: "[[ab2,eb3]@35 ~ db3 ~@11 d3 ~@23 [g2,d3]@23 ~, ~@35 [g2,d3]@12 [f2,c3]@23 ~@26]/2", // Ab5 G5 F5
  K: "~@4 g4 ~@2 eb4, ~@3 g3@10 ~@2 f3@9, ~@11 c4@18 ~@7 bb3@12, ~@18 eb4@13 ~@17",
  L: "~@17 eb3@7 b3@5 c4@7 b3@12, eb3@11 c4@13 ~@24, ~@5 ab3@19 ~@24",
  M: "[~@18 g4@53 ~ [d2,a2,d3]@2 ~ [d2,a2,d3]@2 ~@7 [d2,a2,d3]@2 [d2,a2,d3]@9 ~, g3@71 ~@25, ~@5 c4@66 ~@25, ~ eb4@5 ~@2]/2", // D5
  N: "d5@11 ~ c5@3 bb4 ~ g4@2 ~@4 bb4@2 ~@4 c5@2 ~@4 g4@10 ~@3", O: "g4@3 f4@2 ~ d4@2 ~@4 f4@2 ~@4 g4@6 d4@11 ~@13",
  P: "~@12 c5@3 bb4 ~@2 g4@2 ~@4 bb4@2 ~@4 c5@2 ~@4 g4@9 ~@3", Q: "g4@3 f4@2 ~ d4@2 ~@4 f4@2 ~@4 g4@5 ~ d4@21 ~@3",
  R: "d5@12 c5@3 bb4@3 g4@2 ~@4 bb4@2 ~@4 c5 ~@5 g4@12", S: "g4@3 f4@2 ~ d4@2 ~@4 f4@2 ~@4 g4@2 ~@4 d4@20 ~@4",
  T: "~@12 c5@3 bb4@2 ~ g4@2 ~@4 bb4@2 ~@4 c5 ~@5 g4@11 ~", U: "g4@2 ~ f4@2 ~ d4@2 ~@4 f4 ~@5 g4 ~@5 d4@22 ~@2",
  V: "[~@36 [bb2,f3]@11 ~ ab2@35 ~ [ab2,eb3] ~@2 [bb2,f3]@9, ~@47 eb3@35 ~@14]/2", W: "[c3,g3]@34 ~ [bb2,f3]@13",
  X: "[ab2,eb3]@35 ~ [g2,eb3]@11 ~", Y: "[f2,c3]@11 ~ [g2,d3,g3]@11 ~",
  Z: "[~@78 c4@5 b3@6 ~@18 c4@6 ~@60 c4@6 b3@6 ~@84 c4@6 b3@6 c4@7, c3@24 bb2@23 ~ ab2@23 g2@24 ~@42 eb4@13 ~@11 c4@11 ~@13 c4@13 ~@5 c4@18 ~@6 c4@13 ~@11 ab3@13 ~@24, ~@6 g3@18 ~@5 g3@21 ~@4 eb3@18 ~@5 d3@13 ~@5 c3@23 ~ bb2@24 ab2@22 ~@2 g2@24 ~@18 eb4@18 ~@6 eb4@12 ~@12 c4@11 ~@20, ~@12 c4@17 ~@7 c4@13 ~@10 ab3@12 ~@30 g3@20 ~@4 g3@19 ~@5 eb3@18 ~@6 d3@12 ~@6 c3@24 bb2@24 ab2@24 g2@24 ~, ~@18 eb4@11 ~@13 eb4@12 ~@11 c4@11 ~@13 c4@13 ~@11 eb4@18 c4@15 ~@9 ab3@13 ~@29 g3@20 ~@5 g3@19 ~@4 eb3@19 ~@5 d3@12 ~@7]/6",
  AA: "~@3 g4, ~@6 c4@21 ~@2 c4@17 ~@2, ~@4 g4@7 ~@5, ~@17 c5@30 ~",
  AB: "d4@5 ~@31 b4@12, ~@6 d4@21 ~@2 d4@19, ~@11 b4@22 ~@15, ~@17 d5@20 ~@11",
  AC: "[eb4@6 bb3@6 ~@17 eb4@18 [c4,f4]@23 ~@2 [d4,g4]@2 ~ [d4,g4]@2 ~@7 [d4,g4]@2 ~ [d4,g4]@9, g4@15 ~@17, ~@4 eb4@5 ~@23, ~@6 c5@9 ~@17]/2", // F5 G5
  AD: "[[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@5 F@2 G H@2 I@2 J@5 K@7 L@4 ~@8 M@4 N@3 O@2 P@3 Q R S T U@3 V W@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@95 ~ eb4@48 [c4,eb4]@24 [a3,d4,g4]@4 ~@8 [a3,d4,gb4]@4 ~@8, g4@7 ~, bb3@71 ~@25]/4", // Cm Dsus4 D
  D: "[d4@24 d4@21 bb3@3 f4@23 ~ c4@9 bb3@2 ~@7 gb4@5 ~, g4@89 ~@7, bb3@21 ~@27 eb4@35 ~ [a3,d4]@11 ~]/4", // D5
  E: "[d4@95 ~ eb4@48 c4@36 [bb3,d4,f4]@11 ~ c4@35 ~ f4@11 ~, g4@180 ~@12 eb4 ~@47, bb3@142 ~@2 eb4 ~@46 ab3@35 ~ [bb3,d4]@11 ~@2]/5", // Bb
  F: "[[c4,eb4,g4]@36 [bb3,d4,f4]@10 ~ [ab3,c4,eb4]@35 ~ [g3,bb3,d4]@11 ~@2]/2", // Cm Bb Ab Gm
  G: "[f3,ab3,c4]@23 c4@11 ~ b3@13, ~@23 [g3,d4]@24 ~", // Fm G5
  H: "[[c4,eb4]@23 [bb3,d4]@24 [ab3,c4,eb4]@25 c4@12 b3@11 ~, g4@23 ~@13 [g3,d4]@12]/2", // Cm Bb Ab G5
  I: "[[c4,eb4,g4]@3 [d4,gb4,a4]]/2", // Cm D
  J: "[d4@95 ~@49 c4@23 ~@12 gb4@13 [bb3,g4]@48, g4@179 ~@61, bb3@141 ~@26 a3@23 ~@50, ~@96 eb4@71 d4@73]/5", // Eb
  K: "[f4@47 ~ eb4@35 d4@12 [c4,eb4]@36 [bb3,d4,f4]@12 [ab3,c4,eb4]@38 [bb3,d4]@9 ~ [c4,eb4,g4]@37 ~ f4@10 [ab3,c4,eb4]@36 ~ [g3,bb3,d4]@11 [f3,ab3,c4]@24 ~ c4@12 b3@9 ~@2 c4, ~@47 g4@84 ~@97 [bb3,d4]@7 ~@77 [g3,d4]@23 ~, ~@95 c5@47 ~ eb5@48 c5@48 ~@97]/7", // Cm Bb Ab Bb Cm Ab Gm Fm …
  L: "[eb4@23 eb4 c4 ~@22 [ab3,c4,eb4]@23 ~ c4@12 ~ b3@9 ~@3 g4@69 ~@3 [d4,a4,d5]@2 ~ [d4,gb4,a4,d5]@2 ~@7 [d4,gb4,a4,d5]@2 ~ [d4,a4,d5]@2 ~@7, g4@46 ~@122 [gb4,c5] ~@14 gb4 ~@8, ~@23 [bb3,d4]@23 ~@25 [g3,d4]@24 [c4,eb4]@70 ~@27]/4", // Ab D5 D D5 Gbdim Bb G5 Cm
  M: "[~@47 f3@47 ~ eb3@47 c4@24 ~@14 gb3@10 ~@2, g3@89 ~@7, bb3@142 ~@25 [a3,d4]@23 ~@2, d4@47 ~@49]/4", // D5
  N: "[~ d4@91 ~@3 eb4@48 ~, ~ [bb3,g4]@142 ~]/3", // Eb
  O: "[[g3,c4,eb4]@35 ~ [bb3,d4,f4]@11 [ab3,c4,eb4]@36 ~@4 d4@7 ~@2, ~@86 [bb3,f4]@7 ~@3]/2", // Cm Bb Ab Bb5
  P: "[[c4,eb4,g4]@37 ~ [bb3,f4]@9 [ab3,c4]@35 ~ [g3,bb3]@10 ~@2 [f3,ab3,c4]@24 ~@12 b3@11 ~@2, ~@37 d4@6 ~@4 eb4@45 ~@27 d4@22 ~@3, ~@119 c4@11 ~@14, ~@60 g3@11 ~]/3", // Cm Bb5 Ab Gm Fm
  Q: "[c4,eb4]@23 [bb3,d4]@24 ~, g4@47 ~", R: "[ab3,c4,eb4]@23 ~ a3 ~@11 b3@8 ~@4, ~@23 [g3,d4]@24 ~, ~@23 c4@13 ~@12",
  S: "[c4,eb4]@23 [bb3,d4]@25, g4@23 ~", T: "[ab3,c4,eb4]@23 c4@12 b3@11 ~@2, ~@23 [g3,d4]@25",
  U: "[[c4,eb4]@23 [bb3,d4]@24 [ab3,c4,eb4]@25 c4@11 b3@11 ~ [g3,c4,eb4]@47 ~@2, g4@46 ~@26 [g3,d4]@23 ~@49]/3", // Cm Bb Ab Cm G5
  V: "[g3,b3,d4]@23 ~", W: "[[c4,eb4]@47 [ab3,c4,f4]@21 ~@4 [g3,c4,d4]@4 ~@8 [g3,b3,d4]@4 ~@8, g3@43 ~@53]/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@3 C@3 D E@3 D F@2 G ~@6 H@2 ~@4 I@4 ~@6 J@6 K@2 L@2 ~@18 M@4 ~@2
>`.pickRestart({
  A: "[bb3@95 ~]/2", B: "[bb3@47 c4@19 bb3@6 a3@23 bb3@36 f3@13]/3",
  C: "[d3@35 f3@12 eb3@35 g3@13 c3@20 ~@5 [d2,a3,d4,g4]@2 ~ [d2,a3,d4,g4]@2 ~@7 [d2,a3,d4,gb4]@2 ~ [d2,a3,d4,gb4]@2 ~@7]/3", // Dsus4 D
  D: "g3", E: "[f3@47 eb3@48 c3@24 d3@25]/3", F: "[f3@35 ~ f3@11 eb3@35 ~@2 eb3@5 d3@6 ~]/2",
  G: "c3@29 bb3@2 ~@7 eb4@4 d4@3 ~@3, ~@9 d4 ~@2", H: "[~@36 c4@5 ~ d4@5 eb4@6 d4@6 c4@5 ~ g3@3 c4@3 ~ a3@10 ~@14]/2",
  I: "[~@30 a3@6 bb3@6 a3@5 bb3@30 d4@7 eb4@5 d4@6 bb4@30 [f4,ab4]@6 ~ eb4@5 ~ d4@5 [c4,eb4]@37 d4@2 ~ eb4@2 ~ d4@2 ~@4, ~@131 g4@6 f4@4 ~@51]/4", // Fm Cm
  J: "[~@36 c4@5 ~ d4@5 eb4@6 d4@6 c4@5 ~ g3@3 c4@3 ~@25 [bb3,g4]@95 bb3@48 c4@23 ~@2 g4@12 gb4@12, ~@95 d4@96 [eb4,g4]@71 ~ [a3,d4]@24 ~]/6", // Eb D5
  K: "[[bb3,d4,g4]@47 ~]/2", // Gm
  L: "[bb3@47 c4@22 ~@3 [d4,g4]@2 ~ [d4,g4]@2 ~@6 [d4,gb4]@2 ~@2 gb4@2 ~@7, [eb4,g4]@70 ~@17 d4 ~@8]/2", // G5 D Eb
  M: "[c4@36 ~@2 g3 ~@2 c4@2 ~ eb4 ~@2 d4@9 g3@28 ~@2 f4@2 ~ eb4@2 ~ d4 ~@2 eb4@8 ~ g3@30 ~ c5@2 g4@2 ~ ab4@2 ~ f4@17 ~ eb4@5 ~ d4@2 ~ d4@2 ~@9 d4@2 d4@2 ~@7]/4",
})).s("gm_string_ensemble_1").gain(0.33).pan(0.7)

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

// chords · piano
const piano = note(`<
  A B C@2 D@2 ~ E F G H I J K L M N O P Q R S T@2 U@3 V ~@11 W X@2 Y Z AA AB ~ AC AD AE@3 ~@20
>`.pickRestart({
  A: "~@36 g3@11 ~, [bb3,d4,g4]", B: "f3@29 ~@7 [d4,g4,bb4]@11 ~",
  C: "[eb2@29 ~@6 d3 d2@11 ~@2 c3 ~@34 [gb4,a4]@11 ~, ~@47 c2@21 ~@4 d2@21 ~@3, ~@16 [c4,eb4,g4]@7 ~@9]/2", // Gbm Cm
  D: "[~@12 [d4,g4,bb4]@24 [bb4,bb5]@35 ~@13 [d4,g4,bb4]@11 ~]/2", // Gm Bb Gm
  E: "[c4,eb4]@12 c3@9 [a-1,a1]@2 ~ [d1,d4,g4,a4]@2 ~ [d1,d4,g4,a4]@3 ~@6 [d1,d4,gb4,a4]@3 [d4,gb4,a4]@9, g4@17 ~@22 d1@2 ~@7", // Cm A Dsus4 D
  F: "g3@34 ~@2 g3@3 ~ g3@8", G: "~@12 f3@23 ~ f3@11 ~", H: "eb3@11 ~ eb3@22 ~@2 eb3@11 ~",
  I: "c3@11 ~ c3@11 ~ d3@11 ~ [a3,d4,gb4]@12", J: "~@12 g3@23 ~ g3@2 ~ g3@9", K: "f3@11 ~ f3@22 ~@2 f3@11 ~",
  L: "eb3@12 eb3 ~@23 [d2,d3]@11 ~", M: "~@2 c3@3 ~ bb2@2, c2@29 ~@6 bb1@12 ~",
  N: "ab2@7 ~@5 [c4,eb4]@21 ~@2 bb1@12 ~, ab1@35 ~@13, ~@3 ab2@4 ~@9, ~@4 ab3@5 ~@7", // Cm
  O: "c2@8 ~@17 c2@10 ~ bb1@11 ~, ~@8 c2@15 ~@25, ~@6 [eb4,g4]@13 ~@5, ~@2 c4@3 ~@3", // Eb
  P: "ab1@8 ~@4 [ab3,c4,eb4]@23 ~ g1@11 ~, ~@9 ab1@23 ~@16", // Ab
  Q: "[f1,f3]@12 f1@11 ~@13 c4@6 g3@6, [ab3,c4]@23 ~ g1@23 ~, ~@3 d4", // F Ab
  R: "~@12 [c4,eb4]@12 bb1@7 ~@5 [bb3,d4,g4]@12, c2@24 ~@9 bb1@10 ~@5, ~@2 g4@3 ~@3", // Cm Gm
  S: "~ [ab3,c4,eb4] ~ [g3,c4,d4], ab1@23 ~ g1@22 ~@2", T: "[~@12 [c4,eb4,g4]@47 ~@37, c2@59 ~@37]/2",
  U: "[~@13 [d4,g4]@18 ~@5 [d4,bb4]@24 ~@24 g4@17 ~@31 [bb3,eb4]@12, ~@83 d4@17 ~@44]/3", V: "~ [g3,c4] ~ [a3,d4,gb4]",
  W: "~@24 [d1,d4,gb4,a4,d5]@2 ~ [d1,d2,d4,gb4,a4,d5]@2 ~@7 [d1,d2,d4,gb4,a4,d5]@2 ~ [d1,d2,d4,a4,d5]@2 ~@7, ~@24 d2 ~@11 a1 ~@2 gb4 ~@8", // D D5
  X: "[~@12 [g5,bb5,d6,g6]@25 ~@7 [f3,bb3,d4]@2 ~ [f3,bb3,d4]@13 [f5,bb5,d6,g6]@29 ~@4 [g3,bb3,eb4]@2 ~, ~@30 f6 ~@17]/2", // Gm Bb Gm7 Eb
  Y: "[g3,bb3,eb4]@22 ~@23 [g3,c4]@2 ~", Z: "[g3,c4]@19 ~@5 [a3,d4]@20 ~@4",
  AA: "~@9 [g5,bb5,d6,g6]@3 [g5,bb5,d6,g6]@21 ~@3 [g3,bb3,d4]@8 ~ [f3,bb3,d4]@2 ~", // Gm Bb
  AB: "[f3,bb3,d4]@9 [g5,bb5,d6,g6]@2 ~ [g5,bb5,d6,g6]@20 ~@16", // Bb Gm
  AC: "~@24 [d1,d2,a3,d4,g4]@2 ~ [d1,d2,a3,d4,g4]@2 ~@7 [d1,d2,a3,d4,gb4]@2 ~ [d1,d2,a3,d4,gb4]@2 ~@7, ~@24 a1 ~@23", // Dsus4 D
  AD: "[d4,g4,bb4]@10 ~@2 d4@10 ~ d4@10 ~@3 [d4,g4,bb4]@11 ~, ~@4 [g4,bb4]@7 ~@5", // Gm
  AE: "[[d4,f4,bb4]@8 ~@4 [d4,f4,bb4]@9 ~@3 [f4,bb4]@8 ~@4 [d4,f4,bb4]@10 ~ [eb4,g4,bb4]@8 ~@5 [eb4,g4]@9 ~@3 g4@7 ~@5 [g4,bb4]@11 ~ [c4,bb4]@8 ~@4 [c4,eb4,g4,bb4]@13 ~@11 [a3,d4,gb4]@11 ~, ~@23 d4@8 ~@29 bb4@20 ~@4 eb4@7 ~@4 eb4@7 ~@6 d4 ~@23 g3@2 ~@10]/3", // Bb Bb5 Bb Eb Gm C7 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]@36 d3 ~@10 c3", B: "~@24 [d4,g4,a4]@11 ~ d4@11 ~, ~@6 d3@5 ~", C: "[d4,g4,bb4]@11 ~@37",
  D: "[eb4,g4,bb4]@7 ~", E: "f3@11 ~@37", F: "[d3,g3]@5 ~@19", G: "c3@11 ~@37", H: "~@4 ab2 ~@3", I: "~@32 c4@5 ~@11",
// … 155 more lines

More by Elton John