Strudelify

Now's the Time

Parker Charlie

KeyF majorTempo136 bpm
0:00/0:00
// Now's the Time — Parker Charlie
// 136 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 146 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(136/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 B C ~ A B C ~ D E D F G H I J K@3 L M E N@2 O P I Q R S T U V W X Y Z E AA AB AC AD AE AF AG AH I AI Z AJ AK AL AM
  AN AO AP D AQ@2 AR O AS AT AU@3 AE AV AR AW@2 AX AY AZ@2 BA AM BB T BC V BD M@2 BE BD BF BG AM BH BI BJ V BK@2 BL BM
  BN BO BP R BQ ~ BR V BK@2 BL BM BN BO BP R BQ ~@2 D E D F G H I J K@3 L M E N@2 O P I Q R S T U F BS BT BU@2
>`.pickRestart({
  A: "f2@2 ~@4 f2@17 ~", B: "bb1@2 ~@4 bb1@17 ~", C: "f2 ~@11", D: "f2@5 ~ eb2@5 ~ d2@6 c2@4 f2@2",
  E: "bb1@3 f2@3 bb2@3 f2@2 gb2", F: "f2@3 c3@3 f3@3 c3@2 b1", G: "bb1@6 c2@5 ~ db2@5 ~ d2@4 bb1@2",
  H: "bb1@5 ~ bb1@3 ~@3 bb1@4 ~@2 b1@5 ~", I: "c2@6 g2@5 ~ ab2@5 ~ a2@4 c2@2",
  J: "f2@4 f1 ~ e2@5 ~ d2@6 ~@4 ab2@2, ~@3 c2",
  K: "[g2@6 a2@5 ~ bb2@6 d3@4 c2@7 ~ d2@5 ~ eb2@5 ~ e2@4 f2@6 f1 ~ e2@5 ~ d2@6 ~@4 ab2@2, ~@11 c2]/3",
  L: "g2@4 ~@2 gb2@5 ~ g2@4 ~@2 c2@4 ~@2", M: "f2@3 ~ f1 ~ eb2@5 ~ d2@6 c2@4 f2@2",
  N: "[f2@3 ~ f1 ~ eb2@5 ~ d2@6 c2@4 f2@6 f1 ~ eb2@5 ~ d2@6 ~@4 b1@2, ~@7 c2]/2", O: "bb1@5 ~ ab1@5 ~ g1@6 f1@4 bb1@2",
  P: "bb1@4 bb0@2 b1@6 bb1@5 ~ b1@5 ~", Q: "f2@3 c3@3 f3@3 c3@2 ab2", R: "g2@6 a2@5 ~ bb2@6 d3@4 g2@2",
  S: "c2@3 g2@3 c3@3 g2@2 gb2", T: "f2@5 ~ e2@5 ~ d2@6 c2@4 f2@2", U: "g2@2 ~ gb2@2 ~ g2@2 ~ c2@2 ~",
  V: "f2@6 g2@5 ~ ab2@5 ~ a2@4 f2@2", W: "f2@4 f1 ~ e2@5 ~ d2@6 ~@4 gb2@2, ~@3 c2", X: "f2@4 ~@2 f2@5 ~ f2@6 a2@4 f2@2",
  Y: "f2@5 ~ f2@6 f2@4 ~@2 b1@5 ~", Z: "bb1@5 ~ c2@5 ~ db2@5 ~ d2@4 b1 ~", AA: "f2@5 ~ f2@6 f2@5 ~ c2@4 ~@2",
  AB: "f2@6 bb1@6 a1@4 ~@2 d2@5 ~", AC: "gb2@2 ~ g2@2 ~ g2@3 db2@3", AD: "c2@5 ~ bb1@5 ~ a1@6 g1@4 c2@2",
  AE: "f2@3 ~ f1 ~ e2@5 ~ d2@6 c2@4 f2@2", AF: "g2@4 b1@7 ~ c3@2 f2@2 c2@2 gb2@4 e2@2", AG: "f2@5 ~ f2@5 ~ eb2@6 b1@6",
  AH: "d2@6 c2@6 b1@5 ~@5 gb2@2, ~@3 b1", AI: "c2@5 ~ f2@4 f1@2 f2@6 b1@4 ~@2", AJ: "bb1@3 f2@3 bb2@3 f2@2 bb1",
  AK: "a1@5 ~ a1@5 ~ a1@5 ~ a1@6", AL: "a1@5 ~ a1@6 d2@6 ab2@6", AM: "g2@3 ~ g1 ~ a2@5 ~ bb2@6 d3@4 g2@2",
  AN: "c2@3 ~ c1 ~ bb1@6 a1@6 g1@4 gb2@2", AO: "f2@5 ~ g2@5 ~ ab2@5 ~ a2@4 ab2 ~",
  AP: "g2@4 ~@2 ab2@4 ~@2 g2@5 ~ c2@5 ~", AQ: "[bb1@6 c2@5 ~ db2@5 ~ d2@4 f2@6 ~@2 f2@3 ~@3 f2@4 ~@2 e2@5 ~]/2",
  AR: "f2@5 ~ g2@5 ~ ab2@5 ~ a2@4 b1 ~", AS: "bb1@5 ~ bb1@5 ~ bb1@4 ~@2 b1@4 ~@2",
  AT: "c2@4 c1 ~ e2@5 ~ d2@6 ~@4 bb1@2, ~@3 c2",
  AU: "[a1@6 a2@6 ab2@4 ab1@2 ab2@4 g2@5 ~ g1 ~ a2@5 ~ bb2@6 d3@4 c2@7 ~ d2@5 ~ eb2@5 ~ e2@4 gb2 ~]/3",
  AV: "g3@2 d3@2 g2@2 db2@4 b1@2 c2@5 ~ c2@6", AW: "[bb1@5 ~ c2@5 ~ db2@5 ~ d2@4 f2@7 ~ g2@5 ~ ab2@5 ~ a2@4 f2@2]/2",
  AX: "c2@3 gb2@3 f2@2 f1 b1@3", AY: "bb1@3 f2@3 bb2@3 f2@2 b1",
  AZ: "[bb1@5 ~ ab1@5 ~ g1@6 f1@4 f2@5 ~ f1 ~ e2@5 ~ d2@6 c2@4 f2@2]/2", BA: "a1@5 ~ a1@6 d2@5 ~ d2@6",
  BB: "c2@2 c1 c2@3 c3 g2 c2 gb2@2 e2", BC: "g2@4 ~@2 c2@4 ~@2 c2@5 ~@5 gb2@2, ~@3 c2",
  BD: "bb1@5 ~ c2@5 ~ db2@5 ~ d2@4 gb2 ~", BE: "bb1@4 bb0@2 b1@6 bb1@5 ~ bb1@6",
  BF: "f2@4 f1 ~ e2@5 ~ d2@6 ~@4 bb1@2, ~@3 c2", BG: "a1@5 ~ a1@4 d2@6 ~@2 d2@3 ~@3",
  BH: "c2@4 c1 ~ bb1@5 ~ a1@6 ~@4 gb2@2, ~@3 g1", BI: "f2@5 ~ f2@5 ~ d2@6 ab2@6", BJ: "g2@4 g1@2 d2@6 db2@4 ~@2 c2@5 ~",
  BK: "[bb1@5 ~ c2@5 ~ db2@5 ~ d2@4 f2@7 ~ f2@6 gb2@4 gb1@2 gb2@6]/2", BL: "f2@5 ~@5 gb2@2 f2@5 ~ b1@5 ~, ~ f2 ~@2",
  BM: "bb1@3 ~ bb0 ~ ab1@5 ~ g1@6 f1@4 bb1@2", BN: "bb1@5 ~ bb1@3 ~@3 b1@6 gb2@6",
  BO: "c3@2 c3@2 c2@2 bb1@4 ab1@2 a1@5 ~ a1@3 ~@3", BP: "d3@2 a2@2 d2@2 eb2@4 db2@2 d2@4 ~@2 ab2@5 ~",
  BQ: "c3 d3 c2 d2@2 c2 db2@2 c2 ~@2 f2", BR: "~@2 gb1", BS: "bb1@6 c2@6 b1@5 ~ b1@5 ~", BT: "c2 ~@11",
  BU: "[~@2 gb2 ~@3 f2@18]/2",
})).s("gm_acoustic_bass").gain(0.19).pan(0.4)

// bass · acoustic bass · "Jazz Bass" · soft notes
const bass_soft = note(`<
  ~@14 A ~@5 B ~@11 C ~@2 D E ~@2 F G H ~@6 I ~@7 J ~@2 K ~@2 L ~@17 M ~@7 N ~@3 O ~@5 P Q R ~@9 P Q R ~@9 A ~@5 B ~@11
  C ~@5
>`.pickRestart({
  A: "~@5 bb0@2 ~@9 bb0 ~@7", B: "~@4 g1 ~@11 g1 ~@5 c1 ~", C: "~@4 g1 ~@5 gb1 ~@5 g1 ~@5 c1 ~", D: "~@4 f1 ~@19",
  E: "~@16 f1 ~@7", F: "~@22 c1 ~", G: "~@16 a0 ~@7", H: "~@4 gb1 ~@5 g1 ~@13", I: "~@22 b0 ~",
  J: "~@4 g1 ~@5 ab1 ~@13", K: "~@5 f1@2 ~@9 f1 ~@7", L: "~@16 bb0 ~@5 b0 ~", M: "~@4 g1 ~@5 c1 ~@13",
  N: "~@17 d1@2 ~@5", O: "~@16 db1 ~@7", P: "~@5 bb0@2 ~@17", Q: "~@17 a0@2 ~@5", R: "~@16 d1 ~@7",
})).s("gm_acoustic_bass").gain(0.14).pan(0.4)

// chords · piano
const piano = note(`<
  ~ A B C ~ A B C D@2 E F G H@2 I J@2 K@2 L M@2 N@5 I O P Q R S T U V@2 W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL@2
  AM@2 AN@3 AO@2 AP AQ AR@2 AS S AT T AU AV AW AX@2 AQ AY AZ BA BB BC BD BE BF BG@3 BH BI BJ@2 BK BL BM W BN BO BP BQ@3
  BR BS ~ BT BM W BN BO BP BQ@3 BR BS ~ D@2 E F G H@2 I J@2 K@2 L M@2 N@5 I O P Q R BU@2 BV BW@2
>`.pickRestart({
  A: "[f2,d3,ab3,c4]@2 ~@4 [f2,d3,ab3,c4]@17 ~", B: "[bb2,g3,db4,f4]@2 ~@4 [bb2,g3,db4,f4]@17 ~",
  C: "[f2,d3,ab3,c4] ~@11", D: "[~@22 [eb3,a3,d4,g4,b4]@12 ~@2 [eb3,a3,d4,g4,b4]@3 ~ f3@2 [eb3,a3,d4,g4,b4]@2 ~@4]/2",
  E: "[ab3,d4,f4,c5]@10 ~@2 [ab3,d4,f4,c5]@3 ~ bb2@2 [ab3,d4,f4,c5]@2 ~@4", // Dm7b5
  F: "[a3,eb4,g4,c5]@9 ~ [a3,eb4,g4,c5]@2 ~@12", G: "[a3,eb4,g4,d5]@5 ~",
  H: "[~@10 bb2@2 [ab3,c4,d4,g4]@4 bb2@2 [ab3,c4,d4,g4]@3 ~ [ab3,d4,g4,c5]@4 ~@8 [ab3,d4,g4,c5]@8 [ab3,d4,f4,b4]@6]/2", // Abmaj7 Abdim
  I: "[a3,d4,f4,c5]@17 ~@7", J: "[[a3,c4,d4,f4]@9 ~ [a3,c4,d4,f4]@2 ~@10 [bb3,d4,f4,g4]@18 ~@8]/2",
  K: "[~@10 c3@2 [bb3,e4,a4,d5]@4 c3@2 [bb3,e4,a4,d5]@3 ~ [a3,d4,f4,c5]@12 ~@2 [a3,d4,f4,c5]@3 ~ f3@2 [a3,d4,f4,c5]@2 ~@4]/2", // Bbmaj7 Dm7
  L: "[g2,bb3,d4,f4]@3 [gb2,a3,db4,e4]@2 [g2,bb3,d4,f4] ~@2 [c3,bb3,e4,g4] ~@3", // Gm7 Gbm7 Gm7 C7
  M: "[~@10 f3@2 [a3,eb4,g4,d5]@4 f3@2 [a3,eb4,g4,d5]@3 ~ [ab3,c4,d4,g4]@11 ~ [ab3,c4,d4,g4]@2 ~@12]/2", // Dsus4 Abmaj7
  N: "[~@10 f3@2 [a3,eb4,g4,d5]@4 f3@2 [a3,eb4,g4,d5]@3 ~ [a3,b3,eb4,g4,d5]@21 ~@3 [ab3,d4,g4,c5]@12 ~@2 [ab3,d4,g4,c5]@3 ~ bb2@2 [ab3,d4,g4,c5]@2 ~@2 [ab3,d4,g4,c5]@7 ~ d4@2 ~@2 [ab3,d4,g4,c5]@5 ~ [ab3,d4,f4,b4]@5 ~ [a3,c4,d4,f4]@12 ~@2 [a3,c4,d4,f4]@3 ~ c3@2 [a3,c4,d4,f4]@2 ~@4]/5", // Dsus4 G Abmaj7 Abdim Dm7
  O: "[f3,bb3,d4,g4]@9 ~ [f3,bb3,d4,g4]@2 ~@12", P: "[e3,bb3,d4,a4]@5 ~", Q: "[d3,a3,c4,f4]@5 ~",
  R: "[g2,bb3,d4,f4]@6 [gb2,a3,db4,e4]@4 [g2,bb3,d4,f4]@2 ~@4 [c3,bb3,e4,g4]@7 ~", S: "[d3,a3,c4,f4]@17 ~@7",
  T: "~@10 f3@2 [d3,a3,c4,f4]@4 f3@2 [d3,a3,c4,f4]@3 ~@3", // Dm7
  U: "[d3,a3,c4,f4]@4 [eb3,g3,a3,d4]@8 [eb3,a3,d4,g4,b4]@3 ~@9", // Dm7 Ebmaj7 G
  V: "[[eb3,a3,d4,g4]@6 a3@2 ~@2 [eb3,g3,a3,d4]@5 ~ [a3,eb4,f4,db5]@5 ~ [ab3,d4,f4,c5]@18 ~@8]/2", // Ebmaj7 Aaug Dm7b5
  W: "~@10 bb2@2 [ab3,d4,g4,c5]@4 bb2@2 [ab3,d4,g4,c5]@3 ~@3", X: "[a3,d4,f4,c5]@5 ~ [a3,d4,f4,c5]@3 [bb3,e4,ab4,c5]@3",
  Y: "[a3,d4,f4,c5]@5 ~ [g3,c4,e4,b4]@3 [gb3,ab3,b3,c4,e4]@3", // Dm7 Cmaj7 E
  Z: "[e3,a3,db4,ab4]@3 [f3,g3,bb3,d4]@2 [f3,bb3,d4,g4]@2 ~@5", // Amaj7 Gm7
  AA: "~@10 c3@2 [e3,g3,bb3,db4]@4 c3@2 [e3,g3,bb3,db4]@3 ~@3", AB: "[d3,f3,a3,c4]@5 ~",
  AC: "[g2,bb3,d4,f4]@3 [bb2,a3,db4,e4]@2 [c3,bb3,d4,f4] ~@2 [c3,bb3,d4,f4] ~@3", // Gm7 A Bb
  AD: "[a3,d4,f4,c5]@10 [a3,f4,c5]@11 ~@3", AE: "~@4 [g3,d4,f4,bb4]@5 ~@3 [ab3,d4,f4,b4]@3 ~@9",
  AF: "[a3,d4,f4,c5]@9 ~ [a3,d4,f4,c5]@2 ~@12", AG: "[bb3,e4,ab4,db5] [a3,b3,eb4,g4,d5] ~@2 [a3,db4,eb4,ab4]@2",
  AH: "[ab3,d4,f4,c5]@17 ~@7", AI: "~@10 bb2@2 [ab3,d4,e4,c5]@4 bb2@2 [ab3,d4,e4,c5]@3 ~@3",
  AJ: "[g3,c4,e4,b4]@10 ~@6 [a3,c4,d4,f4]@5 ~@3", AK: "[g3,c4,e4,b4]@3 ~@13 [gb3,ab3,b3,c4,e4]@5 ~@3",
  AL: "[~@10 g2@2 [f3,g3,bb3,d4]@4 g2@2 [f3,g3,bb3,d4]@3 ~ [e3,bb3,db4,ab4]@18 ~@8]/2", // Gm7 Bbm7b5
  AM: "[[d3,a3,c4,f4]@10 ~@2 [d3,a3,c4,f4]@3 ~ f3@2 [d3,a3,c4,f4]@2 ~@2 [f3,bb3,d4,g4]@8 [gb3,c4,f4,bb4]@6 [f3,bb3,d4,a4]@4 [e3,bb3,d4,a4]@8]/2", // Dm7 Gm7 Gbmaj7 Bbmaj7 Dsus2
  AN: "[~@10 f3@2 [eb3,a3,d4,g4]@4 f3@2 [eb3,a3,d4,g4]@3 ~ [ab3,d4,f4,bb4]@21 ~@3 [a3,eb4,g4,d5]@11 ~ [a3,eb4,g4,c5]@5 ~ [ab3,d4,gb4,db5]@8]/3", // Ebmaj7 Bb7 Dsus4 Am7b5 Dbsus4
  AO: "[[a3,eb4,g4,d5]@17 ~@5 [ab3,bb3,d4,f4]@21 ~@5]/2", AP: "[ab3,d4,g4,c5]@5 ~ [ab3,d4,f4,bb4]@3 [ab3,d4,f4,b4]@3",
  AQ: "[a3,c4,d4,f4]@5 ~", AR: "[[g3,c4,e4,a4]@6 c4@2 g4@2 a4 ~ [gb3,b3,eb4,ab4]@3 ~@7 [f3,bb3,d4,a4]@21 ~@5]/2",
  AS: "[e3,ab3,bb3,db4]@10 ~@2 [e3,ab3,bb3,db4]@3 ~ c3@2 [e3,ab3,bb3,db4]@2 ~@4", // Bbm7b5
  AT: "~@4 [f3,bb3,d4,g4]@5 ~ [e3,bb3,db4,ab4]@12 ~@2", AU: "[ab3,d4,g4,c5]@17 ~@7",
  AV: "~@10 f3@2 [a3,eb4,g4,d5]@4 f3@2 [a3,eb4,g4,d5]@3 ~@3", AW: "~@4 [bb3,eb4,g4,d5]@5 ~ [a3,eb4,g4,c5]@11 ~@3",
  AX: "[~@10 bb2@2 [ab3,bb3,d4,e4]@4 bb2@2 [ab3,bb3,d4,e4]@3 ~ [ab3,d4,g4,c5]@21 ~@5]/2", // E7 Abmaj7
  AY: "~@4 [g3,b3,c4,e4]@5 ~@7 [gb3,c4,eb4,bb4]@5 ~@3", AZ: "[f3,bb3,d4,a4]@9 ~ [f3,bb3,d4,a4]@2 ~@12",
  BA: "[f3,bb3,d4,g4]@10 ~@2 [e3,a3,bb3,d4]@3 ~@9", BB: "~@10 f3@2 [e3,a3,c4,g4]@4 f3@2 [e3,a3,c4,g4]@3 ~@3",
  BC: "[f3,bb3,d4,g4]@6 [e3,bb3,db4,g4]@6 [e3,bb3,db4,g4]@6 bb3@2 e4@2 g4 ~", // Gm7 Edim
  BD: "[eb3,a3,c4,g4]@9 ~ [eb3,a3,c4,g4]@2 ~@12", BE: "~@10 bb2@2 [ab3,d4,f4,c5]@4 bb2@2 [ab3,d4,f4,c5]@3 ~@3",
  BF: "[a3,eb4,g4,d5]@10 ~@2 [a3,eb4,g4,d5]@3 ~ f3@2 [a3,eb4,g4,d5]@2 ~@4", // Dsus4
  BG: "[~@10 f3@2 [a3,b3,eb4,g4,d5]@4 f3@2 [a3,b3,eb4,g4,d5]@3 ~ [ab3,d4,e4,bb4]@11 ~ [ab3,d4,g4,c5]@11 ~ [ab3,c4,d4,g4]@21 ~@5]/3", // G E7 Abmaj7
  BH: "[a3,d4,g4,c5]@9 ~ [a3,d4,g4,c5]@2 ~@12", BI: "[g3,c4,e4,b4]@10 [gb3,bb3,c4,eb4]@7 ~ c4@2 gb4@2 a4 ~",
  BJ: "[[f3,g3,bb3,d4]@10 ~@2 [f3,g3,bb3,d4]@3 ~ g2@2 [f3,g3,bb3,d4]@2 ~@2 [e3,bb3,db4,ab4]@11 ~ [e3,bb3,db4,ab4]@2 ~@12]/2", // Gm7 Bbm7b5
  BK: "~@4 [d3,f3,a3,c4]@5 ~ [gb3,c4,eb4,bb4]@7 ~ c4@2 gb4@2 a4 ~", // Dm7 Cm7b5
  BL: "[f3,bb3,d4,g4]@3 ~@9 [db3,b3,f4,ab4]@4 [c3,bb3,e4,a4]@2 ~@6", BM: "[eb3,g3,a3,d4]@5 ~",
  BN: "[a3,eb4,g4,c5]@6 a3@2 eb4@2 g4 ~@5 [bb3,e4,ab4,eb5]@5 ~@3", // Am7b5 Ebsus4
  BO: "~@4 [a3,b3,eb4,g4,d5]@5 ~@3 [a3,eb4,gb4,db5]@6 [a3,eb4,ab4,db5]@6", // G Ebm7b5 Amaj7
  BP: "[ab3,c4,d4,g4]@9 ~ [ab3,c4,d4,g4]@2 ~@12", // Abmaj7
  BQ: "[[ab3,d4,f4,bb4]@6 d4@2 ab4@2 bb4 ~ [ab3,d4,f4,b4]@3 ~@7 [a3,c4,d4,f4]@11 ~ [g3,c4,e4,a4]@11 ~ [gb3,c4,eb4,bb4]@4 ~@8 [gb3,c4,eb4,a4]@5 ~ [gb3,bb3,c4,d4]@8]/3", // Bb7 Abdim Dm7 Am7 Cm7b5 Gbdim Gbaug
  BR: "[f3,bb3,d4,g4]@10 ~@2 [f3,bb3,d4,g4]@3 ~ g2@2 [f3,bb3,d4,g4]@2 ~@4", // Gm7
  BS: "~@2 [c3,bb3,f4,g4]@4 [db3,b3,f4,ab4]@2 [c3,bb3,e4,g4] ~@2 [f2,ab3,d4,f4]", BT: "~@2 [gb2,bb3,e4,ab4]",
  BU: "[[a3,eb4,g4,c5]@9 ~ [a3,eb4,g4,c5]@2 ~@10 [ab3,d4,g4,c5]@11 ~ [ab3,d4,f4,b4]@11 ~@3]/2", // Am7b5 Abmaj7 Abdim
  BV: "[c3,a3,d4,f4] ~@11", BW: "[~@2 [gb2,f3,bb3,db4,f4] ~@3 [f2,eb3,a3,d4,g4]@18]/2",
})).s("gm_piano").gain(0.19).pan(0.6)

// other · alto sax
const alto_sax = note(`<
  ~@33 A B C ~ D@2 E@2 F G H ~@4 I J K L M N O P ~@4 Q R S T U V W X Y Z ~@10 AA AB AC AB AD@2 AC@2 AE@2 AF AG@2 AH AI
  AJ AK@3 AL AM AN AO ~ AP AH AI AJ AK@3 AL AM AN AO ~@26 AQ AR ~ AS@2
>`.pickRestart({
  A: "~@10 d4@2 f4@4 a4@2 g4@4 a4 g4", B: "f4@4 d4@2 c4@4 a3@2 d4@3 ~@3 c4@4 a3@2", C: "d4@2 f4 c4@9",
  D: "[~@6 d5 ~@2 f4@2 d4@4 c4@2 d4 e4@2 f4 ~@3]/2", E: "[~@5 d4 d5 ~@2 e4@2 d4@4 f4@2 a4 c5@2 a4 ~@3]/2",
  F: "~@8 f4 g4@2 a4", G: "bb4@5 ~ g4@4 gb4@2 e4@10 db4@2", H: "e4@2 d4 c4@2 d4 ~@6", I: "ab4@2 g4 ~@9",
  J: "~@3 e4@2 db4 d4@2 f4 ab4@2 c5", K: "~@2 ab4 ~@9", L: "~@6 e4@4 c4@2 d4@2 f4@2 a4@2 c5@5 ~",
  M: "a4@2 g4 a4@2 bb4 a4@5 gb4", N: "a4@2 f4 g4@2 f4 ~@6", O: "~@5 d4 c4@2 a4 ~@2 e4", P: "d4 ~@11",
  Q: "~@3 f4@2 e4 eb4@2 db4 c4@2 eb4", R: "c4@2 d4 e4@2 f4 ab4@2 a4 ab4@2 f4", S: "~@2 d4 ~@9",
  T: "~@2 e4 f4@2 a4 g4@2 f4 d4@2 c4", U: "e4@4 a4@2 e4@4 d4@2 eb4@4 ab4@7 ~", V: "g4 ~@7 gb4 f4@2 d4",
  W: "db4@2 e4 g4@2 bb4 g4@5 e4", X: "f4@2 a4 ~@9", Y: "~@18 g4@5 ~", Z: "f4@4 a3@19 ~", AA: "d4 ~@2 db4@5 db4@4",
  AB: "d4@15 ~ d4@2 ~@6", AC: "d4", AD: "[b3@6 b3@5 d4@7 ~@2 d4@4]/2", AE: "[e4@6 eb4@5 d4@7 ~@2 d4@4]/2", AF: "db4",
  AG: "[d4@6 c4@5 d4@7 eb4@2 d4 ~@3]/2", AH: "d4@11 ~ d4@4 d4@2 ~@4 d4@2", AI: "d4@3 d4@2 d4 ~@2 d4@4",
  AJ: "eb4@6 e4@5 eb4", AK: "[~@9 eb4@2 d4@7 d4@2 d4 ~@2 d4@4 d4@2 f4 ~@2 f4@4]/3", AL: "d4@6 c4@2 b3 c4@2 eb4",
  AM: "~@2 d4", AN: "d4@6 d4@3 d4@2 d4", AO: "~@2 d4@4 eb4@2 d4 ~@2 d4", AP: "~@2 eb4", AQ: "d4@11 ~ d4@2 ~@8 d4@2",
  AR: "d4@11 ~ d4@2 ~@10", AS: "[db4 ~@5 eb4@18]/2",
})).s("gm_alto_sax").gain(0.3).pan(0.4)

// other · tenor sax
const tenor_sax = note(`<
  A B C D A B C D E F@2 G F H I G J@2 K L E F@2 G F H I G J@2 K L ~ M N O ~ P@2 Q@2 R S T U V W X Y Z AA AB AC AD AE
  AF@2 AG AH AI AJ AK AL AM AN AO AP AQ AR AS ~@10 AT AU AV AU AW@2 AV@2 AX@2 AY AZ@2 BA BB BC BD@3 BE BF BG BH ~ BI BA
  BB BC BD@3 BE BF BG BH ~ E F@2 G F H I G J@2 K L E F@2 G F H I G J@2 K L ~ BJ BK BL BM@2
>`.pickRestart({
  A: "~@21 f3@2 ~", B: "g3@3 f3@3 g3@3 f3@2 ~ g3@2 ~ g3@2 ~ g3@3 f3@3",
  C: "c4@3 bb3@3 c4@3 bb3@2 ~ c4@2 ~ c4@2 ~ c4@3 bb3@2 ~", D: "g3 ~@11", E: "~@11 c4", F: "f4@2 f4 g4@2 c4 f4 ~@4 c4",
  G: "f4@2 f4 g4@2 c4 f4@2 f4 g4@2 c4", H: "f4@4 f4@2 g4@4 c4@2 f4@4 bb3@7 ~", I: "f4@4 f4@2 g4@4 bb3@2 f4@4 b3@7 ~",
  J: "[f4@4 f4@2 g4@4 c4@2 f4@2 ~@8 ab4@4 a4 ab4 f4@2 d4@4 c4@2 d4@2 ~@10]/2", K: "~@2 g4@4 f4@2 g4 f4@2 eb4",
  L: "~@4 c4@2 ~@6 c4@11 ~", M: "~@10 c4@2 d4@4 f4@2 e4@4 f4 e4", N: "d4@4 c4@2 a3@4 f3@2 c4@3 ~@3 a3@4 f3@2",
  O: "c4@2 d4 a3@9", P: "[~@6 c5 ~@2 d4@2 c4@4 ab3@2 c4 db4@2 d4 ~@3]/2",
  Q: "[~@5 c4 c5 ~@2 db4@2 c4@4 d4@2 f4 g4@2 e4 ~@3]/2", R: "~@8 d4 f4@2 gb4", S: "g4@5 ~ e4@4 d4@2 db4@10 bb3@2",
  T: "db4@2 c4 a3@2 c4 ~@6", U: "~@22 c4 f4", V: "a4@4 c5@2 bb4@4 c5 bb4 a4@4 f4@2 eb4@4 g4@2",
  W: "f4@2 d4 bb3@2 g3 ab3 ~@4 ab3", X: "a3@4 bb3 b3 c4@4 bb3@2 a3@4 c4@2 eb4@4 g4@2", Y: "e4@2 eb4 ~@9",
  Z: "~@3 db4@2 bb3 c4@2 d4 f4@2 ab4", AA: "~@2 f4 ~@9", AB: "~@6 c4@4 a3@2 c4@2 d4@2 f4@2 a4@5 ~",
  AC: "g4@4 e4@2 g4@5 ~ gb4@10 eb4@2", AD: "f4@2 d4 f4@2 d4 ~@6", AE: "~@5 g3 bb3@2 eb4 ~@2 db4",
  AF: "[c4 ~@8 c4@14 c4]/2", AG: "d4@4 c4@13 ~@5 f4@2", AH: "g4@2 f4 d4@2 bb3@4 g4@2 f4", AI: "a4@2 c5 ~@9",
  AJ: "~@3 eb4@2 db4 c4@2 bb3 a3@2 c4", AK: "ab3@2 c4 db4@2 d4 f4@2 gb4 f4@2 d4", AL: "~@2 c4 ~@9",
  AM: "~@2 db4 d4@2 f4 e4@2 d4 c4@2 a3", AN: "c4@4 g4@2 c4@5 ~ b3@4 gb4@7 ~", AO: "f4 ~@7 eb4 d4@2 bb3",
  AP: "g3@2 bb3 db4@2 e4 d4@5 g4", AQ: "d4@2 f4 ~@3 f4@2 c4 g4@2 a4", AR: "~@4 f4@2 d4@4 db4@7 ~ e4@5 ~",
  AS: "d4@4 g3@19 ~", AT: "bb3 ~@2 bb3@5 bb3@4", AU: "a3@15 ~ a3@2 ~@6", AV: "c4", AW: "[a3@6 a3@5 c4@7 ~@2 c4@4]/2",
  AX: "[c4@6 c4@5 bb3@7 ~@2 bb3@4]/2", AY: "bb3", AZ: "[a3@6 a3@5 bb3@7 b3@2 bb3 ~@3]/2",
  BA: "a3@11 ~ a3@4 a3@2 ~@4 a3@2", BB: "c4@3 c4@2 c4 ~@2 c4@4", BC: "d4@6 eb4@5 d4",
  BD: "[~@2 c4 f4@2 f4 ab4@2 f4 db4@2 c4@7 c4@2 c4 ~@2 c4@4 c4@2 d4 ~@2 d4@4]/3", BE: "c4@6 a3@2 ab3 a3@2 c4",
  BF: "~@2 d4 a4@2 a4 d4@2 c4@4", BG: "bb3@6 bb3@3 bb3@2 bb3", BH: "~@2 bb3@4 b3@2 bb3 ~@2 a3", BI: "~@2 bb3",
  BJ: "a3@11 ~ a3@2 ~@8 a3@2", BK: "c4@11 ~ b3@2 ~@10", BL: "~@2 f4 g4@2 c4 f4@2 f4 g4@2 c4", BM: "[bb3 ~@5 d4@18]/2",
})).s("gm_tenor_sax").gain(0.3).pan(0.4)

// other · tenor sax
const tenor_sax_2 = note(`<
  ~@33 A B C ~ D@2 E@2 F G H ~@4 I J K L M N O P ~@4 Q R S T U V W X Y Z ~@10 AA AB AC AB AD@2 AC AE AF@2 AG AH@2 AI AJ
  AK AL@3 AM AN AO AP ~ AQ AI AJ AK AL@3 AM AN AO AP ~@26 AR AS ~ AT@2
>`.pickRestart({
  A: "~@10 a3@2 c4@4 d4@2 db4@4 d4 db4", B: "c4@4 a3@2 f3@4 d3@2 a3@3 ~@3 f3@4 d3@2", C: "a3@2 c4 g3@9",
  D: "[~@6 ab4 ~@2 c4@2 ab3@4 f3@2 ab3 bb3@2 c4 ~@3]/2", E: "[~@5 a3 a4 ~@2 bb3@2 a3@4 c4@2 d4 e4@2 c4 ~@3]/2",
  F: "~@8 bb3 d4@2 eb4", G: "e4@5 ~ db4@4 b3@2 bb3@10 g3@2", H: "bb3@2 a3 f3@2 a3 ~@6", I: "d4@2 c4 ~@9",
  J: "~@3 bb3@2 g3 ab3@2 c4 d4@2 g4", K: "~@2 d4 ~@9", L: "~@6 a3@4 g3@2 a3@2 c4@2 d4@2 f4@5 ~",
  M: "e4@2 c4 e4@2 f4 e4@5 c4", N: "d4@2 bb3 d4@2 bb3 ~@6", O: "~@5 bb3 g3@2 d4 ~@2 bb3", P: "a3 ~@11",
  Q: "~@3 c4@2 bb3 a3@2 g3 f3@2 a3", R: "f3@2 ab3 bb3@2 c4 d4@2 eb4 d4@2 c4", S: "~@2 ab3 ~@9",
  T: "~@2 b3 c4@2 d4 db4@2 c4 a3@2 f3", U: "a3@4 e4@2 a3@5 ~ ab3@4 eb4@7 ~", V: "d4 ~@7 c4 bb3@2 g3",
  W: "bb3@2 db4 e4@2 g4 e4@5 d4", X: "c4@2 d4 ~@9", Y: "~@18 d4@5 ~", Z: "c4@4 f3@19 ~", AA: "f3 ~@2 e3@5 e3@4",
  AB: "eb3@15 ~ eb3@2 ~@6", AC: "ab3", AD: "[eb3@6 eb3@5 ab3@7 ~@2 ab3@4]/2", AE: "a3",
  AF: "[g3@6 gb3@5 f3@7 ~@2 f3@4]/2", AG: "e3", AH: "[g3@6 gb3@5 f3@7 f3@2 e3 ~@3]/2",
  AI: "eb3@11 ~ eb3@4 eb3@2 ~@4 eb3@2", AJ: "ab3@3 ab3@2 ab3 ~@2 ab3@4", AK: "a3@6 bb3@5 a3",
  AL: "[~@2 c3 f3@2 f3 ab3@2 f3 a3@2 ab3@7 ab3@2 ab3 ~@2 ab3@4 ab3@2 ab3 ~@2 ab3@4]/3", AM: "a3@6 g3@2 gb3 g3@2 gb3",
  AN: "~@2 d3 a3@2 a3 d3@2 gb3@4", AO: "a3@6 a3@3 a3@2 a3", AP: "~@2 a3@4 f3@2 e3 ~@2 c3", AQ: "~@2 e3",
  AR: "eb3@11 ~ eb3@2 ~@8 eb3@2", AS: "ab3@11 ~ ab3@2 ~@10", AT: "[ab3 ~@5 a3@18]/2",
})).s("gm_tenor_sax").gain(0.3).pan(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  A B C D A B C D E F@2 G F H I G J@2 K L E F@2 G F H I G J@2 K L ~ M N O ~ P@2 Q@2 R S T U V W X Y Z AA AB AC AD AE
  AF@2 AG AH AI AJ AK AL AM AN AO AP AQ AR AS ~@10 AT AU AV AU AW@2 AV AX AY@2 AZ BA@2 BB BC BD BE@3 BF BG BH BI ~ BJ BB
  BC BD BE@3 BF BG BH BI ~ E F@2 G F H I G J@2 K L E F@2 G F H I G J@2 K L ~ BK BL BM BN@2
>`.pickRestart({
  A: "~@21 f3@2 ~", B: "g3@3 f3@3 g3@3 f3@2 ~ g3@2 ~ g3@2 ~ g3@3 f3@3",
  C: "c4@3 bb3@3 c4@3 bb3@2 ~ c4@2 ~ c4@2 ~ c4@3 bb3@2 ~", D: "g3 ~@11", E: "~@11 c3", F: "f3@2 f3 g3@2 c3 f3 ~@4 c3",
  G: "f3@2 f3 g3@2 c3 f3@2 f3 g3@2 c3", H: "f3@4 f3@2 g3@4 c3@2 f3@4 bb2@7 ~", I: "f3@4 f3@2 g3@4 bb2@2 f3@4 b2@7 ~",
  J: "[f3@4 f3@2 g3@4 c3@2 f3@2 ~@8 ab3@4 a3 ab3 f3@2 d3@4 c3@2 d3@2 ~@10]/2", K: "~@2 g3@4 f3@2 g3 f3@2 eb3",
  L: "~@4 c3@2 ~@6 c3@11 ~", M: "~@10 f3@2 a3@4 c4@2 bb3@4 c4 bb3", N: "a3@4 f3@2 d3@4 c3@2 f3@3 ~@3 d3@4 c3@2",
// … 271 more lines

More by Parker Charlie