Strudelify

Voices

Vangelis

KeyC♯ minorTempo115 bpm
0:00/0:00
// Voices — Vangelis
// 115 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 147 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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.

// other · orchestral harp
const orchestral_harp = note(`<
  ~@9 A B C D E F ~@28 G H ~@31 I J K L M N O P Q J K L M N O P Q ~@15 R S T U V W X Y Z S T U V W X Y Z ~@22
>`.pickRestart({
  A: "~@16 b6 g#6 ~ f#6 e6 c#6 ~ b5 c#6 e6 ~ f#6 g#6 b6 ~ g#6",
  B: "f#6 e6 ~ c#6 b5 c#6 ~ e6 f#6 g#6 ~ b6 g#6 f#6 ~@3 b6 ~ g#6 [b5,f#6] [g#5,e6] ~ [f#5,c#6] [e5,b5] [f#5,c#6] ~ [g#5,e6] [b5,f#6] [c#6,g#6] ~ e6", // B5 C#m F#5 E5 F#5 C#m B5 C#5
  C: "f#6 g#6 ~@2 b6 g#6 ~ f#6 e6 c#6 ~ b5 c#6 e6 ~ f#6 g#6 b6 ~ g#6 f#6 e6 ~ c#6 b5 c#6 ~ e6 f#6 g#6 ~ b6",
  D: "g#6 f#6 ~@3 b6 ~ g#6 f#6 e6 ~ c#6 b5 c#6 ~ e6 f#6 g#6 ~ b6 g#6 f#6 ~ e6 b5 g#5 ~ f#5 e5 ~@3",
  E: "b6 g#6 ~ f#6 e6 ~@3 e6 ~@3 e6 ~@3 b5 ~@3 b5 ~@3 e5 ~@3 e5 ~@3", F: "b4 ~@3 b4 ~@3 e4 ~@3 e4 ~@3 b3 ~@3 b3 ~@11",
  G: "~@16 b4@3 ~@5 e5@4 ~@4",
  H: "b5@3 ~@5 e6@3 ~@5 [b5,b6] [a#5,a#6] ~ [b5,b6] [e6,e7] [d#6,d#7] ~ [e6,e7] [g6,g7] [f#6,f#7] ~ [g6,g7] [g#6,g#7]!2 ~ [g#6,g#7]", // B A# B E D# E G F# …
  I: "~@4 a#6 f6!2 d6!2 a#5!2 f5!2 d5!2 a#4!2 d5!2 f5!2 a#5!2 d6!2 f6!2 a#6!3 ~@2",
  J: "a#4 d4 a#4!2 f5 d5 f5!2 a#5 f5 a#5!2 d6 a#5 d6!2 f6 d6 f6!2 a#6 f6 a#6!2 f6 d6 f6 d6 a#5 f5 a#5 f5",
  K: "f5 c5 f5!2 a5 f5 a5!2 c6 d#6 c6 a5 f5 a5 f5 c5!2 a4 c5!2 f5 c5 f5!2 a5 f5 a5 f5 c5 f5 c5 a4",
  L: "c7 a6!2 f6!2 c6!2 a5!2 f5!2 c5!2 a4!2 f4 f#4 a4!2 c5!2 d#5!2 f#5!2 a5!2 d#6!2 c6!2 g4",
  M: "g4 a#4!2 d5!2 g5!2 a#5!2 d6!2 g6!2 a#6!2 g6!2 d6!2 a#5!2 g5!2 d5!2 a#4!2 g4!2 a#4!2 g4",
  N: "d#4 a#4!2 d#5!2 g5!2 a#5!2 d#6!2 a#5!2 g5!2 d#4!2 a#4!2 d#5!2 g5!2 a#5!2 d#6!2 a#5!2 g5!2 ~",
  O: "f6!2 d6 f6 a#6!2 f6 a#6 f6!2 d6 f6 d6!2 a#5 d6 f6!2 c6 f6 a6!2 f6 a6 f6!2 c6 f6 c6!2 a5 c6",
  P: "a#4 d5!2 f5!2 a#5!2 d6!2 f6!2 a#6!2 f6!2 d6!2 a#5!2 f5!2 d5!2 a#4!2 d5!2 f5!2 a#5!2 d6",
  Q: "d6 f6!2 a#6!2 f6!2 d6!2 a#5!2 f5!2 d5!2 a#4!2 d5!2 f5!2 a#5!2 d6!2 f6!2 a#6!2 ~@3",
  R: "~@4 c#7 g#6!2 f6!2 c#6!2 g#5!2 f5!2 c#5!2 f5!2 g#5!2 c#6!2 f6!2 g#6!2 c#7!3 ~@2",
  S: "c#5 f4 c#5!2 g#5 f5 g#5!2 c#6 g#5 c#6!2 f6 c#6 f6!2 g#6 f6 g#6!2 c#7 g#6 c#7!2 g#6 f6 g#6 f6 c#6 g#5 c#6 g#5",
  T: "g#5 d#5 g#5!2 c6 g#5 c6!2 d#6 f#6 d#6 c6 g#5 c6 g#5 d#5!2 c5 d#5!2 g#5 d#5 g#5!2 c6 g#5 c6 g#5 d#5 g#5 d#5 c5",
  U: "d#7 c7!2 g#6!2 d#6!2 c6!2 g#5!2 d#5!2 c5!2 g#4 a4 c5!2 d#5!2 f#5!2 a5!2 c6!2 f#6!2 d#6!2 a#4",
  V: "a#4 c#5!2 f5!2 a#5!2 c#6!2 f6!2 a#6!2 c#7!2 a#6!2 f6!2 c#6!2 a#5!2 f5!2 c#5!2 a#4!2 c#5!2 a#4",
  W: "f#4 c#5!2 f#5!2 a#5!2 c#6!2 f#6!2 c#6!2 a#5!2 f#4!2 c#5!2 f#5!2 a#5!2 c#6!2 f#6!2 c#6!2 a#5!2 ~",
  X: "g#6!2 f6 g#6 c#7!2 g#6 c#7 g#6!2 f6 g#6 f6!2 c#6 f6 g#6!2 d#6 g#6 c7!2 g#6 c7 g#6!2 d#6 g#6 d#6!2 c6 d#6",
  Y: "c#5 f5!2 g#5!2 c#6!2 f6!2 g#6!2 c#7!2 g#6!2 f6!2 c#6!2 g#5!2 f5!2 c#5!2 f5!2 g#5!2 c#6!2 f6",
  Z: "f6 g#6!2 c#7!2 g#6!2 f6!2 c#6!2 g#5!2 f5!2 c#5!2 f5!2 g#5!2 c#6!2 f6!2 g#6!2 c#7!2 ~@3",
})).s("gm_orchestral_harp").gain(0.21).pan(0.6)

// bass · lead 2 sawtooth
const bass = note(`<
  ~ A@6 B ~ B ~ B ~ B ~ C ~ B ~ C ~ B ~ C ~ B D B ~ B ~ C ~ B ~ C ~ B ~ C ~ B D B ~ E ~ F ~ E ~ F ~ E ~ F ~ E G E ~ H ~
  I ~ H ~ I ~ H ~ I ~ H J H ~ H K L M N O H ~ H K L M N O H ~ P ~ Q ~ P ~ Q ~ P ~ Q ~ P R P ~ P S T U V W P ~ P S T U V
  W P ~ X Y Z AA X Y Z AA X Y Z AA X Y Z AA AB@2 AC@4
>`.pickRestart({
  A: "e1/6", B: "e1", C: "b0", D: "~ b0", E: "g1", F: "d1", G: "~ d1", H: "a#1", I: "f1", J: "~ f1", K: "f2@15 ~",
  L: "f2 f#2", M: "g2", N: "d#2", O: "f2", P: "c#2", Q: "g#1", R: "~ g#1", S: "g#2@15 ~", T: "g#2 a2", U: "a#2",
  V: "f#2", W: "g#2", X: "c#2@27 ~ g#2@4", Y: "c#2@31 ~", Z: "g#2@27 ~ d#2@4", AA: "g#2@31 ~",
  AB: "[~ c#2@62 ~, c#1@31 ~]/2", AC: "[[c#1,c#2]@127 ~]/4",
})).s("gm_lead_2_sawtooth").gain(0.45)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  A ~@2 B C@3 D@4 E@4 ~@14 F@2 G@2 H@6 I@2 J@4 K@2 L@2 M@2 N@2 O P Q@2 R S T@2 U V W X V U Y@2 U V W X Z@2 AA@3 AB AC AD
  AE AF AG@2 AH AB AC AD AE AF AG@2 ~ AI X AJ AI AK AL@2 AK AI X AJ AM@2 AN@3 AO AP AQ AR AS AT@2 AU AO AP AQ AR AS AT@2
  AV AW AX AY AV AW AX AY AV AW AX AY AV AW AX AY AZ@2 BA@2 BB@2
>`.pickRestart({
  A: "~@24 e6 ~@7", B: "~@30 e7 ~", C: "[~ e2@2, e6]/3", D: "e2/4", E: "[e3,b3,e4]/4",
  F: "[~@3 b3, e4@49 ~@15, ~ e5]/2", G: "[d#4 b3 a4@2, d#5@7 ~]/2",
  H: "[g#4@16 e4@30 ~@2 e4@4 f#4@4 g#4@4 [b3,f#4]@67 ~@17 b3@16 g#3@16 e4@16, e5@62 ~@65 e4@18 ~@47, ~@2 e3]/6", // B5
  I: "[f#4 [d#3,a4], b2]/2", J: "[g#4 e4@2 ~ [e2,e3,e4]@4, [e2,e3]@48 b2@17 ~@63, ~@24 f#4@7 ~@33, ~@7 b3@9]/4",
  K: "[~ b3@31 [b2,d4]@32, d3 ~, ~ g4@63]/2", L: "[f#4@3 a4 [f#3,c5]@4, d4, d3 ~]/2",
  M: "[~ b4@15 g4@16 [d3,b3]@31 ~, d4, ~ g3@31 ~@32]/2", N: "[d4@32 a4@15 d4@17, [d3,a3]]/2",
  O: "~ [d4,d5], [g3,b3,g4]", P: "[b2,g4,g5]", Q: "[[f#4,f#5]@3 a4 [f#3,c5]@4, d4, d3 ~]/2",
  R: "~ b4@15 g4@16, d4, ~ g3@31", S: "[d3,d4]", T: "[g3,d4,g4]/2", U: "a#4", V: "d5", W: "c5", X: "d#5",
  Y: "[c5@3 f4]/2", Z: "[d5 a#4@2 c5]/2", AA: "[~ [d4,f4] [f3,a#3,d4], a#4@65 ~@31]/3", AB: "[a3,c4,f4]",
  AC: "f4 f#4, [a3,c4]", AD: "~@3 a#5, [a#3,d4,g4]", AE: "[g3,a#3,d#4,d#6]", AF: "[a#3,d4,f4,f6] [a3,c4,f4,d#6]",
  AG: "[d6@32 f6@16 d6@8 f6@7 ~, [f3,a#3,d4]@63 ~]/2", AH: "[f3,a#3,d4]", AI: "f5", AJ: "f#5", AK: "c#5",
  AL: "[d#5@3 g#4]/2", AM: "[f5 c#5@2 d#5]/2", AN: "[~ [f4,g#4] [g#3,c#4,f4], c#5@65 ~@31]/3", AO: "[c4,d#4,g#4]",
  AP: "g#4 a4, [c4,d#4]", AQ: "~@3 c#6, [c#4,f4,a#4]", AR: "[a#3,c#4,f#4,f#6]", AS: "[c#4,f4,g#4,g#6] [c4,d#4,g#4,f#6]",
  AT: "[f6@32 g#6@16 f6@8 g#6@7 ~, [g#3,c#4,f4]@63 ~]/2", AU: "[g#3,c#4,f4]", AV: "c#4@4 ~@8 g#3@3 ~ c#4@4 ~@8 g#3@3 ~",
  AW: "c#4@4 ~@8 g#3@2 ~@2 c#4@3 ~ g#3@3 ~ c#4@3 ~ g#3@3 ~", AX: "c4@4 ~@8 g#3@3 ~ c4@4 ~@8 g#3@2 ~@2",
  AY: "c4@5 ~@7 g#3@3 ~ c4@2 ~@2 g#3@3 ~ c4@3 ~ g#3@4", AZ: "[c#3,g#3,c#4,c#6]/2",
  BA: "[c#5@32 c#6@16 c#5@15 ~, [c#3,g#3,c#4]@31 ~]/2", BB: "[[c#3,g#3,c#4], [c#5,c#6]@3 ~@29]/2",
})).s("gm_string_ensemble_1").gain(0.48).pan(0.8)

// chords · french horn
const french_horn = note(`<
  ~@61 A B C D E F G H I J K L M@2 N@2 O P Q R S T U@2 V W X Y Z AA AB@2 AC@5 AD@3 AE@5 AF AG@2 AH AI AJ AK AL AM AN@2
  AO AP AQ AR AS AT AU@2 AV AW AX AY AV AW AZ BA BB BC BD@2 BE@2 BD@2 BF@3 BG BH ~
>`.pickRestart({
  A: "~@14 d3 ~, ~@28 a#3 ~@3", B: "[d3,a#3]", C: "~@14 c4 ~, ~@28 f3 ~@3", D: "[f3,c4]",
  E: "[f3,a#3,d4]@25 ~@3 [f3,a#3,d4] ~@3", F: "[f3,a#3,d4]@31 ~", G: "[f3,c4]@24 ~@4 [f3,a3] ~@3", H: "[f3,a3]@15 ~",
  I: "[f3,a#3,d4]@23 ~@5 [f3,a#3,d4] ~@3", J: "[f3,a#3,d4]", K: "[f3,c4]@12 ~@2 c4 ~, ~@28 f3 ~@3", L: "[f3,d#4]@31 ~",
  M: "[d4@32 f4@15 ~ [c4,f4]@16, a#3@3 ~]/2", N: "[[a#3,d4]@25 ~@7]/2", O: "[f4,f5]",
  P: "[d#4,d#5]@4 [d4,d5]@2 [c4,c5]@9 ~", Q: "[d#4,d#5]@2 [d4,d5] [c4,c5]", R: "[a#3,a#4]@7 ~",
  S: "[c4,c5]@3 [a#3,a#4]", T: "[d4,d5] [c4,c5]", U: "[a#3,a#4]/2", V: "[a#3,f4]@31 ~", W: "[c4,f4]@15 ~",
  X: "[c4,f4]@15 ~ [c4,f#4]@16", Y: "[d4,g4]@31 ~", Z: "[d#4,g4]@31 ~", AA: "[d4,f4]@15 ~@2 c4@14 ~, ~@8 f4@7 ~",
  AB: "[a#3,f4]/2", // A#5
  AC: "[c#4@15 ~@17 c#4@16 ~@4 d#4@3 f4@5 d#4@20 ~@17 d#4@15 ~@3 f4@4 f#4@5 f4@20 c#4@16, ~@15 g#3@24 ~@9 c#4@4 ~@60 d#4@4 ~@44, ~@49 g#3@15 ~@16 g#3@21 ~@12 g#3@17 ~@30]/5",
  AD: "[~ f4@15 ~@4 d#4@3 f4@5 ~@4 g#4@32 g#5@32, ~@16 c#4@4 ~@8 d#4@37 ~@31, ~@17 g#3@16 ~@63]/3",
  AE: "[c#4@15 ~@17 c#4@16 c#4@4 d#4@3 f4@5 d#4@20 ~@17 d#4@15 d#4@3 f4@4 f#4@5 f4@20 c#4@16, ~@15 g#3@24 ~@9 g#3@17 ~@15 g#3@21 ~@11 g#3@17 ~@31]/5",
  AF: "~ c#4@15 ~ g#3@15, ~ [d#4,g#5]", AG: "[c#4 ~@48 g#5@15, c#6@33 ~@31, ~ c#4@62 ~]/2", AH: "[g#3,g#4,g#5]",
  AI: "[f#3,f#4,f#5]@4 [f3,f4,f5]@2 [d#3,d#4,d#5]@9 ~", AJ: "[f#3,f#4,f#5]@2 [f3,f4,f5] [d#3,d#4,d#5]",
  AK: "[c#3,c#4,c#5]@7 ~", AL: "[d#3,d#4,d#5]@3 [c#3,c#4,c#5]", AM: "[f3,f4,f5] [d#3,d#4,d#5]", AN: "[c#3,c#4,c#5]/2",
  AO: "[c#4,g#4]@31 ~", AP: "[d#4,g#4]@15 ~", AQ: "[d#4,g#4]@15 ~ [d#4,a4]@16", AR: "[f4,a#4]@31 ~",
  AS: "[f#4,a#4]@31 ~", AT: "[f4,g#4]@15 ~@2 d#4@14 ~, ~@8 g#4@7 ~", AU: "[c#4,g#4]/2",
  AV: "f5@3 ~@9 d#5@3 ~ f5@3 ~@9 d#5@2 ~@2",
  AW: "f5@4 g#5 ~ g#5 ~ g#5 ~@3 d#5@2 ~@2 f5@2 ~@2 d#5@3 ~ f5@3 ~ f#5@3 ~, ~@12 g#5 ~@3 g#5@15 ~",
  AX: "d#5@4 ~@8 g#4@2 ~@2 d#5@4 ~@8 g#4@3 ~",
  AY: "d#5@4 g#5 ~ g#5 ~ g#5 ~@3 g#4@3 ~ d#5@3 ~ c#5@3 ~ d#5@3 ~ f5@4, ~@12 g#5 ~@3 g#5@16",
  AZ: "d#5@4 ~@8 g#4@2 ~@2 d#5@4 ~@8 g#4@3 ~, g#5@15 ~@17",
  BA: "d#5@4 g#4@2 ~@2 c5@2 ~@2 [g#4,d#5]@3 ~ d#5@3 ~ c#5@3 ~ d#5@3 ~ f5@4, ~ g#5", // G#5
  BB: "f5@3 ~@9 d#5@3 ~ f5@3 ~@9 [g#4,d#5]@2 ~@2, c#5@25 ~@7", // G#5
  BC: "f5@4 ~@8 d#5@2 ~@2 f5@2 ~@2 d#5@3 ~ f5@3 ~ f#5@3 ~, c#5@29 ~@3",
  BD: "[d#5@4 ~@8 g#4@2 ~@2 d#5@4 ~@8 g#4@3 ~ d#5@4 ~@8 g#4@3 ~ d#5@3 ~@13, g#5]/2",
  BE: "[f5@3 ~@9 d#5@3 ~ f5@3 ~@9 d#5@2 ~@2 f5@4 g#5 ~ g#5 ~ g#5 ~@3 d#5@2 ~@2 f5@2 ~@2 d#5@3 ~ f5@3 ~ f#5@3 ~, c#5@3 ~, ~@44 g#5 ~@3 g#5@15 ~]/2",
  BF: "[~ c#6@63 c#5@31 ~]/3", BG: "[c#4,c#5]@15 ~", BH: "[c#3,c#4,c#5]@7 ~@25",
})).s("gm_french_horn").gain(0.54).pan(0.7)

// other · tubular bells
const tubular_bells = note("<~@85 A B C D E F G ~@17 H I J K L M N@2 ~@30>".pickRestart({
  A: "d5 ~@7 d5 ~@7", B: "c5 ~@7 f4 ~@7", C: "d#5@2 ~@15 d5@2 ~@6 c5 ~@6", D: "a#4 ~@31", E: "~ d#5@2 ~@29",
  F: "~ d5@3 ~@12 c5@2 ~@14", G: "a#4 ~@15", H: "g#5", I: "f#5@4 f5@2 d#5@9 ~", J: "f#5@2 f5 d#5", K: "c#5@7 ~",
  L: "d#5@3 c#5", M: "f5 d#5", N: "c#5/2",
})).s("gm_tubular_bells").gain(0.71).pan(0.8)

// other · synth brass 2
const synth_brass_2 = note("<~@7 A B ~@2 A C ~@20 D E F@2 ~@4 G H I ~@103>".pickRestart({
  A: "e5@11 ~ e5@3 ~ e5@7 ~ e5@6 ~@2", B: "e5@7 ~ e5@6 ~@2 e5@8 c#5@8", C: "e5@7 ~ e5@6 ~@2 e5@8 ~@8",
  D: "~@8 e5@4 e5@3 ~ e5@7 ~@2 e5@6 ~", E: "e5@6 ~@2 e5@7 ~ e5@6 ~@2 e5@3 ~ e5@3 ~", F: "[e5@53 ~@11]/2",
  G: "~@8 e5@3 ~ e5@3 ~ e5@5 ~@3 e5@3 ~ e5@3 ~", H: "e5@5 ~@3 e5@5 ~@3 e5@8 b4@7 ~", I: "b4",
})).s("gm_synth_brass_2").gain(0.36).pan(0.7)

// other · whistle
const whistle = note("<A B@7 ~@21 C D E@2 C D F@2 C D E@2 G@2 H@2 I J@2 K@2 L@2 ~ I J@2 K@2 M N ~@87>".pickRestart({
  A: "~@24 e5 ~@7", B: "[e3@193 ~@31]/7", C: "g#5", D: "b5 e5", E: "[f#5@45 ~@3 a5@16]/2", F: "[f#5@5 g#5 a5@2]/2",
  G: "[g#5@3 f#5]/2", H: "[e5@7 ~]/2", I: "g5 ~ d5 ~", J: "[~@16 g5@4 a5@3 b5@5 a5@12 ~@8 d5@8 ~@8]/2",
  K: "[~@16 a5@4 b5@3 c6@5 b5@12 ~@9 g5@8 ~@7]/2", L: "[~@4 g5 a5 b5 a5@3 ~@6]/2", M: "~@2 a5 ~", N: "g5 ~",
})).s("gm_whistle").gain(0.4).pan(0.2)

// other · bagpipe
const bagpipe = note("<~@61 A@3 B@2 C D ~ A@3 E@3 F@2 ~@70>".pickRestart({
  A: "[[a#3,a#4]@16 [f3,f4]@20 ~@12 a#4@4 [c4,c5]@3 ~ d5@4 [c4,c5] ~@2 [c4,c5]@17 [f3,f4]@16, ~@47 a#3@4 ~@4 d4@5 ~@2 [d4,d5]@2 ~@32]/3", // A# F C F D
  B: "[~@15 d4 [c4,c5]@4 [d4,d5]@4 [d#4,d#5]@5 d4 d5 ~ [d4,d5]@16 [a#3,a#4]@16, ~@16 d5 ~@13 d#4@2 ~@32, ~@31 d#5@2 ~@31]/2", // C D D# D A#
  C: "~@17 a#4@3 [c4,c5]@4 [d4,d5]@6 [c4,c5] ~, ~@4 a#3 ~@3", D: "[d4,d5] [c4,c5]@31",
  E: "[[d#4,d#5]@15 d4 [c4,c5]@4 [d4,d5]@4 [d#4,d#5]@5 d4 d5 ~ d5@15 [c4,c5] [a#3,a#4]@31 ~ [c4,c5] [c4,c5]@14 ~, ~@16 d5 ~@13 d#4@2 ~@64, ~@31 d4@16 ~@33 d4@2 ~@14, ~@31 d#5@2 ~@48 d5@2 ~@13]/3", // D# C D D# C A# C
  F: "[[a#3,a#4]@51 ~@13]/2", // A#
})).s("gm_bagpipe").gain(0.38).pan(0.4)

// other · synth strings 1
const synth_strings_1 = note(`<
  A B@7 ~@5 C@2 D@2 C@2 E@6 F@2 C@4 D@2 C@2 E@6 F@2 C@2 G@2 H@2 G@2 I@6 J@2 G@2 K@2 L@2 K@2 M@6 N@2 K@2 O P Q R S T O ~
  O P Q R S T O ~ U@2 V@2 U@2 W@6 X@2 U@2 Y Z AA AB AC AD Y ~ Y Z AA AB AC AD Y ~ AE@2 V@2 AE@2 V@2 AE@2 V@2 AE@2 V@2
  AF@2 AG@2 AF@2
>`.pickRestart({
  A: "~@24 e3 ~@7", B: "[e5@193 ~@31]/7", C: "e2/2", D: "b1/2", E: "[b1 e2 b1]/6", F: "[e2@48 ~ b1@15]/2", G: "g2/2",
  H: "d2/2", I: "[d2 g2 d2]/6", J: "[g2@48 ~ d2@15]/2", K: "a#2/2", L: "f2/2", M: "[f2 a#2 f2]/6",
  N: "[a#2@48 ~ f2@15]/2", O: "a#1", P: "f2@15 ~", Q: "f2 f#2", R: "g2", S: "d#2", T: "f2", U: "c#3/2", V: "g#2/2",
  W: "[g#2 c#3 g#2]/6", X: "[c#3@3 g#2]/2", Y: "c#2", Z: "g#2@15 ~", AA: "g#2 a2", AB: "a#2", AC: "f#2", AD: "g#2",
  AE: "c#2/2", AF: "[c#2@31 ~]/2", AG: "[c#2@31 c#2@31 ~@2]/2",
})).s("gm_synth_strings_1").gain(0.54).pan(0.1)

// chords · lead 8 bass lead
const lead_8_bass_lead = note(`<
  ~@27 A B C B D E C B D E C B D E C F C B G H I J K H I J K H I J K L K H M N O P Q N O P Q N O P Q R Q N ~@16 S T U V
  W T U V W T U V W X W T ~@38
>`.pickRestart({
  A: "e4 ~ [b3,e4] ~ b3 ~ [b3,e4] ~ e4 ~ e4 ~ [b3,e4] ~ b3 ~ e4 ~ [b3,e4] ~ [b3,e4] ~ e4 ~ e4 ~ e4 ~ e4 ~ [b3,e4] ~", // E5
  B: "[b3,e4] ~ e4 ~ [b3,e4] ~ [b3,e4] ~ e4 ~ e4 ~ [b3,e4] ~ b3 ~ e4 ~ [b3,e4] ~ [b3,e4] ~ e4 ~ [b3,e4] ~ [b3,e4] ~ e4 ~ [b3,e4] ~", // E5
  C: "[b3,e4] ~ [b3,e4] ~ b3 ~ [b3,e4] ~ e4 ~ e4 ~ [b3,e4] ~ b3 ~ e4 ~ [b3,e4] ~ [b3,e4] ~ e4 ~ e4 ~ e4 ~ e4 ~ [b3,e4] ~", // E5
  D: "[b3,f#4] ~ [b3,f#4] ~ b3 ~ [b3,f#4] ~ f#4 ~ f#4 ~ [b3,f#4] ~ b3 ~ f#4 ~ [b3,f#4] ~ [b3,f#4] ~ f#4 ~ f#4 ~ f#4 ~ f#4 ~ [b3,f#4] ~", // B5
  E: "[b3,f#4] ~ f#4 ~ [b3,f#4] ~ [b3,f#4] ~ f#4 ~ f#4 ~ [b3,f#4] ~ b3 ~ f#4 ~ [b3,f#4] ~ [b3,f#4] ~ f#4 ~ [b3,f#4] ~ [b3,f#4] ~ f#4 ~ [b3,f#4] ~", // B5
  F: "[b3,e4] ~ e4 ~ [b3,e4] ~ [b3,e4] ~ e4 ~ e4 ~ [b3,e4] ~ b3 ~ f#4 ~ [b3,f#4] ~ [b3,f#4] ~ f#4 ~ [b3,f#4] ~ [b3,f#4] ~ f#4 ~ [b3,f#4] ~", // E5 B5
  G: "[b3,g4] ~ [d4,g4] ~ d4 ~ [d4,g4] ~ g4 ~ g4 ~ [d4,g4] ~ d4 ~ g4 ~ [d4,g4] ~ [d4,g4] ~ g4 ~ g4 ~ g4 ~ g4 ~ [d4,g4] ~", // Em G5
  H: "[d4,g4] ~ g4 ~ [d4,g4] ~ [d4,g4] ~ g4 ~ g4 ~ [d4,g4] ~ d4 ~ g4 ~ [d4,g4] ~ [d4,g4] ~ g4 ~ [d4,g4] ~ [d4,g4] ~ g4 ~ [d4,g4] ~", // G5
  I: "[d4,a4] ~ [d4,a4] ~ d4 ~ [d4,a4] ~ a4 ~ a4 ~ [d4,a4] ~ d4 ~ a4 ~ [d4,a4] ~ [d4,a4] ~ a4 ~ a4 ~ a4 ~ a4 ~ [d4,a4] ~", // D5
  J: "[d4,a4] ~ a4 ~ [d4,a4] ~ [d4,a4] ~ a4 ~ a4 ~ [d4,a4] ~ d4 ~ a4 ~ [d4,a4] ~ [d4,a4] ~ a4 ~ [d4,a4] ~ [d4,a4] ~ a4 ~ [d4,a4] ~", // D5
  K: "[d4,g4] ~ [d4,g4] ~ d4 ~ [d4,g4] ~ g4 ~ g4 ~ [d4,g4] ~ d4 ~ g4 ~ [d4,g4] ~ [d4,g4] ~ g4 ~ g4 ~ g4 ~ g4 ~ [d4,g4] ~", // G5
  L: "[d4,g4] ~ g4 ~ [d4,g4] ~ [d4,g4] ~ g4 ~ g4 ~ [d4,g4] ~ d4 ~ a4 ~ [d4,a4] ~ [d4,a4] ~ a4 ~ [d4,a4] ~ [d4,a4] ~ a4 ~ [d4,a4] ~", // G5 D5
  M: "[d4,a#4] ~ [f4,a#4] ~ f4 ~ [f4,a#4] ~ a#4 ~ a#4 ~ [f4,a#4] ~ f4 ~ a#4 ~ [f4,a#4] ~ [f4,a#4] ~ a#4 ~ a#4 ~ a#4 ~ a#4 ~ [f4,a#4] ~", // Gm A#5
  N: "[f4,a#4] ~ a#4 ~ [f4,a#4] ~ [f4,a#4] ~ a#4 ~ a#4 ~ [f4,a#4] ~ f4 ~ a#4 ~ [f4,a#4] ~ [f4,a#4] ~ a#4 ~ [f4,a#4] ~ [f4,a#4] ~ a#4 ~ [f4,a#4] ~", // A#5
  O: "[f4,c5] ~ [f4,c5] ~ f4 ~ [f4,c5] ~ c5 ~ c5 ~ [f4,c5] ~ f4 ~ c5 ~ [f4,c5] ~ [f4,c5] ~ c5 ~ c5 ~ c5 ~ c5 ~ [f4,c5] ~", // F5
  P: "[f4,c5] ~ c5 ~ [f4,c5] ~ [f4,c5] ~ c5 ~ c5 ~ [f4,c5] ~ f4 ~ c5 ~ [f4,c5] ~ [f4,c5] ~ c5 ~ [f4,c5] ~ [f4,c5] ~ c5 ~ [f4,c5] ~", // F5
  Q: "[f4,a#4] ~ [f4,a#4] ~ f4 ~ [f4,a#4] ~ a#4 ~ a#4 ~ [f4,a#4] ~ f4 ~ a#4 ~ [f4,a#4] ~ [f4,a#4] ~ a#4 ~ a#4 ~ a#4 ~ a#4 ~ [f4,a#4] ~", // A#5
  R: "[f4,a#4] ~ a#4 ~ [f4,a#4] ~ [f4,a#4] ~ a#4 ~ a#4 ~ [f4,a#4] ~ f4 ~ c5 ~ [f4,c5] ~ [f4,c5] ~ c5 ~ [f4,c5] ~ [f4,c5] ~ c5 ~ [f4,c5] ~", // A#5 F5
  S: "c#5 ~ [g#4,c#5] ~ g#4 ~ [g#4,c#5] ~ c#5 ~ c#5 ~ [g#4,c#5] ~ g#4 ~ c#5 ~ [g#4,c#5] ~ [g#4,c#5] ~ c#5 ~ c#5 ~ c#5 ~ c#5 ~ [g#4,c#5] ~", // C#5
  T: "[g#4,c#5] ~ c#5 ~ [g#4,c#5] ~ [g#4,c#5] ~ c#5 ~ c#5 ~ [g#4,c#5] ~ g#4 ~ c#5 ~ [g#4,c#5] ~ [g#4,c#5] ~ c#5 ~ [g#4,c#5] ~ [g#4,c#5] ~ c#5 ~ [g#4,c#5] ~", // C#5
  U: "[g#4,d#5] ~ [g#4,d#5] ~ g#4 ~ [g#4,d#5] ~ d#5 ~ d#5 ~ [g#4,d#5] ~ g#4 ~ d#5 ~ [g#4,d#5] ~ [g#4,d#5] ~ d#5 ~ d#5 ~ d#5 ~ d#5 ~ [g#4,d#5] ~", // G#5
  V: "[g#4,d#5] ~ d#5 ~ [g#4,d#5] ~ [g#4,d#5] ~ d#5 ~ d#5 ~ [g#4,d#5] ~ g#4 ~ d#5 ~ [g#4,d#5] ~ [g#4,d#5] ~ d#5 ~ [g#4,d#5] ~ [g#4,d#5] ~ d#5 ~ [g#4,d#5] ~", // G#5
  W: "[g#4,c#5] ~ [g#4,c#5] ~ g#4 ~ [g#4,c#5] ~ c#5 ~ c#5 ~ [g#4,c#5] ~ g#4 ~ c#5 ~ [g#4,c#5] ~ [g#4,c#5] ~ c#5 ~ c#5 ~ c#5 ~ c#5 ~ [g#4,c#5] ~", // C#5
  X: "[g#4,c#5] ~ c#5 ~ [g#4,c#5] ~ [g#4,c#5] ~ c#5 ~ c#5 ~ [g#4,c#5] ~ g#4 ~ d#5 ~ [g#4,d#5] ~ [g#4,d#5] ~ d#5 ~ [g#4,d#5] ~ [g#4,d#5] ~ d#5 ~ [g#4,d#5] ~", // C#5 G#5
})).s("gm_lead_8_bass_lead").gain(0.32).pan(0.4)

// bass · electric bass pick
const bass_2 = note(`<
  ~@5 A@10 B@2 A@2 B@2 A@2 B@2 A C A@4 B@2 A@2 B@2 A@2 B@2 A C A@2 D@2 E@2 D@2 E@2 D@2 E@2 D F D@2 G@2 H@2 G@2 H@2 G@2
  H@2 G I G@2 ~@16 J@2 K@2 J@2 K@2 J@2 K@2 J L J@2 ~@38
>`.pickRestart({
  A: "e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~",
  B: "b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~",
  C: "e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~",
  D: "g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~",
  E: "d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~",
  F: "g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~",
  G: "a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~",
  H: "f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~",
  I: "a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~ a#1@2 a#1 ~ f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~ f2@2 f2 ~",
// … 44 more lines

More by Vangelis