Strudelify
In the Mood cover art

Big Bands Of The Swingin' Years: Glenn Miller

In the Mood

Miller

KeyA♭ majorTempo165 bpm
0:00/0:00
// In the Mood — Miller
// 165 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 147 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(165/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(`<
  ~@4 A B C D@2 E F G H I J K L M N O F K J P Q H K E R S T U V W V W V W X Y V W V W V W Z AA AB AC AD AE AF AG Z AH AI
  AJ AK AL AD AM AN AH ~ AO@2 AP AQ@2 AR AS AT AR AU AV AQ AW AX AY AT AR AT AZ BA BB F K J P Q H K E R BC ~@4 BD BE F G
  H I J K L BF ~@4 BG E F G H I J K L BF ~@2 F K J P Q H K BE R BF ~@6 BH BI@4
>`.pickRestart({
  A: "bb1 ~@11 bb1 ~@3", B: "~@11 bb1@5", C: "eb2 ~@11 eb2 ~@3", D: "[~@11 db2 ~@3 ab1@4 ab1 c2@3 ~ eb2@4 f2@3 ab1]/2",
  E: "ab2@3 eb2 eb3@3 ~ c3@4 ab2@3 eb2", F: "ab2 eb3 c3 ab2", G: "ab2@3 eb2 eb3@3 eb2 ab2@4 ab2@3 ab1",
  H: "db3 db2 f2 ab2", I: "db2 ab2 f2 db2", J: "ab2@3 eb2 bb2@4 c3@3 eb2 eb3@3 eb2", K: "ab2 bb2 c3 eb3",
  L: "eb2 bb2 g2 eb2", M: "eb2@2 ~ eb2 d2@4 eb2@3 eb1 bb1@3 bb0", N: "ab2@3 ab1 ab2@4 db2@3 db1 db2@4",
  O: "e2 b1 bb2 f2", P: "ab2@2 ~ ab2 eb3@4 ab2@4 ab2@4", Q: "db2@3 ab1 eb2@4 f2@3 ab1 ab2@3 ab1", R: "eb2 f2 g2 bb2",
  S: "eb2@3 bb1 bb2@3 bb1 eb2@3 eb1 eb2@4", T: "ab1!2 db2!2", U: "e2 ~@2 eb2@2 ~@2 ab1@9", V: "ab1 b1", W: "bb1 eb2",
  X: "eb2@2 eb2 ~ eb2@2 eb2 ~", Y: "eb2@4 e2@4 eb2@3 eb1 ab1@4", Z: "~@4 eb2 ~@7 eb2 ~@3",
  AA: "~@4 e2 ~@3 eb2 ~@3 ab1 ~@3", AB: "ab1@8 b1@7 f1", AC: "bb1@8 eb2@7 bb2", AD: "ab2@8 b2@5 ~@2 b2",
  AE: "bb1@7 bb0 eb2@7 bb2", AF: "ab2 f2", AG: "bb1@5 c2 ~ db2 eb2@8", AH: "~@4 e2@2 ~ eb2 ~@3 ab1@5",
  AI: "ab2@8 f2@7 f1", AJ: "bb1@7 f2 eb2@7 a2", AK: "ab2@6 ~ ab2 f2@6 ~ a1", AL: "bb2@8 eb2@7 eb1",
  AM: "bb1@6 ~ d2 eb2@6 ~ d2", AN: "~@2 eb2 ~@3 eb2 ~", AO: "[~@12 e2@3 eb2@9 e2@3 eb2 ~@3 e2]/2",
  AP: "eb2@2 ~@2 eb2@3 ab1@5 ab1 ~@3", AQ: "ab2!2", AR: "ab1 eb2", AS: "eb2!2", AT: "ab2 eb2", AU: "ab2@8 eb2@7 ~",
  AV: "ab1@8 eb2@6 ~ eb2", AW: "ab2@8 ab2@6 ~ ab2", AX: "ab1@8 eb2@7 eb2", AY: "eb2@7 eb2 eb2@6 ~ eb2",
  AZ: "ab1@7 eb2 ~@8", BA: "~@8 e2 ~@2 eb2 ~@3 ab1", BB: "~ eb2", BC: "eb2@3 bb1 bb2@3 bb1 eb2@3 eb1 eb2 ~@3",
  BD: "ab1@4 c2@3 ~ eb2@4 f2@3 ab1", BE: "ab2@3 eb2 eb3@4 c3@4 ab2@3 eb2", BF: "eb2@2 ~ eb2 db2@4 bb1@4 ab1 ~@3",
  BG: "ab1@4 c2@4 eb2@4 f2@3 ab1", BH: "ab1 c2 eb2 f2", BI: "[ab2@4 eb2@4 ab1 ~@3 ab1@38 ~@14]/4",
})).s("gm_acoustic_bass").gain(0.33).pan(0.3)

// chords · piano
const piano = note(`<
  ~@4 A B C D@2 E@2 F G@2 H E I J K L H@2 E M G@2 E@2 N O P Q R S T U V W X Y V Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL
  AM AN AO@2 AP@3 AQ AR ~ AS@2 AT AU AV AW AX AY AZ@6 BA BB BC BD@2 BE BF H@2 E M G@2 E@2 N O ~@4 BG E@2 F G@2 H E I BH
  ~@4 BG E@2 F G@2 H E I BH ~@2 H@2 E M G@2 E@2 N O ~@6 BI BJ@4
>`.pickRestart({
  A: "[bb1,bb2,d4,ab4,bb4] ~@11 [bb1,bb2,d4,ab4,bb4] ~@3", B: "~@11 [bb2,ab3,d4,g4,c5]@5",
  C: "[eb2,eb3,db4,g4,bb4] ~@11 [eb2,eb3,db4,g4,bb4] ~@3", // Eb7
  D: "[~@11 [db2,db3,bb3,db4,f4,ab4] ~@3 [ab1,ab2,c4,eb4,f4,ab4]@4 ~@4 [f3,c4,eb4,ab4] ~@8]/2", // Bbm7 Fm7
  E: "[f3,c4,eb4,ab4] ~@6 [f3,c4,eb4,ab4] ~@8", F: "[f3,c4,eb4,ab4] ~@7 [f3,ab3,c4,eb4] ~@3 [gb3,a3,c4,e4] ~@3",
  G: "[f3,bb3,db4,ab4] ~@6 [f3,bb3,db4,ab4] ~@8", H: "[f3,ab3,c4,eb4] ~@6 [f3,ab3,c4,eb4] ~@8",
  I: "[g3,c4,db4,f4] ~@6 [g3,c4,db4,f4] ~@8", J: "[g3,db4,f4,c5] ~@7 [g3,db4,f4,c5] ~@3 [ab3,db4,f4,bb4] ~@3",
  K: "[f3,c4,eb4,ab4] ~@6 [f3,db4,ab4]@2 ~@7", L: "[ab3,d4,gb4,db5] ~@6 [ab3,db4,f4,bb4]@2 ~@7",
  M: "[f3,ab3,c4,eb4] ~@7 [f3,c4,eb4,ab4] ~@3 [gb3,c4,e4,a4] ~@3", N: "[g3,db4,f4,c5] ~@6 [g3,db4,f4,c5] ~@8",
  O: "[g3,db4,eb4,bb4] ~@7 [g3,db4,f4,c5] ~@3 [ab3,db4,f4,bb4] ~@3", P: "[f3,c4,eb4,ab4] ~@6 [f3,ab3,bb3,db4]@2 ~@7",
  Q: "[e2,e3,b3,d4,ab4] ~@2 [eb2,eb3,bb3,db4,ab4] ~@3 [ab1,ab2,ab3,c4,ab4]@9", // E7 Ebsus4 Ab
  R: "[c4,eb4,ab4] ~@6 [d3,ab3,b3,f4]@2 ~@7", S: "[g3,db4,f4,c5] ~@3 [ab3,db4,f4,bb4] ~@2 [g3,db4,f4,bb4]@2 ~@7",
  T: "[ab3,c4,eb4] ~@6 [d3,ab3,b3,f4]@2 ~@7", U: "[g3,db4,f4,bb4] ~@3 [ab3,db4,f4,bb4] ~@2 [g3,c4,db4,f4]@2 ~@7",
  V: "[c4,eb4,ab4] ~@6 [ab3,d4,f4,b4]@2 ~@7", W: "[g3,db4,f4,c5] ~@3 [ab3,bb3,db4,f4] ~@2 [g3,db4,f4,bb4]@2 ~@7",
  X: "[g3,db4,f4,bb4] ~@6 [gb3,c4,eb4,a4]@2 ~@7", // Gm7b5 Gbdim
  Y: "[g3,c4,db4,f4] ~@3 [ab3,b3,d4,e4] ~@3 [g3,c4,db4,f4] ~@3 [ab3,c4,eb4] ~@3", // Csus4 E7 Csus4 Ab
  Z: "[g3,db4,f4,bb4] ~@3 [ab3,c4,db4,f4] ~@2 [g3,db4,f4,c5]@2 ~@7", AA: "[ab3,c4,eb4] ~@6 [d3,f3,ab3,b3]@2 ~@7",
  AB: "[g3,c4,db4,f4] ~@3 [ab3,c4,db4,f4] ~@2 [g3,bb3,db4,f4]@2 ~@7", AC: "[ab3,c4,eb4] ~@6 [ab3,d4,f4,b4]@2 ~@7",
  AD: "[g3,db4,f4,c5] ~@3 [ab3,db4,f4,c5] ~@2 [g3,c4,db4,f4]@2 ~@7", // Csus4 Dbmaj7 Csus4
  AE: "~@4 [eb2,eb3,db4,g4,bb4] ~@7 [eb2,eb3,c4,gb4,a4] ~@3", // Eb7 Ebdim
  AF: "~@4 [ab3,db4,d4,gb4] ~@3 [g3,c4,db4,f4] ~@3 [f3,ab3,c4,eb4] ~@3", AG: "~@7 [ab3,d4,f4,b4]@2 ~@7",
  AH: "[ab3,db4,f4,bb4] ~@6 [g3,c4,db4,f4]@9", // Bbm7 Csus4
  AI: "[[c4,eb4,ab4] ~@6 [d3,ab3,b3,f4]@2 ~@6 [ab3,c4,db4,f4]@2 ~@6 [g3,db4,eb4,bb4]@2 ~@7]/2", // Ab Ddim Dbmaj7 Eb7
  AJ: "~@7 [ab3,b3,d4,f4]@9", AK: "[ab3,bb3,db4,f4] ~@6 [g3,db4,f4,c5]@9", AL: "~ [g3,db4,f4,c5] ~ [gb3,c4,eb4,a4]",
  AM: "~ [ab3,d4,gb4,b4] [g3,db4,f4,c5] ~", AN: "~@3 [c4,eb4,ab4]@4 [ab3,d4,f4,b4]@2 ~@7",
  AO: "[~@3 [ab3,bb3,db4,f4]@4 [g3,db4,f4,c5]@2 ~@6 [c4,eb4,ab4]@2 ~@6 [ab3,d4,f4,b4]@9]/2", // Bbm7 Csus4 Ab Abdim
  AP: "[~@11 [g3,c4,db4,f4]@4 [ab3,c4,eb4]@2 ~@6 [d3,ab3,b3,f4]@8 [ab3,db4,f4,bb4]@2 ~@6 [g3,bb3,db4,f4]@9]/3", // Csus4 Ab Ddim Bbm7 Gm7b5
  AQ: "[g3,c4,db4,f4] [g3,db4,f4,c5] ~@2", // Csus4
  AR: "[g3,bb3,db4,eb4]@3 ~ [ab3,db4,d4,gb4] ~@3 [g3,c4,db4,f4] ~@3 [f3,c4,eb4,ab4] ~@3", // Eb7 Dbsus4 Csus4 Fm7
  AS: "[~@12 [e2,e3,e4]@2 ~ [eb2,eb3,eb4]@9 [e2,e3,d4,ab4,b4]@2 ~ [eb2,eb3,db4,g4,bb4] ~@3 [e2,e3,d4,ab4,b4]]/2", // E Eb E7 Eb7 E7
  AT: "[eb2,db4,bb4]@2 ~@2 [eb2,eb3,db4,g4,b4]@3 [ab1,ab2,c4,eb4,ab4]@5 [ab1,ab2] ~@3, [eb3,g4] ~@15", // Eb7 Ebaug Ab Eb
  AU: "[ab3,c4,eb4]", AV: "[ab3,c4,eb4] ~@6 [ab3,c4,eb4]@4 ~@5", AW: "[c4,eb4,ab4] ~@6 [g3,db4,f4,c5]@2 ~@7",
  AX: "~@7 [c4,eb4,ab4]@2 ~@7", AY: "~ [c4,eb4,ab4]",
  AZ: "[[c4,eb4,ab4] ~@6 [c4,eb4,ab4]@4 ~@4 [c4,eb4,ab4]@16 [c4,eb4,ab4]@11 ~ [c4,eb4,ab4]@4 [ab3,c4,eb4]@16 [c4,eb4,ab4]@6 ~@2 [c4,eb4,ab4]@2 ~@2 [c4,eb4,ab4]@3 ~ [c4,eb4,ab4]@2 ~@7 [g3,bb3,db4,eb4] ~@7]/6", // Ab Eb7
  BA: "[g3,db4,f4,bb4] ~@6 [c4,eb4,ab4]@8 ~", BB: "~@3 [c4,eb4,ab4]@13", BC: "~@7 [c4,eb4,ab4]@9",
  BD: "[~@8 [c4,eb4,ab4]@7 [c4,eb4,ab4]@17]/2", // Ab
  BE: "~@8 [e2,e3,d4,ab4,b4] ~@2 [eb2,eb3,db4,g4,bb4] ~@3 [ab1,ab2,ab3,eb4,f4,ab4]", BF: "~ [eb2,eb3,db4,g4,c5]",
  BG: "~@7 [f3,c4,eb4,ab4] ~@8", BH: "[g3,db4,f4,c5] ~@7 [g3,db4,f4,c5] ~@3 [ab1,ab2,c4,eb4,ab4] ~@3",
  BI: "[c4,eb4,f4,ab4] ~@3 [c2,c3]@3 [c4,eb4,f4,ab4] [eb2,eb3]@4 [f2,f3]@4, [ab1,ab2] ~@3", // Fm7 C Fm7 Eb F Ab
  BJ: "[[ab2,ab3]@4 [eb2,eb3]@4 [ab1,ab2,c4,eb4,f4,ab4] ~@3 [c4,eb4,f4,ab4]@17 ~@35, ~@6 [ab1,ab2]@19 ~@7]/4", // Ab Eb Fm7 Ab
})).s("gm_piano").gain(0.25).pan(0.3)

// other · alto sax
const alto_sax = note(`<
  A B C@2 ~ D ~@2 E F G F H I E F J K L M N F N F O P N F Q R L S T U V W T X Y Z V U V W V X AA Z ~ AB AC AD ~ AE AA Z
  ~ AF AG AH ~ AE AA Z ~ AI@2 AJ ~ AK ~ AL ~ AK ~ AM ~ AK ~ AL ~ AK ~ AN AO AP N F N F O P N F Q AQ ~@4 N AR G AR AS I
  AT AU AV AW ~@4 AX AY AZ AY ~@8 N F N F O P N F Q AQ ~@6 N BA ~@3
>`.pickRestart({
  A: "ab3@3 c4 eb4@3 ab4 ~@3 ab4 ~@3 ab4", B: "~@3 ab4 ~@3 ab4 g4@3 ab4 eb4@3 c4",
  C: "[eb4@3 d4 db4@3 c4 b3@2 ~ bb3 ~@3 ab3@17]/2", D: "~@11 g4@5", E: "c4@3 eb4 ab4@3 ~ eb4@3 ab4 ~@3 eb4",
  F: "ab4@3 c4 eb4@3 ab4@5 ~@4", G: "c4@3 ~ ab4@3 ~ eb4@3 ab4 c4@3 eb4", H: "db4@3 f4 ab4@3 ~ f4@3 ab4 db4@3 f4",
  I: "ab4@3 ~ f4@3 ab4@5 ~@4", J: "eb4@3 ~ bb4@3 ~ g4@3 bb4 eb4@3 g4", K: "bb4@3 ~ g4@3 bb4@5 ~@4", L: "c4 db4",
  M: "d4@8 db4 ~@7", N: "c4@3 eb4 ab4@3 c4 eb4@3 ab4 c4@3 eb4", O: "db4@3 f4 ab4@3 db4 f4@3 ab4 db4@3 f4",
  P: "ab4@3 db4 f4@3 ab4@5 ~@4", Q: "eb4@3 g4 bb4@3 eb4 g4@3 bb4 eb4@3 g4", R: "bb4@3 eb4 g4@3 bb4@5 ~@4",
  S: "d4 ~@2 db4 ~@3 c4@9", T: "ab4@2 ~ f4 ~@3 ab4@9", U: "~@3 db4 f4@3 ab4 c5@3 c5@5", V: "ab4@2 ~ f4@2 ~@2 ab4@9",
  W: "~@3 db4 f4@3 ab4 c5@3 eb5@5", X: "~@3 db4 f4@3 ab4 c5@3 eb5 ~@3 c5", Y: "g4@3 g4 g4@3 g4 gb4@3 gb4 gb4@3 gb4",
  Z: "g4@4 d4@3 db4 ~@3 c4@5", AA: "g4@3 g4 ~@3 eb4 gb4@3 gb4 ~@3 gb4", AB: "~@15 [bb3,b3]",
  AC: "c4@3 eb4 f4@3 eb4 ab4@3 f4 d4@3 b3", AD: "bb3@3 db4 f4@3 ab4 bb4@3 eb5@5", AE: "~@11 eb5 ~@3 c5",
  AF: "~@11 ab4 b4@3 bb4", AG: "ab4@3 ab3 eb4@3 f4 d4@3 ~ ab3@3 f3, ~@11 b3@2 ~@3",
  AH: "db4@3 eb4 db4@3 [f3,gb3] g3@3 bb3@5", AI: "[~@12 e4@3 eb4@9 e4@3 eb4 ~@3 e4]/2", AJ: "eb4@2 ~@2 eb4@3 ab3@5 ~@4",
  AK: "c4 ~@6 c4 ~@8", AL: "db4 ~@6 db4 ~@8", AM: "ab4@6 ~ c5@2 ~@7", AN: "ab4@6 ~ c5 ~@4 f4@3 gb4",
  AO: "f4@3 ab4 bb4@3 c5 d5 ~@2 db5@2 ~@2 c5", AP: "~ c5", AQ: "bb4@3 eb4 g4@3 bb4 ~@8", AR: "ab4@3 ~ eb4@3 ab4@5 ~@4",
  AS: "db4@3 ~ ab4@3 ~@4 ab4 ~@4", AT: "c4@3 ~ ab4@3 ~@4 ab4 ~@3 eb4", AU: "ab4@3 ~@4 ab4@5 ~@4",
  AV: "~@4 bb4@3 ~ g4@3 bb4 ~@4", AW: "bb4@3 ~@4 bb4 ~@8", AX: "~@11 ab4 ~@4", AY: "ab4 ~@6 ab4@5 ~@4",
  AZ: "~@4 ab4 ~@6 ab4 ~@4", BA: "ab4@3 c4 eb4@3 ab4 ~@8",
})).s("gm_alto_sax").gain(0.47).pan(0.6)

// other · alto sax · soft notes
const alto_sax_soft = note("<~@8 A ~ B ~ C D A ~ E F ~@83 G B G H D I J K L ~@4 M ~@3 N O N O P Q ~@23>".pickRestart({
  A: "~@7 c4 ~@4 c4@3 ~", B: "~@3 eb4 ~@3 c4 ~@8", C: "~@7 db4 ~@8", D: "~@3 db4 ~@12", E: "~@3 g4 ~@3 eb4 ~@8",
  F: "~@3 eb4 ~@12", G: "~@3 c4 ~@12", H: "~@3 f4 ~@3 db4 f4@3 ~ db4@3 f4", I: "~@3 eb4 ~@3 c4 eb4@3 ~ c4@3 ~",
  J: "~@3 c4 eb4@3 ~@9", K: "eb4@3 g4 ~@3 eb4 ~@4 eb4@3 g4", L: "~@3 eb4 g4@3 ~@9", M: "~@4 ab4 ~@11",
  N: "~@4 ab4 ~@6 ab4 ~@4", O: "ab4 ~@6 ab4@5 ~@4", P: "~@4 bb4 ~@6 bb4 ~@4", Q: "bb4 ~@6 bb4 ~@8",
})).s("gm_alto_sax").gain(0.31).pan(0.6)

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

// other · alto sax · soft notes
const alto_sax_soft_2 = note(`<
  ~@8 A B C ~ D ~ A B E F ~@20 G ~@62 B ~@2 H I J K L M ~@4 N O P O N O N O Q R ~@23
>`.pickRestart({
  A: "~@3 c4 ~@3 ab3 ~@4 ab3@3 ~", B: "~@3 ab3 ~@12", C: "~@7 ab3 ~@4 ab3@3 ~", D: "~@3 db4 ~@8 bb3@3 ~",
  E: "~@7 db4 ~@8", F: "~@3 db4 ~@12", G: "~@3 bb4 ~@12", H: "~@3 db4 ~@3 bb3 ~@4 bb3@3 ~", I: "~@3 bb3 db4@3 ~@9",
  J: "~@3 c4 ~@3 ab3 ~@4 ab3@3 c4", K: "~@3 ab3 c4@3 ~@9", L: "~@3 eb4 ~@3 db4 eb4@3 ~ db4@3 eb4",
  M: "~@3 db4 eb4@3 ~@9", N: "~@4 f4 ~@6 f4 ~@4", O: "f4 ~@6 f4@5 ~@4", P: "~@4 f4 ~@11", Q: "~@4 g4 ~@6 g4 ~@4",
  R: "g4 ~@6 g4 ~@8",
})).s("gm_alto_sax").gain(0.23).pan(0.7)

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

// other · tenor sax · soft notes
const tenor_sax_soft = note(`<
  ~@8 A ~ B ~ C D E D F G ~@20 H ~@61 A ~ I D J K L K M N ~@4 O ~ O ~ P Q R S O T ~@23
>`.pickRestart({
  A: "~@7 f3 ~@4 f3@3 ~", B: "~@3 ab3 ~@3 f3 ~@8", C: "~@3 ab3 ~@12", D: "~@3 f3 ~@12", E: "~@3 ab3 ~@3 f3 ~@4 f3@3 ~",
  F: "~@3 db4 ~@3 bb3 ~@8", G: "~@3 bb3 ~@12", H: "~@3 db4 ~@12", I: "~@3 ab3 ~@8 f3@3 ~",
  J: "~@3 ab3 ~@3 f3 ab3@3 ~ f3@3 ~", K: "~@3 f3 ab3@3 ~@9", L: "~@3 ab3 ~@3 f3 ~@4 f3@3 ab3",
  M: "~@3 db4 ~@3 bb3 db4@3 ~ bb3@3 db4", N: "~@3 bb3 db4@3 ~@9", O: "~@11 eb4 ~@4", P: "~@4 bb3 ~@6 bb3 ~@4",
  Q: "bb3 ~@6 bb3@5 ~@4", R: "~@4 eb4 ~@6 eb4 ~@4", S: "eb4 ~@6 eb4@5 ~@4", T: "eb4 ~@6 eb4 ~@8",
})).s("gm_tenor_sax").gain(0.23).pan(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  A B C@2 ~ D ~@2 E F G H I J G F K L M N O F O F P J O F Q L M R S T S T U V W X U T S T U V Y Z ~@5 AA Y Z ~@5 AA Y Z
  ~ AB@2 AC@2 AD@2 AE@2 AF ~ AG@2 AD@2 AE@2 AF ~ AH AI@2 O F O F P J O F Q AJ ~@4 AK F G H AL AM AN H AO AP ~@5 AQ AR
  ~@2 AQ ~@6 O F O F P J O F Q AJ ~@6 O AS@3 ~
>`.pickRestart({
  A: "ab2@3 c3 eb3@3 ab3 ~@3 ab3 ~@3 ab3", B: "~@3 ab3 ~@3 ab3 g3@3 ab3 eb3@3 c3",
  C: "[eb3@3 d3 db3@3 c3 b2@2 ~ bb2 ~@3 ab2@17]/2", D: "~@11 bb2@5", E: "c3@3 ~ ab3@3 c3 eb3@3 ab3 c3@3 eb3",
  F: "ab3@3 c3 eb3@3 ab3@5 ~@4", G: "c3@3 ~ ab3@3 c3 eb3@3 ab3 ~@3 eb3", H: "ab3@3 ~ eb3@3 ab3@5 ~@4",
  I: "db3@3 ~ ab3@3 db3 f3@3 ab3 db3@3 f3", J: "ab3@3 db3 f3@3 ab3@5 ~@4", K: "eb3@3 ~ bb3@3 eb3 g3@3 bb3 eb3@3 g3",
  L: "bb3@3 eb3 g3@3 bb3@5 ~@4", M: "ab2 db3", N: "e3@8 eb3 ~@7", O: "c3@3 eb3 ab3@3 c3 eb3@3 ab3 c3@3 eb3",
  P: "db3@3 f3 ab3@3 db3 f3@3 ab3 db3@3 f3", Q: "eb3@3 g3 bb3@3 eb3 g3@3 bb3 eb3@3 g3", R: "ab3 ~@2 g3 ~@3 ab2@9",
  S: "ab2@2 ~ eb3@2 ~@2 d3@9", T: "~@3 bb3 ab3@3 f3 eb3@3 eb3@5", U: "ab2@2 ~ eb3 ~@3 d3@9",
  V: "~@3 bb3 ab3@3 f3 eb3@3 eb3 ~@3 c3", W: "eb3@3 ~ eb3@3 eb3 eb3@3 eb3 eb3@3 eb3", X: "eb2@4 e2@3 eb2 ~@3 ab2@5",
  Y: "eb3@2 ~@2 eb2 ~@3 eb3@2 ~@2 eb2 ~@3", Z: "eb3@4 e2@3 eb2 ~@3 ab2@5", AA: "~@11 eb3 ~@3 c3",
  AB: "[~@12 e3@3 eb3@9 e3@3 eb3 ~@3 e3]/2", AC: "[eb3@2 ~@2 eb3@3 ab2@5 ab2@12 c3@3 eb3 ~@4]/2",
  AD: "[eb3 ~@6 eb3 ~@4 ab3@12 f3@3 eb3 ~@4]/2", AE: "[bb3 ~@6 bb3 ~@4 ab3@12 c4@3 eb4 ~@4]/2", AF: "eb3 ~@6 eb3 ~@8",
// … 333 more lines

More by Miller