Strudelify

Stupid Cupid

Neil Sedaka

KeyD majorTempo127 bpm
0:00/0:00
// Stupid Cupid — Sedaka Neil
// 127 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 77 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(127/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 · acoustic guitar steel · "*MIDIFIL"
const acoustic_guitar_steel = note(`<
  ~ A B C D E F G H I J K L ~@12 M N O@2 P Q R S ~@10 T U ~@8 V W X Y Z AA AB Y AC AD AE AF AG AH AI AJ AK AL AM AN AO
  AP AQ AR
>`.pickRestart({
  A: "~@14 f#5@3 ~ f5@3 f#5@4 a4@4 b4@3", B: "~ a4@3 ~ d5@6 ~@2 d5@2 ~@3 f#5@7 a4@3 ~ b4@3",
  C: "~@2 d5 ~@7 f5@3 ~ f#5@4 f5@3 f#5@4 a4@4 b4@3", D: "~ a4@3 ~ d5@5 ~@3 d5@2 ~@2 f#5@6 ~@9",
  E: "~@9 g5@9 ~@3 g5@7 ~@2 e5@2", F: "~ d5@4 g5@12 e5@8 d5@7", G: "~@9 f5@3 ~ f#5@4 ~@4 f#5@4 a4@3 ~ b4@3",
  H: "~ a4@2 ~@2 d5@5 ~@3 d5@3 ~ f#5@8 ~@7", I: "~@13 g5@6 ~@2 e5@9 ~@2", J: "~ e5@2 ~@2 f5@2 ~@2 f5@5 ~@3 d5@12 ~@3",
  K: "~@12 f#5@3 ~ f5@3 ~ f#5@4 a5@3 ~@5", L: "f5@2 ~@2 f#5@2 ~ a4@4 b4@4 ~ d5@6 ~@10", M: "~@11 g5@5 ~@3 g5@8 d5@5",
  N: "~@3 g5@6 ~@2 a5@2 ~@2 a5@7 ~ g5@9", O: "[~@7 a5@11 ~ f#5@7 ~ a5@8 f#5@4 e5@5 ~@3 d5@12 ~@5]/2",
  P: "~@10 g5@5 ~@3 g5@7 ~ d5@6", Q: "~@2 g5@8 a5@2 ~@2 a5@7 ~ g5@6 ~@2 e5 ~",
  R: "~@2 e5@5 ~@3 e5@5 ~@3 e5@5 ~@3 e5@5 ~", S: "~@2 a5@7 ~@2 g5@7 f#5@6 ~@2 e5@5 ~", T: "~@17 f#5@3 ~ a5@4 ~@4 f5@3",
  U: "~ f#5@3 ~ a4@3 ~ b4@4 d5@14 ~@5", V: "~@4 f5@3 ~ f#5@4 f5@2 ~@2 f#5@3 ~ a4@4 b4@4 a4@3 ~",
  W: "d5 ~ d5@2 ~@2 f#5@4 ~@6", X: "~@4 f5@2 ~ f#5@4 ~@5 f#5@4 a4@3 ~ b4@3 a4@2 ~@2 d5", Y: "~@3 d5@4 ~@4 f#5@13 ~@8",
  Z: "~@3 g5@5 ~@7 g5@8 e5@4 d5 ~@3 g5", AA: "~@3 g5@8 e5@8 d5@10 ~@3",
  AB: "~@3 f5@3 ~ f#5@4 f5@2 ~@2 f#5@2 ~@2 a4@3 ~ b4@3 ~ a4@2 ~@2 d5", AC: "~@7 g5@6 ~@2 e5@13 ~@2 f5 ~",
  AD: "~@3 f5@6 ~@2 d5@12 ~@9", AE: "~@7 f#5@4 f5@2 ~ f#5@3 ~ a5@4 ~@4 f5@2 ~@2 f#5@2",
  AF: "~@2 a4@3 ~ b4@3 ~ d5@6 ~@2 d5@6 ~@2 d5@3 ~@3", AG: "~@6 g5@6 ~@2 e5@9 ~@3 e5@3 ~ f5 ~",
  AH: "~@3 f5@6 ~ d5@14 ~@8", AI: "~@6 f#5@4 f5@2 ~@2 f#5@3 ~ a5@4 ~@4 f5@3 ~ f#5@2", AJ: "~ a4 ~ b4@2 d5@10 ~",
  AK: "~@6 f#5@3 ~ f5@2 ~@2 f#5@2 ~@2 a4@4 ~@4 b4@2 ~@2 d5@2", AL: "~@2 d5@5 ~@2 f#5@13 ~@10",
  AM: "~@2 f5@2 ~ f#5@3 ~ f5@2 ~@2 f#5@2 ~@2 a4@2 ~@2 b4@3 ~ a4@2 ~@2 d5 ~@2", AN: "~ d5@4 ~@4 d5@9 ~@14",
  AO: "~@5 f#5@3 ~ f5@3 ~ f#5@2 ~@2 a4@7 ~ b4@3 ~ d5@2 ~", AP: "~ d5@3 ~@5 f#5@11 ~@12",
  AQ: "~ f5@2 ~@2 f#5@3 ~ f5@2 ~@2 f#5@2 ~@2 a4@3 ~ b4@3 ~ a4@3 ~ d5@2 ~", AR: "~@9 d5@2 ~@21",
})).s("gm_acoustic_guitar_steel").gain(0.48).pan(0.6)

// other · alto sax · "*MIDIFIL"
const alto_sax = note("<~@13 A B C@2 D E F@2 G H I J@8 ~ K L@2 M@7 N ~@33>".pickRestart({
  A: "f5@3 ~ f#5@4 f5@3 ~ f#5@3 ~ f5@2 ~@2 f#5@3 ~ a4@3 ~ b4@4", B: "a4@3 ~ d5@2 ~@2 d5@4 ~@4 f#5@12 ~@4",
  C: "[f5@2 ~@2 f#5@5 ~@3 f#5@4 f5@2 ~@2 f#5@3 ~ a4@3 ~ b4@7 ~ d5@2 ~@2 d5@4 ~@4 f#5@10 ~@6]/2",
  D: "~@8 g5@10 ~ e5@6 ~@3 d5@4", E: "~@3 g5 ~@4 g5@6 ~@2 e5@8 d5@8",
  F: "[~@7 f5@2 ~@2 f#5@3 ~ f5@2 ~@2 f#5@4 ~@4 b4@3 ~ a4@3 ~ d5@3 ~ d5@6 ~@2 f#5@9 ~@8]/2", G: "~@11 g5@6 ~@3 e5@12",
  H: "~@3 f5 ~@3 f5@5 ~@3 d5@14 ~@3", I: "~@11 f#5@3 ~ f5@2 ~@2 f#5@4 a5@3 ~@5 f5",
  J: "[~@3 f#5@3 ~ a4@3 ~ b4@3 ~ d5@241]/8", K: "~@6 f5@3 f#5@4 ~ f5 ~@3 f#5@2 ~@2 a4@6 ~ b4@2 ~",
  L: "[~@2 d5@7 ~@5 f#5@9 ~@7 f5@3 ~ f#5@3 f5@2 ~@2 f#5@4 f5@3 ~ f#5@2 ~@3 a4@3 b4@4 a4@2 ~, ~@9 d5@55, ~@34 g#5 ~@29]/2",
  M: "[~ d5@4 ~@8 f#5@12 ~@12 g5@11 ~ e5@6 ~@10 g5 ~@3 g5@8 e5@8 ~@20 f#5@3 ~ f5@3 ~ f#5@4 ~ f5 ~@2 f#5 ~@3 a4@2 ~@2 b4@2 ~@10 f#5@13 ~@14 g5@8 ~ e5@13 ~@3 f5 ~@3 f5@6 ~@21, ~@5 d5@52 d5@28 d5@48 d5@86 ~@5]/7",
  N: "~@9 f#5@4 f5@2 ~@17",
})).s("gm_alto_sax").gain(0.56).pan(0.3)

// chords · rock organ · "*EXTRACT"
const rock_organ = note(`<
  A@2 ~ B C D E F@2 G H I J K L M N O P Q@5 R@2 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 ~@2 BB BC ~ BD BE BF BG BH BI BJ BK BL
>`.pickRestart({
  A: "[~@6 [a4,a5]@2 ~@2 [a4,a5]@2 ~@2 [a4,a5]@2 ~@2 [a4,a5]@2 ~@2 [a4,a5]@2 ~@2 [a4,a5]@4 [b4,b5]@4 [c#5,c#6]@4 [d5,d6]@5 ~@21]/2", // A B C# D
  B: "~@14 [a4,d5,f#5] ~@3 [a4,d5,f#5]@2 ~@9 [a4,d5,f#5]@2 ~", // D
  C: "~@13 [a4,d5]@2 ~@2 [a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@2 ~, ~@13 f#5 ~@18", // D5 D
  D: "~@13 [b4,d5,g5]@2 ~@2 [b4,d5,g5]@2 ~@10 [b4,d5,g5]@2 ~", E: "~@13 [b4,d5,g5] ~@3 [b4,d5,g5]@2 ~@10 [d5,g5]@3",
  F: "~@13 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@3", // D
  G: "~@13 [e5,a5]@2 ~@2 [c#5,e5,a5]@3 ~@9 [c#5,e5,a5]@2 ~, ~@13 c#5 ~@18", // A5 A
  H: "~@13 [b4,f5,g5]@2 ~@2 [b4,f5,g5]@2 ~@10 [b4,d5,g5]@3", I: "~@5 [a4,d5,f#5]@5 ~@22", J: "~@6 a4 b4",
  K: "c#5@3 ~ d5@3 ~@5 [d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@3 ~, ~@12 a4 ~@19", // D
  L: "~@6 [a4,d5,f#5] ~@7 [a4,d5,f#5] ~", M: "[a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@3 ~@13 [d5,f#5] ~@3, ~@14 a4 ~",
  N: "[a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@2 ~@14 [a4,d5,f#5] ~@3", O: "[a4,d5,f#5] ~@5 [b4,d5,g5] ~@7 [b4,d5,g5] ~",
  P: "[b4,d5,g5]@3 ~@9 [b4,d5,g5]@3 ~@13 [b4,d5,g5]@2 ~@2", // G
  Q: "[[b4,d5,g5]@3 ~@8 [a4,d5,f#5]@2 ~@14 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@10 [a4,d5,f#5]@3 ~@13 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@3 ~@9 [c#5,e5,a5]@3 ~@13 [e5,a5]@2 ~@2 [c#5,e5,a5]@2 ~@10 [b4,f5,g5]@3 ~@13 [b4,d5,g5]@2 ~@2 [b4,d5,g5]@2 ~@2 [a4,d5,f#5]@4 ~@25, ~@91 c#5 ~@68]/5", // G D A A5 A G7 G D
  R: "[~@23 d5@3 ~ e5@4 f#5@2 ~@6 [b5,d6] ~ [b5,d6] ~ [b5,d6] ~@3 [b5,d6]@2 ~@2 e6@2 ~@2 [b5,e6]@2 ~@2 [b5,d6]@3 ~@2, ~@51 b5 ~@12]/2", // Bm E5 Bm
  S: "~@7 [b5,e6]@3 ~@5 [b5,d6]@3 ~ [b5,e6]@2 ~@2 [b5,e6]@2 ~@2 [b5,d6]@2 ~@3", // E5 Bm E5 Bm
  T: "~@7 [f#5,a5] ~ [f#5,a5] ~ [f#5,a5]@2 ~@2 [f#5,a5]@3 ~ [f#5,b5]@2 ~@2 [f#5,b5]@3 ~ [f#5,a5]@3 ~@2", // F#m B5 F#m
  U: "~@7 [f#5,b5]@2 ~@6 [f#5,a5]@3 [f#5,b5]@2 ~@2 [f#5,b5]@2 ~@2 [f#5,a5]@3 ~@3", // B5 F#m B5 F#m
  V: "~@6 [b5,d6] ~ [b5,d6] ~ [b5,d6]@2 ~@2 [b5,d6]@2 ~@2 [b5,e6]@2 ~@2 [b5,e6]@2 ~@2 [b5,d6]@2 ~@4", // Bm E5 Bm
  W: "~@6 [b5,e6]@2 ~@6 [b5,d6]@3 ~ [b5,e6]@2 ~@2 [b5,e6]@2 ~@2 [b5,d6]@3 ~@3", X: "~@2 [g#5,e6]@4 ~@12 [g#5,e6]@5 ~@9",
  Y: "~@2 [c#5,a5]@8 [b4,g5]@8 [a4,f#5]@7 ~ [g4,e5]@6", // F#m Em D C
  Z: "~@2 [f#4,d5]@4 ~@4 [d5,f#5] ~@3 [d5,f#5]@2 ~@10 [a4,d5] ~@5, ~@13 f#5 ~@2", // D D5
  AA: "~@10 [a4,d5,f#5]@2 ~@14 [a4,d5,f#5] ~@3 [a4,d5,f#5]@2", // D
  AB: "~@10 [a4,d5,f#5]@2 ~@14 [d5,f#5] ~@2 [a4,d5,f#5]@2 ~, ~@13 a4 ~@2", // D
  AC: "~@9 [a4,d5,f#5]@2 ~@14 [a4,f#5]@2 ~@2 [a4,d5,f#5]@2 ~, ~@25 d5 ~@6", // D
  AD: "~@9 [b4,d5,g5]@3 ~@13 [b4,f5,g5]@2 ~@2 [b4,f5,g5]@2 ~", // G G7
  AE: "~@9 [b4,d5,g5]@3 ~@13 [b4,d5,g5]@2 ~@2 [b4,d5,g5]@2 ~", // G
  AF: "~@9 [a4,d5,f#5]@3 ~@13 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~", // D
  AG: "~@9 [a4,d5,f#5]@3 ~@13 [a4,f#5]@2 ~@2 [a4,d5,f#5]@2 ~, ~@25 d5 ~@6", // D
  AH: "~@9 [c#5,e5,a5]@3 ~@13 [c#5,e5] ~@3 [c#5,e5,a5]@2 ~, ~@25 a5@2 ~@5", // A C#m A
  AI: "~@9 [b4,f5,g5]@3 ~@13 [b4,f5,g5]@2 ~@2 [f5,g5] ~@2, ~@29 b4@2 ~", AJ: "~ [d5,f#5]@5 ~@26",
  AK: "~@5 [b5,d6] ~ [b5,d6] ~ [b5,d6] ~@3 [b5,d6]@2 ~@2 e6@2 ~@2 [b5,e6]@2 ~@2 [b5,d6]@2 ~@5, ~@17 b5 ~@14", // Bm E5 Bm
  AL: "~@4 [b5,e6]@2 ~@6 [b5,d6] ~@3 [b5,e6] ~@3 e6@2 ~@2 [b5,d6]@2 ~@6, ~@20 b5 ~@11", // E5 Bm E5 Bm
  AM: "~@4 [f#5,a5] ~ [f#5,a5] ~ [f#5,a5] ~@3 [f#5,a5]@2 ~@2 b5@2 ~@2 [f#5,b5]@2 ~@2 [f#5,a5]@2 ~@6, ~@16 f#5 ~@15", // F#m B5 F#m
  AN: "~@2 [f#5,b5] ~@3 [f#5,a5] ~ b5 ~ b5 ~ [f#5,a5] ~@3, ~@16 f#5 ~@3 f#5 ~@11", // B5 F#m
  AO: "~@4 [b5,d6] ~ [b5,d6] ~ [b5,d6] ~@3 [b5,d6] ~@3 [b5,e6] ~@3 b5@2 ~@2 [b5,d6]@2 ~@6, ~@20 e6 ~@11", // Bm E5 Bm
  AP: "~@4 [b5,e6]@2 ~@6 d6@2 ~@2 [b5,e6] ~@3 [b5,e6]@2 ~@2 [b5,d6]@3 ~@5, ~@12 b5 ~@19", AQ: "e6 ~@3 [g#5,e6] ~@3",
  AR: "[c#5,a5]@8 [b4,g5]@8 [a4,f#5]@8 [g4,e5]@7 ~", AS: "[f#4,d5]@5 ~@27",
  AT: "~@8 [a4,d5,f#5] ~@3 [d5,f#5] ~@11 [a4,d5,f#5]@2 ~ [a4,d5,f#5]@2 ~@3, ~@6 a4 ~@9", // D
  AU: "~@7 [d5,f#5,a5]@2 ~@14 [d5,a5]@2 ~@2 [d5,a5]@2 ~@3, ~@23 f#5 ~@3 f#5 ~@4", // D D5
  AV: "~@7 [b4,d5,f5,g5]@2 ~@14 [d5,f5,g5] ~@3 [b4,f5,g5]@2 ~@3, ~@23 b4@2 ~@2 d5 ~@4", // G7
  AW: "~@7 [b4,f5,g5]@3 ~@13 [b4,d5,g5]@2 ~@2 [b4,d5,g5]@2 ~@3", // G7 G
  AX: "~@7 [d5,f#5,a5]@2 ~@14 [a4,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@3, ~@23 d5 ~@8", // D
  AY: "~@7 [a4,d5,f#5]@3 ~@13 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@3", // D
  AZ: "~@7 [c#5,e5,a5]@3 ~@13 [c#5,e5,a5]@2 ~@2 [c#5,e5,a5]@2 ~@3", // A
  BA: "~@7 [b4,d5,g5,a5]@2 ~@14 [b4,d5,g5]@2 ~@2 [b4,f5,g5]@3 ~@2", // G G7
  BB: "~@6 [e5,a5]@2 ~@2 [e5,a5]@2 ~@10 [c#5,e5,a5]@3 ~@7, ~@6 c#5 ~@3 c#5 ~@21", // A5 A
  BC: "~@6 [b4,f5,g5] ~@3 [b4,f5,g5]@2 ~@10 [b4,f5,g5]@3 ~@5 [a4,d5,f#5]@2", BD: "~@9 a4@2 b4@2 c#5@2 d5",
  BE: "~@6 [a4,d5,f#5]@2 ~@14 [a4,d5,f#5] ~@3 [a4,f#5]@2 ~@4, ~@26 d5 ~@5", // D
  BF: "~@6 [a4,d5,f#5]@2 ~@14 [d5,f#5] ~@3 [d5,f#5] ~@5, ~@11 a5 ~ a5 ~@2", // D
  BG: "~@6 [a4,f#5]@2 ~@13 [a4,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@5, ~@6 d5 ~@14 d5 ~@10", // D
  BH: "~@5 [a4,d5,f#5]@2 ~@14 [d5,a5]@2 ~@2 [d5,f#5,a5]@2 ~@5, ~@21 f#5 ~@10", // D D5 D
  BI: "~@5 [a4,d5,f#5]@2 ~@14 [a4,d5,f#5] ~@3 [a4,d5,f#5]@2 ~@5", // D
  BJ: "~@5 [a4,d5,f#5]@2 ~@10 [d5,a5]@2 ~@2 [d5,f#5] ~@3 [d5,f#5,a5]@2 ~@5, ~@17 f#5 ~@3 a5@2 ~@9", // D D5 D
  BK: "~@5 [a4,d5,f#5]@2 ~@14 [a4,f#5]@2 ~@2 [a4,d5] ~@6, ~@21 d5 ~@3 f#5@2 ~@5", BL: "~@9 [a4,d5,f#5]@6 ~@17",
})).s("gm_rock_organ").gain(0.31).pan(0.2)

// bass · acoustic bass · "*EXTRACT"
const bass = note(`<
  A B C@2 D E F G H I J K L M N O P Q R S@5 T@5 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@7 AV@2 AW AX AY@2 AZ BA BB BC BD BE BF BG BH
>`.pickRestart({
  A: "~@6 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@3 ~ b1@2", B: "~@2 c#2@3 ~ d2@5 ~@21",
  C: "[~@26 a1@3 ~ b1@4 c#2@3 ~ d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~ a2@2 ~@2 b2@2 ~]/2",
  D: "~ b2@2 ~@2 c3@2 ~@2 c3@2 ~@2 b2@2 ~@2 b2@2 ~@2 a2@2 ~@2 d1@3 ~ e1@3",
  E: "~ f#1@2 ~@2 g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@2 ~@2 e2@3, ~@5 f#1 ~@26",
  F: "~ d2@2 ~@2 g1@2 ~@2 g1@2 ~@2 b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@2 ~@2 g1@3",
  G: "~ b1@3 ~ d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@2 ~@2 b2@2 ~",
  H: "~ a2@3 ~ d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 e1@3 ~ f#1@2 ~, ~@5 f#1 ~@26",
  I: "~ g1@2 ~@2 a1@2 ~@2 a1@3 ~ c#2@2 ~@2 c#2@3 ~ e2@2 ~@2 e2@2 ~@2 f#2@3, ~@25 f2 ~@6",
  J: "~ e2@2 ~@2 g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 a1@3 ~ b1@3", K: "~ c#2@3 ~ d2@6 ~@21", L: "~@6 a1 b1",
  M: "c#2@3 ~ d2 ~@3 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@2 ~@2 b2@2 ~@2",
  N: "b2 ~ c3 ~ c3 ~ b2 ~ b2 ~ a2 ~ a1@2 b1@2", O: "c#2@4 d2@2 ~@2 d2@3 ~ f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@2 ~@2 b2@3 ~",
  P: "a2@3 ~ d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 d1@3 ~ e1@3 ~",
  Q: "f#1@3 ~ g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@3 ~ d2@2 ~@2 d2@2 ~@2 e2@3 ~",
  R: "d2@2 ~@2 g1@2 ~@2 g1@2 ~@2 b1@2 ~@2 b1@3 ~ d2@2 ~@2 a1@4 b1@4",
  S: "[c#2@3 ~ d2@2 ~ d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@2 ~@2 b2@2 ~@2 a2@2 ~@2 c3@2 ~@2 c3@2 ~@2 b2@2 ~@2 b2@3 ~ a2@2 ~@2 e1@3 ~ f#1@3 ~ g1@3 ~ a1@2 ~@2 a1@2 ~@2 c#2@2 ~@2 c#2@2 ~@2 e2@2 ~@2 e2@2 ~@2 f#2@3 ~ e2@2 ~@2 g1@2 ~@2 g1@2 ~@2 b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 a1@4 b1@3 ~ c#2@3 ~ d2@5 ~@24]/5",
  T: "[~@23 d2@4 e2@4 f#2@4 g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@3 ~ d2@2 ~@2 d2@3 ~ e2@3 ~ d2@3 ~ g1@2 ~@2 g1@2 ~@2 b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@3 ~ e2@3 ~ d2@2 ~@2 d2@3 ~ d2@3 ~ f#2@2 ~@2 f#2@3 ~ a2@2 ~@2 a2@2 ~@2 b2@2 ~@2 a2@2 ~@2 d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~ a2@3 ~ d1@4 e1@3 ~ f#1@2]/5",
  U: "~@2 g1@2 ~@2 g1@3 ~ b1@3 ~ b1@3 ~ d2@2 ~@2 d2@3 ~ e2@3 ~ d2@2",
  V: "~@2 g1@2 ~@2 g1@2 ~@2 b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@3 ~ b1@3 ~ g1@2", W: "~@2 e2@5 ~@11 e1@6 ~@8",
  X: "~@2 a1@5 ~@3 e1@7 ~ a1 ~@3 a1@4 b1@4 c#2@2",
  Y: "~@2 d2@2 ~@2 d2@3 ~ f#2@2 ~@2 f#2@3 ~ a2@2 ~@2 a2@2 ~@2 b2@2 ~@2 b2@2",
  Z: "~@2 c3@2 ~@2 c3@2 ~@2 b2@2 ~@2 b2@2 ~@2 a2@3 ~ a1@3 ~ b1@4 c#2@2",
  AA: "~@2 d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@2 ~@2 b2@2 ~ a2@3",
  AB: "~ d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@3 ~ d1@3 ~ e1@3 ~ f#1@3",
  AC: "~ g1@2 ~@2 g1@3 ~ b1@3 ~ b1@3 ~ d2@2 ~@2 d2@2 ~@2 e2@3 ~ d2@3",
  AD: "~ g1@2 ~@2 g1@2 ~@2 b1@2 ~@2 b1@3 ~ d2@3 ~ a1@3 ~ b1@3 ~ c#2@3",
  AE: "~ d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@2 ~@2 b2@3 ~ a2@3",
  AF: "~ d2@2 ~@2 d2@3 ~ f#2@2 ~@2 f#2@3 ~ a2@3 ~ e1@3 ~ f#1@3 ~ g1@3",
  AG: "~ a1@2 ~@2 a1@3 ~ c#2@2 ~@2 c#2@3 ~ e2@3 ~ e2@3 ~ f#2@3 ~ e2@2 ~",
  AH: "~ g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@3 ~ d2@3 ~ a1@3 ~ b1@3 ~ c#2@3", AI: "~ d2@5 ~@26", AJ: "~@21 d1@4 e1@4 f#1@3",
  AK: "~ g1@3 ~ g1@4 b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@3 ~ e2@3 d2@3 ~",
  AL: "g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@3 ~ d2@3 ~ a1@3 ~ b1@4 c#2@4",
  AM: "d2@2 ~@2 d2@3 ~ f#2@2 ~@2 f#2@3 ~ a2@3 ~ a2@3 ~ b2@3 ~ a2@4",
  AN: "d2@2 ~@2 d2@2 ~@2 f#2@2 ~@2 f#2@3 ~ a2@4 d1@4 e1@4 f#1@4",
  AO: "g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@3 ~ e2@3 ~ d2@3 ~, a1 ~@31",
  AP: "g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@3 ~ b1@3 ~ g1@3 ~", AQ: "e2@2 ~@6 e1@3 ~@5",
  AR: "a1@5 ~@3 e2@8 a1@4 a1@3 ~ b1@2 ~@2 c#2@3 ~", AS: "d2@3 ~@13", AT: "~@20 a1@3 ~ b1@4 c#2@4",
  AU: "[d2@2 ~@2 d2@3 ~ f#2@3 ~ f#2@3 ~ a2@2 ~@2 a2@2 ~@2 b2@2 ~ b2@2 ~@2 c3@2 ~@2 c3@2 ~@2 b2@2 ~@2 b2@3 ~ a2@3 ~ d1@4 e1@3 ~ f#1@4 g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 d2@3 ~ e2@3 ~ d2@3 ~ g1@2 ~@2 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@2 ~@2 a1@4 b1@2 ~@2 c#2@3 ~ d2@2 ~@2 d2@2 ~@2 f#2@3 ~ f#2@3 ~ a2@2 ~@2 a2@3 ~ b2@3 ~ a2@3 ~ d2@2 ~@2 d2@3 ~ f#2@2 ~@2 f#2@2 ~@2 a2@3 ~ e1@3 ~ f#1@3 ~ g1@3 ~ a1@2 ~@2 a1@2 ~@2 c#2@2 ~@2 c#2@2 ~@2 e2@2 ~@2 e2@3 ~ f#2@3 ~ e2@2 ~@2 g1]/7",
  AV: "[~@3 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@3 ~ a1@3 ~ b1@3 ~ c#2@3 ~ d2@5 ~@28]/2", AW: "~@15 a1",
  AX: "~@2 a1@4 c#2@2 ~@2 c#2@3 ~ e2@3 ~ e2@4 f#2@4 e2@3 ~ g1@2",
  AY: "[~@2 g1@3 ~ b1@2 ~@2 b1@2 ~@2 d2@3 ~ a1@4 b1@2 ~@2 c#2@2 ~@2 d2@5 ~@29]/2", AZ: "~@18 a1@4 b1@3 ~ c#2@3 ~ d2@2",
  BA: "~@2 d2@2 ~@2 f#2@3 ~ f#2@3 ~ a2@3 ~ a2@4 b2@3 ~ a2@3 ~ d2@2",
  BB: "~@2 d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@3 ~ b2@3 ~ a2@3 ~ d2@2",
  BC: "~@2 d2@3 ~ f#2@2 ~@2 f#2@3 a2@2 ~@2 a2@2 ~@2 b2@3 ~ a2@4 d2@2 ~",
  BD: "~ d2@3 ~ f#2@3 ~ f#2@3 ~ a2@2 ~@2 a2@3 ~ b2@3 ~ a2@4 d2@2 ~",
  BE: "~ d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@3 ~ b2@3 ~ a2@3 ~ d2@2 ~",
  BF: "~ d2@2 ~@2 f#2@2 ~@2 f#2@3 ~ a2@3 ~ a2@3 ~ b2@4 a2@4 d2@2 ~",
  BG: "~ d2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 a2@2 ~@2 a2@3 ~ b2@3 ~ a2@3 ~ d2@3", BH: "~ b1@3 ~ a1@3 ~ d2@4 ~@19",
})).s("gm_acoustic_bass").gain(0.34)

// other · baritone sax · "*EXTRACT"
const baritone_sax = note(`<
  A B C D E F C G H I J K L K M N O@2 P@2 Q@2 R@2 S@2 ~@6 T U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL AM AN AO@2
  AP@2 AQ@2 AR@2 AS@2 AT ~ AU@2 AV ~ AW ~ AX ~ AY ~ AZ
>`.pickRestart({
  A: "~@6 a2@2 ~@2 a2@2 ~@2 a2@2 ~@2 a2@3 ~ a2@2 ~@2 a2@2 ~@2 b2@2", B: "~@2 c#3@2 ~@2 d3@3 ~@23",
  C: "~@25 a3@2 ~@2 b3@2 ~", D: "~ c#4@2 ~@2 d4@2 ~@25", E: "~@25 d3@3 ~ e3@3", F: "~ f#3@2 ~@2 g3@3 ~@24",
  G: "~ c#4@2 ~@2 d4@3 ~@24", H: "~@25 e3@3 ~ f#3@2 ~", I: "~ g3@2 ~@2 a3@3 ~@24", J: "~@24 a2@3 ~ b2@3 ~",
  K: "c#3@2 ~@2 d3@3 ~@25", L: "~@23 a2@3 ~@2 b2@3 ~", M: "~@12 a3 ~ b3 ~", N: "c#4@2 ~@2 d4@3 ~@25",
  O: "[~@23 d3@3 ~@2 e3@2 ~ f#3@2 ~@2 g3@3 ~@26]/2", P: "[~@23 a3@2 ~@2 b3@2 ~@2 c#4@2 ~@2 d4@3 ~@26]/2",
  Q: "[~@23 e3@3 ~ f#3@2 ~@2 g3@2 ~@2 a3@3 ~@26]/2", R: "[~@23 a2@3 ~ b2@2 ~@2 c#3@2 ~@2 d3@3 ~@26]/2",
  S: "[~@22 d2@3 ~@2 e2@2 ~@2 f#2@2 ~@2 g2@2 ~@27]/2", T: "~@22 a2@3 ~ b2@3 ~ c#3@2", U: "~@2 d3@3 ~@27",
  V: "~@21 a2@3 ~ b2@3 ~ c#3@2 ~", W: "~ d3@3 ~@28", X: "~@21 d3@3 ~ e3@3 ~ f#3@2 ~", Y: "~ g3@3 ~@28",
  Z: "~@21 a3@2 ~@2 b3@2 ~@2 c#4@2 ~", AA: "~ d4@3 ~@28", AB: "~@21 e3@3 ~ f#3@3 ~ g3@3", AC: "~ a3@3 ~@28",
  AD: "~@20 a2@3 ~@2 b2@3 c#3@3 ~", AE: "d3 ~@7", AF: "~@20 b3@2 ~@2 b3@2 ~ a3 d4@4", AG: "g4@8 e4@3 ~ g4@4 ~@16",
  AH: "~@4 e4@3 ~ g4@2 ~@2 a#4@8 a4@4 g4@2 e4 ~ d4@3 ~",
  AI: "[~@4 d4@4 b3@3 ~ a3@3 ~ f4@3 ~ f#4@4 a4@4 f#4@8 e4@4 d4@4 b3@4 d4@2 ~@2 d4@4 ~@8]/2",
  AJ: "~@2 a3 ~ b3@3 ~ d4@3 ~ e4@2 ~@2 f4@4 e4@3 ~ d4@4 b3@2 ~@2",
  AK: "~@2 a3 ~ b3@3 ~ d4@4 e4@4 f4@4 e4@4 d4@4 b3@3 ~", AL: "e4@4 ~@12 e4@5 ~@11",
  AM: "a4@17 ~@3 [a2,b2]@3 ~ b2@4 c#3@4", AN: "d3 ~@31", AO: "[~@20 a2@2 ~ b2@3 ~ c#3@2 ~@2 d3@3 ~@30]/2",
  AP: "[~@19 d3@3 ~ e3@3 ~ f#3@3 ~ g3@3 ~@30]/2", AQ: "[~@19 a3@3 ~ b3@3 ~ c#4@3 ~ d4@3 ~@30]/2",
  AR: "[~@19 e3@3 ~ f#3@3 g3@3 ~@2 a3@3 ~@30]/2", AS: "[~@19 a#2 ~@2 b2@3 ~ c#3@3 ~@2 d3@3 ~@30, ~@18 a2@5 ~@41]/2",
  AT: "~@18 e3@3 ~ f#3@3 ~ g3@3 ~ a3@2", AU: "[~@18 a2@3 ~ b2@3 ~ c#3@3 ~ d3@4 ~@30]/2",
  AV: "~@18 a2@3 ~ b2@3 c#3@3 ~ d3@3", AW: "~@17 a2@3 ~@2 b2@3 c#3@3 ~ d3@3", AX: "~@17 a2@3 ~ b2@3 ~ c#3@3 ~ d3@3",
  AY: "~@17 a2@3 ~ b2@3 c#3@3 ~@2 d3@3", AZ: "~ a2@2 ~@2 b2@3 d3@3 ~@21",
})).s("gm_baritone_sax").gain(0.72).pan(0.2)

// chords · piano · "*EXTRACT"
const piano = note("<~@13 A B C D E F G@5 ~@9 H I J K L M N O P Q R ~@33>".pickRestart({
  A: "~@4 [d4,a4] ~@3 [d4,a4,d5] ~@3 [d4,d5]@2 ~@2 [d4,a4,d5] ~@3 [d4,a4,d5]@2 ~@2 [d4,a4,d5] ~@3 [d4,a4] ~@3, ~@4 d5@2 ~@6 a4 ~@15 d5@2 ~@2", // D5 D D5
  B: "[a4,d5] ~@3 [d4,a4] ~@3 [d4,d5]@2 ~@2 [d4,d5]@2 ~@2 [d4,b4] ~@3 [a4,d5] ~@3 [d4,a4,d5] ~@3 [d4,d5]@2 ~@2, d4@2 ~@2 d5@2 ~@2 a4 ~@3 [b4,c5] ~@3 d5@2 ~@2 d4@2 ~@6 a4 ~@3", // D5 D G D5 D Cmaj7
  C: "[d4,a4] ~@3 [d4,d5]@2 ~@2 [d4,a4,d5]@2 ~@2 [d4,b4,d5]@2 ~@2 [d4,b4,d5] ~@3 [d4,d5]@2 ~@2 [d4,a4,d5]@2 ~@2 [d4,a4] ~@3, d5@2 ~@2 a4 ~@7 c5 ~@7 a4 ~@7 d5@2 ~@2", // D5 D D5 G D D5
  D: "[d4,a4,d5] ~@3 [d4,a4,d5] ~@3 [d4,a4,d5] ~@3 [b4,d5] ~@3 [d4,d5]@2 ~@2 [d4,d5]@2 ~@2 [d4,a4] ~@3 [d4,a4] ~@3, ~@12 d4@2 ~@2 b4 ~@3 a4 ~@3 d5@2 ~@2 d5@2 ~@2", // D5 Bm D D5
  E: "[a4,d5] ~@3 [d4,f4,g4,b4]@2 ~@2 [d4,f4,g4,b4]@2 ~@2 [d4,f4,g4,b4]@2 ~@2 [d4,g4,b4]@2 ~@2 [d4,f4,g4,b4]@2 ~@2 [d4,f4,g4] ~@3 [d4,f4,g4,b4]@2 ~@2, d4@2 ~@14 f4 ~@7 b4@2 ~@6", // D5 G7 G G7
  F: "[f4,g4,b4] ~@3 [d4,f4,g4] ~@3 [d4,f4,g4,b4]@2 ~@2 [d4,f4,g4,b4]@2 ~@2 [d4,f4,g4] ~@3 [d4,g4] ~@3 [d4,g4] ~@3 [d4,g4] ~@3, d4 ~ b4 ~@5 b4 ~ b4 ~ b4 ~ b4 ~", // G7 G5
  G: "[[d4,g4,b4] ~@3 [d4,a4]@2 ~ [d4,a4] ~@3 [d4,d5]@2 ~@2 [d4,a4] ~@3 [d4,d5]@2 ~@2 [d4,d5]@2 ~@2 [d4,d5]@2 ~@2 [d4,b4,d5]@2 ~@2 [d4,d5]@2 ~@2 [d4,a4] ~@3 [d4,b4,d5]@2 ~@2 [d4,d5]@2 ~@2 [d4,d5]@2 ~@2 [d4,a4,d5] ~@3 [d4,d5]@2 ~@2 [d4,a4,d5]@2 ~@2 [e4,a4,c#5]@2 ~@2 [a4,c#5] ~@3 [e4,a4,c#5]@2 ~@2 [e4,a4] ~@3 [e4,a4,c#5] ~@3 [a4,c#5]@2 ~@2 [e4,a4,c#5]@2 ~@2 [e4,a4] ~@3 [d4,a#4,b4] ~@3 [d4,f4,g4]@2 ~@2 [d4,f4,b4]@2 ~@2 [f4,g4,b4] ~@3 [f4,g4,b4] ~@3 [f4,g4,b4] ~@3 [d4,f4,g4,b4]@2 ~@2 [f4,g4,b4] ~@3 [d4,a4,d5]@5 ~@24, ~@4 d5 ~@2 d5@2 ~@2 a4 ~@3 d5@2 ~@2 a4 ~@3 a4 ~@3 [a4,b4] ~@7 a4 ~@3 d5@2 ~@6 b4 ~@3 a4 ~@7 a4 ~@11 e4@2 ~@6 c#5@2 ~@6 e4 ~@7 c#5@2 ~@2 [f4,g4]@2 ~@2 [b4,c5] ~@3 g4 ~@3 d4@2 ~@2 d4@2 ~@2 d4@2 ~@6 d4@2 ~@2 e5@2 ~@27]/5", // G D5 D D5 D G D D5 …
  H: "~@2 [a3,f#4]@2 ~@2 [a3,d4,f#4] ~@3 [a3,d4,f#4]@2 ~@2 [a3,d4,f#4] ~@3 [a3,d4,f#4]@2 ~@2 [a3,d4,f#4] ~@3 [a3,d4,f#4]@2 ~@2 [a3,d4,f#4] ~, ~@2 d4 ~@29", // D
// … 204 more lines

More by Neil Sedaka