Strudelify

I Remember You

Stan Kenton

KeyF majorTempo76 bpm
0:00/0:00
// I Remember You — Stan Kenton
// 76 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 96 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(76/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(`<
  ~@11 A B C B D E F G H I J K L E M N O P Q R S T U V W X A Y Z AA AB AC AD AE AF AE AG AH AI AJ AK AE AL AM AN AO AP
  AQ AR AS AT AU AV AP AW N AX AY AZ BA BB BC BD BE BF I W Y BG AA M BH BI AP BJ BK AP BL BM BN BO BP BQ BR@2
>`.pickRestart({
  A: "f2@11 ~ a1@11 ~", B: "bb1@11 ~ eb2@5 ~ bb2@6", C: "a1@8 a0@2 ~@2 bb1@11 ~ a1@22 ~@2", D: "ab2@11 ~ f2@5 ~ c3@6",
  E: "d2@5 ~ a2@6 g2@5 ~ d3@6", F: "c2@12 g1@10 gb2 ~", G: "g2@5 ~ d3@6 c2@5 ~ g2@6", H: "f2@5 ~ c3@6 a1@11 ~",
  I: "bb1@11 ~ eb2@11 ~", J: "a1@5 ~ e2@6 a1@5 ~ e2@6", K: "bb1@4 bb0 ~ d2@6 eb2@11 ~", L: "ab2@11 ~ f2@11 ~",
  M: "c2@20 c1 ~@3 g2@20 c1 ~@3", N: "c2@8 c1@2 ~@2 gb2@11 ~ f2@10 ~@2 c3@12", O: "bb1@12 f1@10 eb2 ~",
  P: "e2@20 e1 ~@3 b1@17 ~@3 b1@2 ~@2", Q: "a1@12 eb1@10 db2 ~", R: "d2@20 d1 ~@3 a1@17 ~@3 a1@2 ~@2",
  S: "g2@12 db2@10 b1 ~", T: "c2@12 g1@10 ab1 ~", U: "a1@22 ~@2 a1@11 ~ d2@11 ~", V: "g2@4 g1 ~ b1@6 c2@5 ~ g2@6",
  W: "f2@11 ~ a1@5 ~ e2@6", X: "bb1@5 ~ f2@6 eb2@5 ~ bb2@6", Y: "bb1@8 bb0@2 ~@2 e2@11 ~ eb2@22 ~@2",
  Z: "ab2@5 ~ eb3@6 f2@11 ~", AA: "d2@4 d1 ~ gb2@6 g2@11 ~", AB: "c2@20 c1 ~@3 g1@17 ~@3 g1@2 ~@2",
  AC: "c2@11 ~ f2@5 ~ c3@6", AD: "bb1@8 bb0@2 ~@2 b1@11 ~ bb1@11 ~ d2@11 ~", AE: "eb2@4 eb1 ~ g2@6 ab2@5 ~ eb3@6",
  AF: "bb1@22 ~@2 bb1@11 ~ d2@11 ~", AG: "db2@10 ~@2 ab2@12 db2@11 ~ bb1@11 ~", AH: "g2@4 g1 ~ b1@6 c2@11 ~",
  AI: "f2@12 c2@10 b1 ~", AJ: "c2@8 c1@2 ~@2 gb2@11 ~ f2@11 ~ f2@11 ~", AK: "bb1@12 f1@10 d2 ~",
  AL: "bb1@20 bb0 ~@3 f1@17 ~@3 f1@2 ~@2", AM: "eb2@5 ~ bb2@6 ab2@5 ~ eb3@6",
  AN: "db2@8 db1@2 ~@2 c2@12 db2@11 ~ ab2@11 ~", AO: "g2@11 ~ c2@5 ~ g2@6", AP: "f2@20 f1 ~@3 c3@20 f1 ~@3",
  AQ: "f2@4 f1 ~ a1@6 bb1@11 ~", AR: "eb2@20 eb1 ~@3 bb1@17 ~@3 bb1@2 ~@2", AS: "a1@4 a0 ~ ab1@6 a1@5 ~ e2@6",
  AT: "d2@20 d1 ~@3 ab2@20 d1 ~@3", AU: "g2@20 g1@2 ~@2 d3@20 g1 ~@3", AV: "c2@12 gb1@10 e2 ~",
  AW: "d2@22 ~@2 d2@11 ~ g2@11 ~", AX: "bb1@5 ~ bb1@6 d2@6 e2@6", AY: "eb2@5 ~ eb2@6 ab2@6 eb3@6", AZ: "bb1 eb2 d2 e2",
  BA: "eb2@5 ~ eb2@6 ab2@6 d2@6", BB: "db2@5 ~ db2@6 bb1@5 ~ bb1@6", BC: "g2 db2 c2 g2", BD: "f2@5 ~ f2@6 d2@6 a2@6",
  BE: "g2@5 ~ g2@6 c2@6 g2@6", BF: "f2@5 ~ c3@6 a1@5 ~ e2@6", BG: "ab2@4 ab1 ~ e2@6 f2@5 ~ c3@6",
  BH: "g2@4 g1 ~ f2@6 gb2@11 ~", BI: "f2@20 f1@2 ~@2 c3@20 f1 ~@3", BJ: "f2@12 c2@10 f2 ~",
  BK: "gb2@20 gb1@2 ~@2 db3@20 gb1 ~@3", BL: "f2@12 c2@10 e2 ~", BM: "f2@8 f1@2 ~@2 eb2@7 ~ bb1@11 ~ g2@15 ~",
  BN: "gb2@20 gb1 ~@3 db3@20 gb1 ~@3", BO: "f2@4 f1 ~ e2@6 f2@11 ~", BP: "f2@5 ~ d3@6 f2@5 ~ db3@6", BQ: "f2",
  BR: "[~@6 f2@23 ~@3]/2",
})).s("gm_acoustic_bass").gain(0.3).pan(0.4)

// chords · piano
const piano = note(`<
  A B@2 C@3 D@3 E@2 F G F H I J K L F G F H I J M N O P Q R S T U V F G F H I J W X Y Z Y Z AA AB AC AD AE AF AG AF AA
  AB AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY F G F H I J K AZ BA BB BA BC BA BD BE BF BG BH BI@3
>`.pickRestart({
  A: "~@16 [f2,c3,a3,e4,a4]@13 [g2,d3,bb3,f4,bb4]@7 [a2,e3,c4,g4,c5]@6 [bb2,f3,d4,a4,d5]@6", // Fmaj7 Gm7 Am7 Bbmaj7
  B: "[~ [a2,e3,c4,g4,c5]@6 [g2,d3,bb3,f4,bb4]@7 [f2,c3,a3,e4,a4]@6 [e4,a4]@13 [gb3,bb3,db4,c5]@13 [gb4,bb4,db5,e5,a5,c6]@13 [gb5,bb5,db6,e6,a6,c7]@12 ~ [f2,c3,a3,e4,a4]@13 [g2,d3,bb3,f4,bb4]@7 [a2,e3,c4,g4,c5]@4, ~@20 [gb2,db3,a3]@51 ~@25, ~@33 [e4,a4]@38 ~@25]/2", // Am7 Gm7 Fmaj7 A5 Gb Gb7 Fmaj7 Gm7 …
  C: "[~@2 [bb2,f3,d4,a4,d5]@7 [a2,e3,c4,g4,c5]@6 [g2,d3,bb3,f4,bb4]@7 [f2,c3,a3,e4,a4]@6 [g3,a3,db4,f4,a4]@13 [c4,c5]@13 [g4,c5,db5,f5,a5,c6]@13 [g5,c6,db6,f6,a6,c7]@12 ~ [f2,c3,a3,e4,a4]@13 [g2,d3,bb3,f4,bb4]@7 [a2,e3,c4,g4,c5]@6 [bb2,f3,d4,a4,d5]@7 [c3,g3,e4,bb4,e5]@6 [d3,a3,f4,c5,f5]@7 [e3,bb3,g4,d5,g5]@6 [f3,c4,a4,e5,a5]@12, ~@28 [eb2,bb2]@51 ~@65, ~@41 [g3,a3,db4,f4,a4]@38 ~@65]/3", // Bbmaj7 Am7 Gm7 Fmaj7 Dbaug C F Fmaj7 …
  D: "[~ e5@7 f5@6 d5@7 e5@6 c5@7 d5@6 [g2,d3,bb3,d4,f4,a4]@13 [g3,d4,bb4,d5,f5,a5]@13 [bb3,d4,bb5,d6,f6,a6]@13 [g2,d3,bb3,d4,f4,a4]@13 ~@13 [bb4,c5,db5,e5,a5,c6]@13 [bb5,c6,db6,e6,a6,c7]@26, ~ [a3,e4,g4,c5]@13 [g3,d4,f4,bb4]@13 [f3,c4,e4,a4]@13 ~@52 [gb2,db3,bb3,e4,a4]@52]/3", // Gm7 Bbmaj7 Gm7 A Am7 Gm7 Fmaj7 Gb7
  E: "f2@6 c3@6 a3@16 ~@2 c3@11 ~ c3@6",
  F: "f2@7 [c3,a4,c5]@5 [e5,g5]@7 [d5,f5]@5 a2@7 e3@5 ~@7 [e5,c6]@5, ~@12 a3@12 [c5,e5]@19 ~@5, ~@3 c4", // F Em Dm C
  G: "bb2@7 f3@5 ~@7 [ab4,f5]@5 eb2@7 bb2@5 g3@12, [f5,db6]@19 ~@29, ~ db4 [g4,eb5]@2", // Db Cm
  H: "bb2@7 f3@5 ~@7 [f5,ab5]@5 eb2@7 bb2@5 g3@12, [f5,db6]@19 ~@5 [eb5,g5]@24, ~ db4 ~@2", // Fm Db Eb
  I: "ab2@7 [eb3,c5,eb5]@5 [g5,bb5]@7 [f5,ab5]@5 f2@7 c3@5 ~@7 [f5,ab5]@5, ~@12 c4@12 [e5,g5]@19 ~@5, ~@3 ab3", // Cm Gm Fm Em
  J: "d2@7 a2@5 ~@7 [d5,f5]@5 [g2,bb4,db5]@7 [f3,b4,d5]@5 [c5,e5]@7 [d5,f5]@5, [e5,g5]@19 ~@29, ~ f3 ~ b3", // Dm Gdim Bdim C Dm Em
  K: "[c3,d5,f5]@7 [g3,c5,e5]@5 e4@7 g3@5 ~@7 g4@5 c5@7 e5@5, ~@12 [c5,e5]@19 ~@17, ~ c3", // Dm7 C
  L: "g2@7 f3@5 ~@7 g4@5 a4@12 g4@12, [bb4,d5]@19 ~@29, ~ bb3 [c3,bb3,e4,db5]@2", // Bb Bbdim
  M: "[c3,d5,f5]@7 [g3,c5,e5]@5 e4@7 g3@5 ~@7 g4@5 c5@7 d5@5, ~@12 [c5,e5]@19 ~@17, ~ c3", // Dm7 C
  N: "c3@7 g3@5 ~@7 [eb5,g5]@5 f2@7 eb3@5 [a3,c5,eb5]@12, [c5,eb5]@19 ~@5 [d5,f5]@12 ~@12, ~ eb4 ~@2", // Eb Adim Cm Dm
  O: "[bb2,f3,a3,d4,f4,a4,d5]@9 ~@2 [bb3,d4,f4,a4]@5", P: "[ab3,c4,d4,f4]@30 ~@2 [ab3,c4,d4,f4]@13 ~@3",
  Q: "[g3,a3,c4,eb4]@30 ~@2 [g3,a3,c4,eb4]@13 ~@3", R: "[gb3,c4,eb4,bb4]@17 ~@3 [gb3,c4,eb4,bb4]@28",
  S: "[g3,bb3,db4,f4]@9 ~@2 [g3,bb3,db4,f4]@5", T: "[e3,bb3,db4,ab4]@30 ~@2 [e3,bb3,db4,ab4]@13 ~@3",
  U: "[c4,g4,a4,e5]@2 [c3,g3,a3,e4] [gb3,c4,eb4,a4], eb5 ~@23 eb4 ~@11 ab4 ~@11", // Am7 Gbdim
  V: "[bb3,f4,g4,d5] [e3,bb3,db4,g4], db5 ~@23 gb4 ~@23", W: "[c3,d5,f5]@7 [g3,c5,e5]@5 [c5,e5]@36, ~@12 e4@7 ~@29",
  X: "[c3,g3,bb3,eb4,g4,bb4,eb5] [f2,eb3,a3,eb4,gb4,a4,c5]", // Cm7 F7
  Y: "[d4,a4,bb4,f5]@2 [d3,a3,bb3,f4] [f3,c4,d4,a4], e5 ~@23 e4 ~@11 ab4 ~@11", // Bbmaj7 Dm7
  Z: "[gb3,db4,eb4,bb4] [c4,gb4,ab4,eb5], a4 ~@23 d5 ~@23", // Ebm7 Ab7
  AA: "[f3,c4,db4,ab4]@2 [f3,c4,db4,ab4] [db3,ab3,bb3,f4], g4 ~@23 g4 ~@11 e4 ~@11", // Dbmaj7 Bbm7
  AB: "[bb3,f4,g4,d5] [e3,bb3,c4,g4], db5 ~@23 gb4 ~@23", AC: "[f3,a3,c4,e4]",
  AD: "[eb3,bb3,c4,g4]@2 [a3,eb4,gb4,c5] [a3,eb4,f4,db5], gb4 ~@23 b4 ~@11 b4 ~@11", // Cm7 Adim Aaug
  AE: "[g3,bb3,d4,f4]@17 ~@3 [g3,bb3,d4,f4]@28", AF: "[gb3,db4,eb4,bb4] [c4,gb4,bb4,eb5], a4 ~@23 d5 ~@23",
  AG: "[d4,f4,bb4]", AH: "[f3,a3,c4,e4]@9 ~@2 [f3,a3,c4,e4]@5", AI: "[ab3,eb4,f4,c5] [d4,ab4,b4,f5], b4 ~@23 e5 ~@23",
  AJ: "[g3,d4,f4,bb4]@30 ~@2 [g3,d4,f4,bb4]@13 ~@3", AK: "[c4,g4,a4] [db4,g4,bb4,e5], eb5 ~@23 eb5 ~@23",
  AL: "[ab3,c4,d4,f4]@9 ~@2 [ab3,c4,d4,f4]@5", AM: "[f3,b3,eb4,ab4]@30 ~@2 [f3,b3,eb4,ab4]@13 ~@3",
  AN: "[eb3,bb3,c4,gb4]@30 ~@2 [eb3,bb3,c4,gb4]@13 ~@3", AO: "[f3,a3,d4,eb4]@9 ~@2 [f3,a3,c4,eb4]@5",
  AP: "[f3,c4,d4,a4]@2 [f3,c4,d4,a4] [b2,f3,g3,d4], ab4 ~@23 ab4 ~@11 db4 ~@11", // Dm7 G7
  AQ: "[eb3,bb3,c4,g4] [a3,eb4,g4,c5], gb4 ~@23 b4 ~@23", AR: "[a3,d4,f4,c5] [c4,f4,a4,e5]",
  AS: "[db4,f4,gb4,bb4] [c4,eb4,gb4,ab4]", AT: "[d4,f4,a4,c5] [c4,e4,f4,a4]", AU: "[db4,gb4,bb4,f5] [c4,gb4,a4,e5]",
  AV: "[c4,eb4,f4,ab4] [ab3,bb3,db4,f4]", AW: "[bb3,d4,f4,a4] [bb3,db4,e4,g4]", AX: "[a3,e4,g4,c5] [f3,a3,c4,d4]",
  AY: "[f3,g3,bb3,d4] [e3,ab3,bb3,db4]", // Gm7 Bbm7b5
  AZ: "g3@7 d4@5 ~@7 [bb4,d5]@5 [gb3,db4,bb4,e5,a5]@12 [gb4,db5,bb5,e6,a6]@12, [d5,f5]@19 ~@29, ~ f4 ~@2", // Bb Gb7 Dm
  BA: "~@9 [f3,c4,e4,a4,c5,e5,a5]@3 [f3,c4,e4,a4,c5,e5,a5]@16 [f3,c4,e4,a4,c5,e5,a5]@4 [f3,c4,e4,a4,c5,e5,a5]@4 [f3,c4,e4,a4,c5,e5,a5]@4 [g3,d4,f4,bb4,d5,f5,bb5]@4 [f3,c4,e4,a4,c5,e5,a5]@4", // Fmaj7 Gm7 Fmaj7
  BB: "[f3,c4,eb4,ab4,c5,eb5,ab5]@3 [f3,c4,eb4,ab4,c5] [f3,c4,eb4,ab4,c5]@12", // Fm7
  BC: "[bb4,db5,e5,a5] [c5,c6] [bb5,c6,db6,e6,a6,c7]@2, [gb3,db4,e4], ~ [bb4,db5,e5,a5]@3", // A C A Gb7 A
  BD: "[f3,c4,eb4,ab4,c5,eb5,ab5]@9 [f3,c4,eb4,ab4,c5]@3 [f3,c4,eb4,ab4,c5]@23 ~ [f3,c4,eb4,ab4,c5,eb5]@12", // Fm7
  BE: "[f3,c4,e4,a4,c5,e5]@24 [f3,c4,a4,e5]@7 [d3,a3,f4,c5]@5 [bb2,f3,d4,a4]@7 [g2,d3,bb3,f4]@5", // Fmaj7 Dm7 Bbmaj7 Gm7
  BF: "a4@12 c5@7 [bb4,db5]@5 [a5,c6]@12 [bb5,db6]@7 [c6,eb6]@5, [gb2,db3,bb3,e4], ~ a4@3", // Bbm Am Bbm Cm Gb7
  BG: "f2@7 c3@5 [f5,a5]@7 [c6,e6]@5 f2@7 eb3@5 [f5,ab5]@7 [c6,eb6]@5, [c6,e6] a3 [c6,eb6] ab3", // F C Fm Cm C Cm
  BH: "f2@7 d3@5 [d5,g5]@7 [b5,d6]@5 f2@7 db3@5 [d5,gb5]@7 [bb5,db6]@5, [b5,d6] g3 [bb5,db6] gb3", // G5 Bm D Bbm Bm Bbm
  BI: "[~ [e5,g5,a5,c6]@52 ~@13 [f4,a4,c5,d5,g5,a5,c6,e6]@69 ~@9, [f2,c3,a3,d5]@13 ~@23]/3", // Am7 Fmaj7 Dm7
})).s("gm_piano").gain(0.42).pan(0.6)

// other · alto sax
const alto_sax = note(`<
  ~@27 A B C D E F G H I J I K L ~ M N O P Q R S T U V W ~@7 X Y Z AA AB AC AD AE ~@9 J I K L ~@3 AF AG AF AH AF AI AJ
  ~@3 AK AL@2
>`.pickRestart({
  A: "~@12 f4@6 ~ d4@5 f4@19 d4@5", B: "d4@12 ab4@23 ~ f4@12", C: "g4@24 a4@7 g4@5 e4@7 c4@5",
  D: "c4@12 gb4@23 ~ eb4@12", E: "f4@24 g4@7 f4@5 db4@7 bb3@5", F: "bb3@12 e4@23 ~ db4@12",
  G: "e4@23 ~ g3@7 a3@5 a3@7 gb4@5", H: "f4@4 bb4 g4 gb4 f4 db4@8", I: "e4 ~", J: "~@12 bb4 g4 f4 db4",
  K: "~@12 bb4 g4 f4 bb3", L: "c4 ~", M: "~@8 b3 d4 e4 g4 b4 g4 e4 d4",
  N: "eb4@11 ~ g4@3 bb4@3 g4@3 eb4@3 gb4@5 ~ a4@3 gb4@2 ~ gb4@3 eb4@3 c4@3 a3@3", O: "a3@35 ~ f4@12", P: "gb4@2 f4 eb4",
  Q: "d4@35 ~ f4@12", R: "gb4@23 ~ f4@24", S: "f4@3 f4", T: "a4@23 ~ a4@24", U: "g4@35 ~@13", V: "eb4@2 d4 db4",
  W: "c4", X: "~@12 g3@6 bb3@6 d4@6 f4@6 bb4@3 g4@3 f4@3 d4@2 ~",
  Y: "d4@23 ~ g4@3 bb4@3 e4@3 g4@3 db4@3 e4@3 bb3@2 db4@2 bb3@2",
  Z: "c4@23 ~ ab3@3 c4@3 d4@3 f4@3 c5@3 ab4@3 f4@3 d4@3", AA: "d4@4 ~ d4 b4 g4",
  AB: "bb4@23 ~ bb3@3 c4@3 eb4@3 gb4@3 bb4@3 b4@3 c5@3 eb4@3", AC: "eb4@7 e4 f4 g4 a4 b4 c5@23 ~ f4@12",
  AD: "f4@23 ~ a3@3 c4@3 d4@3 f4@3 f4@3 g4@3 b4@3 g4@3", AE: "bb4@2 ~@2 bb3 c4 eb4 bb4 g4@8", AF: "a3",
  AG: "ab3@4 ab3!2", AH: "bb3@3 bb3", AI: "ab3", AJ: "a3 ~",
  AK: "~@12 a3@3 c4@3 ~ e4@3 g4@3 a4@3 c5@3 a4@3 ~ g4@3 e4@3 ~ f4@3 e4@3", AL: "[c4@3 ~ bb3@83 ~@9]/2",
})).s("gm_alto_sax").gain(0.48).pan(0.4)

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

// other · tenor sax
const tenor_sax_2 = note(`<
  ~@27 A B C D E F G H I J I K L ~ M N O P Q R S T U V W ~@7 X Y Z AA AB AC AD AE ~@9 J I K L ~@3 AF AG AF AH AF@2 AI
  ~@3 AJ AK@2
>`.pickRestart({
  A: "~@12 d4@6 ~ c4@5 bb3@19 a3@5", B: "ab3@12 e4@23 ~ b3@12", C: "c4@24 eb4@7 c4@5 a3@7 g3@5",
  D: "gb3@12 d4@23 ~ a3@12", E: "bb3@24 db4@7 bb3@5 g3@7 f3@5", F: "e3@12 c4@23 ~ bb3@12",
  G: "a3@23 ~ c3@7 e3@5 eb3@7 c4@5", H: "bb3@4 f4 d4 c4 bb3 a3@4 g3@4", I: "a3 ~", J: "~@12 f4 db4 bb3 g3",
  K: "~@12 f4 db4 bb3 f3", L: "g3 ~", M: "~@8 e3 g3 b3 c4 e4 d4 b3 g3",
  N: "bb3@11 ~ d4@3 eb4@3 d4@3 bb3@3 c4@5 ~ eb4@3 c4@2 ~ c4@3 a3@3 gb3@3 eb3@3", O: "d3@35 ~ a3@12", P: "bb3 gb3",
  Q: "a3@35 ~ a3@12", R: "bb3@23 ~ gb3@24", S: "ab3@3 ab3", T: "bb3@23 ~ bb3@24", U: "ab3@35 ~ c3@11 ~", V: "g3 eb3",
  W: "d3", X: "~@12 d3@6 eb3@6 g3@6 bb3@6 f4@3 d4@3 bb3@3 g3@2 ~",
  Y: "g3@23 ~ db4@3 e4@3 bb3@3 db4@3 g3@3 bb3@3 e3@2 g3@2 e3@2", Z: "f3@23 ~ d3@3 f3@3 ab3@3 c4@3 f4@3 d4@3 c4@3 ab3@3",
  AA: "g3@4 ~ g3 f4 d4", AB: "eb4@23 ~ eb3@3 gb3@3 bb3@3 c4@3 eb4@3 f4@3 gb4@3 bb3@3",
  AC: "a3@7 bb3 b3 db4 eb4 e4 f4@23 ~ c4@12", AD: "c4@23 ~ d3@3 f3@3 a3@3 c4@3 b3@3 d4@3 f4@3 d4@3",
  AE: "eb4@2 ~@2 eb3 g3 bb3 eb4 d4@4 c4@4", AF: "c3", AG: "c3@4 c3!2", AH: "db3@3 db3", AI: "c3 ~",
  AJ: "~@12 e3@3 f3@3 ~ a3@3 c4@3 e4@3 f4@3 e4@3 ~ c4@3 a3@3 ~ bb3@3 a3@3", AK: "[f3@3 ~ e3@83 ~@9]/2",
})).s("gm_tenor_sax").gain(0.48).pan(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  ~@27 A B C D E F G H I J I K L ~ M N O P O Q R S T U V W X Y Z ~@3 AA AB AC AD AE AF AG AH AI AJ AI AK AL AM AN AO ~ J
  I K L ~@3 AP AQ AP AR AP@2 AS ~@3 AT AU@2
>`.pickRestart({
  A: "~@12 bb4@6 ~ a4@5 g4@19 f4@5", B: "e4@12 b4@23 ~ ab4@12", C: "a4@24 c5@7 a4@5 g4@7 eb4@5",
  D: "d4@12 a4@23 ~ gb4@12", E: "g4@24 bb4@7 g4@5 f4@7 db4@5", F: "c4@12 g4@23 ~ g4@12",
  G: "g4@23 ~ a3@7 c4@5 c4@7 a4@5", H: "g4@4 d5 bb4 a4 g4 e4@8", I: "f4 ~", J: "~@12 db5 bb4 g4 f4",
  K: "~@12 db5 bb4 g4 db4", L: "eb4 ~", M: "~@8 c4 e4 g4 a4 c5 b4 g4 e4",
  N: "g4@11 ~ bb4@3 c5@3 bb4@3 g4@3 a4@5 ~ c5@3 a4@2 ~ a4@3 gb4@3 eb4@3 c4@3", O: "bb3@35 ~ d4@12", P: "eb4 ab3",
  Q: "eb4@23 ~ ab3@24", R: "db4@3 bb3", S: "g3@23 ~ c4@24", T: "f3@35 ~ c4@11 ~", U: "c4 f3", V: "bb3",
  W: "~@7 ab4@5 gb4@7 eb4@5 ab3@24", X: "bb3@47 ~", Y: "eb3 ab3", Z: "db4@3 ~",
  AA: "~@12 bb3@6 c4@6 eb4@6 g4@6 d5@3 bb4@3 g4@3 eb4@2 ~",
  AB: "e4@23 ~ bb4@3 db5@3 g4@3 bb4@3 e4@3 g4@3 db4@2 e4@2 db4@2",
  AC: "d4@23 ~ c4@3 d4@3 f4@3 ab4@3 d5@3 c5@3 ab4@3 f4@3", AD: "f4@4 ~ f4 d5 b4",
  AE: "c5@23 ~ c4@3 eb4@3 gb4@3 bb4@3 c5@3 d5@3 eb5@3 gb4@3", AF: "f4@7 gb4 ab4 bb4 c5 d5 eb5@23 ~ a4@12",
  AG: "a4@23 ~ c4@3 d4@3 f4@3 a4@3 g4@3 b4@3 d5@3 b4@3", AH: "c5@2 ~@2 c4 eb4 g4 c5 a4@8",
  AI: "~@7 f4@5 c5@7 bb4@5 a4@19 f5@5", AJ: "gb5@19 bb4@5 ab4@23 ~", AK: "gb5@19 db5@5 c5@24",
  AL: "~@7 ab4@5 eb5@7 db5@5 c5@19 db5@5", AM: "c5@19 bb4@5 gb4@7 g4@5 a4@7 bb4@5",
  AN: "bb4@7 a4@5 a4@19 c4@5 f4@7 a4@5", AO: "a4@19 d4@5 a4@24", AP: "f3", AQ: "f3@4 f3!2", AR: "gb3@3 gb3", AS: "f3 ~",
  AT: "~@12 c4@3 d4@3 ~ f4@3 a4@3 c5@3 d5@3 c5@3 ~ a4@3 f4@3 ~ g4@3 f4@3", AU: "[d4@3 ~ c4@83 ~@9]/2",
})).s("gm_baritone_sax").gain(0.48).pan(0.4)

// other · trumpet · "Trumpet 1"
const trumpet = note("<~@66 A B C B C D E F G ~@19 H@2>".pickRestart({
  A: "~@31 d5@5 eb5@7 f5@5", B: "f5!2", C: "gb5@24 ~@7 ab5@17", D: "ab5 f5", E: "f5 e5", F: "~@7 g5@17 f5@24",
  G: "f5@7 d5@5 e5@7 f5@5 a5@24", H: "[~@6 c5@23 ~@3]/2",
})).s("gm_trumpet").gain(0.51).pan(0.6)

// other · trumpet · "Trumpet 2"
const trumpet_2 = note("<~@67 A B A B C D E F ~@19 G@2>".pickRestart({
  A: "d5!2", B: "eb5@24 ~@7 eb5@17", C: "eb5 db5", D: "d5 db5", E: "~@7 e5@17 d5@24", F: "d5@7 bb4@5 c5@7 d5@5 e5@24",
  G: "[~@6 a4@23 ~@3]/2",
})).s("gm_trumpet").gain(0.41).pan(0.6)

// other · tuba · "Trumpet 2"
const tuba = note("<~@43 A B C D E F G H I J K L M N O P Q ~@36>".pickRestart({
  A: "~@4 f5 g5 f5 eb5 d5 bb4 ~ f4 c5 a4 bb4 c5", B: "db5@6 bb4 gb4 c5@3 bb4 ab4 gb4 f4 eb4",
  C: "d4@6 f4 a4 c5 a4 bb4 c5 d5 f4 ~@2", D: "~@7 db5@5 c5@7 bb4@5 eb5@19 c5@5",
  E: "ab4@2 f4 gb4 ab4 bb4 c5 db5 eb5 db5 eb5 db5 c5 bb4 ~@2", F: "~@7 c5@5 bb4@4 d4@4 f4@4 gb4@7 g4@5 a4@7 c5@5",
  G: "e5@5 f5 e5 d5 c5 f4 ~@2 f4@4", H: "~@2 eb4 f4 g4 a4 bb4 c5 d5@4 a4@4", I: "c5@3 bb4 c5 bb4 ~@10",
  J: "~@2 gb4 ab4 bb4 c5 db5 eb5 f5@3 eb5 f5 eb5 d5 c5", K: "d5@6 c5@3 bb4@3 a4@4 c5@4 bb4@4 f4@24",
  L: "gb4@7 db5@5 bb4@7 gb4@5 f4@12 eb4@12", M: "~@2 ab4 bb4 c5 bb4 ab4 f4 eb4@3 db4 eb4 f4 ~@2",
  N: "~@7 d4@5 c5@7 bb4@5 gb4@7 g4@5 c5@7 bb4@5", O: "a4@6 e4 f4 g4 e4 f4 g4 a4 c5 ~@2",
  P: "~@2 c5@2 bb4@2 ab4@2 g4@2 f4@2 bb4 ab4 g4 f4", Q: "g4 ~",
})).s("gm_tuba").gain(0.41).pan(0.6)
// … 119 more lines

More by Stan Kenton