Strudelify

Little Brown Jug

Miller

KeyD♭ majorTempo155 bpm
0:00/0:00
// Little Brown Jug — Miller
// 155 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 116 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(155/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 D A B C E A B C D A B C E A B C D A B C E A B C D A B C E F G H F I J K L ~ M ~ M N O@2 ~ F P Q R F S T R U V Q
  I W X Q R Y Z AA AB AC AD ~@3 AE R AF AG I U AH AI AJ U AK AL AM U AN AO AP W AM AI J AQ AR R@2 I@2 AM I AS AI@2 AT T
  AR AQ AR R I R AU@3
>`.pickRestart({
  A: "db2 f2", B: "gb2@8 g2@6 ~ ab2", C: "~@3 gb2 ~@4 f2@2 ~@2 eb2@2 ~@2", D: "db2@6 ~ e2 eb2@4 ab1@2 ~@2",
  E: "db2 ab1", F: "db2 eb2 f2 ab2", G: "gb2 gb3 db3 gb2", H: "eb2 d2 eb2 ab2", I: "db2 db3 ab2 db2",
  J: "eb3 gb2 ab2 bb2", K: "eb2@4 e2@3 ~ eb2@4 ab1@4", L: "db2@6 ~ db2 ~@8", M: "~@3 ab1@5 ab1 ~@7", N: "b1 a1 a1@2",
  O: "[ab1@8 ab1@2 ~@2 ab1@3 db2@5 ~@12]/2", P: "gb2 d2 eb2 g2", Q: "ab2 ab3 eb3 ab2",
  R: "db2@2 ~ db2 ab2@4 f2@4 db2@3 ~", S: "gb2@2 ~ gb2 db3@3 ~ eb2@4 g2@4", T: "ab2@4 ab2@4 eb3@3 ~ eb3@4",
  U: "db2 eb2 e2 f2", V: "gb2@4 d2@4 eb2@4 a2@3 ~", W: "db3 f2 gb2 ab2", X: "gb2@2 ~ gb2 db3@3 ~ eb2@4 a2@3 ~",
  Y: "db2@4 gb2@4 g2@4 db2@3 ~", Z: "c2!2 db2 c2", AA: "db2@2 ~ db2 ab2@3 ~ g2@4 db2@3 ~",
  AB: "c2@4 d2@3 ~ db2@4 ~ ab2@2 db2, ~@6 db3 ~", AC: "db2@4 ab2@3 ~ g2@4 b1@4", AD: "c2@4 d2@3 ~ db2@4 ~@4",
  AE: "~@11 ab1@5", AF: "gb3 bb2 b2 db3", AG: "eb2@4 e2@3 ~ eb2@4 ab2@4", AH: "gb2@2 ~ gb2 db3@4 bb2@4 gb2@3 ~",
  AI: "eb2 eb3 bb2 eb2", AJ: "db2@2 ~ db2 ab2@3 ~ ab2@4 ~ eb3@2 ab2, ~@6 ab3 ~", AK: "gb2@4 gb2@4 db3@3 ~ db3@4",
  AL: "eb2@2 ~ eb2 bb2@3 ~ eb2@4 ab2@4", AM: "db2@4 db2@4 ab2@3 ~ ab2@4", AN: "gb2 ab2 bb2 db3",
  AO: "eb2@4 eb2@4 bb2@3 ~ bb2@4", AP: "ab2@2 ~ ab2 eb3@3 ~ db2@4 ~ ab2@2 db2, ~@6 db3 ~", AQ: "ab3 c3 db3 eb3",
  AR: "ab2@2 ~ ab2 eb3@4 c3@4 ab2@3 ~", AS: "eb2 f2 gb2 bb2", AT: "eb2 f2 gb2!2",
  AU: "[db2@6 ~ db2 ~@4 db2@27 ~ db2 ~@7]/3",
})).s("gm_acoustic_bass").gain(0.15).pan(0.3)

// chords · piano
const piano = note(`<
  A B C D A B C E F G H@2 I@2 J K L@2 M N O P Q@2 R S T U V@2 W X Y Z AA AB AC AD AE AF ~ AG ~ AG AH AI@2 ~ AJ AK AL AJ
  AM@2 AN AJ AO AP AN AJ AO AQ AR Y AS AT AU AV@2 ~@4 AW AJ AX AY Y AJ AZ BA BB BC BD BE AO Y BF BA BG BC AO BH BI AL AN
  AC Y BC AC@3 BJ BI@2 BJ AL BK BL AR Y AO BC BM@3
>`.pickRestart({
  A: "db2 f2", B: "gb2@8 g2@6 ~ ab2", C: "~@3 gb2 ~@4 f2@2 ~@2 eb2@2 ~@2", D: "db2@6 ~ e2 eb2@4 ab1@2 ~@2",
  E: "db2 ab1", F: "[db2,f3,db4,ab4]@8 ~@3 [f3,db4,ab4]@2 ~@3, ~ f2",
  G: "[bb3,db4,gb4]@6 ~@2 g2@6 ~ ab2, gb2@7 [e3,bb3,db4,g4]@2 ~@7", // Gb Edim
  H: "[[gb3,c4,eb4,ab4] ~@2 gb2 ~@3 [gb3,c4,eb4,ab4] f2@2 ~@2 eb2@2 ~@2 db2@6 ~ e2 [gb3,c4,eb4,ab4] ~@2 [gb3,c4,eb4,ab4] ab1@2 ~@2, ~@15 [f3,db4,ab4]@9 eb2@3 ~@5]/2", // Ab7 Db
  I: "[[f3,db4,ab4] ~@6 [f3,db4,ab4] f2@7 ~ gb2@8 [e3,g3,bb3,db4] ~@2 [e3,g3,bb3,db4] ~@3 ab2, db2@7 ~@8 [bb3,db4,gb4]@9 g2@6 ~@2]/2", // Db Edim Gb
  J: "~@3 gb2 ~@4 f2@2 ~@2 eb2@2 ~@2, [gb3,c4,eb4,ab4]@9 ~@2 [gb3,c4,eb4,ab4]@2 ~@3", // Ab7
  K: "[f3,db4,ab4] ~@2 [f3,db4,ab4] ~@4 gb6@4 eb6@4, db2 ab1", // Db
  L: "[~@3 [f3,db4,ab4] ~@7 [f3,db4,ab4] ~@4 gb2@7 ~ g2@6 ~ ab2, db2@8 f2@7 [bb3,db4,gb4]@8 [e3,bb3,db4,g4]@2 ~@7]/2", // Db Gb Edim
  M: "[gb3,c4,eb4,ab4] ~@2 gb2 ~@3 [gb3,c4,eb4,ab4] f2@2 ~@2 eb2@2 ~@2", // Ab7
  N: "db2@6 ~ e2 eb2@3 [gb3,c4,eb4,ab4] ab1@2 ~@2", O: "~@3 [f3,db4,ab4] ~@7 [f3,db4,ab4] ~@4, db2 f2",
  P: "[gb2,bb3,db4,gb4]@8 [e3,bb3,db4,g4] ~@6 ab2, ~@4 g2@3 ~", // Gb Edim
  Q: "[[gb3,c4,eb4,ab4] ~@2 gb2 ~@3 [gb3,c4,eb4,ab4] f2@2 ~@2 eb2@2 ~@2 db2@8 ~@4 eb6@4, ~@15 [f3,db4,ab4]@9 ab1@8]/2", // Ab7 Db
  R: "~@3 [f3,ab3,db4] ~@7 [f3,ab3,db4] ~@4, db2 f2", // Db
  S: "[gb3,bb3,db4] ~@2 [gb3,bb3,db4] ~@4 g2@6 ~ ab2, gb2@7 [e3,bb3,db4,g4]@2 ~@7", // Gb Edim
  T: "[gb3,ab3,c4,eb4] ~@2 gb2 ~@3 [gb3,ab3,c4,eb4] f2@2 ~@2 eb2@2 ~@2", // Ab7
  U: "~@3 [f3,ab3,db4] ~@3 e2 eb2@4 ab1@2 ~@2, db2@6 ~ [gb3,c4,eb4,ab4]@2 ~@7", // Db Ab7
  V: "[~@3 [f3,ab3,db4] ~@7 [f3,ab3,db4] ~@4 gb2@8 g2@6 ~ ab2, db2@8 f2@7 [gb3,bb3,db4]@2 ~@15]/2", // Db Gb
  W: "~@3 [gb2,gb3,c4,eb4,ab4] ~@4 f2@2 ~ [gb3,c4,eb4,ab4] eb2@2 ~@2", // Ab7
  X: "~@3 ab6, db2 ab1, ~@3 [gb3,db4,eb4,bb4]@9 ~@4", Y: "~@3 [f3,db4,ab4] ~@7 [f3,db4,ab4] ~@4",
  Z: "[gb3,bb3,db4] ~@6 [gb3,bb3,db4] ~@8", AA: "[gb3,db4,eb4,bb4] ~@11 ab6@4", AB: "[f3,ab3,db4] ~@6 [f3,ab3,db4] ~@8",
  AC: "~@3 [f3,ab3,db4] ~@7 [f3,ab3,db4] ~@4", AD: "[gb3,bb3,db4,eb4]@9 ~@2 [gb3,bb3,db4,eb4]@2 ~@3",
  AE: "~@3 [gb3,bb3,db4,eb4] ~@12", AF: "[db2,ab3,db4,f4]@6 ~ [db2,ab3,db4,f4] ~@8",
  AG: "~@3 [ab1,ab2]@5 [ab1,ab2] ~@7", AH: "b2 a2 [a2,g3,b3,db4,e4]@2",
  AI: "[~@3 [gb3,c4,eb4,bb4] ~@4 [ab2,gb3,c4,d4]@2 ~@2 [ab2,gb3,bb3,c4,d4]@3 [db2,ab2,f3,bb3,db4]@5 ~@12, ab2 ~@3]/2", // Cm7b5 Ab7 Bbm7
  AJ: "[f3,db4,ab4] ~@6 [f3,db4,ab4] ~@8", AK: "~@3 [bb3,db4,gb4] ~@4 [gb3,db4,eb4,bb4] ~@2 [gb3,db4,eb4,bb4] ~@4",
  AL: "[gb3,c4,eb4,ab4]@9 ~@2 [gb3,c4,eb4,ab4]@2 ~@3", // Ab7
  AM: "[[f3,db4,ab4]@9 ~@2 [f3,db4,ab4]@2 ~@2 [bb3,db4,gb4]@8 [gb3,db4,eb4,bb4]@2 ~@7]/2", // Db Gb Ebm7
  AN: "[gb3,c4,eb4,ab4] ~@6 [gb3,c4,eb4,ab4] ~@8", AO: "[f3,db4,ab4]@9 ~@2 [f3,db4,ab4]@2 ~@3",
  AP: "[bb3,db4,gb4] ~@2 [bb3,db4,gb4] ~@4 [gb3,db4,eb4,bb4]@8", // Gb Ebm7
  AQ: "[bb3,db4,gb4] ~@2 [bb3,db4,gb4] ~@3 [gb3,db4,eb4,bb4]@2 ~@7", // Gb Ebm7
  AR: "~@3 [gb3,c4,eb4,ab4] ~@7 [gb3,c4,eb4,ab4] ~@4", AS: "[f3,db4,ab4]@6 ~ [e3,bb3,db4,g4]@2 ~@7",
  AT: "[eb3,gb3,a3,c4]@8 ~@3 [f3,db4,ab4] ~@4", AU: "[f3,db4,ab4] ~@2 [f3,db4,ab4] ~@4 [e3,g3,bb3,db4]@8",
  AV: "[[eb3,gb3,a3,c4] ~@2 [eb3,gb3,a3,c4] ~@7 [f3,ab3,db4] ~@3 [f3,db4,ab4]@2 ~@10 [e3,g3,bb3,db4] ~@4]/2", // Ebdim Db Edim
  AW: "~@7 ab6@7 ~@2", AX: "[bb3,db4,gb4]@9 ~@2 [bb3,db4,gb4]@2 ~@3",
  AY: "[gb3,bb3,db4,eb4] ~@2 [gb3,bb3,db4,eb4] ~@4 eb6@4 ~@4", AZ: "[gb3,bb3,db4]@9 ~@2 [gb3,bb3,db4]@2 ~@3",
  BA: "~@3 [gb3,bb3,db4,eb4] ~@7 [gb3,bb3,db4,eb4] ~@4", BB: "[f3,ab3,db4]@8 [gb3,c4,eb4,ab4] ~@2 [gb3,c4,eb4,ab4] ~@4",
  BC: "[f3,ab3,db4]@9 ~@2 [f3,ab3,db4]@2 ~@3", BD: "[bb3,db4,gb4] ~@6 [bb3,db4,gb4] ~@8", BE: "~@2 eb6 ab6",
  BF: "~@3 [bb3,db4,gb4] ~@7 [bb3,db4,gb4] ~@4", BG: "[gb3,c4,eb4,ab4] ~@2 [gb3,c4,eb4,ab4] ~@4 [f3,ab3,db4]@8",
  BH: "~@3 [gb3,db4,eb4,bb4] ~@7 [gb3,db4,eb4,bb4] ~@4", BI: "[gb3,db4,eb4,bb4]@9 ~@2 [gb3,db4,eb4,bb4]@2 ~@3",
  BJ: "[gb3,db4,eb4,bb4] ~@6 [gb3,db4,eb4,bb4] ~@8", BK: "~@3 [gb3,ab3,c4,eb4] ~@7 [gb3,ab3,c4,eb4] ~@4",
  BL: "[gb3,ab3,c4,eb4]@9 ~@2 [gb3,ab3,c4,eb4]@2 ~@3", // Ab7
  BM: "[[db2,ab3,db4,f4]@6 ~ [db2,ab3,db4,f4] ~@4 db2@27 ~ [db2,ab3,db4,f4] ~@7]/3", // Db
})).s("gm_piano").gain(0.13).pan(0.3)

// other · alto sax
const alto_sax = note(`<
  ~@39 A B@4 C@3 ~@16 D E F E G H I ~@3 J K L M N M L O@2 P L M N M L Q R S T S U V T S ~ W X W X W X W X V Y V Y S Z S
  AA ~@2
>`.pickRestart({
  A: "~@15 g4", B: "[a4@7 ab4 g4@2 ~ gb4@2 ~@2 bb4@2 ~@14 g4, ab4 ~@31]/2",
  C: "[a4@3 ab4 g4@3 gb4 g4@7 gb4@4 ~@12 ab3@2 ~@15, ab4 ~@47]/3", D: "~@15 b3", E: "db4!2, c4 ~@15",
  F: "c4@6 ~ bb3@2 ~@2 ab4@4 b3", G: "c4@6 ~ bb3@2 ~@2 ab4@5", H: "db4!2", I: "c4@6 ~ bb3@2 ~@7", J: "~@11 eb4@5",
  K: "bb3 ~@2 bb3@5 db4@2 ~ bb3 ~@3 bb3", L: "~@3 bb3@5 gb3@2 ~ bb3@2 ~@2 bb3", M: "~@3 bb3@5 db4@2 ~ bb3@2 ~@2 bb3",
  N: "~@3 bb3@5 ab3@2 ~ bb3@2 ~@2 bb3", O: "[~@3 bb3@5 gb3@3 bb3 db4@3 f4@5 ~@11 bb3]/2",
  P: "~@3 bb3@5 db4@2 ~ bb3 ~@3 bb3", Q: "~@3 bb3@5 gb3@3 bb3 db4@3 f4", R: "c4@2 ~@2 gb3@3 bb3@2 ~@6 bb3",
  S: "~@3 bb3@5 ~@8", T: "~@15 bb3", U: "~@15 c4", V: "~@3 c4@5 ~@8", W: "~@3 bb4@5 ~@8",
  X: "bb4@6 ~ bb4@2 ~@3 bb4 ~@3", Y: "c4@6 ~ c4@2 ~@3 c4 ~@3", Z: "bb3@6 ~ bb3@2 ~@3 bb3 ~@3", AA: "bb3@6 ~ bb3 ~@8",
})).s("gm_alto_sax").gain(0.25).pan(0.7)

// other · tenor sax
const tenor_sax = note(`<
  ~@8 A B C D A B C E A B C D A B C E A B C D A B C F G H I J K L M N O@4 P@3 ~@16 Q R S R T U V ~@2 W@2 X Y Z AA AB Y
  AC@2 AD Y Z AA AB Y AE AF AG@2 AH@2 AI@2 AJ@2 AK AL AK AL AM AN AM AN AO AP AO AP AQ AR AQ AS@3
>`.pickRestart({
  A: "f3@3 ab3 ~@4 ab3@6 ~@2", B: "gb3@3 bb3 ~@4 bb3@6 ~ c4", C: "~@3 c4 ~@4 bb3 ~@3 c4 ~@3",
  D: "db4@3 eb4@2 ~@3 eb4@3 db4 bb3@3 ab3, ~@7 e4@2 ~@7", E: "db4@6 ~ db4 ~@3 [ab4,bb4] ab4@2 ~@2", F: "db4@3 ~",
  G: "f3@3 ab3@2 ~@2 f3 ab3@8", H: "~@3 db4 bb3@3 gb3 eb3@3 f3 gb3@3 g3", I: "ab3@2 ~ ab2@2 ~@3 bb2@2 ~@2 c3@2 ~@2",
  J: "db3@6 ~ e3 f3@3 ab3 bb3@2 ~@2", K: "db3@3 f3 ~@4 ab3@8", L: "gb3@2 ~@2 f3@2 ~@2 eb3@3 f3 gb3@3 g3",
  M: "ab3@3 gb3@2 ~@3 f3@2 ~@2 eb3 ~@3", N: "db3@6 ~ db3 ~@7 e4",
  O: "[gb4@7 f4 e4@2 ~ eb4@2 ~@2 c4@2 ~@2 ab2@5 ab2@2 ~@5 e4, f4 ~@31]/2",
  P: "[gb4@3 f4 e4@3 eb4 e4@7 eb4@4 ab2@12 f3@2 ~@15, f4 ~@47]/3", Q: "~@15 ab3", R: "bb3!2, a3 ~@15",
  S: "a3@6 ~ ab3@2 ~@2 db4@4 ab3", T: "a3@6 ~ ab3@2 ~@2 db4@5", U: "bb3!2", V: "a3@6 ~ ab3@2 ~@7",
  W: "[~@12 ab3@12 ~@3 ab3@5]/2", X: "f3 ~@2 f3@5 ab3@2 ~ f3 ~@3 gb3", Y: "~@3 gb3@5 eb3@2 ~ gb3@2 ~@2 eb3",
  Z: "~@3 eb3@5 g3@2 ~ gb3@2 ~@2 f3", AA: "~@3 f3@5 db3@2 ~ f3@2 ~@2 f3", AB: "~@3 f3@5 ab3@2 ~ f3@2 ~@2 gb3",
  AC: "[~@3 eb3@5 db3@3 eb3 gb3@3 bb3@5 ~@4 ab3@6 ~ gb3]/2", AD: "~@3 f3@5 ab3@2 ~ f3 ~@3 gb3",
  AE: "~@3 eb3@5 db3@3 eb3 gb3@3 bb3", AF: "gb3@2 ~@2 c3@3 f3@2 ~@6 f3",
  AG: "[~@3 f3@5 e3@3 db3 bb2@3 ab2@2 ~@2 db3@5 f3@2 ~ ab3@2 ~@2 eb3]/2",
  AH: "[~@3 eb3@5 e3@3 db3 bb2@3 ab2@2 ~@2 db3@5 f3@2 ~ ab3@2 ~@2 gb3]/2",
  AI: "[~@3 gb3@5 e3@3 c3 bb2@3 ab2@2 ~@2 ab2@5 c3@2 ~ eb3@2 ~@2 f3]/2",
  AJ: "[~@3 f3@5 e3@3 db3 bb2@3 ab2@2 ~@2 db3@5 f3@2 ~ ab3 ~@4]/2", AK: "~@3 f4@5 e4@3 db4 bb3@3 ab3",
  AL: "f4@6 ~ f4@2 ~@3 f4 ~@3", AM: "~@3 gb4@5 e4@3 db4 bb3@3 ab3", AN: "gb4@6 ~ gb4@2 ~@3 gb4 ~@3",
  AO: "~@3 gb3@5 e3@3 c3 bb2@3 ab2", AP: "gb3@6 ~ gb3@2 ~@3 gb3 ~@3", AQ: "~@3 f3@5 e3@3 db3 bb2@3 ab2",
  AR: "f3@6 ~ f3@2 ~@3 f3 ~@3", AS: "[f3@6 ~ f3 ~@4 db3@32 ~@4]/3",
})).s("gm_tenor_sax").gain(0.3)

// other · tenor sax
const tenor_sax_2 = note(`<
  ~@39 A B@4 C@3 ~@18 D ~ D ~@5 E F G H I J G K@2 L G H I J G M N O P Q R S T O ~ U V U V W X W X S Y S Y O Z O AA ~@2
>`.pickRestart({
  A: "~@15 db4", B: "[eb4@7 d4 db4@2 ~ c4@2 ~@2 gb4@2 ~@14 db4, d4 ~@31]/2",
  C: "[eb4@3 d4 db4@3 c4 db4@7 c4@4 ~@12 bb3@2 ~@15, d4 ~@47]/3", D: "~@11 f4@5", E: "~@11 c4@5",
  F: "ab3 ~@2 ab3@5 bb3@2 ~ ab3 ~@3 eb3", G: "~@3 eb3@5 db3@2 ~ eb3@2 ~@2 gb3", H: "~@3 gb3@5 bb3@2 ~ a3@2 ~@2 ab3",
  I: "~@3 ab3@5 f3@2 ~ ab3@2 ~@2 ab3", J: "~@3 ab3@5 bb3@2 ~ ab3@2 ~@2 eb3",
  K: "[~@3 gb3@5 eb3@3 gb3 bb3@3 db4@5 ~@11 eb3]/2", L: "~@3 ab3@5 bb3@2 ~ ab3 ~@3 eb3",
  M: "~@3 gb3@5 eb3@3 gb3 bb3@3 db4", N: "bb3@2 ~@2 eb3@3 ab3@2 ~@6 ab3", O: "~@3 ab3@5 ~@8", P: "~@15 gb3",
  Q: "~@3 gb3@5 ~@8", R: "~@15 bb3", S: "~@3 bb3@5 ~@8", T: "~@15 ab3", U: "~@3 ab4@5 ~@8",
  V: "ab4@6 ~ ab4@2 ~@3 ab4 ~@3", W: "~@3 eb4@5 ~@8", X: "eb4@6 ~ eb4@2 ~@3 eb4 ~@3", Y: "bb3@6 ~ bb3@2 ~@3 bb3 ~@3",
  Z: "ab3@6 ~ ab3@2 ~@3 ab3 ~@3", AA: "ab3@6 ~ ab3 ~@8",
})).s("gm_tenor_sax").gain(0.25).pan(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  ~@8 A B C D A B C E A B C D A B C E A B C D A B C F G H I J K L M N O@4 P@3 ~@16 Q R S R T U V ~ W@3 X Y Z Y Z Y AA@2
  AB Y Z Y Z Y AC AD AE@2 AF@2 AG@2 AH@2 AI AJ AI AJ AI AJ AI AJ AK AL AK AL AM AN AM AO@3
>`.pickRestart({
  A: "f2@3 ab2 ~@4 ab2@6 ~@2", B: "gb2@3 bb2 ~@4 bb2@6 ~ c3", C: "~@3 c3 ~@4 bb2 ~@3 c3 ~@3",
  D: "db3@3 eb3@2 ~@3 eb3@3 db3 bb2@3 ab2, ~@7 e3@2 ~@7", E: "db3@6 ~ db3 ~@3 [ab3,bb3] ab3@2 ~@2", F: "db3@3 ~",
  G: "f2@3 ab2@2 ~@2 f2 ab2@8", H: "~@3 db3 bb2@3 gb2 eb2@3 f2 gb2@3 g2", I: "ab2@2 ~ ab2@2 ~@3 bb2@2 ~@2 c3@2 ~@2",
  J: "db3@6 ~ e2 f2@3 ab2 bb2@2 ~@2", K: "db2@3 f2 ~@4 ab2@8", L: "gb2@2 ~@2 f2@2 ~@2 eb2@3 f2 gb2@3 g2",
  M: "ab2@3 gb2@2 ~@3 f2@2 ~@2 eb2 ~@3", N: "db2@6 ~ db2 ~@7 b3",
  O: "[db4@7 c4 b3@2 ~ bb3@2 ~@2 eb4@2 ~@2 ab2@5 ab2@2 ~@5 b3, c4 ~@31]/2",
  P: "[db4@3 c4 b3@3 bb3 b3@7 bb3@4 ab2@12 db3@2 ~@15, c4 ~@47]/3", Q: "~@15 gb2", R: "ab2 bb2, g2 ~@15",
  S: "c3@6 ~ db3@2 ~@2 db3@4 gb2", T: "c3@6 ~ db3@2 ~@2 db3@5", U: "ab2 bb2", V: "c3@6 ~ db3@2 ~@7",
  W: "[~@12 db3@28 ~@3 ab2@5]/3", X: "db3 ~@2 db3@5 e3@2 ~ db3 ~@3 db3", Y: "~@3 db3@5 bb2@2 ~ db3@2 ~@2 db3",
  Z: "~@3 db3@5 e3@2 ~ db3@2 ~@2 db3", AA: "[~@3 db3@5 bb2@3 db3 f3@3 ab3@5 ~@4 ab2@6 ~ db3]/2",
  AB: "~@3 db3@5 e3@2 ~ db3 ~@3 db3", AC: "~@3 db3@5 bb2@3 db3 f3@3 ab3", AD: "f3@2 ~@2 ab2@3 db3@2 ~@6 db3",
  AE: "[~@3 db3@5 e3@3 db3 bb2@3 ab2@2 ~@2 db3@5 f3@2 ~ ab3@2 ~@2 db3]/2",
  AF: "[~@3 db3@5 e3@3 db3 bb2@3 ab2@2 ~@2 db3@5 f3@2 ~ ab3@2 ~@2 eb3]/2",
  AG: "[~@3 eb3@5 e3@3 c3 bb2@3 ab2@2 ~@2 ab2@5 c3@2 ~ eb3@2 ~@2 db3]/2",
  AH: "[~@3 db3@5 e3@3 db3 bb2@3 ab2@2 ~@2 db3@5 f3@2 ~ ab3 ~@4]/2", AI: "~@3 db4@5 e4@3 db4 bb3@3 ab3",
  AJ: "db4@6 ~ db4@2 ~@3 db4 ~@3", AK: "~@3 eb3@5 e3@3 c3 bb2@3 ab2", AL: "eb3@6 ~ eb3@2 ~@3 eb3 ~@3",
  AM: "~@3 db3@5 e3@3 db3 bb2@3 ab2", AN: "db3@6 ~ db3@2 ~@3 db3 ~@3", AO: "[db3@6 ~ db3 ~@4 db2@32 ~@4]/3",
})).s("gm_baritone_sax").gain(0.3).pan(0.8)

// other · trumpet · "Trumpet 1"
const trumpet = note(`<
  ~@23 A B@2 C D B@2 E F G@2 H I J K@2 L M N M N O@3 ~@2 P ~ P ~ P ~ P ~ P ~ P ~ P ~ P ~ Q ~ Q ~ R@5 ~@16 S T S T U V S
  T ~ T ~ T ~ T ~ T ~ W ~ W ~ X ~ Y ~ Z
>`.pickRestart({
  A: "~@11 f4@5", B: "~@4 db5@2 ~@5 db5@5", C: "~@4 f5 ~ gb5 ~", D: "ab5@6 ~ e5 eb5@3 db5 bb4@3 ab4",
  E: "~@4 bb4 ~ ab4 ~", F: "~@4 db5@7 ~ bb4 ~@3",
  G: "[db5@6 [g4,ab4] [a4,bb4,b4] db5@6 ~ db5@9 db5@2 ~@2 db5@2 ~@2, ~@8 c5 ~@23]/2", // Abmaj7
  H: "bb4@2 ~ db5@5 f5@3 db5 bb4@3 ab4", I: "db5@4 ~ c5@2 db5@2 ~@6 db5, ~@2 eb5 ~@5",
  J: "f5@3 db5@2 ~@2 bb4 db5@6 ~ bb4",
  K: "[db5@2 ~@2 db5@2 ~@2 db5@2 ~@2 db5@2 ~ e5@2 ~@2 db5@5 bb4@2 ~ db5 bb4@2 ~@2]/2", L: "db5@6 ~ db5 ~@4 db5 ~@2 gb5",
  M: "ab5@6 ~ g5 gb5@2 ~ f5@2 ~@2 ab5, g5 ~@15", N: "~@12 db5 ~@2 gb5",
  O: "[ab5@2 ~ g5 gb5@2 ~ f5 e5@6 ~ eb5@8 d5@8 db5@2 ~@15, g5 ~@47]/3", P: "~@7 db5 ~@3 db5 ~@4", Q: "~@11 db5@5",
  R: "[~@3 db5@15 ~@2]/5", S: "~@2 db5 ~@3 db5 ~", T: "~@4 db5@2 ~ db5@2 ~@2 db5 db5@2 ~@2", U: "~@2 c5 ~@3 c5 ~",
  V: "~@4 c5@2 ~ c5@2 ~@2 c5 c5@2 ~@2", W: "~@4 eb4@2 ~ eb4@2 ~@2 eb4 eb4@2 ~@2",
  X: "~@4 db4@2 ~ db4@2 ~@2 db4 db4@2 ~@2", Y: "db5@6 ~ db5 ~@8", Z: "~@3 db4@5 db4 ~@7",
})).s("gm_trumpet").gain(0.3).pan(0.6)

// other · trumpet · "Trumpet 2"
const trumpet_2 = note(`<
  ~@23 A B@2 C D B@2 E F G@2 H I J K@2 L M N M N O@3 ~@2 P ~ Q ~ P ~ Q ~ P ~ Q ~ P ~ Q ~ R ~ R ~@22 S T U V W X S T ~ T
  ~ T ~ V ~ V ~ Y ~ Y ~ Z ~ AA ~ AB
>`.pickRestart({
  A: "~@11 c4@5", B: "~@4 bb4@2 ~@5 bb4@5", C: "~@4 f4 ~ gb4 ~", D: "ab4@3 ~@5", E: "~@4 gb4 ~ gb4 ~",
  F: "~@4 bb4@7 ~ gb4 ~@3", G: "[bb4@6 [e4,f4] [gb4,g4,ab4] bb4@6 ~ bb4@9 bb4@2 ~@2 bb4@2 ~@2, ~@8 a4 ~@23]/2",
  H: "gb4@2 ~ bb4@5 db5@3 bb4 gb4@3 gb4", I: "bb4@4 ~ a4@2 bb4@2 ~@6 ab4, ~@2 b4 ~@5",
  J: "bb4@3 ab4@2 ~@2 f4 ab4@6 ~ f4",
  K: "[bb4@2 ~@2 bb4@2 ~@2 bb4@2 ~@2 gb4@2 ~ bb4@2 ~@2 gb4@5 gb4@2 ~ bb4 gb4@2 ~@2]/2", L: "ab4@6 ~ ab4 ~@4 bb4 ~@2 g4",
  M: "a4@6 ~ ab4 g4@2 ~ gb4@2 ~@2 bb4, ab4 ~@15", N: "~@12 bb4 ~@2 g4",
  O: "[a4@3 ab4 g4@2 ~ gb4 g4@6 ~ gb4@8 gb4@8 f4@2 ~@15, ab4 ~@47]/3", P: "~@7 bb4 ~@3 bb4 ~@4",
  Q: "~@7 ab4 ~@3 ab4 ~@4", R: "~@11 ab4@5", S: "~@2 f4 ~@3 f4 ~", T: "~@4 f4@2 ~ f4@2 ~@2 f4 f4@2 ~@2",
  U: "~@2 bb4 ~@3 bb4 ~", V: "~@4 bb4@2 ~ bb4@2 ~@2 bb4 bb4@2 ~@2", W: "~@2 gb4 ~@3 gb4 ~",
  X: "~@4 gb4@2 ~ gb4@2 ~@2 gb4 gb4@2 ~@2", Y: "~@4 c4@2 ~ c4@2 ~@2 c4 c4@2 ~@2",
  Z: "~@4 bb3@2 ~ bb3@2 ~@2 bb3 bb3@2 ~@2", AA: "ab4@6 ~ ab4 ~@8", AB: "~@3 bb3@5 bb3 ~@7",
})).s("gm_trumpet").gain(0.25)

// other · trumpet · "Trumpet 3"
const trumpet_3 = note(`<
// … 171 more lines

More by Miller