Strudelify

Scrapple from the Apple

Parker Charlie

KeyF majorTempo172 bpm
0:00/0:00
// Scrapple from the Apple — Parker Charlie
// 172 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 152 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(172/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 · acoustic bass · "Jazz Bass"
const bass = note(`<
  A@4 B@2 C@2 D E F G H I J K L M D N O I P Q R S T U V W X@2 F M Y G O Z AA AB AC AD AE@2 AF L AG F AH AI Z AJ AK D G L
  G Q AL AM AI AN S AO U AP AQ AR E D G L AG Q AS AT Q Y M Y AU AV AW J AK F G D AH AX I AA AY AN S AZ BA BB AQ BC E D
  AG L AH Q AL BD AI BE@4 BF BG@2 BH D AG BI BJ BK BL BM BN BO@2 BP BQ BR BS BT BU BV BW BX BY BZ CA CB@2 CC@2 CD CE CF
  CG CH CI@2 CJ@2
>`.pickRestart({
  A: "[~@18 c2@23 ~ c2@33 ~ g2@2 bb2@4 c3@2 bb2@4 g2@4 bb2@2 c3@2]/4", B: "f2/2",
  C: "[g2@3 ~ f2@2 ~@4 g2@2 f2@3 ~ bb2@2 ~@4 ab2@26]/2", D: "g2@6 d2@4 g2 ~ g2@3 ~ c2@5 ~@2 c1",
  E: "c2@6 d2@6 e2@5 ~ ab2@4 ~@2", F: "g2@5 ~ g2@4 ~@2 g2@3 ~@2 c2@6 ~", G: "~@6 e2@4 c1 ~ g2@5 ~ c3@4 ~@2, c2@5 ~@7",
  H: "c2@5 ~ c2@4 ~@2 f2@6 c2@4 f2 ~", I: "g2@6 d2@4 g2 ~ c2@6 g2@4 c2 ~", J: "f2@6 c2@4 f2 ~ g2@5 ~ g2@4 ~@2",
  K: "a1@5 ~ a1@4 ~@2 ab2@2 bb3 ~ b3 ~ [c4,gb4]@4 ~@2", L: "g2@5 ~ g2@4 ~@2 g2@3 ~ c2@5 ~@2 c1",
  M: "c2@6 bb1@6 a1@6 ab2@5 ~", N: "c2@6 bb1@6 a1@6 db2@5 ~", O: "c2@5 ~ c2@4 ~@2 f2@5 ~ f2@4 ~@2",
  P: "f2@5 ~ f2@4 ~@2 g2@5 ~ c2@3 ~@2 c1", Q: "f2@4 f1 ~ a2@6 bb2@5 ~ f2@3 ~@3", R: "e2@5 ~ e2@4 ~@2 e2@3 ~@2 a1@6 ~",
  S: "a1@6 g1@6 f1@6 eb2@5 ~", T: "d2@6 a2@4 d2 ~ eb2@3 ~@2 d2@6 ~", U: "d2@4 d1 ~ gb2@6 g2@5 ~ d2@3 ~@3",
  V: "g2@3 ~@2 g1 d2@3 ~ g2@7 ~ g2@4 ~@2", W: "ab2@6 eb2@4 ab2 ~ g2@2 a3 ~ bb3 ~ [b3,f4]@4 ~@2",
  X: "[g2@3 ~ f2@2 ~@4 g2@2 f2@3 ~ bb2@2 ~@4 a2@26]/2", Y: "g2@6 d2@4 g2 ~ g2@3 ~@2 c2@6 ~",
  Z: "g2@6 d2@4 g2 ~ c2@5 ~ c2@4 ~@2", AA: "f2@5 ~ f2@4 ~@2 g2@3 ~@2 g1 c2@5 ~", AB: "f2@4 f1 ~ a2@6 bb2@5 ~@7",
  AC: "~@4 f3@7 ~ ab3@2 ~@10", AD: "~@4 f3@7 ~ eb3@2 ~@10",
  AE: "[~@6 ab3@2 ~@4 f3@3 ~ eb3@2 ~@4 c3@7 ~ bb2@4 ~@2 g2@3 ~ a2@5 ~@3]/2", AF: "c3@4 ~@2 a2@6 g2@5 ~ c2@3 ~@3",
  AG: "c2@4 c1 ~ e2@6 f2@5 ~ c2@3 ~@3", AH: "c2@6 d2@6 e2@5 ~ gb2@4 ~@2", AI: "~@6 a2@4 f1 ~ c3@5 ~ f3@4 ~@2, f2@5 ~@7",
  AJ: "f2@6 c2@4 f2 ~ g2@2 a3 ~ bb3 ~ [bb3,f4]@4 ~@2", AK: "a1@5 ~ a1@4 ~@2 d2@5 ~ d2@4 ~@2",
  AL: "g2@5 ~ g2@4 ~@2 c2@5 ~ c2@4 ~@2", AM: "f2@6 c2@4 f2 ~ g2@5 ~ c2@3 ~@2 c1",
  AN: "a1@6 e2@4 a1 ~ e2@3 ~ a1@5 ~@2 a0", AO: "d2@6 a2@4 d2 ~ eb2@3 ~ d2@5 ~@2 d1",
  AP: "g2@5 ~ g2@4 ~@2 d2@6 a2@4 d2 ~", AQ: "g2@6 f2@6 e2@6 db2@5 ~", AR: "c2@6 g2@4 c2 ~ db2@3 ~@2 c2@6 ~",
  AS: "g2@5 ~ g2@4 ~@2 c2@6 g2@4 c2 ~", AT: "f2@6 c2@4 f2 ~ c2@3 ~ f2@5 ~@2 f1", AU: "c2@6 bb1@6 a1@6 gb2@5 ~",
  AV: "f2@6 e2@6 d2@6 ab2@5 ~", AW: "g2@5 ~ g2@4 ~@2 c2@2 d3 ~ eb3 ~ [e3,bb3]@4 ~@2", AX: "f2@6 g2@6 a2@5 ~ ab2@4 ~@2",
  AY: "f2@6 e2@6 d2@6 bb1@5 ~", AZ: "d2@5 ~ d2@4 ~@2 eb2@3 ~ d2@6 ~@2", BA: "d2@6 c2@6 b1@6 ab2@5 ~",
  BB: "g2@6 d2@4 g2 ~ d2@5 ~ d2@4 ~@2", BC: "c2@5 ~ c2@4 ~@2 db2@3 ~ c2@5 ~@2 c1",
  BD: "f2@5 ~ f2@4 ~@2 c2@3 ~ f2@5 ~@2 f1",
  BE: "[c3@3 ~@3 g2@4 c2@3 ~@3 g2@2 bb2@4 c3@4 ~@4 g2@4 c2@3 ~@3 g2@2 bb2@4 c3@4 ~@4 g2@4 c2@3 ~@3 g2@2 bb2@4 c3@4 ~@4 g2@4 c2@3 ~@3 g2@2 c3@4 ~@2]/4",
  BF: "eb3@3 d3@2 eb3 ~@2 eb3@4", BG: "[d3@4 eb3@7 ~ a2@2 ~@4 ab2@4 g2@7 ~ bb2@4 g1 ~ d3@5 ~ g3@4 ~@2]/2",
  BH: "eb2@3 ~ c2@5 ~@2 c1 c2@6 g2@4 c2 ~", BI: "f2@3 ~ bb1@5 ~ ab2@5 ~ g2@5 ~@2 g1",
  BJ: "g2@6 d2@4 g2 ~ gb2@3 ~ f2@5 ~@2 f1", BK: "f2@5 ~ f2@4 ~@2 g2@6 d2@4 g2 ~",
  BL: "a1@3 ~ eb2@5 ~@2 ab2@3 bb3 ~ b3 ~ [c4,gb4]@4 ~@2", BM: "g2@6 d2@4 g2 ~ g2@6 d2@4 g2 ~",
  BN: "c2@5 ~ db2@3 ~@2 db1 c2@2 d3 ~ eb3 ~ [e3,bb3]@4 ~@2", // Edim
  BO: "[g2@6 a2@6 bb2@5 ~ db2@3 ~@2 c2@7 d2@6 e2@5 ~ gb2@4 ~@2]/2", BP: "f2@5 ~ f2@3 ~ ab2@5 ~ g2@5 ~@2 g1",
  BQ: "g2@6 d2@4 g2 ~ gb2@2 ab3 ~ a3 ~ [bb3,e4]@4 ~@2", BR: "f2@5 ~ f2@4 ~@2 gb2@5 ~ gb2@4 ~@2",
  BS: "f2@5 ~ f2@4 ~@2 f2@5 ~ a1@3 ~@2 a0", BT: "a1@6 e2@4 a1 ~ e2@3 ~ a1@6 ~@2", BU: "a1@6 g1@6 f1@6 bb1@5 ~",
  BV: "a1@5 ~ a1@3 ~@2 a0 eb2@3 ~ d2@6 ~@2", BW: "d2@5 ~ eb2@5 ~ d2@5 ~ d2@4 ~@2", BX: "g2@6 a2@6 b2@5 ~ ab2@4 ~@2",
  BY: "~@6 b2@4 g1 ~ d3@5 ~ g3@4 ~@2, g2@5 ~@7", BZ: "c2@3 ~ db2@5 ~ c2@5 ~ db2@5 ~@2 db1",
  CA: "c2@5 ~ db2@3 ~@2 db1 c2@5 ~ c2@4 ~@2", CB: "[g2@6 f2@6 e2@6 db2@4 c3@5 ~ c2@8 eb2@5 eb1 d2@4 g2@2]/2",
  CC: "[~@4 gb2@8 g2@4 ~@2 db2@4 c2@7 ~ bb1@6 a1@6 db2@5 ~]/2", CD: "c2@6 d2@6 e2@5 ~ b1@4 ~@2",
  CE: "bb1@5 ~ bb1@4 ~@2 eb2@6 bb1@4 eb2 ~", CF: "a1@5 ~ a1@4 ~@2 ab2@5 ~ ab2@4 ~@2",
  CG: "g2@6 d2@4 g2 ~ c2@6 g2@4 c3 ~", CH: "f3@3 ~ ab3@7 ~ f3@2 ~@4 eb3@2 ~@4",
  CI: "[f3@3 ~ eb3@2 ~@4 c3@2 f2@3 ~ bb2@2 ~@4 ab2@24 ~@2]/2", CJ: "[~@5 f1@19]/2",
})).s("gm_acoustic_bass").gain(0.33).pan(0.4)

// chords · piano
const piano = note(`<
  A@4 B@2 C@2 D E F G H I J K L M N O P Q R S T U V W X Y Z@2 AA M AB AC P AD AE ~ AF AG AH@3 AI AJ AK AL AM AN AO AP AQ
  E AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BE BW BX BR BY BZ CA CB
  CC CD CE CF CG CH CI CJ CK CL G CA CM CN BM CO@4 CP CQ@2 CR CS CT CU CV CW CX CY CZ DA@2 DB DC DD DE DF CC DG DH DI DJ
  DK DL DM DN DO@2 DP DQ DR DS DT DU@2 DV@2
>`.pickRestart({
  A: "[f5@4 eb5@7 ~ f5@2 ~@10 ab5@4 gb5@7 ~ ab5@2 ~@10 f5@4 eb5@2 ~@4 f5@2 eb5@2 ~@14 [g2,g3]@2 [bb2,bb3]@4 [c3,c4]@2 [bb2,bb3]@4 [g2,g3]@4 [bb2,bb3]@2 [c3,c4]@2, ~@18 [c2,c3]@23 ~ [c2,c3]@33 ~@21, ~@66 c5@29 ~]/4", // G Bb C Bb G Bb C
  B: "[f5@4 eb5@7 ~ f5@2 ~@4 ab5@3 ~ gb5@2 ~@4 ab5@7 ~ f5@3 ~ eb5@2 ~@4 f5@2, [f2,f3]]/2", // F
  C: "[[g2,d3,f3]@3 ~@19 [ab2,eb3,gb3]@26]/2", D: "[f3,bb3,f4,g4,d5]@11 ~@6 [e3,bb3,d4,a4]@6 ~",
  E: "bb3@15 ~@5 e4@2 a4 ~, [e4,a4,d5]@18 bb3@5 ~, e3@12 ~@4 e3@7 ~", // Dsus2
  F: "~ g2@3 [f3,bb3,d4,a4]@2 ~@11 [e3,bb3,db4,ab4]@6 ~", G: "~@12 [e3,bb3,db4,g4]@3 ~@2 [e3,bb3,db4,g4]@2 ~@5",
  H: "~@12 [e3,a3,e4,g4,c5]@11 ~", I: "[f3,bb3,f4,a4,d5]@11 ~@2 [bb3,e4,a4,e5,d6]@4 ~@7, ~@3 a5 ~@2",
  J: "~@4 [e3,a3,c4,g4]@2 ~@6 [f3,bb3,f4,g4,d5]@11 ~", K: "~ a2@3 [g3,c4,e4,b4]@2 ~@10 [gb3,c4,f4,bb4]@2 ~@6",
  L: "[f3,bb3,f4,g4,d5]@11 ~@6 [e3,a3,bb3,d4]@6 ~", M: "~@4 [e3,bb3,d4,a4] ~@7 [e3,bb3,d4,a4]@11 ~",
  N: "~@4 [f3,bb3,d4,a4]@2 ~@6 [f3,bb3,d4,g4]@3 ~@2 [e3,g3,bb3,db4]@6 ~", // Bbmaj7 Gm7 Edim
  O: "~@4 [e3,bb3,db4,g4] ~@7 [e3,bb3,db4,g4]@11 ~", P: "~@13 [a3,e4,g4,e5,c6]@4 ~@7, ~@3 g5 ~@2",
  Q: "~ g2@3 [f3,bb3,d4,a4]@2 ~@7 c3@3 [e3,bb3,d4,g4]@2 ~@6", // Bbmaj7 Em7b5
  R: "~ [a3,e4,g4,e5,c6]@4 ~@7 [f3,a3,bb3,d4]@4 ~@2 [e3,g3,bb3,db4]@4 ~@2, g5 ~@5", // Am7 Bbmaj7 Edim
  S: "~@5 e4 g4@4 ~ c5@5 ~ f2 [a3,e4,g4,c5]@3 ~@3, a3@2 ~", // Am7
  T: "~ [g3,b4]@3 g3@2 ~@2 gb4 ~ b4 ~ gb4@2 ~@3 [g3,db4,gb4,b4]@6 ~, [d4,gb4]@4 ~@3 d4@2 ~@15", // G Gmaj7 D
  U: "~@12 [g3,db4,f4,bb4]@3 ~@2 [g3,db4,f4,bb4]@2 ~@5", // Gm7b5
  V: "~ [c4,gb4,bb4,gb5,d6]@4 ~@7 [g3,db4,f4,c5]@3 ~@6 [gb3,c4,e4,b4]@2 ~, bb5 ~@5", // Daug Csus4 Esus2
  W: "~ c4@15 ~@4 gb4@2 bb4 ~, [bb4,d5]@9 c4@2 ~, ~ gb4@18 ~@5, ~ gb3@13 ~@2 gb3@6 ~@2", // Bb
  X: "[f3,a3,b3,e4]@4 ~@2 [e3,bb3,db4,g4]@3 ~@4 [b3,d5]@3 b3@2 ~@2 a4 ~ d5 ~, ~@11 a4@6 ~@7, ~@12 f4@4 ~@3 f4@2 ~@3", // Fmaj7 Edim Bm
  Y: "~ [c4,eb5]@3 c4@2 ~@2 bb4 ~ eb5 ~ [f3,b3,f4,a4,e5]@11 ~, [gb4,bb4]@4 ~@3 gb4@2 ~@15", // Cm Fmaj7 Gb
  Z: "[[g2,d3,f3,bb3,f4,a4,c5]@3 ~@19 [ab2,eb3,gb3,bb3,c4,f4,ab4]@26]/2", // Gm7 Ab7
  AA: "~ [bb3,d5]@3 bb3@2 ~@2 g4 ~ d5 ~@6 [e3,bb3,d4,a4]@6 ~, [f4,g4]@4 ~@3 f4@2 ~@15", // Bb Dsus2 Fsus2
  AB: "~@4 [f3,bb3,d4,g4]@2 ~@6 [f3,bb3,d4,g4]@3 ~@2 [e3,bb3,db4,ab4]@6 ~", // Gm7 Bbm7b5
  AC: "~@12 [e3,bb3,db4,ab4]@3 ~@2 [e3,bb3,db4,ab4]@2 ~@5", AD: "~@4 [f3,g3,bb3,d4]@2 ~@7 c3@3 [e3,bb3,d4,g4]@2 ~@6",
  AE: "~ f3@3 [e3,g3,a3,c4]@2 ~@6 [f3,g3,bb3,d4]@4 ~@2 [e3,bb3,db4,ab4]@4 ~@2", // Am7 Gm7 Bbm7b5
  AF: "~@4 [a3,d4,eb4,g4,a4,c5,d5,f5]@7 ~ [c4,f4,gb4,bb4,c5,eb5,f5,ab5]@2 ~@10", // Am7b5 Cm7b5
  AG: "~@4 [a3,d4,eb4,g4,a4,c5,d5,f5]@7 ~ [g3,c4,db4,f4,g4,bb4,c5,eb5]@2 ~@10", // Am7b5 Gm7b5
  AH: "[~@6 [c4,f4,gb4,bb4,c5,eb5,f5,ab5]@2 ~@4 [a3,d4,eb4,g4,a4,c5,d5,f5]@3 ~ [g3,c4,db4,f4,g4,bb4,c5,eb5]@2 ~@4 [e3,g3,bb3,d4,e4,gb4,a4,c5]@50]/3", // Cm7b5 Am7b5 Gm7b5 Em7b5
  AI: "[f3,bb3,f4,g4,d5]@11 ~ [bb3,f4,a4,d5]@3 ~@2 [bb3,e4,g4,d5]@6 ~", // Gm7 Bbmaj7 Em7b5
  AJ: "~@5 e4 g4@4 ~ d5@5 ~ c3 [bb3,e4,g4,d5]@3 ~@3, bb3@2 ~", // Em7b5
  AK: "[f3,c4,f4,a4,d5]@11 ~ [c4,d4,f4,a4]@3 ~@3 ab4@2 e4 d4 ~ bb3", // Dm7
  AL: "~@12 [bb3,db4,e4,ab4]@3 ~@2 [bb3,db4,e4,ab4]@2 ~@5", AM: "~@4 [a3,d4,g4,c5] ~@7 [a3,d4,g4,c5]@11 ~",
  AN: "~ [bb3,f4,g4,f5,d6]@4 ~@11 [bb3,db4,e4,ab4]@2 ~@6, g5 ~@5", // Gm7 Bbm7b5
  AO: "[e3,a3,e4,g4,c5]@11 ~@2 [bb3,f4,g4,f5,d6]@4 ~@7, ~@3 g5 ~@2", // Am7 Gm7
  AP: "~@4 [g3,c4,e4,a4]@2 ~@7 [c4,gb4,bb4,gb5,e6]@4 ~@7, ~@3 bb5 ~@2", // Am7 C7
  AQ: "[f3,bb3,f4,g4,d5]@11 ~ [f3,bb3,d4,g4]@3 ~@2 [e3,bb3,d4,a4]@6 ~", // Gm7 Dsus2
  AR: "[f3,bb3,f4,g4,d5]@11 ~ [f3,bb3,d4,g4]@3 ~@2 [e3,bb3,c4,ab4]@6 ~", // Gm7 Eaug
  AS: "~@12 [e3,ab3,bb3,db4]@3 ~@2 [e3,ab3,bb3,db4]@2 ~@5", AT: "~@12 [d3,a3,c4,g4]@3 ~@2 [d3,a3,c4,g4]@2 ~@5",
  AU: "~ [bb3,f4,a4,f5,d6]@4 ~@8 [bb3,e4,g4,e5,d6]@4 ~@7, a5 ~@2 g5 ~@2", // Bbmaj7 Em7b5
  AV: "~ [a3,c5]@3 a3@2 ~@2 g4 ~ c5 ~ [f3,bb3,d4,a4]@4 ~@2 [e3,bb3,d4,a4]@4 ~@2, [e4,g4]@4 ~@3 e4@2 ~@15", // Am Bbmaj7 Dsus2 Em
  AW: "~ a3@15 ~@4 e4@2 g4 ~, [g4,c5]@9 a3@2 ~, ~ e4@18 ~@5, ~ e3@13 ~@2 e3@6 ~@2", // C5
  AX: "[db3,g3,db4,e4,b4]@11 ~@10 [g3,db4,gb4,bb4]@2 ~", AY: "~@4 [g3,db4,gb4,bb4] ~@7 [g3,db4,gb4,bb4]@11 ~",
  AZ: "~@4 [gb3,c4,e4,b4]@2 ~@6 [g3,db4,f4,c5]@3 ~@2 [gb3,bb3,c4,d4]@6 ~", // Esus2 Csus4 Gbaug
  BA: "~@4 [gb3,b3,c4,e4] ~@7 [gb3,b3,c4,e4]@11 ~", BB: "~@4 [f3,b3,e4,a4]@2 ~@7 d3@3 [f3,c4,e4,a4]@2 ~@6",
  BC: "~@4 [f3,b3,e4,ab4] ~@7 [f3,b3,e4,ab4]@11 ~", BD: "~ c3@3 [e3,a3,bb3,d4]@2 ~@12 g4@2 e4 d4 ~ bb3",
  BE: "~ bb3@15 ~@4 e4@2 g4 ~, [g4,d5]@9 bb3@2 ~, ~ e4@18 ~@5, ~ e3@13 ~@2 e3@6 ~@2", // G5
  BF: "~ g2@3 [f3,bb3,d4,g4]@2 ~@6 [f3,g3,bb3,d4]@3 ~@2 [e3,a3,bb3,d4]@6 ~", // Gm7 Dsus2
  BG: "~@4 [e3,bb3,d4,g4] ~@7 [e3,bb3,d4,g4]@11 ~", BH: "~@4 [f3,bb3,d4,g4]@2 ~@15 [e3,bb3,db4,ab4]@2 ~",
  BI: "~ bb3@15 ~@4 e4@2 ab4 ~, [ab4,db5]@9 bb3@2 ~, ~ e4@18 ~@5, ~ e3@13 ~@2 e3@6 ~@2", // Db5
  BJ: "~@4 [e3,g3,a3,c4] ~@7 [e3,g3,a3,c4]@11 ~", BK: "[f3,bb3,f4,a4,d5]@11 ~@2 [bb3,e4,g4,e5,db6]@4 ~@7, ~@3 g5 ~@2",
  BL: "~ f3@3 [e3,a3,c4,g4]@2 ~@6 [f3,bb3,d4,a4]@3 ~@2 [e3,a3,c4,g4]@6 ~", // Am7 Bbmaj7 Am7
  BM: "a3@15 ~@5 e4@2 g4 ~, [e4,g4,c5]@18 a3@5 ~, e3@12 ~@4 e3@7 ~", // C
  BN: "~ g2@3 [f3,g3,bb3,d4]@2 ~@6 [f3,bb3,d4,g4]@3 ~@2 [e3,bb3,d4,a4]@6 ~", // Gm7 Dsus2
  BO: "~@12 [e3,a3,bb3,d4]@3 ~@2 [e3,a3,bb3,d4]@2 ~@5", BP: "~@4 [f3,c4,d4,a4]@2 ~@6 a4@2 ~@3 [e3,bb3,d4,a4]@6 ~",
  BQ: "~@4 [e3,ab3,bb3,db4] ~@7 [e3,ab3,bb3,db4]@11 ~", // Bbm7b5
  BR: "~ a3@15 ~@4 d4@2 g4 ~, [g4,c5]@9 a3@2 ~, ~ d4@18 ~@5, ~ d3@13 ~@2 d3@6 ~@2", // C5
  BS: "~ g2@3 [f3,a3,bb3,d4]@2 ~@6 [e3,bb3,e4,ab4,db5]@11 ~", BT: "~ f3@3 [e3,a3,c4,g4]@2 ~@6 [f3,bb3,f4,g4,d5]@11 ~",
  BU: "~ [g3,c4,e4,c5,b5]@4 ~@11 [gb3,ab3,b3,c4,e4]@2 ~@6, e5 ~@5", // Cmaj7 E
  BV: "~ [bb3,f4,g4,f5,d6]@4 ~@16 [e3,a3,bb3,d4]@2 ~, g5 ~@5", BW: "~ g2@3 [f3,bb3,d4,a4]@2 ~@11 [e3,bb3,c4,ab4]@6 ~",
  BX: "~@12 [e3,bb3,eb4,ab4]@3 ~@2 [e3,bb3,eb4,ab4]@2 ~@5", // Emaj7
  BY: "~ [bb3,f4,a4,f5,d6]@4 ~@8 c3@3 [e3,bb3,d4,a4]@2 ~@6, a5 ~@5", // Bbmaj7 Dsus2
  BZ: "~ f3@3 [e3,a3,c4,g4]@2 ~@6 [f3,bb3,d4,g4]@4 ~@2 [e3,bb3,d4,a4]@4 ~@2", // Am7 Gm7 Dsus2
  CA: "~ a3@15 ~@4 e4@2 g4 ~, [e4,g4,c5]@9 a3@2 ~, ~ e3@13 ~@2 e3@6 ~@2", // C
  CB: "~ a2@3 [g3,db4,gb4,b4]@2 ~@6 [g3,d4,e4,b4]@3 ~@2 [g3,db4,gb4,bb4]@6 ~", // Gmaj7 Em7 Gb
  CC: "g3@15 ~@5 db4@2 e4 ~, [db4,e4,bb4]@18 g3@5 ~, db3@12 ~@4 db3@7 ~", // Bbdim
  CD: "~ c4@3 c4@2 gb4@2 bb4 ~ e5 ~ f4@2 ~@7 [gb3,bb3,c4,d4]@2 ~, [gb4,bb4,e5] ~@5", // Gbaug Gb7
  CE: "~@12 [gb3,b3,c4,e4]@3 ~@2 [gb3,b3,c4,e4]@2 ~@5", CF: "~@2 [f3,a3,b3,e4] ~@5 [f3,a3,c4,d4] ~@3",
  CG: "~ b3@15 ~@4 f4@2 ab4 ~, [f4,ab4,d5]@9 b3@2 ~, ~ f3@13 ~@2 f3@6 ~@2", // Ddim
  CH: "[e3,bb3,e4,g4,d5]@11 ~@7 g4@2 e4 d4 ~ bb3", CI: "bb3@15 ~@5 e4@2 g4 ~, [e4,g4,d5]@18 bb3@5 ~, e3@12 ~@4 e3@7 ~",
  CJ: "~ g2@3 [f3,bb3,d4,g4]@2 ~@6 a4@2 ~@3 [e3,bb3,d4,g4]@6 ~", // Gm7 Em7b5
  CK: "~@5 e4 a4@4 ~ d5@5 ~ c3 [bb3,e4,a4,d5]@3 ~@3, bb3@2 ~", CL: "~ g2@3 [f3,bb3,d4,g4]@2 ~@11 [e3,ab3,bb3,db4]@6 ~",
  CM: "~ g2@3 [f3,g3,bb3,d4]@2 ~@7 c3@3 [e3,bb3,db4,a4]@2 ~@6", // Gm7 A
  CN: "~ a3@3 a3@2 e4@2 g4 ~ c5 ~ [f3,a3,bb3,d4]@3 ~@2 [e3,a3,c4,g4]@6 ~, [e4,g4,c5] ~@5", // Bbmaj7 Am7 C
  CO: "[c3@3 ~@3 g2@4 c2@3 ~@3 g2@2 bb2@4 c3@4 ~@4 g2@4 c2@3 ~@3 g2@2 bb2@4 c3@4 ~@4 g2@4 c2@3 ~@3 g2@2 bb2@4 c3@4 ~@4 g2@4 c2@3 ~@3 g2@2 c3@4 ~@2, [g4,bb4,d5]@9 ~ [g4,bb4,d5]@23 ~ [g4,bb4,d5]@23 ~ [g4,bb4,d5]@23 ~ [g4,bb4,d5]@13 ~]/4", // Gm
  CP: "[eb3,db4,gb4,bb4]@3 [d3,c4,f4,a4]@2 [eb3,db4,gb4,bb4] ~@2 [eb3,db4,eb4,g4]@4", // Ebm7 Dm7 Ebm7 Eb7
  CQ: "[[d3,a3,c4,d4,f4]@4 [eb3,bb3,db4,eb4,gb4]@7 ~ [a2,g3,c4,e4]@2 ~@4 [ab2,gb3,c4,f4]@4 [f3,bb3,d4]@11 ~@3 [f3,bb3,d4,a4]@3 ~@2 [f3,bb3,d4,a4]@2 ~@5, ~@22 g2@7 ~@19]/2", // Dm7 Ebm7 Am7 Fm Bb Bbmaj7
  CR: "[g3,db4,f4,c5]@3 ~@2 [bb3,e4,g4,d5]@6 ~@2 c3@3 [bb3,d4,e4,a4]@2 ~@6", // Csus4 Em7b5 Bbmaj7
  CS: "~ [bb3,f4,g4,d6]@4 ~@7 [bb3,f4,g4,d5]@3 ~@2 [bb3,e4,g4,db5]@6 ~, [f5,g5] ~@5", // Gm7 Bbdim Fsus2
  CT: "~@4 [bb3,e4,ab4,db5] ~@7 [bb3,e4,ab4,db5]@11 ~", // Bbm7b5
  CU: "~@5 [ab3,c4,d4,g4]@5 ~ [c4,f4,gb4,bb4]@5 ~ [bb3,f4,g4,d5]@6 ~", // Abmaj7 Fsus4 Gm7
  CV: "~ [bb3,f4,a4,d6]@4 ~@7 ab4@2 ~@3 [a3,d4,g4,c5]@6 ~, [f5,a5] ~@5", // Bbmaj7 Am7 F
  CW: "[d3,a3,d4,g4,c5]@11 ~@2 [bb3,f4,a4,d6]@4 ~@7, ~@3 [f5,a5] ~@2", // Dsus4 Bbmaj7 F
  CX: "[g3,a3,c4,e4]@3 ~@2 [gb3,bb3,db4,f4]@5 ~@6 [gb3,c4,f4,bb4]@2 ~@6", // Am7 Gbmaj7
  CY: "[g3,d4,g4,bb4,g5]@11 ~@2 g2@3 [f3,bb3,d4,g4]@2 ~@6", // Gm Gm7
  CZ: "[e3,bb3,d4,a4]@2 ~ [f3,ab3,b3,eb4]@2 ~@3 [e3,bb3,d4,a4] ~@3", // Dsus2 Fm7b5 Dsus2
  DA: "[~@4 [f3,bb3,d4,a4] ~@7 [f3,bb3,d4,a4]@10 ~@3 bb3@15 ~@4 e4@2 ab4 ~, ~@23 [ab4,d5]@21 ~@4, ~@12 e4@9 bb3@2 ~, ~@25 e3@13 ~@2 e3@6 ~@2]/2", // Bbmaj7 Abdim
  DB: "~@4 [eb3,g3,a3,b3,d4]@2 ~@5 [gb3,c4,f4,bb4]@5 ~@2 a4@2 f4 d4 ~ bb3", // G Gbmaj7
  DC: "~ [bb3,f4,g4,d6]@4 ~@8 [bb3,e4,ab4,d6]@4 ~@7, [f5,g5] ~@2 [e5,ab5] ~@2", // Gm7 Bb7 Fsus2 E
  DD: "~@2 [d3,a3,c4,g4] ~@5 [e3,bb3,eb4,ab4] ~@3", // Dsus4 Emaj7
  DE: "~@4 [d3,a3,c4,g4]@2 ~@9 [d3,a3,c4,g4]@2 ~ [ab3,eb4,g4,c5]@4 ~@2", // Dsus4 Abmaj7
  DF: "~ a2@3 [g3,d4,gb4,b4]@2 ~@6 [g3,b3,d4,gb4]@3 ~@6 [g3,db4,gb4,bb4]@2 ~", // Gmaj7 Gb
  DG: "~@3 [g3,db4,gb4,bb4]@2 ~ [g3,c4,e4,b4]@4 ~@2 f4@2 ~@7 [gb3,c4,d4,bb4]@2 ~", // Gb Cmaj7 Gbaug
  DH: "[gb3,ab3,c4,e4,b4]@2 ~ [g3,c4,db4,f4]@2 ~@3 [gb3,ab3,b3,c4,e4] ~@3", // E Csus4 E
  DI: "b3@15 ~@5 f4@2 a4 ~, [f4,a4,e5]@18 b3@5 ~, f3@12 ~@4 f3@7 ~", DJ: "~@12 [f3,b3,e4,a4]@3 ~@2 [f3,b3,e4,a4]@2 ~@5",
  DK: "[e3,bb3,d4,a4]@3 ~@2 [f3,bb3,b3,eb4]@5 ~ [e3,bb3,d4,a4]@5 ~ [f3,b3,eb4,bb4]@6 ~", // Dsus2 Ebsus2 Dsus2 Ebsus2
  DL: "~@3 [e3,bb3,d4,a4]@2 ~ [f3,b3,eb4,bb4]@4 ~@6 [e3,a3,bb3,d4]@2 ~@6", // Dsus2 Ebsus2 Dsus2
  DM: "[g2,f3,bb3,d4,f4,bb4]@11 ~ [g2,f3,bb3,d4,f4,bb4]@8 ~@2 [g3,g4]@2", // Gm7 G
  DN: "~@4 [e3,bb3,d4,gb4,a4,c5]@8 [eb3,g3,db4,g4,bb4]@5 ~ [d3,c4,gb4,a4]@4 [g3,d4,g4,bb4]@2", // D7 Eb7 D7 Gm
  DO: "[~@2 [a3,c4,eb4,gb4,a4]@4 [g3,b3,d4,f4,g4]@2 ~ [db3,f3,b3,eb4,ab4]@2 [c3,e3,bb3,d4,a4]@7 ~@6]/2", // Adim G7 Db7 Am
  DP: "~@16 [f2,f3]@7 ~", DQ: "~ ab3@3 ab3@2 db4@2 f4 ~ c5 ~@2 [g3,db4,f4,b5]@4 ~@7, [db4,f4,c5] ~@2 [db5,f5] ~@2",
  DR: "~ [g3,c4,e4,b5]@4 ~@8 ab2@3 [gb3,c4,f4,bb4]@2 ~@6, [c5,e5] ~@5", // Cmaj7 Gbmaj7 C
  DS: "~ [b3,f4,ab4,d6]@4 ~@8 c3@3 [e3,bb3,d4,a4]@2 ~@6, [f5,ab5] ~@5", // Bdim Dsus2 Fm
  DT: "[f4,f5]@3 ~ [ab4,ab5]@7 ~ [f4,f5]@2 ~@4 [eb4,eb5]@2 ~@4", // F Ab F Eb
  DU: "[[f4,f5]@3 ~ [eb4,eb5]@2 ~@4 [c4,c5]@2 [f3,f4]@3 ~ [bb3,bb4]@2 ~@4 [ab2,gb3,bb3,c4,f4,ab4]@24 ~@2]/2", // F Eb C F Bb Fm
  DV: "[~@5 [f2,c3,a3,eb4,ab4,d5]@19]/2", // F7
})).s("gm_piano").gain(0.39).pan(0.6)

// other · alto sax
const alto_sax = note(`<
  ~@6 A@2 ~@20 B C A@2 ~@29 D@2 E@2 F@2 G@2 ~@4 H I J@2 ~@16 D@2 E@2 F@2 G@2 ~@4 H I J@2 ~@4 K L@2 M ~ N@4 O P Q ~@2 R@2
  S T ~@4 U V W X ~ Y Z@2 AA AB@2 AC ~ AD@2 AE@2
>`.pickRestart({
  A: "[bb3@3 ~ ab3@2 ~@4 bb3@2 c4@3 ~ c4@2 ~@4 bb3@26]/2", B: "d4@6 e4@3 ~ f4@2 ~@4 e4@8", C: "c4@5 ~ c4@4 b3@13 ~",
  D: "[~@6 g4@5 bb4@13]/2", E: "[b4@6 a4@5 f4@13]/2", F: "[f4@6 f4@5 ab4@13]/2", G: "[a4@6 g4@5 d4@13]/2", H: "e4",
  I: "d4 db4", J: "[e4@6 d4@5 c4@13]/2", K: "gb4@3 f4@2 gb4 ~@2 eb4@4",
  L: "[d4@4 eb4@7 ~ c4@2 ~@4 c4@4 bb3@19 ~ g4@3 ~@3]/2", M: "bb4@9 ~ g4@2 ~@12",
  N: "[~@22 g4@11 ~ d4@7 ~ c4@4 d4@14 eb4@9 ~ d4@13 ~ d4@11 ~]/4", O: "e4@9 ~ db4@3 ~@3 f4@7 ~",
  P: "d4@11 ~ g4@4 gb4@2 eb4@4 gb4@2", Q: "e4@2 bb3 eb4@2 d4 ~@6",
  R: "[g4@3 ~ eb4@2 d4@2 eb4@2 d4@5 e4 [gb4,ab4] [bb4,c5] d5@4 bb4@13 ~ c5@4 bb4@3 ~ ab4@2 gb4@2]/2", // Gbsus2 Bbsus2
  S: "f4@4 g4@3 ~ c5@2 g4@2 c5@4 bb4@3 ~ ab4@2 gb4@2", T: "f4@2 gb4 g4@2 c5@4 ~@3",
  U: "d5 c5 a4 c5 a4 c5 d5 c5 a4 c5 a4 c5", V: "d5@2 c5@2 a4@2 c5@2 d5@2 a4@13 ~",
  W: "a4 g4 a4 g4 d4 g4 a4 g4 a4 g4 d4 g4", X: "a4@2 g4@2 a4@2 g4@4 d4@13 ~", Y: "~@4 a4@8 g4@5 ~ gb4@4 g4@2",
  Z: "[~@2 gb4@4 f4@2 bb3 eb4@2 d4@7 gb4@2 g4 gb4@2 g4]/2", AA: "~@4 eb4@3 ~@2 d4 eb4 ~ d4@11 ~",
  AB: "[f4@11 ~ e4@9 ~ e4@14 f4@12]/2", AC: "e4!2", AD: "[~@12 e4@3 ~ d4@2 ~@4 f4@24 ~@2]/2", AE: "[~@5 ab4@19]/2",
})).s("gm_alto_sax").gain(0.56).pan(0.4)

// other · tenor sax
const tenor_sax = note(`<
  A@4 B@2 C@2 ~@7 D ~@7 E F G@3 H I J@2 ~@7 K L M N O P ~@16 Q@2 R@2 S@2 T@2 U@2 V W ~@2 X@2 Y@2 Z@4 AA AB@2 AC AD@3
  AE@5 R@2 S@2 T@2 U@2 V W ~@2 X@2 AF AG AH AI AJ AK@2 AL AM@5 AN AO AP AQ ~ AR@2 AS AT AU@4 AV AW AX AY AZ BA BB@2 BC
  BD@2 BE BF BG@2 BH@2
>`.pickRestart({
  A: "[~@18 c3@23 ~ c3@33 ~ g3@2 bb3@4 c4@2 bb3@4 g3@4 bb3@2 c4@2]/4", B: "f3/2",
  C: "[f3@3 ~ eb3@2 ~@4 f3@2 ab3@3 ~ ab3@2 ~@4 gb3@26]/2", D: "c4!2", E: "~@5 a3 ~@2 c4@4", F: "a3",
  G: "[~@4 c4@2 a3@4 g3@2 a3@4 eb4@2 c4@4 a3@49 ~]/3", H: "b3@6 db4@3 ~ c4@2 ~@4 b3@8", I: "bb3@5 ~ bb3@4 a3@13 ~",
  J: "[f3@3 ~ eb3@2 ~@4 f3@2 ab3@3 ~ a3@2 ~@4 gb3@26]/2", K: "~@5 a3 ~@6", L: "~@7 f4 eb4 c4 bb3 c4",
// … 421 more lines

More by Parker Charlie