Strudelify
The One cover art

The One

The One

Elton John

KeyB♭ majorTempo78 bpm
0:00/0:00
// The One — John Elton
// 78 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 8 "#Dctr.Sol" Doctor Solo -> lead 8 bass lead
// note: Full arrangement: all 110 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(78/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 · "A.Piano"
const piano = note(`<
  ~ A@2 B C D E F ~@3 G ~ H I J K L M N O P Q R N S T U V W X Y Z AA AB@2 AC AD@2 AE AF AG AH AI AJ L AK AL AM AN Q AO
  AP AQ AR AS AT W AU Y Z AA AV@2 AW AX@2 AY AZ BA BB BC BD BE AR BF AT BG AU BH Z AA BI BJ BK BL AT BM AU BH Z BN BO BP
  BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE ~
>`.pickRestart({
  A: "[~@7 c4@9, ~@10 g5@11 ~@11, ~@3 g4 ~@4]/2", B: "~@12 d5 g5 ~ g5, ~@5 g4@3", C: "~@3 [a3,d5]",
  D: "~@12 c5 ~ g5 ~, [g3,c4]", E: "~ a4, gb5, ~ d4@3", F: "~@7 g4, ~@5 g3@3, ~@3 d4",
  G: "~@12 d4 ~ g3@2, ~@11 g3@2 g4@3", H: "g3@11 ~@3 f4@2, ~@11 g3@5, ~@3 bb3, ~@13 eb4@3", I: "~@3 g3, g4",
  J: "[f3,a3,c4]@3 [f3,g3,bb3,eb4]", K: "[f3,bb3,d4]", L: "[g3,bb3,eb4]@12 [f3,bb3,eb4,f4]@3 ~",
  M: "[f3,a3,c4,f4]@12 [f3,c4]@3 ~", N: "[f3,bb3,d4,f4]@12 [f3,bb3,d4,f4]@3 ~",
  O: "[f3,ab3,c4,f4]@12 [f3,ab3,c4,f4]@3 ~", P: "[g3,b3,d4,f4]@8 [g3,c4,f4]@3 ~ [g3,d4,f4]@4",
  Q: "[g3,c4,eb4]@11 ~ [f3,bb3,d4,f4]@3 ~", R: "[f3,a3,c4,f4]@12 [f3,a3,c4,eb4,f4]@3 ~",
  S: "[bb3,d4,gb4]@6 [bb3,d4,gb4] ~", T: "[g3,bb3,d4]@12 [bb3,d4,g4]@3 ~", U: "[g3,bb3,d4,f4]@10 f3 bb3 g4 d4 bb3@2",
  V: "[gb3,bb3,db4,gb4]@6 ~ [bb3,db4,gb4], ~@14 gb3 ~", W: "[f3,bb3,d4,f4]@3 [f3,bb3,d4,f4]",
  X: "[f3,ab3,bb3,d4]@12 [f3,ab3,bb3,d4]@3 ~", Y: "[g3,bb3,eb4]@9 ~@3 [f3,bb3,d4,f4]@3 ~",
  Z: "[g3,c4,eb4]@12 [g3,c4,eb4]@3 ~", AA: "[g3,bb3,eb4,f4]@8 ~@4 [a3,c4,f4]@3 ~",
  AB: "[[f3,bb3,d4]@12 ~@4 f5@11 ~@3 f5@2, ~@13 f4@14 f4@5, ~@7 bb4@7 bb4@2, ~@15 c5@13 ~ c5@3]/2", // Bb
  AC: "[a3,d4,gb4]@4 [a3,d4]@4 d4@3 ~ [a3,d4]@4", // D D5
  AD: "[~@15 g4 gb4@8 a3@3 ~@5, ~@5 g3 d4 c4@5 ~@4, ~@11 c4@2 g3@11 ~@8]/2", AE: "~@13 d4@3, ~@11 g3@5, ~@3 g4",
  AF: "[d3,g3] ~", AG: "~@13 g3@3, ~@5 g3 eb4@2, ~@11 bb3@5", AH: "[bb3,g4]@3 ~@9 [g3,bb3,eb4]@3 ~, eb3@3 ~",
  AI: "f3@7 ~ f3@4 [f3,g3,bb3,eb4]@4, [a3,c4,f4]@3 ~", AJ: "[f3,bb3,d4]@12 [f3,bb3,d4]@3 ~",
  AK: "[f3,a3,c4,f4]@3 [f3,a3,c4,eb4,f4]", AL: "f3@5 ~@2 f4, [bb3,d4,f4]@11 bb3@5, ~@5 f3@3, ~@3 c4, ~@13 d4@3",
  AM: "[f3,ab3,c4,f4]@3 [ab2,c4,f4], ~@6 [f3,ab3] ~", AN: "g2@2 ~ g2 [a2,g3,c4,f4]@2 [b2,g3,d4,f4]@2, [g3,b3,d4,f4] ~",
  AO: "[f2,f3]@6 ~@2 [f2,c4]@3 ~@3 f2@2, f4@3 eb4, [a3,c4]@7 a3@4 ~@2 c4@3, ~@6 f3@5 f3@5, ~@3 f2 ~@4", // F F5 Am
  AP: "[f3,bb3,d4,f4]@12 [f3,bb3,d4,f4]@3 ~, bb2 ~@3", AQ: "[d3,gb3,a3,d4]@11 ~ [d3,gb3,a3,d4]@4",
  AR: "[g3,bb3,d4,g4]@12 [g3,bb3,d4]@3 ~", AS: "[g3,bb3,d4]@3 [g3,d4] [f3,c4]@2 [f3,bb3,d4]@2, f4@11 ~@5",
  AT: "[gb3,bb3,db4,gb4]@3 [gb3,bb3,db4,gb4]", AU: "[f3,ab3,bb3,d4]@8 [f3,ab3,bb3,d4]@4 [f3,ab3,bb3,d4]@3 ~",
  AV: "[[f3,bb3]@9 ~@3 f4 ~@4 bb4@12 f4@3, d4@11 c4@2 f4@6 ~@13, ~@9 f3@5 ~ c5@4 ~@13, ~@10 bb3@4 bb4@2 f5@3 ~@13]/2", // Bb5
  AW: "~@3 gb4@3 ~@4 d5@2 c3 d4 [d4,gb4,a4]@2, ~ c4@5 ~ d5@2 gb5@4 ~@3, ~@2 d4@4 c5@7 ~@3, ~@8 a5@5 ~@3", // D
  AX: "[[c4,e4,g4]@5 ~@3 e4 ~@2 g4 ~@2 d5 ~@3 g4@2 ~@2 d4 ~@3 a3@2 ~@3 a3, ~@6 g3@2 ~ g3@3 ~ c5@2 g5@5 ~@5 d4@3 ~@2 d4@2, ~@7 [c4,d4]@2 ~ c4@2 g4@5 d5@3 ~ a3@3 gb4@4 ~ gb4@3, ~@16 gb5@4 ~@3 g4@5 a4@3 ~]/2", // C Csus2
  AY: "[a3,d4,g4]@4 b2@2 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4, ~@6 g3@4 ~@2 a3@3 ~, ~@7 b3@4 ~@5, ~@4 g4!2 ~ g4", // Dsus4
  AZ: "bb2@2 ~@2 d4@2 ~@2 g4 ~ bb4 d5 d5@2 bb4@2, ~@2 g3@4 g3@3 g4@3 ~@4, ~@3 bb3@3 ~ [bb3,d4]@3 ~@6", // Bb
  BA: "eb5@2 bb4@2 ~@3 bb4 ~@7 g4, [eb2,eb3]@8 g5@3 g4@4 ~, ~@5 f4@7 [eb3,f5]@4, ~@3 g4@2 bb4 ~ bb4, ~@9 eb5@3 ~ eb5@3", // Eb Ebsus2
  BB: "[eb5,g5] f5 eb5@2 ~@3 eb4 ~@3 f5 ~@3 g4, [bb3,eb4]@2 f3@2 ~ eb5 g5@2, ~@5 g3@3 ~ bb4@3 ~ eb5@3, ~@3 bb3 g4@2 ~ bb4", // Eb Eb5
  BC: "[c4,f4,a4,c5]@4 ~@3 g4 [a3,a4]@2 ~@2 c5@4, ~@2 f3 f4 ~ f4@3, ~@5 c4@3 ~@3 a4@5", // F A
  BD: "[d4,f4,bb4,d5]@4 [f3,bb3,c4,d4,f4]@8 [f3,bb3] d4 ~ [d4,f4], ~@13 f4@2 ~, ~@7 f3", // Bb Bb5 Dm
  BE: "[d3,gb3,a3,d4]@10 ~ d4 ~@3 a3, ~@5 a3 a4@2, ~@13 gb4@3, ~@7 d4", // D
  BF: "g3@10 g3 bb3 g4 ~@2 g3, [bb3,d4,f4]@12 ~ d4@3, ~@7 bb3", // Bb
  BG: "f3@10 ~ bb3 ~@3 f3, [bb3,d4,f4]@3 f4, ~@10 f3@3 d4@3, ~@7 bb3", // Bb
  BH: "[g3,bb3,eb4]@8 bb3 ~@2 eb4 [f3,bb3,d4,f4]@2 ~ bb3, ~@9 g3@3 ~@2 g3@2, ~@5 bb3 ~@2", // Eb Bb
  BI: "f3@5 ~@2 f4, [bb3,d4]@3 [bb3,c4], ~@5 f3@3, ~@13 d4@3", // Bb Bbsus2
  BJ: "[a3,c4,d4,gb4]@10 ~ d4 ~@3 a3, ~@5 a3 a4@2, ~@13 gb4@3, ~@7 d4", BK: "[g3,bb3,d4,g4]@6 [g3,bb3,d4] [bb3,d4,g4]",
  BL: "g3@9 f3 ~@5 g3, [bb3,d4,f4]@11 bb3@2 d4@3, ~@5 g3@2 bb3, ~@3 g4", // Bb
  BM: "[f3,bb3]@9 ~@2 c4 ~@3 f3, [d4,f4]@3 d4, ~@9 f3@4 ~ bb3@2, ~@10 bb3@2 ~ c4@3", // Bb5 Dm
  BN: "[g3,bb3,eb4,f4]@8 [g3,bb3,eb4,f4]@4 [a3,c4,f4]@3 ~", // Eb F
  BO: "~@2 f4@2 ~@5 d5@2 f4 ~ f4@2 d5, [f3,bb3,d4]@3 ~, d5@2 ~ c5@3 ~@2, ~ bb4@3 ~ bb4@5 ~@6, ~@7 d5 f5@4 ~@4", // Bb
  BP: "~@6 d5@2 ~@3 a4@2 ~@2 gb5, gb5@7 ~ a5@6 ~@2, ~ d5@4 ~@4 gb5@5 ~@2, ~@2 a4@3 ~@5 d5@4 d5@2, ~@3 gb4@5 ~@5 a4@3",
  BQ: "~@11 eb5 ~@3 d5, g5@3 ~ eb4 bb4 g5@2, ~ eb5@5 ~ bb3@2 g4@3 ~ f5@3, ~ bb4@2 g3@2 ~@2 eb5, ~@2 eb3@3 ~@3",
  BR: "~@2 g4@2 ~@3 eb5 ~@4 c5 d5 eb5 f5, eb5@4 ~@2 c5@2 f5@2 a4@3 ~@3, ~ c5@3 c3@4 ~ g4@2 bb4@2 ~@3",
  BS: "~@2 f4@2 ~@2 c5 d5 ~@2 bb4@2 ~@2 d5 f5, d5@4 ~@2 f5@2 ~ f4@3 ~@4, ~ bb4@3 ~@4 bb4@2 ~@3 bb4@2 ~",
  BT: "~@2 a4@2 ~@2 d5@2 ~@3 a4@2 ~@2 gb5, gb5@2 ~@2 a5@3 ~, ~ d5@3 ~ a4@3 ~ gb5@5 ~@2, ~@5 d5@2 d5",
  BU: "~@2 bb4@2 ~@7 eb5 ~ f5 eb5 d5, g5 eb3 eb4 ~, ~ eb5@4 f3@5 ~@6, ~@3 g3@2 bb4 g5@2, ~@7 bb3@2 g4@3 ~@4",
  BV: "~@2 g4@2 [c3,c4]@2 ~ eb5 f5 ~ g4 a4 ~ c5 d5 eb5, eb5 ~@2 bb4, ~ c5@3 ~@2 c5@2 ~ f4@3 ~@4", // C
  BW: "~@2 f4@2 ~@2 bb4@2 ~@3 f4@2 f4 bb4 d5, d5@5 f4@3 f5@6 ~@2, ~@9 d5@5 ~@2, ~@5 bb4@2 ~",
  BX: "~@2 a4@3 ~@2 gb5 ~@3 a4@2 ~@2 gb5, gb5@6 ~@2 a5@5 a4@3, ~ d5@5 d5@2 ~ gb5@5 ~@2, ~@5 d5@2 d5",
  BY: "~@7 bb3 ~@3 eb5 ~@2 eb5 d5, g5@4 eb3@4 ~@2 bb4@2 g5@3 ~, ~ eb5@4 f3@4 g4@3 ~ f5@2 ~, ~ bb4@2 g3 eb4@2 ~@2",
  BZ: "~@2 g4@2 ~@4 f5 f4 g4 a4 ~@3 eb5, eb5@4 ~ g4@2 eb5@2 ~@4 c5@2 ~, ~ c5@3 c3@2 bb4@2 ~@4 bb4@4, ~@7 d5",
  CA: "~@2 f4@2 ~@2 c5 d5 bb4@2 bb4@2 ~@3 f5, d5@2 ~ f5 ~@3 d5, ~ bb4@3 ~@9 bb4@3",
  CB: "~@2 a4@2 ~@3 gb5 ~@3 a4@2 a4 d5 gb5, gb5@4 ~@2 d5@2 a5@5 ~@3, ~ d5@3 ~ a4@3 ~ gb5@4 ~@3, ~@10 d5@3 ~@3",
  CC: "~@2 bb4@2 ~@3 bb3 ~ g4@2 eb5 ~@2 eb5 d5, g5@4 ~ f3@3 ~@5 f5@2 ~, ~ eb5@3 eb3@4 ~@8, ~@6 g3@2 eb4@4 g5@3 ~",
  CD: "~@2 g4@2 ~@8 bb4 ~@2 c5, eb5@4 ~ g4@4 f4@4 c4@3, ~ c5@3 c3@2 c5@4 g4@3 ~ f4@2, ~@7 eb5@3 ~ a4@2 ~@3, ~@4 f5 ~@3",
  CE: "[bb2,f3,bb3,d4,bb4]", // Bb
})).s("gm_piano").gain(0.29)

// chords · piano · "A.Piano" · soft notes
const piano_soft = note(`<
  A@2 B C D E F G H I H J K L M ~@21 N O P Q R S T ~@3 U ~@8 V ~@7 W ~@18 X Y ~@8 Z AA AB AC ~ AD ~ AE AF AG ~@2 AH ~ AI
  ~@3
>`.pickRestart({
  A: "[[a3,d4,gb4]@15 ~ d4 e4@15, ~@15 g3@17, ~@8 c4@7 ~]/2", B: "[gb3,a3,d4]@15 g3",
  C: "[g3,d4]@9 ~@2 c5 ~@2 d5 ~, c4, ~@9 g3@7, ~@5 d4@3", // G5
  D: "d4 ~ a3 [gb3,d4,gb4,g4], [gb4,gb5]@3 ~, c4@5 ~@3, a3 ~, ~ d4@2 ~", E: "d4 ~@10 g4@2 d5 ~ d5, g4@11 ~@5, ~ e4@15",
  F: "d4 ~@2 [gb3,gb4], c4, gb4@3 ~, a3!2, ~ d5@3", G: "d4 ~@12 e4@3, c3, [g3,c4]@11 c4@5, ~ e4@12 ~@3",
  H: "[g3,a3,d4,gb4]", I: "[g3,c4,d4]", J: "[g3,d4]@3 ~, b3", K: "[g3,bb3,d4,g4]", L: "eb3, bb3@3 ~",
  M: "[eb3,g3,bb3]@3 [eb3,bb3], eb4@15 ~", N: "~@8 a3@3 ~@5", O: "[a3,d4]@3 ~ [a3,d4]@3 ~@9",
  P: "~@4 [gb3,a3]@3 ~ gb3@3 ~ [gb3,a3]@3 ~", Q: "[g3,d4] ~@3", R: "bb3@8 ~@4 [f3,bb3,d4]@3 ~", S: "[g3,bb3,eb4] ~",
  T: "~ [g3,eb4] [bb3,g4] [g3,eb4] [bb3,g4] [g3,eb4] ~@2", U: "~@2 eb4 ~", V: "~@3 bb3 a3@2 ~@2",
  W: "~@10 [bb3,f4]@2 ~ bb3@3", X: "~@11 g3@5", Y: "~@10 bb3@2 ~ bb3@3", Z: "~@10 bb4@2 ~@2 a4 ~",
  AA: "~@5 a4@2 gb5 ~@8", AB: "~@5 f3@5 ~@6", AC: "~@5 g4@4 ~@7", AD: "~@7 gb5 ~@5 a4@3", AE: "~@5 g4@3 ~@8",
  AF: "~ bb4@4 ~@2 d5 ~@8", AG: "~@5 a4@3 ~@8", AH: "~@9 f4 ~@6", AI: "~@5 bb4 ~@2",
})).s("gm_piano").gain(0.13)

// bass · synth bass 2 · "Synth.Bas"
const bass = note(`<
  ~@16 A B 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 AN AO AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BD BE BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE
  CF CG CH CI CF CJ CK ~
>`.pickRestart({
  A: "bb1@7 ~ bb1@7 ~", B: "bb1@5 ~ bb1 c3 bb2@5 f2 bb1@2", C: "a2@7 a1@7 a2@2", D: "bb2@4 bb2@4 bb1@3 bb1 bb2@4",
  E: "ab1@4 ab1@4 ab1@5 ab1@3", F: "g1@7 ~ a1@4 b1@4", G: "c2@3 c2 c2@2 d2@2", H: "f1@5 ~ f1 ~ f1@4 c2@4",
  I: "bb1@4 ~@2 bb1 ~ bb1@7 a1", J: "gb1@4 ~@2 gb1 ~ gb1@6 a1@2", K: "g1@4 ~@2 g2 ~ g1@2 g2 bb1 d2@2 g2@2",
  L: "f2@2 ~ f2 f1@2 f1@2", M: "gb1@5 ~ gb1@2 gb1@2 bb2 ~ gb2@4", N: "f1@4 ~@2 f1@2 f1@5 ~@3",
  O: "bb1@6 ~@2 bb2@3 ~ bb2@2 bb1@2", P: "eb2@4 ~@2 eb2 ~ eb2@4 d2@4", Q: "c2@4 ~@2 c2 ~ c2@4 ~@2 bb1 g1",
  R: "f1@4 ~@2 f1!2 f1@2 f1@3 ~ a1@2", S: "bb1@12 ~ f1@3", T: "bb1", U: "~@7 d3 c3@7 ~", V: "c2", W: "b1@2 g3 d3",
  X: "bb1@7 ~", Y: "eb2@6 eb3 bb2", Z: "eb2@12 eb2 f2 g2 eb2", AA: "f2@6 f2 ~ f2@3 ~@2 g2 ~ f1",
  AB: "bb1 ~ bb1@3 ~ bb1@2 bb2@2 ~ bb2!2 g2 f2 g2", AC: "bb2@2 bb2 f2 eb3@2 bb1@2", AD: "a1@2 a1@2 a1@2 a2 a1",
  AE: "bb1@5 ~ bb1@2 bb1@3 d2 f2 d2 c2 bb1", AF: "ab1@7 ~ ab1@2 ~ ab1 eb2@2 ab1@2", AG: "g1@4 ~@2 g1@2 a1@4 b1@2 b1 d2",
  AH: "c2@4 c2@4 c2@3 c2 a1@2 c2@2", AI: "f2@3 ~ f2!2 f1 ~ f1@4 a1@4", AJ: "bb1@4 bb2@2 bb1 ~ bb1@4 bb2@4",
  AK: "gb1@2 gb1@2 ~@2 gb1@2 gb1@4 a2 ~ a2@2", AL: "g1@3 g2 g1@2 g1@2 g1@3 ~ g2@2 d2@2", AM: "f2@2 ~ f2 f2@4",
  AN: "gb2@4 ~@2 gb2 ~ gb2@2 ~ ab2 gb2@2 db2@2", AO: "f1@4 ~@2 f1@2 f1@4 bb1 g1 f1@2",
  AP: "bb1@4 ~@2 bb1@2 bb1@2 d2@3 ~ f2@2", AQ: "eb2@4 eb2@2 eb2 bb2 eb2@4 d2 f2 d2 bb1",
  AR: "c2@4 c3@4 c2@2 c2@2 ~ c2 eb2 ~", AS: "f2@2 f1!2 f1@2 a1@2", AT: "bb1@4 ~@2 bb1 ~ bb1@2 ~ bb1 bb2 c3 bb2@2",
  AU: "bb2@3 c3@3 d3@3 c3@3 bb2@2 bb1@2", AV: "c2@2 c3 c2 c2@2 c3@2", AW: "c2@4 c3@3 ~ g2@4 [c2,c3]@4",
  AX: "c2@6 c2@2 c2@4 e3@3 ~", AY: "b1@2 ~ b1 b1@4", AZ: "bb1@2 bb1!2", BA: "eb2@4 eb3@4 eb2@3 ~ eb3@2 bb2@2",
  BB: "eb2@7 ~ eb2@5 f2 g2 eb2", BC: "~ f3@2 f1, f2@3 ~", BD: "bb1@4 ~@2 bb1@2 bb1@3 ~ bb1@4",
  BE: "gb1@4 ~@2 gb1@2 gb1@2 ~ gb1 a1@4", BF: "g1@4 g2@2 g1@2 g1@3 bb1@3 d2@2", BG: "[f1,f2]@2 f2 f1 f1@2 bb1!2",
  BH: "gb1@5 ~@2 gb1 bb2 ~ ab2 ~ gb2 ~ bb1@2", BI: "f2@5 ~ f1@2 f1@4 c3@2 f1@2",
  BJ: "~@4 bb1@3 eb3 [bb1,d3]@4 [bb1,g3]@4, bb1 ~@3, ~ d3@2 ~@5", BK: "eb2@5 ~ eb2@2 eb2@3 f2 d2 bb1 f1 d2",
  BL: "c2@5 ~ c2@2 c2@4 ~@2 f2@2", BM: "f1@2 ~ f1 f1@2 a1@2", BN: "g1@4 g2@2 g1@2 g1@2 g2 ~ g2@4",
  BO: "[f1,f2]@4 f2@2 f1@2 f1@4 f1@2 ~ g2", BP: "gb1@5 ~ gb1@2 gb1@2 bb2 ~ gb2 ab2 gb2@2",
  BQ: "f2@5 ~ f2@2 f1@4 bb1@2 bb1@2", BR: "[bb1,ab3]@4 ab3@2 c3 ~ d3 ~ d2@4 bb1@2, ~@2 bb1@3 ~@3",
  BS: "eb2@5 ~ eb2 bb2 eb3 bb2 eb2 ~ f3@2 c2@2", BT: "c2@5 ~ c2@2 c2@4 c2@4", BU: "f1@4 f1!2 c2@2",
  BV: "bb1@4 f3@2 ~ f2 [bb1,d3]@3 bb1 f3 ~ bb1@2", BW: "bb1@7 ~ bb1@3 ~ bb1@4", BX: "eb2@3 ~ eb2@3 ~ eb2@3 ~ d2@4",
  BY: "c2@2 c2@2 c3@3 ~ f2@2 ~@2 f2@3 ~", BZ: "bb1@4 ~@2 bb1@2 bb1@3 bb1 f3@2 d3@2",
  CA: "bb1@4 ~@2 bb1 ~ bb1@3 ~ bb1 ~ bb1@2", CB: "eb2@5 f2@3 eb2@4 d2@4", CC: "c2@3 ~ c2 d2 eb2@2 f2@3 ~ c2@2 a1@2",
  CD: "bb1@4 f3 ~ bb1@2 bb1@3 bb1 bb3@2 bb1@2", CE: "bb1@8 bb1@2 bb2 ~ bb2@2 bb1@2", CF: "eb2@4 eb2 f2@3 eb2@4 d2@4",
  CG: "c2@3 ~ c2 d2 eb2 g2 f2@3 ~ a1 bb1 c2 g1", CH: "bb1@4 f3 ~ bb1@2 bb1@4 c3@4", CI: "bb1!2, ~@2 a2 ~",
  CJ: "c2@3 ~ c2 d2 eb2 g2 f2@3 ~ a1 ~ c2@2", CK: "bb1 ~",
})).s("gm_synth_bass_2").gain(0.31)

// bass · synth bass 2 · "Synth.Bas" · soft notes
const bass_soft = note(`<
  A@10 B@2 C@2 D E ~@12 F ~ G H I J ~@3 K ~@5 L M ~@9 N ~ H ~@3 O ~@4 P ~@3 Q ~@6 R S T U V ~@3 W X F ~@2 Y ~@3 Z ~@3 AA
  ~@3 AB ~@3 AC ~@4
>`.pickRestart({
  A: "[c3@4 ~@2 c3 ~ c3@3 ~ c3@3 ~ c3@4 ~@2 c3 ~ c3@3 ~ c3@3 ~, ~@15 c2@2 ~@15]/2",
  B: "[c3@4 ~@2 c3 ~ c3@3 ~ c3@3 ~ b2@4 ~@2 b2 ~ b2@3 ~ b2@3 ~, ~@15 c2@2 ~@15]/2",
  C: "[bb2@4 ~@2 bb2 ~ bb2@3 ~ bb2@3 ~ eb2@4 ~@2 eb2 ~ eb2@3 ~ eb2@3 ~, ~@15 bb1@2 ~@15]/2",
  D: "eb2@4 ~@2 eb2 ~ eb2@3 ~ eb2@3 ~", E: "f1", F: "~@11 ab2 ~@4", G: "~@8 bb1 ~@2 bb1 ~@4", H: "~@10 bb2 ~@5",
  I: "~@2 g3 ~@7 g3 ~@2 g1 ~@2", J: "~@5 f2 ~@10", K: "~@6 g2 ~@8 c3", L: "~@11 g2 bb2 ~ f1 ~", M: "~@2 bb2 ~@5",
  N: "~@11 g1 ~@4", O: "~@12 c2 ~@3", P: "d3 ~@3", Q: "~@11 bb2 ~@4", R: "~@9 gb1 ~ gb1 ~@4", S: "~@7 bb2",
  T: "~@6 d3 ~@9", U: "eb3 ~@3", V: "~@12 bb2 ~@3", W: "~@11 d2 ~@4", X: "~@14 bb2 ~", Y: "~@11 eb3 ~@4",
  Z: "a3@2 ~@2 a3@2 ~@2 gb3@2 ~ bb1 gb3@4", AA: "~@13 c2 ~@2", AB: "~@11 c3 ~@4", AC: "~@7 bb2 ~@8",
})).s("gm_synth_bass_2").gain(0.18)

// chords · synth strings 2 · "Syn.Strin"
const synth_strings_2 = note(`<
  A@8 B C B C D@3 E F@2 G@2 H@2 I@2 J K L@2 M N@2 O P Q R@7 S@2 T F@2 G@2 H@2 I@2 J U L@2 M N@2 O P Q R@7 S@2 T J K L@2
  M N@2 O P Q J K L@2 M N@2 O P Q J K V@2 W K V@2 J K V@2 J K X@4
>`.pickRestart({
  A: "[gb4 g4 gb4 g4 gb4 g4 gb4 g4, d4]/8", B: "gb4", C: "g4", D: "[~ eb4@2, g4]/3", E: "a4 ~ c4 a3, f4, ~ eb4",
  F: "[[f3,d4] [g3,eb4], bb3]/2", G: "[[a3,c4] [bb3,d4], f4]/2", H: "[[ab3,c4] [g3,b3,d4], f4]/2",
  I: "[[g3,c4,eb4]@6 [bb3,d4]@2 ~@3 eb4@5, ~@3 f4@5, ~ [a3,c4]]/2", J: "[bb3,d4,f4]", K: "[bb3,d4,gb4]",
  L: "[[bb3,d4] [bb3,d4,f4], g4]/2", M: "[bb3,db4,gb4]", N: "[bb3,d4,f4]/2", O: "[bb3,eb4,g4]@3 [bb3,d4,f4]",
  P: "[bb3,eb4,g4]", Q: "[g3,bb3,c4,eb4,f4]", R: "[~ bb4 gb4 g4 gb4 g4@2, [bb3,d4,f4]@2 d4@5]/7", S: "[eb4,g4]/2",
  T: "f4 eb4, a4", U: "[a3,d4,gb4]", V: "[[bb3,eb4,g4]@3 [a3,c4,f4]]/2", W: "[bb3,d4,f4]@15 ~",
  X: "[[bb3,eb4,g4]@24 [a3,c4]@8 [bb3,d4]@17 ~@15, ~@24 f4@25 ~@15]/4", // Eb Am Bb
})).s("gm_synth_strings_2").gain(0.16)

// chords · distortion guitar · "Dist.Gtr."
const distortion_guitar = note(`<
  ~@44 A B C D E F G H I J K L M N O P Q R I ~@8 S I T U V W I A P Q X I Y U Z W I A AA Q AB A AC B AD A AC B AE A AF B
  AG A AH B AI AJ@2
>`.pickRestart({
  A: "[bb2,f3,bb3]@15 ~", B: "[bb2,eb3,bb3]@15 ~", C: "[a2,f3,a3]@15 ~", D: "[bb2,f3,bb3]@12 [bb2,f3,bb3]@3 [a2,e3,a3]",
  E: "[ab2,eb3,ab3]@3 [ab2,eb3,ab3]", F: "[g3,d4,g4]@8 [a3,c4]@3 bb3 [b3,d4,g4]@4, d3, ~@12 db4 ~@3",
  G: "[c3,g3,c4,eb4,g4]@11 ~ [bb2,eb3,g3]@4", H: "f3 [f2,c3,f3]!3, [a3,c4,f4]@15 ~", I: "[bb2,f3,bb3]",
  J: "[gb3,a3]@3 [gb3,a3], d3@15 ~", K: "[d3,g3,bb3]", L: "[d3,f3,bb3]@11 [bb2,f3,bb3] bb3 [bb2,f3,bb3] [bb2,f3,bb3]@2",
  M: "[db3,gb3,db4]", N: "[d3,f3,bb3]", O: "[d3,f3,bb3]@15 ~", P: "[eb3,g3,bb3]@3 [bb2,f3,bb3]", Q: "[c3,g3,c4]",
  R: "[c3,f3,bb3]@7 ~ [c3,f3,bb3]@4 [c3,f3,c4]@4", S: "~@3 [f2,c3,f3]", T: "[d3,gb3]@3 [d3,a3], a2@15 ~",
  U: "[g2,d3,g3]", V: "[bb2,f3,bb3]@11 [bb2,f3,bb3]@3 [bb2,gb3,bb3]@2", W: "[gb2,db3,gb3]",
  X: "[f3,bb3]@2 [c3,f3,bb3] [f2,c3,f3], c3@3 ~@5", Y: "[d3,a3]@3 [d3,a3], a2@15 ~",
  Z: "[bb2,f3,bb3]@11 ~ [bb2,gb3,bb3]@4", AA: "[eb3,g3,bb3]@3 [bb2,d3,bb3]", AB: "[f2,c3,f3]@2 [f2,c3,f3]!2",
  AC: "[d3,gb3,bb3]@7 ~ [d3,gb3,a3]@7 ~", AD: "[c3,g3,c4]@7 ~ [c3,f3,c4]@8",
  AE: "[c3,g3,c4]@8 [c3,f3,bb3]@4 [c3,f3,c4]@3 ~", AF: "[d3,gb3,bb3] [d3,gb3,a3]", AG: "[c3,g3,c4]@8 [c3,f3,c4]@7 ~",
  AH: "[d3,gb3,bb3]@3 [d3,gb3,a3]", AI: "[c3,g3,c4]@2 [c3,f3,bb3] [c3,f3,c4]", AJ: "[[bb2,f3,bb3]@9 ~@7]/2",
})).s("gm_distortion_guitar").gain(0.3).pan(0.7)

// other · overdriven guitar · "Overdr.Gt"
const overdriven_guitar = note(`<
  ~@72 A B C D E F@2 G C H I J K@2 L F@2 M A N A O A P A O A Q R@2 S I A T A U@3
>`.pickRestart({
  A: "bb4", B: "d4@3 a5", C: "g5", D: "bb5 g5@2 bb5", E: "gb5", F: "f5 d5 bb4 f4", G: "g5 bb5@2 a5", H: "c6@3 f4",
  I: "f5", J: "a5", K: "[d6@7 bb5]/2", L: "db6", M: "bb5@3 ~", N: "f4@3 f4", O: "a4", P: "bb5 a5", Q: "bb5@2 a5 f5",
  R: "[bb4@13 d5@2 c5]/2", S: "c5", T: "c5@7 bb4", U: "[bb5@8 bb4@25 ~@15]/3",
})).s("gm_overdriven_guitar").gain(0.22)

// other · lead 8 bass lead · "#Dctr.Sol"
const lead_8_bass_lead = note("<~@64 A@3 B@6 ~@37>".pickRestart({
  A: "[~@10 d5@4 e5@7 c5@9 g4@16 ~@2]/3",
  B: "[~@8 g4 b4 g5@3 a5 bb5@6 g5@8 a5 bb5 eb5@12 f5 eb5@3 bb4@7 bb4 eb5 f5 eb5 f5 bb5 g5 f5 g5 a5@16 g5@12 ~@6]/6",
})).s("gm_lead_8_bass_lead").gain(0.3)

// chords · string ensemble 2 · "Sl.Violin"
const string_ensemble_2 = note("<~ A ~ B@2 C@4 ~@2 D@4 ~@41 E ~@5 F@2 G ~@45>".pickRestart({
  A: "~@7 g4, ~@5 g5@3", B: "[~@15 gb5@13 [gb4,a4,d5]@4, ~@13 g5@4 ~@15, ~@7 g4@7 ~@2]/2",
  C: "[c5@14 ~@2 gb5@15 ~ g4@12 [d4,gb4,g4]@20, g4@15 d5@18 ~@31, ~@14 g5@19 ~@31, ~@31 c5@16 ~@17]/4", // Gmaj7
  D: "[~@3 d6 eb6@2 [bb4,eb5]@2, ~@4 b5@12 bb5@33 ~@15, ~@7 g5@56 ~, ~@11 d5@21 ~@32]/4", E: "[db4,gb4,bb6]",
// … 114 more lines

More by Elton John