Strudelify
Big Dipper cover art

Central Park North

Big Dipper

Jones

KeyG majorTempo140 bpm
0:00/0:00
// Big Dipper — Jones
// 140 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 182 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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 · acoustic bass · "Jazz Bass"
const bass = note(`<
  ~@3 A B@2 C D B C E F G H I B J K L M N O P ~ I C D C Q R I S T U L V W O X Y Z AA AB F Q AC AD S AE K L AF AG AH AI
  AJ AK D B C R AL E AM AN AO AP AQ AR AS M AT B I E F H AL I C AU AV L AW N AX AY Y AZ BA BB E R@2 BC E AE H AP BD BE
  BF AI AJ C I E@2 G H C E AU U BG BH BI BJ BK BL C I AK B G AC I B AU R BM BN BO BP AW BQ BR B E B H AC B BS BT BU BV
  BW AG BX BY BZ CA CB CC CD AK@2 B E Z CE BB CF R CG CH AM J H L CI CJ CK ~@2 AI CL CM@3 ~
>`.pickRestart({
  A: "~@3 d3", B: "g2@6 a2@5 ~ a#2@5 ~ b2@4 g2@2", C: "g2@3 ~ g1 ~ f2@5 ~ e2@6 d2@4 g2@2", D: "g2@3 d3@3 g3@3 d3@2 g#2",
  E: "g2@5 ~ f2@5 ~ e2@6 d2@4 g2@2", F: "g2@4 g1 ~ f2@5 ~ e2@6 ~@4 c#2@2, ~@3 d2", G: "c2@3 g2@3 c3@3 g2@2 c#2",
  H: "c2@5 ~ a#1@5 ~ a1@6 g1@4 c2@2", I: "g2@5 ~ a2@5 ~ a#2@5 ~ b2@4 g#2 ~", J: "d2@5 ~ c2@5 ~ b1@6 a1@4 d2@2",
  K: "c2@3 g2@3 c3@3 g2@2 b1", L: "a#1@3 ~ a#0 ~ g#1@5 ~ g1@6 f1@4 a#1@2", M: "a1@4 a0@2 d#2@6 d2@5 ~ d2@6",
  N: "g2@5 ~ g2@5 ~ f#2@5 ~ f#2@5 ~", O: "b1@2 b0 f2@3 e2@2 e1 a#1@3", P: "a1@3 d#2@3 d2@2 ~ f#2@2 g2",
  Q: "c2@4 c1 ~ a#1@5 ~ a1@6 ~@4 c#2@2, ~@3 g1", R: "c2@6 d2@5 ~ d#2@5 ~ e2@4 c2@2",
  S: "g2@5 ~ a2@5 ~ a#2@5 ~ b2@4 d#2 ~", T: "d2@5 ~ e2@5 ~ f2@5 ~ f#2@4 c#2 ~", U: "c2@5 ~ d2@5 ~ d#2@5 ~ e2@4 b1 ~",
  V: "a1@6 d#2@6 d2@5 ~ d2@5 ~", W: "g2@3 g2@3 f#2@3 a#2@2 f#2", X: "a1@4 a1@6 a0 ~ d2@4 d1@2 c2@6",
  Y: "b1@4 e2@7 ~ a1@4 d2@6 d1 ~", Z: "g2@4 d2@7 ~ g2@4 g2@6 g1 ~", AA: "c2@4 g2@6 g1 ~ c2@6 g#2@6",
  AB: "g2@6 b2@4 g2@2 g2@5 ~ d2@5 ~", AC: "c2@4 c1 ~ a#1@5 ~ a1@6 ~@4 g#2@2, ~@3 g1",
  AD: "g2@4 g1@2 g2@6 g2@4 g1 ~ d2@5 ~", AE: "d2@3 a2@3 d3@3 a2@2 c#2", AF: "a1@5 ~ a1@5 ~ d#2@4 d2@6 d1 ~",
  AG: "g2@4 g1@2 g2@6 f#2@5 ~ f#2@6", AH: "b1@2 b0 f2@3 e2@2 e1 f2@3", AI: "~ a#1", AJ: "d#2@5 g#1@4 g#1@2 g1",
  AK: "g2@4 g1 ~ f2@5 ~ e2@6 ~@4 g#2@2, ~@3 d2", AL: "c2@3 g2@3 c3@3 g2@2 g#2",
  AM: "g2@4 g1 ~ f2@5 ~ e2@6 ~@4 d#2@2, ~@3 d2", AN: "d2@3 ~ d1 ~ c2@5 ~ b1@6 a1@4 d2@2",
  AO: "c2@3 ~ c1 ~ a#1@5 ~ a1@6 g1@4 c2@2", AP: "a#1@5 ~ c2@5 ~ c#2@5 ~ d2@4 a#1 ~", AQ: "a1@5 ~ a1@5 ~ d2@6 g#2@6",
  AR: "g2@5 ~ g2@4 g2@2 f#2@6 c2@6", AS: "b1@5 ~ b1@5 ~ e2@5 ~@5 a#1@2, ~@3 e2", AT: "g2@4 a#1@7 ~ a1@4 g#2@6 g#1 ~",
  AU: "d2@6 e2@5 ~ f2@5 ~ f#2@4 d2@2", AV: "c2@4 c1 ~ a#1@5 ~ a1@6 ~@4 b1@2, ~@3 g1", AW: "a1@5 ~ a1@5 ~ d2@5 ~ d2@5 ~",
  AX: "b1@5 ~ b1@6 e2@4 e1@2 e2@6", AY: "a1@4 a1@6 a0 ~ d2@6 f#2@4 d2@2", AZ: "g2@4 d2@6 d1 ~ g2@4 g2@6 g1 ~",
  BA: "c2@4 g2@7 ~ c2@5 ~@5 g#2@2, ~@3 c2", BB: "g2@5 ~ g2@6 g2@4 g1 ~ d2@4 d1 ~", BC: "g2@6 g#2@6 g2@5 ~ d2@4 d1 ~",
  BD: "a1@5 ~ a1@6 d#2@4 d#1 ~ d2@5 ~", BE: "g2@5 ~ g2@5 ~ f#2@6 c2@6", BF: "b1@2 b0 f2@3 e2@3 f2@3",
  BG: "a#1@4 a#0 ~ g#1@5 ~ g1@6 ~@4 a#1@2, ~@3 f1", BH: "a1@5 ~@5 d#2@2 d2@5 ~ d2@5 ~, ~ a1 ~@2",
  BI: "g2@2 g1 g2@3 f#2@3 a#2@2 f#2", BJ: "b1@6 f2@6 e2@5 ~ e2@6", BK: "a1@5 ~@5 d#2@2 d2@4 d1@2 g#2@6, ~ a1 ~@2",
  BL: "g2@4 a#1@7 ~ a1@4 g#2@7 ~", BM: "a#1@5 ~ g#1@5 ~ g1@6 f1@4 a#1@2", BN: "a1@2 a0 d#2@3 d2@2 d1 g#2@3",
  BO: "g2@5 ~ g2@6 f#2@4 f#1@2 c2@6", BP: "b1@5 ~ b1@5 ~ e2@5 ~ e2@5 ~",
  BQ: "g1@4 ~@2 a#1@4 a#1@2 a1@3 ~ a1@2 g#1@3 ~ g#1@2", BR: "g2@3 d3@3 g3@3 d3@2 g#2, g1 ~@11",
  BS: "g2@3 d3@3 g3@3 d3@2 d#2", BT: "d2@4 a1@6 a0 ~ d2@5 ~@5 c#2@2, ~@3 d2", BU: "c2@4 g2@7 ~ c2@5 ~@5 b1@2, ~@3 c2",
  BV: "a#1@4 f2@6 f1 ~ a#1@5 ~ a#1@6", BW: "a1@5 ~@5 d#2@2 d2@5 ~@5 g#2@2, ~ a1 ~ d2", BX: "b1@2 e2@3 e1 b1@3 a#1@2 ~",
  BY: "~@2 a1", BZ: "a#1@9 ~ b1@8 c2@3 ~@3", CA: "~@2 c#2", CB: "c2@9 ~ b1@8 a#1@3 ~@3", CC: "~@2 f2",
  CD: "e2@9 ~ d#2@8 d2@6", CE: "c2@4 g2@7 ~ c2@4 c1@2 g#2@6", CF: "g2@5 ~ a2@5 ~ a#2@5 ~ b2@4 c#2 ~",
  CG: "c2@5 ~ d2@5 ~ d#2@5 ~ e2@4 g#2 ~", CH: "g2@6 b2@4 g2@2 g2@5 ~ d2@4 d1 ~", CI: "a1@5 ~ a1@6 d#2@4 d2@6 ~@2",
  CJ: "g2@6 g2@6 f#2@5 ~ f#2@6", CK: "a#1@5 ~ a#1@6 d#2@6 d#2@6", CL: "b1@10 e2@8 ~ d#2@3 ~@2",
  CM: "[~@16 g#1@3 ~@3 g1@50]/3",
})).s("gm_acoustic_bass").gain(0.5).pan(0.4)

// chords · piano
const piano = note(`<
  ~@4 A B C D C B E F G H I J K H L M N O P ~ Q B Q R H S T U V W X Y Z AA AB AC AD AE AF AG H AH AI AJ AK AL AM AN AO
  AP AQ AR AS C AT AG AU@2 AV AW K AX AY AZ BA BB BC BD BE AS AT BF BG AX AT BH BI BJ BK BL BM BN BO BP BQ BR BS BF BT
  BU BV BW V BG BX BY BZ CA CB CC AJ Q CD AG CE CF E I CG W CH CI CJ CK CL CM CN BH Q CO CP CQ AJ J CR W X CS CT CU CV
  CW CX CY CZ DA CE S I BH DB DC DD DE DF DG ~@6 DH@2 DI DH DJ DK DL DM DN DO DP DI DQ DR DS DT DU@2 ~@8
>`.pickRestart({
  A: "[f3,a3,b3,e4]@5 ~", B: "[f3,b3,d4,a4]@9 ~ [f3,b3,d4,a4]@2 ~@12", C: "[f3,b3,d4,a4]@17 ~@7",
  D: "[f3,b3,d4,a4]@5 ~", E: "[f3,a3,b3,e4]@10 ~@2 [f3,a3,b3,e4]@3 ~ g2@2 [f3,a3,b3,e4]@2 ~@4",
  F: "[f3,g#3,b3,d#4]@10 ~@2 [f3,g#3,b3,d#4]@3 ~ g2@2 [f3,g#3,b3,d#4]@2 ~@4", G: "[e3,a3,a#3,d4]@5 ~",
  H: "[e3,a3,a#3,d4]@17 ~@7", I: "[f3,b3,d4,g4]@9 ~ [f3,b3,d4,g4]@2 ~@12",
  J: "~@10 g2@2 [f3,a3,b3,e4]@4 g2@2 [f3,a3,b3,e4]@3 ~@3", K: "[f#3,g#3,c4,e4,b4]@9 ~ [f#3,g#3,c4,e4,b4]@2 ~@12",
  L: "~@10 a#2@2 [g#3,c4,d4,f4]@4 a#2@2 [g#3,c4,d4,f4]@3 ~@3", M: "[g3,c#4,e4,c5]@5 ~ [f#3,a3,c4,d4]@5 ~",
  N: "[f3,b3,e4,a4]@10 ~@6 [e3,a#3,c#4,f#4]@5 ~@3", O: "[a3,d#4,g4,c5]@5 ~ [g#3,b3,d4,e4]@5 ~",
  P: "~@4 [g3,c#4,f4,a#4]@5 ~@3 [f#3,g#3,c4,e4,b4]@4 [b3,d4,g4]@8", Q: "[f3,b3,e4,a4]@17 ~@7",
  R: "[f3,b3,d4,a#4]@17 ~@7", S: "[e3,a#3,c4,g4]@5 ~", T: "~@10 g2@2 [f3,b3,d4,g4]@4 g2@2 [f3,b3,d4,g4]@3 ~@3",
  U: "[f3,g3,b3,d4]@9 ~ [f3,g3,b3,d4]@2 ~@12", V: "[f#3,c4,e4,b4]@5 ~",
  W: "~@10 c3@2 [e3,a#3,d4,a4]@4 c3@2 [e3,a#3,d4,a4]@3 ~@3", X: "[g#3,c4,d4,g4]@5 ~",
  Y: "[g3,c#4,f4,a4]@10 ~@6 [f#3,c4,f4,a4]@5 ~@3", Z: "[f3,b3,e4,a4]@6 b3@2 f4@2 g4 ~ [e3,a#3,d#4,g#4]@3 ~@9",
  AA: "[a3,b3,d#4,g4]@6 d#4@2 a4@2 b4 ~ [g#3,c4,d4,f4]@3 ~@9", // D#aug Dm7b5
  AB: "[g3,c#4,e4,a4]@2 [g3,b3,c#4,f4]@4 [f#3,a3,c4,d4]@5 ~", // A7 G7 D7
  AC: "[a3,d#4,f#4,c5] [g#3,b3,d4,f#4]@2 [g3,c#4,e4,a#4] [f#3,g#3,b3,c4,e4]@2", // Adim G#m7b5 Gdim E
  AD: "[b3,d4,g4] [f3,c4,e4,a4]@2 [f3,g3,b3,d4] [f3,g#3,b3,d#4]@2", // G Fmaj7 G7 Fm7b5
  AE: "[e3,a3,c4,g4]@4 [f3,g#3,b3,d#4]@8 [e3,a#3,c4,g4]@3 ~@9", // Am7 Fm7b5 C7
  AF: "[f3,a3,b3,e4] ~@3 [f3,b3,e4,a4]@2 [f#3,g#3,c4,e4,b4]@2", AG: "[f3,b3,d#4,g#4]@5 ~",
  AH: "~@10 c3@2 [e3,a#3,c4,g4]@4 c3@2 [e3,a#3,c4,g4]@3 ~@3", AI: "[f3,g3,b3,d4]@5 ~ [f3,b3,e4,a4]@3 [f#3,c4,d4,a4]@3",
  AJ: "[f3,b3,d4,g4]@5 ~", AK: "[f#3,b3,c4,e4]@17 ~@7",
  AL: "[e3,a#3,d4,g4]@10 ~@2 [e3,a#3,d4,g4]@3 ~ c3@2 [e3,a#3,d4,g4]@2 ~@4", // Em7b5
  AM: "~@10 a#2@2 [g#3,c4,d4,g4]@4 a#2@2 [g#3,c4,d4,g4]@3 ~@3", // G#maj7
  AN: "[g3,c#4,f4,a#4]@5 ~ [g3,c#4,f4,c5]@2 [f#3,g#3,b3,c4,e4]@4", // Gm7b5 Csus4 E
  AO: "[f3,b3,d4,a4]@6 b3@2 f4@2 g4 ~ [e3,a#3,d#4,g#4]@6 a#3@2 e4@2 f#4 ~", // Bm7b5 Emaj7
  AP: "[a3,d#4,g4,c5]@5 ~ [g#3,c#4,d4,f#4]@5 ~", AQ: "~@6 [a3,c4,d4,f4]@5 ~",
  AR: "[g3,d4,f4,a#4] [g3,c4,d#4,a#4] ~@2 [f3,g3,b3,d4]@2", AS: "[f3,b3,e4,a4]@9 ~ [f3,b3,e4,a4]@2 ~@12",
  AT: "[f3,b3,e4,a4]@5 ~", AU: "[e3,a#3,d4,a4]@17 ~@7", AV: "[f3,b3,d4,g4]@17 ~@7",
  AW: "~@10 g2@2 [f3,b3,d4,a4]@4 g2@2 [f3,b3,d4,a4]@3 ~@3", // Bm7b5
  AX: "[e3,a#3,c4,g4]@10 ~@2 [e3,a#3,c4,g4]@3 ~ c3@2 [e3,a#3,c4,g4]@2 ~@4", // C7
  AY: "[g#3,c4,d4,g4]@10 ~@2 [g#3,c4,d4,g4]@3 ~ a#2@2 [g#3,c4,d4,g4]@2 ~@4", // G#maj7
  AZ: "[g3,c#4,f4,a#4]@3 ~@9 [f#3,a3,c4,d4]@6 c4@2 f#4@2 a4 ~", // Gm7b5 D7
  BA: "[f3,b3,e4,a4]@6 b3@2 f4@2 g4 ~ [e3,f#3,a#3,c#4]@3 ~@9", BB: "[a3,b3,d#4,f#4]@5 ~ [g#3,d4,f#4,b4]@5 ~",
  BC: "[g3,c#4,f4,a#4]@10 ~@2 [f#3,a3,c4,d4]@3 ~@9", BD: "[b3,d4,g4] [a#3,d4,f4]@2 [a3,c#4,e4] [c4,d#4,g#4]@2",
  BE: "~@10 g2@2 [f3,b3,e4,a4]@4 g2@2 [f3,b3,e4,a4]@3 ~@3", BF: "[f3,b3,d#4,g#4]@17 ~@7", BG: "[e3,a#3,c4,g4]@17 ~@7",
  BH: "[f3,b3,e4,a4]@10 ~@2 [f3,b3,e4,a4]@3 ~ g2@2 [f3,b3,e4,a4]@2 ~@4", BI: "[f#3,c4,e4,a4]@5 ~",
  BJ: "~@10 c3@2 [e3,a#3,d4,g4]@4 c3@2 [e3,a#3,d4,g4]@3 ~@3", BK: "[g#3,d4,g4,c5]@9 ~ [g#3,d4,g4,c5]@2 ~@12",
  BL: "[g3,c#4,f4,c5]@6 c#4@2 g4@2 a4 ~ [f#3,a#3,c4,d#4]@3 ~@9", BM: "[f3,b3,e4,a4]@3 ~@9 [e3,f#3,a#3,c#4]@10 ~@2",
  BN: "[a3,d#4,g4,c5]@5 ~ [g#3,d4,f4,c5]@5 ~", BO: "[g3,a3,c#4,e4]@4 [g3,c#4,f4,a4]@8 [f#3,c4,d4,a4]@6 c4@2 f#4@2 a4 ~",
  BP: "[a3,c4,d#4,g4] [g#3,d4,f4,c5]@2 [g3,c#4,e4,a4] [f#3,g#3,b3,c4,e4]@2", // Am7b5 Dm7b5 A7 E
  BQ: "[g3,b3,d4] [f3,c4,d4,a4]@2 [f3,a3,b3,e4] [f3,g#3,b3,d#4]@2", // G Dm7 Fmaj7 Fm7b5
  BR: "[e3,a#3,d4,a4]@4 [f3,g#3,b3,d#4]@8 ~@4 [e3,a#3,d4,a4]@5 ~@3", // Dsus2 Fm7b5 Dsus2
  BS: "[f3,b3,e4,a4] ~@3 [f3,b3,e4,a4]@2 [f#3,c4,e4,b4]@2", BT: "[e3,a#3,c4,g4]@9 ~ [e3,a#3,c4,g4]@2 ~@12",
  BU: "~@10 c3@2 [e3,a3,a#3,d4]@4 c3@2 [e3,a3,a#3,d4]@3 ~@3", BV: "[f3,a3,b3,e4]@5 ~ [f3,b3,e4,a4]@3 [f#3,c4,d4,a4]@3",
  BW: "[f3,g3,b3,d4]@17 ~@7", BX: "~@10 a#2@2 [g#3,d4,f4,a#4]@4 a#2@2 [g#3,d4,f4,a#4]@3 ~@3",
  BY: "[g3,c#4,e4,a#4]@5 ~ [g3,c#4,f4,c5]@3 [f#3,a3,c4,d4]@3", // Gdim Csus4 D7
  BZ: "[f3,b3,d4,g4]@6 b3@2 f4@2 g4 ~ [e3,f#3,a#3,d4]@10 ~@2", CA: "[a3,d#4,g4,c#5]@5 ~ [g#3,c#4,d4,f#4]@5 ~",
  CB: "~@4 [a3,d4,f4,c5] ~@3", CC: "[g3,d4,f4,a#4]@4 [g3,c4,d#4,a#4]@11 ~ [f3,b3,e4,a4]@8",
  CD: "[f3,b3,d4,g4]@10 ~@2 [f3,b3,d4,g4]@3 ~ g2@2 [f3,b3,d4,g4]@2 ~@4", // G7
  CE: "[e3,a3,a#3,d4]@10 ~@2 [e3,a3,a#3,d4]@3 ~ c3@2 [e3,a3,a#3,d4]@2 ~@4", // Dsus2
  CF: "[e3,a#3,d4,g4]@9 ~ [e3,a#3,d4,g4]@2 ~@12", CG: "[f#3,g#3,c4,e4,b4]@17 ~@7", CH: "[g#3,c4,d4,g4]@17 ~@7",
  CI: "[g3,c#4,f4,a#4]@5 ~ [f#3,c4,e4,b4]@5 ~", CJ: "[f3,b3,e4,a4]@6 b3@2 f4@2 g4 ~ [e3,g#3,a#3,d#4]@10 ~@2",
  CK: "[a3,c4,d#4,g4]@5 ~ [g#3,d4,f4,c5]@5 ~", CL: "[g3,a#3,c#4,f4]@6 c#4@2 g4@2 a4 ~ [f#3,g#3,b3,c4,e4]@10 ~@2",
  CM: "[g3,b3,d4] [a#3,d4,f4]@2 [c#4,e4,a4] [c4,d#4,g#4]@2", CN: "[f3,a3,b3,d4]@17 ~@7",
  CO: "[f3,b3,d#4,g#4]@10 ~@2 [f3,b3,d#4,g#4]@3 ~ g2@2 [f3,b3,d#4,g#4]@2 ~@4", // Fm7b5
  CP: "~@10 c3@2 [e3,g3,a#3,c4]@4 c3@2 [e3,g3,a#3,c4]@3 ~@3", // C7
  CQ: "[e3,a#3,d4,a4]@10 ~@2 [e3,a#3,d4,a4]@3 ~ c3@2 [e3,a#3,d4,a4]@2 ~@4", // Dsus2
  CR: "[f#3,c4,d4,a4]@9 ~ [f#3,c4,d4,a4]@2 ~@12", CS: "[g3,a3,c#4,e4]@6 c#4@2 g4@2 a4 ~ [f#3,c4,e4,a4]@10 ~@2",
  CT: "[f3,b3,d4,g4]@6 b3@2 f4@2 g4 ~ [e3,a#3,c#4,f#4]@6 a#3@2 e4@2 f#4 ~", // G7 F#7
  CU: "[a3,d#4,g4,c5]@6 d#4@2 a4@2 b4 ~@5 [g#3,d4,f4,c5]@5 ~@3", // Am7b5 Dm7b5
  CV: "[g3,a#3,c#4,e4]@6 c#4@2 g4@2 a4 ~ [f#3,g#3,c4,e4,b4]@6 c4@2 f#4@2 a4 ~", // Gdim E
  CW: "[g3,b3,d4] [d4,f4,a#4]@2 [c#4,e4,a4] [c4,d#4,g#4]@2", CX: "~@10 g2@2 [f3,a3,b3,d4]@4 g2@2 [f3,a3,b3,d4]@3 ~@3",
  CY: "[f3,b3,d4,a4]@10 ~@2 [f3,b3,d4,a4]@3 ~ g2@2 [f3,b3,d4,a4]@2 ~@4", CZ: "[f3,g3,b3,d4]@5 ~",
  DA: "[f3,b3,d#4,g#4]@9 ~ [f3,b3,d#4,g#4]@2 ~@12", // Fm7b5
  DB: "[f#3,c4,e4,a4]@4 [g3,b3,c4,e4]@8 [f#3,c4,e4,b4]@6 c4@2 f#4@2 a4 ~", // F#m7b5 Cmaj7 Esus2
  DC: "[e3,a#3,d4,a4]@4 [f3,g3,a#3,d4]@8 [e3,a#3,d4,a4]@3 ~@9", // Dsus2 Gm7 Dsus2
  DD: "[g#3,c4,d4,g4]@4 [g#3,c4,d#4,g4]@8 [g#3,d4,g4,c5]@6 d4@2 g#4@2 a#4 ~", // G#maj7
  DE: "[g3,c#4,f4,a#4]@10 ~@2 [f#3,c4,d4,a4]@3 ~@9", DF: "[f3,a3,b3,d4]@3 ~@13 [e3,a#3,d#4,g#4]@5 ~@3",
  DG: "[a3,c4,d#4,g4]@4 ~@6 [g#3,d4,f#4,c#5]@5 ~@3 [g#3,d4,f4,c5]@6", DH: "[b3,f4,a4,e5]@9 ~ [b3,f4,a4,e5]@2 ~@12",
  DI: "[b3,f4,a4,e5]@5 ~", DJ: "[b3,d4,g4] [c4,d4,f4,a4]@2 [b3,f4,g4,d5] [b3,d#4,f4,a4]@2",
  DK: "[a#3,e4,a4,d5]@4 [b3,f4,g#4,d#5]@8 [a#3,d4,e4,a4]@3 ~@9", // A#maj7 Fm7b5 A#maj7
  DL: "[b3,f4,a4,e5]@6 b3@2 f4@2 g4 ~ [b3,e4,f4,a4]@6 [c4,f#4,b4,e5]@6", DM: "[b3,f4,g#4,d#5]@5 ~",
  DN: "[a#3,e4,g4,c5]@10 ~@2 [a#3,e4,g4,c5]@3 ~ c3@2 [a#3,e4,g4,c5]@2 ~@4", // C7
  DO: "~@10 c3@2 [a#3,e4,a4,d5]@4 c3@2 [a#3,e4,a4,d5]@3 ~@3", DP: "[b3,e4,f4,a4]@5 ~ [b3,f4,a4,d5]@3 [c4,d4,f#4,a4]@3",
  DQ: "[c4,f#4,b4,e5,g#5]@5 ~", DR: "[a#3,e4,a4,d5]@17 ~@7", DS: "[g#3,d4,f4,a#4]@17 ~@7",
  DT: "[g3,c#4,f4,a#4]@3 ~@9 [g3,c#4,f4,c5]@4 [f#3,c4,d4,a4]@8", DU: "[~@4 g2@26 f#3@4 b2@8 e3@3 ~@3, ~ g3@6 ~@5]/2",
})).s("gm_piano").gain(0.39).pan(0.6)

// other · alto sax
const alto_sax = note(`<
  ~@20 A B@2 ~ C@3 D E F C G H I J K L M@3 N O@2 ~ P Q R S T U V W X Y Z AA ~@16 C@3 D E F C G H I J K ~@4 N O@2 ~ P Q R
  S T U V W X Y Z AA ~@50 AB AC AD@3 ~ N O@2 ~ P Q R S T U V W X Y ~@2 Z AE AF@3 ~
>`.pickRestart({
  A: "~@4 e4@3 ~@5 d#4@3 ~ d#4@2 d#4@3 ~@3", B: "[~@4 d4@3 ~@3 c4@6 c4@2 c4@4 f4@14 e4@10 e4@2]/2", C: "~@3 a3@2 a3@7",
  D: "~@3 b3@2 e4@4 ~@3", E: "~@3 g4@2 a4@7", F: "~@3 e4@2 d4@7", G: "~@3 b3@2 e4@7", H: "~@3 d4@2 e4@7",
  I: "~@3 d4@2 d4@7", J: "~@3 c4@2 c4@7", K: "f#4@10 f4@13 ~", L: "~@4 e4@3 ~@3 d#4@7 ~ d#4@3 ~@3",
  M: "[~@5 d4@4 ~ c4@12 f4@6 d#4 c#4@4 ~ c4@3 ~@9 g4@8 f4@3 f#4@2 ~ e4@4 b3@2 d#4@4 d4@2]/3",
  N: "~@6 f4@2 ~@4 f4@4 f4@2 b3@3 ~@3", O: "[a#3@2 b3 ~@2 a#3@4 a#3@2 a3@10 c4@2 b3]/2", P: "~ f4@5",
  Q: "d#4@2 d4@2 b3@2 a#3@12 a#3@3 ~@3", R: "~@5 b3@4 c4@2 b3", S: "~@16 e4@2 f#4@2 f4@2 e4 ~",
  T: "d#4@2 e4@5 c4 f#4 e4 ~@2", U: "c#4@2 d4@5 a#3 e4 d4 ~@2", V: "b3@4 c4@10 g#3@2 d4@2 c4@3 ~@3",
  W: "~@2 f#4 ~@2 c#4@4 d4@3", X: "b3 ~@3 d4@4", Y: "d#4@5 c4@7", Z: "~ g4", AA: "c4@18 c4@3 ~ b3@2", AB: "~@2 d#4",
  AC: "d4@5 c#4@4 c4@2 ~", AD: "[f4@2 ~ d4@69, ~ e4 ~@34]/3", AE: "g4@5 g4@4 f4 ~@2", AF: "[~@16 a4@3 ~@3 g#4@50]/3",
})).s("gm_alto_sax").gain(0.48).pan(0.3)

// other · tenor sax
const tenor_sax = note(`<
  A B@2 C@3 ~@14 D E@2 ~ F@3 G H I F J K L M N O P@3 Q R@2 ~ S T U V W X Y Z AA AB ~@18 F@3 G H I F J K L M N ~@4 Q R@2
  ~ S T U V W X Y Z AA AB ~@50 AC@2 AD AE AF@3 ~ Q R@2 ~ S T U V W X Y Z AA AB ~@2 AG AH AI@3 ~
>`.pickRestart({
  A: "d4@8 f4 ~@2 d4", B: "[c#4@4 g3@3 ~@3 g3@6 d4@6 a4@5 ~ f4@2 d4@4 g4@6 a#4@3 ~@3 g4@2, ~@27 g#4@2 ~@19]/2",
  C: "[c#5@2 c5@2 g4 ~ a#4@2 g4@2 f4 ~ f#4@2 g4@2 d4@2 c#4@2 d4@2 ~@2 e3@4 f3@44, ~@23 g3@2 ~@47]/3",
  D: "~@4 b3@3 ~@5 a#3@4 a#3 ~ a#3@3 ~@3", E: "[~@4 a3@2 ~@4 g#3@5 ~ g#3@2 g#3@4 c#4@14 c4@10 b3@2]/2",
  F: "~@3 f3@2 f3@7", G: "~@3 f3@2 b3@4 ~@3", H: "~@6 d4@4 d4@13 ~", I: "~@3 b3@2 a#3@7", J: "~@3 f3@2 b3@7",
  K: "~@3 c4@2 c4@7", L: "~@3 a#3@2 a#3@7", M: "~@6 g#3@4 g#3@13 ~", N: "c#4@10 c4@13 ~",
  O: "~@4 b3@3 ~@3 a#3@7 ~ a#3@4 ~@2",
  P: "[~@6 a3@4 g#3@12 c#4@8 c4@4 b3@2 ~@10 d4@8 c4@4 c#4@2 b3@4 ~ b3@4 ~ a3@2, ~@32 g3 ~@3]/3",
  Q: "~@6 e4@3 ~@3 e4@3 ~ e4@2 a#3@3 ~@3", R: "[a3@4 ~ a3@2 ~@3 a3@8 a3@4 f3@20 b3@4 a3@2]/2", S: "~ e4@5",
  T: "b3@2 a#3@2 a#3@2 a3@12 a3@3 ~@3", U: "~@10 a3@7 b3@4 ~ a3@2", V: "~@8 b3 c#4 c4 b3",
  W: "b3@3 ~ c4@10 b3@2 c#4@2 c4@2 ~@4", X: "a3@4 a#3@10 a3 ~ b3@2 a#3@3 ~@3", Y: "g3@4 g#3@10 g3@2 a3@2 g#3@3 ~@3",
  Z: "~@4 c#4@2 ~@4 c4@8 c4@5 ~", AA: "a3 ~@3 a#3@4", AB: "d4@5 g#3@7",
  AC: "[~ c4@2 ~ g3@2 a3@4 e3@2 g3@36, a#3@2 ~ a#3@2 ~@43]/2", AD: "~@2 a3", AE: "g#3@10 g3@8 f#3@3 ~@3",
  AF: "[c#4 c4 b3@34]/3", AG: "~ e4", AH: "d#4@10 d4@8 c#4@3 ~@3", AI: "[~@16 f#4@3 ~@3 f4@50]/3",
})).s("gm_tenor_sax").gain(0.48).pan(0.3)

// other · tenor sax
const tenor_sax_2 = note(`<
  ~@20 A B@2 ~ C@3 D E F C G H I J K L M@3 N O@2 ~ P Q R S T U V W X Y Z AA ~@16 C@3 D E F C G H I J K ~@4 N O@2 ~ P Q R
  S T U V W X Y Z AA ~@39 AB@2 AC AD AE AF@4 AG@2 AH AI AJ@3 ~ N O@2 ~ P Q R S T U V W X Y ~@2 Z AK AL@3 ~
>`.pickRestart({
  A: "~@4 f3@3 ~@5 e3@3 ~ e3@2 e3@3 ~@3", B: "[~@2 d#3 ~@2 d3@3 d3 d3@2 g3@7 f#3@5 d3]/2", C: "~@3 e3@2 d3@7",
  D: "~@3 e3@2 a3@4 ~@3", E: "~@6 a#3@4 a#3@13 ~", F: "~@3 a3@2 g3@7", G: "~@3 e3@2 a3@7", H: "~@6 b3@4 b3@13 ~",
  I: "~@3 a3@2 a3@7", J: "~@3 g3@2 g3@7", K: "g3@10 f#3@13 ~", L: "~@4 f3@2 ~@4 e3@7 ~ e3@4 ~@2",
  M: "[~@6 d#3@4 d3@12 g3@8 g3@3 ~ f#3@3 ~@9 a3@8 g#3@3 ~ g#3@2 g3@3 ~ f#3@2 f#3@3 ~ f3@2]/3",
  N: "~@6 c4@3 ~@3 b3@3 ~ b3@2 f3@3 ~@3", O: "[e3@4 f3@2 ~@4 e3@7 ~ e3@4 d3@20 f#3@4 f3@2]/2", P: "~@4 a#3@19 ~",
  Q: "a#3@2 a3@2 f3@2 e3@12 e3@3 ~@3", R: "~@5 f3@4 f#3@2 f3", S: "~@8 a3 b3 a#3 a3",
  T: "f3@4 f#3@9 ~ f#3@2 g3@2 f#3@2 ~@4", U: "d#3@4 e3@9 ~ e3@2 f3@2 e3@2 ~@4", V: "c#3@4 d3@9 ~ d3 ~ d#3@2 d3@3 ~@3",
  W: "~@2 g3 ~@2 g3@4 f#3@3", X: "f3 ~@3 e3@4", Y: "a3@5 d3@7", Z: "~ d4", AA: "f3@5 a#3@4 a#3@2 a3",
  AB: "[~@9 b3@2 a3@7 ~@2 d3 e3@2 d3]/2", AC: "g3@6 ~@9 c4@2 ~ d#4 ~@2 c#4@2 c4, ~@10 d4 ~", AD: "f4@3 ~",
  AE: "~@2 b3 ~@2 d3@4 e3@2 d3", AF: "[~@8 a3@2 e3@2 g3@35 a#3@2 c4@2 a#3 g3@2 a3@4 e3@2 g3@36]/4",
  AG: "[a#3@2 ~ a#3@2 ~ a3@4 e3@2 g3@35 ~, ~@2 c4@2 ~ g3@2 ~@41]/2", AH: "~@2 c3", AI: "b2@10 a#2@8 a2@3 ~@3",
  AJ: "[c4 b3 a3@34]/3", AK: "a3@5 g#3@4 g3 ~@2", AL: "[~@16 f4@3 ~@3 e4@50]/3",
})).s("gm_tenor_sax").gain(0.48).pan(0.3)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  ~@4 A@4 ~@12 B C@2 ~ D@3 E F@2 D G H F I J K L@3 M N@2 ~ O P Q R S T U V W X Y Z ~@16 D@3 E F@2 D G H F I J ~@4 M N@2
  ~ O P Q R S T U V W X Y Z ~@39 AA@2 AB@2 AC AD@2 AE@2 AF@2 AG AH AI@3 ~ M N@2 ~ O P Q R S T U V W X ~@2 Y AJ AK@3 ~
>`.pickRestart({
  A: "~@10 e4@3 ~@11", B: "~@4 g3@3 ~@5 f3@5 ~ f3@3 ~@3", C: "[~@4 b3@3 ~@3 e3@5 ~ e3@2 e3@4 a3@14 d4@10 g3@2]/2",
  D: "~@3 c4@2 b3@7", E: "~@3 c4@2 f4@4 ~@3", F: "~@3 f4@2 e4@7", G: "~@3 c4@2 f4@7", H: "~@3 g4@2 f#4@7",
  I: "~@3 d#4@2 d4@7", J: "a3@10 d4@13 ~", K: "~@4 g3@2 ~@4 f#3@7 ~ f#3@3 ~@3",
  L: "[~@6 b3@4 e3@12 a3@7 ~ a3@4 d4@3 ~@9 d#4@8 d4@4 d4@2 c#4@3 ~ c#4@2 c4@3 b3@3]/3",
  M: "~@6 d4@2 ~@4 g3@3 ~ g3@2 g3@2 ~@4", N: "[c4@2 g3 ~@2 c4@4 c4@2 g3@10 d3@2 g3]/2", O: "~ c4@5",
// … 228 more lines