Strudelify

Cute

Basie

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

// chords · piano
const piano = note(`<
  ~@4 A@2 ~@2 A@2 ~@2 B ~ C ~ D ~@3 A@2 ~@2 A@2 ~@2 B ~ C ~ C ~@3 E F G H@2 I J@2 K@3 L@2 M N O@2 P@2 Q R S T@4 U V ~@2
  W X ~@15 Y@2 Z AA AB@2 AC AD@2 AE@2 AF AG AH AI AJ AK@2 Z AA AB@2 AC AD@2 AE@2 AF AG AL@2 AM AN A@2 ~@2 A@2 ~@2 B ~ C
  ~ D ~@3 B ~ C ~ D ~@2 AO
>`.pickRestart({
  A: "[ab4,ab5]/2", B: "[db5,db6]", C: "[ab4,ab5]", D: "[bb4,bb5]", E: "[gb3,db4,f4,bb4]@13 ~@3",
  F: "[gb3,c4,f4,bb4]@6 ~ [gb3,c4,f4,bb4] ~@8", G: "[eb3,ab3,c4,g4]@6 ~ [eb3,ab3,c4,g4] ~@8",
  H: "[[ab3,d4,f4,c5]@6 ~ [ab3,d4,f4,c5] ~@7 [gb3,bb3,db4,eb4]@8 ~ [gb3,bb3,db4,eb4]@2 ~ eb3 [gb3,bb3,db4,eb4] ~@3]/2", // Dm7b5 Ebm7
  I: "~@7 ab2 [gb3,c4,f4,bb4]@2 ~ ab2 [gb3,c4,f4,bb4]@2 ~@2", // Gbmaj7
  J: "[[gb3,bb3,b3,eb4]@7 ~ [gb3,bb3,b3,eb4]@2 ~ ab2 [gb3,bb3,b3,eb4] ~@2 [f3,b3,eb4,ab4]@14 ~@3]/2", // Bmaj7 Fm7b5
  K: "[[bb3,db4,gb4]@2 ~ [f3,a3,c4]@5 [bb3,db4,gb4]@4 [eb3,ab3,c4,g4]@2 ~ [eb3,a3,db4,gb4]@7 ~ [eb3,a3,db4,gb4] ~@7 [eb3,bb3,d4,g4]@8 [eb3,gb3,a3,db4]@8 ~]/3", // Gb F Gb Abmaj7 Ebm7b5 Ebmaj7 Ebm7b5
  L: "[~@3 [bb3,db4,f4]@4 ~ [db4,f4,bb4]@4 [gb3,c4,e4,a4]@2 ~ [g3,db4,f4,bb4]@8 ~ [bb3,db4,e4,g4]@7 ~]/2", // Bbm Gbm7b5 Gm7b5 Bbdim
  M: "[bb3,db4,e4,g4]@2 ~ [ab3,eb4,gb4,b4]@4 [a3,e4,g4,c5]@8 ~", N: "[a3,e4,g4,c5]@2 ~@5 [b3,eb4,f4,ab4]@8 ~",
  O: "[[d4,ab4,c5,g5]@7 ~@4 bb2 ~@3 [db4,gb4,bb4,eb5]@12 ~@5]/2", // Csus2 Ebm7
  P: "[[db4,eb4,gb4,bb4]@13 ~@2 [ab3,c4,eb4,f4]@14 ~@3]/2", Q: "[ab3,bb3,d4,gb4]@6 ~ [ab3,bb3,d4,gb4] ~@8",
  R: "[gb3,db4,f4,bb4]@11 ~@5", S: "[gb3,c4,e4,a4]@11 ~@5",
  T: "[~@12 [db5,db6]@16 ~@3 [bb3,db4,gb4]@14 ~@11 db6@3 eb5 ~@4, ~@47 [eb3,a3,db4,gb4]@14 ~@3]/4", // Db Gb Ebm7b5
  U: "[eb3,ab3,c4,f4]@11 ~@5", V: "~ [bb2,ab3,b3,d4,gb4]@3", W: "~ [ab4,ab5]@3",
  X: "[f3,ab3,c4,eb4,f4] [bb2,ab3,b3,d4,gb4]@3", // Fm7 Abm7b5
  Y: "[~@4 [c3,c4,c5,c6] ~@3 [db3,db4,db5,db6] ~@6 [gb3,bb3,db4,f4]@7 ~ [gb3,bb3,db4,f4] ~@8]/2", // C Db Gbmaj7
  Z: "[gb3,db4,eb4,bb4]@13 ~@3", AA: "[eb3,ab3,c4,f4]@6 ~ [eb3,ab3,c4,f4] ~@8",
  AB: "[[eb3,ab3,c4,f4]@4 [ab3,db4,f4,bb4]@4 [ab3,bb3,db4,f4]@2 ~@5 [gb3,db4,f4,bb4]@12 ~@5]/2", // Fm7 Bbm7 Gbmaj7
  AC: "[gb3,bb3,db4,f4]@7 ~ [gb3,bb3,db4,f4]@2 ~ eb3 [gb3,bb3,db4,f4] ~@3", // Gbmaj7
  AD: "[[gb3,ab3,b3,eb4]@7 ~ [gb3,ab3,b3,eb4]@2 ~ ab2 [gb3,ab3,b3,eb4] ~@2 [gb3,bb3,b3,eb4]@5 [f3,a3,b3,db4]@4 [f3,b3,db4,a4]@2 ~@6]/2", // Abm7 Bmaj7 Faug
  AE: "[[gb3,bb3,db4]@7 [gb3,bb3,db4]@5 [a3,db4,gb4]@2 ~ [a3,db4,gb4]@14 ~@3]/2", // Gb Gbm
  AF: "[eb3,g3,ab3,c4]@7 ~ [eb3,g3,ab3,c4]@4 [f3,c4,eb4,ab4]@2 ~@2", // Abmaj7 Fm7
  AG: "~@7 db3 [f3,ab3,c4,eb4]@2 ~ db3 [f3,ab3,c4,eb4]@2 ~@2", // Fm7
  AH: "[g3,db4,f4,bb4]@4 db4 g4@2 bb4 [g3,db4,f4,bb4]@2 ~ [bb3,db4,e4,ab4]@5", AI: "[bb3,db4,e4,ab4]@13 ~@3",
  AJ: "[a3,e4,g4,c5]@6 ~ [a3,e4,g4,c5] ~@4 c4@2 ~ db4", // Am7
  AK: "[d4@2 ~ f4 a4@2 ~ c5 ~@7 [gb3,bb3,db4,f4]@7 ~ [gb3,bb3,db4,f4] ~@8]/2", // Gbmaj7
  AL: "[[eb2,eb3,gb3,bb3,db4,gb4]@2 ~@10 [eb3,gb3,bb3,db4,gb4,bb4]@8 [db3,db4]@2 ~@2 [ab2,gb3,bb3,c4,f4]@6 ~ [db3,ab3,bb3,db4,f4,ab4]]/2", // Ebm7 Db Fm Bbm7
  AM: "~@4 [bb4,f5,db6] ~@3", AN: "[a4,eb5,b5]@2 ~@5 [ab4,d5,bb5] ~@8", AO: "[ab4,ab5] ~@6 [db5,db6] ~@8",
})).s("gm_piano").gain(0.2).pan(0.6)

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

// other · alto sax · soft notes
const alto_sax_soft = note("<~@66 A ~@9 B C D E B F G ~@49 H ~ I ~ J K ~ L>".pickRestart({
  A: "b3 [ab3,a3,bb3] ~@14", B: "f4", C: "eb4", D: "gb4", E: "f4@3 ~", F: "db4", G: "c4 ~@15",
  H: "~@3 gb4@5 ab4 ~@3 gb4@2 ~ a4", I: "~@3 eb4@5 ab4 ~@3 gb4@2 ~ f4", J: "~@3 eb4@5 f4@2 ~@2 gb4@2 ~@2",
  K: "ab4@8 a4@6 ~ ab4", L: "ab4 ~@6 db4 ~@8",
})).s("gm_alto_sax").gain(0.24).pan(0.4)

// other · alto sax
const alto_sax_2 = note(`<
  ~@4 A B ~@2 A B ~@2 C ~ D ~ E F ~@2 A B ~@2 A B ~@2 C ~ D ~ G H ~@13 I@2 J@2 ~@9 K L M N O P@2 ~@9 Q@2 R S Q T U ~@13
  V@2 W@2 ~@12 X@2 ~@2 A B ~@2 A B ~@2 C ~ D ~ G H ~@2 C ~ D ~ G H ~@2
>`.pickRestart({
  A: "~@3 eb4@5 c4@2 ~@2 d4@2 ~@2", B: "db4@8 c4@6 ~ c4", C: "~@3 eb4@5 eb4 ~@3 d4@2 ~ gb4",
  D: "~@3 c4@5 eb4 ~@3 c4@2 ~ db4", E: "~@3 g3@5 bb3@2 ~@2 db4@2 ~@2", F: "d4@8 db4@6 ~ d4",
  G: "~@3 db4@5 eb4@2 ~@2 d4@2 ~@2", H: "f4@8 f4@6 ~ eb4", I: "[~@12 ab4@3 a4@9 f4@8]/2",
  J: "[e4@12 gb4@3 g4@13 ~@4]/2", K: "bb4@3 ~@5 bb4@3 ~@5", L: "a4@3 ~@13", M: "ab4@3 f4 eb4@3 d4 eb4@3 f4 c5@3 ab4",
  N: "~@15 gb4", O: "f4@4 gb4 ~@3 d4@4 eb4 ~@3",
  P: "[f4@4 gb4 ~@3 bb4@3 gb4 bb4@3 ~ [ab4,a4] [f4,gb4,g4] ~@14, ~@15 bb4@2 ~@15]/2", Q: "db4", R: "c4", S: "db4@3 ~",
  T: "bb3", U: "c4 ~@15", V: "[~@12 db4@7 ~ c4@2 ~ db4 ~@3 c4@2 ~@2 bb3]/2", W: "[c4@5 ~@3]/2",
  X: "[~@12 eb4@7 ~@12 db4]/2",
})).s("gm_alto_sax").gain(0.32).pan(0.4)

// other · tenor sax
const tenor_sax = note(`<
  ~@4 A B ~@2 A B ~@2 C ~ D ~ E F ~@2 A B ~@2 A B ~@2 C ~ D ~ G B ~@13 H@2 I@2 ~@9 J K L M N O@2 ~@9 P Q@2 R S Q T ~@13
  U@2 V@2 ~@12 W@2 ~@2 A B ~@2 A B ~@2 C ~ D ~ G B ~@2 C ~ D ~ G B ~@2
>`.pickRestart({
  A: "~@3 db3@5 eb3@2 ~@2 f3@2 ~@2", B: "gb3@8 gb3@6 ~ f3", C: "~@3 bb3@5 ab3 ~@3 gb3@2 ~ a3",
  D: "~@3 f3@5 e3 ~@3 eb3@2 ~ f3", E: "~@3 db3@5 f3@2 ~@2 bb3@2 ~@2", F: "f3@8 g3@6 ~ e3",
  G: "~@3 gb3@5 ab3@2 ~@2 ab3@2 ~@2", H: "[~@12 c4@3 db4@9 bb3@8]/2", I: "[db4@12 eb4@3 e4@13 ~@4]/2",
  J: "f4@3 ~@5 f4@3 ~@5", K: "f4@3 ~@13", L: "eb4@3 c4 ab3@3 g3 ab3@3 c4 f4@3 d4", M: "~@15 db4",
  N: "c4@4 db4 ~@3 a3@4 bb3 ~@3", O: "[c4@4 db4 ~@3 eb4@3 db4 eb4@3 ~ [eb4,e4] [c4,db4,d4] ~@14, ~@15 f4@2 ~@15]/2",
  P: "f3", Q: "eb3", R: "f3@3 ~", S: "gb3", T: "f3 ~@15", U: "[~@12 gb3@7 ~ e3@2 ~ gb3 ~@3 e3@2 ~@2 e3]/2",
  V: "[d3@5 ~@3]/2", W: "[~@12 bb3@7 ~@12 ab3]/2",
})).s("gm_tenor_sax").gain(0.32).pan(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  ~@4 A B ~@2 A B ~@2 C ~ D ~ E F ~@2 A B ~@2 A B ~@2 C ~ D ~ G H ~ I J K L K L M N O P Q R S@2 T@2 ~@32 U V W V W V W V
  W X ~ Y ~ Z@2 AA@2 V W V W V W V W X ~ Y ~ AB@2 ~@2 A B ~@2 A B ~@2 C ~ D ~ G H ~@10
>`.pickRestart({
  A: "~@3 gb2@5 f2@2 ~@2 bb2@2 ~@2", B: "eb3@8 ab2@6 ~ db3", C: "~@3 gb3@5 f3 ~@3 eb3@2 ~ gb3",
  D: "~@3 db3@5 gb2 ~@3 f2@2 ~ bb2", E: "~@3 bb2@5 ab2@2 ~@2 g2@2 ~@2", F: "g2@8 c3@6 ~ f2",
  G: "~@3 gb3@5 f3@2 ~@2 bb2@2 ~@2", H: "eb3@8 ab2@6 ~ db2", I: "~@15 a3", J: "bb3@2 ~@13 a3",
  K: "bb3 ~@3 ab3@3 f3 ~@3 ab3@2 ~@2 a3", L: "bb3 ~@14 a3", M: "bb3 ~@3 ab3@3 f3 ~@3 ab3@2 ~@2 bb3", N: "db4 ~@14 bb3",
  O: "db4 ~@3 bb3@3 ab3 ~@3 f3 ~@3 db3", P: "eb3@4 f3 ~@3 gb3@4 ab3 ~@3", Q: "~@3 a3@2 ~@2 b3 db4@4 eb4 ~@3",
  R: "f4@8 eb4@6 ~ db4", S: "[~@12 gb3@3 g3@17]/2", T: "[c3@12 e2@3 f2@13 ~@4]/2", U: "~@6 db3 ~", V: "f3@3 ab3@13",
  W: "~@4 db4@3 ab3 g3@3 gb3 e3@3 db3", X: "eb3@3 gb3 bb3@3 db4 ~@8", Y: "f3@3 ab3 bb3@3 c4 ~@8",
  Z: "[g3@3 bb3 c4@3 db4 ~@4 c3@7 ~ c3@2 ~ c3 ~@3 c3@2 ~@2 c3]/2", AA: "[f2@10 ~@4 db3 ~]/2",
  AB: "[gb3@3 ab3 bb3@3 db4 ~@4 eb3@7 ~ db3@2 ~@2 f3@3 ab3 bb3@3 db3]/2",
})).s("gm_baritone_sax").gain(0.4).pan(0.4)

// other · baritone sax · "Bari Sax" · soft notes
const baritone_sax_soft = note("<~@76 A@2 B C D E F ~@49 G ~ H ~ I J ~ K>".pickRestart({
  A: "gb2", B: "f2", C: "bb2@3 ~", D: "eb3", E: "ab2", F: "db3 ~@15", G: "~@3 gb3@5 f3 ~@3 eb3@2 ~ gb3",
  H: "~@3 db3@5 gb2 ~@3 f2@2 ~ bb2", I: "~@3 gb3@5 f3@2 ~@2 bb2@2 ~@2", J: "eb3@8 ab2@6 ~ db2", K: "ab3 ~@6 db3 ~@8",
})).s("gm_baritone_sax").gain(0.24).pan(0.4)

// other · muted trumpet · "Trumpet 1"
const muted_trumpet = note(`<
  ~@4 A B ~@2 A C ~@2 D ~ E ~ F G ~@2 A B ~@2 A C ~@2 D ~ E ~ H I ~@2 J K L M J K J N O P Q ~ R S T U V W X Y Z AA AB@2
  ~@3 AC AD AE@2 AF ~@48 A B ~@2 A C ~@2 D ~ E ~ H I ~@2 D ~ E ~ H I ~ AG
>`.pickRestart({
  A: "~@3 eb4@5 f4@2 ~@2 gb4@2 ~@2", B: "ab4@7 ~ bb4@6 ~ f4", C: "ab4@7 ~ bb4@6 ~ ab4",
  D: "~@3 bb4@5 c5 ~@3 db5@2 ~ eb5", E: "~@3 ab4@5 bb4 ~@3 c5@2 ~ db5", F: "~@3 g4@5 ab4@2 ~@2 bb4@2 ~@2",
  G: "c5@7 ~ g4@6 ~ c5", H: "~@3 gb4@5 ab4@2 ~@2 bb4@2 ~@2", I: "db5@7 ~ eb5@6 ~ db5", J: "~ db5@3", K: "c5 ~@7",
  L: "~ eb5@3", M: "d5 ~@7", N: "db5@2 ~@9 f4 ~@3 db4", O: "eb4@4 d4 ~@3 eb4@4 f4 ~@3",
  P: "~@3 gb4@2 ~@2 ab4 a4@4 gb4 ~@3", Q: "g4@2 ~ bb4@5 a4@3 bb4 c5@3 bb4", R: "~@3 c5@5 db5 ~@3 bb4 ~@3",
  S: "ab4@6 ~ g4@5 ~@4", T: "~@3 c5@5 e4 ~@3 f4 ~@3", U: "b4@6 ~ bb4 ~@8", V: "db5@3 db5!2 ~@3 db5 ~@7",
  W: "db5 ~@6 db5 ~@8", X: "c5@3 c5!2 ~@3 c5 ~@7", Y: "b4 ~@6 b4 ~@8", Z: "bb4@3 bb4!2 ~@3 bb4 ~@7",
  AA: "a4 ~@6 a4 ~@8", AB: "[~@15 db5@2 ~@2 db5@2 ~@2 db5 bb4@2 ~ db5 ~@4]/2", AC: "~@15 db5",
  AD: "c5@4 db5 ~@3 c5@4 db5 ~@3", AE: "[c5@4 db5 ~@3 bb4@6 ~@2 [b4,c5] [ab4,a4,bb4] ~@14, ~@15 db5@2 ~@15]/2",
  AF: "ab4 ~@3 b4@11 ~", AG: "ab4 ~@6 db5 ~@8",
})).s("gm_muted_trumpet").gain(0.56).pan(0.6)

// other · trumpet · "Trumpet 1"
const trumpet = note("<~@83 A B A B A B A B ~ C@2 D@2 E@2 F@2 B A B A B A B ~ C@2 D@2 G@2 ~@26>".pickRestart({
  A: "~@6 db4 ~", B: "ab4@8 ab4@6 ~ ab4", C: "[~@12 db5@8 eb5@2 ~ e5 ~@3 eb5 db5@2 ~@2]/2",
  D: "[~@12 c5@8 db5@2 ~ eb5 ~@3 db5 c5@2 ~@2]/2", E: "[~@12 bb4@7 ~ c5@2 ~ db5 ~@3 c5@2 ~@2 bb4]/2",
  F: "[c5@10 ~@4 db4 ~]/2", G: "[~@12 db5@7 ~ db4@2 ~@2 f4@3 ab4 bb4@3 db5]/2",
})).s("gm_trumpet").gain(0.56).pan(0.6)

// other · muted trumpet · "Trumpet 2"
const muted_trumpet_2 = note("<~@36 A B C D A B A B ~@7 E F G H I J K L@2 ~@3 M N O@2 P ~@72>".pickRestart({
  A: "~ bb4@3", B: "bb4 ~@7", C: "~ c5@3", D: "c5 ~@7", E: "ab4@3 f4 eb4@3 d4 ~@8", F: "bb4@3 bb4!2 ~@3 bb4 ~@7",
  G: "bb4 ~@6 bb4 ~@8", H: "ab4@3 ab4!2 ~@3 ab4 ~@7", I: "ab4 ~@6 ab4 ~@8", J: "gb4@3 gb4!2 ~@3 gb4 ~@7",
  K: "gb4 ~@6 gb4 ~@8", L: "[~@15 bb4@2 ~@2 bb4@2 ~@2 bb4 ~@3 bb4 ~@4]/2", M: "~@15 bb4",
  N: "a4@4 bb4 ~@3 a4@4 bb4 ~@3", O: "[a4@4 bb4 ~@3 gb4@6 ~@2 a4 ~@15, ~@15 bb4@2 ~@15]/2", P: "f4 ~@3 ab4@11 ~",
})).s("gm_muted_trumpet").gain(0.4).pan(0.6)

// other · muted trumpet · "Trumpet 2" · soft notes
const muted_trumpet_soft = note("<~@66 [ab4 [f4,gb4,g4] ~@14] ~@73>").s("gm_muted_trumpet").gain(0.24).pan(0.6)

// other · trumpet · "Trumpet 2"
const trumpet_2 = note("<~@84 A ~ A ~ A ~ B ~ C@2 D@2 E@2 F@2 A ~ A ~ A ~ B ~ C@2 D@2 G@2 ~@26>".pickRestart({
  A: "f4@8 f4@6 ~ f4", B: "gb4@8 gb4@6 ~ gb4", C: "[~@12 a4@8 b4@2 ~ db5 ~@3 b4 a4@2 ~@2]/2",
  D: "[~@12 ab4@8 bb4@2 ~ c5 ~@3 bb4 ab4@2 ~@2]/2", E: "[~@12 gb4@7 ~ ab4@2 ~ bb4 ~@3 ab4@2 ~@2 gb4]/2",
  F: "[g4@5 ~@3]/2", G: "[~@12 bb4@7 ~@12 bb4]/2",
})).s("gm_trumpet").gain(0.48).pan(0.6)

// other · muted trumpet · "Trumpet 3"
const muted_trumpet_3 = note("<~@36 A B C D A B A D ~@8 E F G F H I J@2 ~@3 K L M@2 N ~@72>".pickRestart({
  A: "~ gb4@3", B: "gb4 ~@7", C: "~ ab4@3", D: "ab4 ~@7", E: "gb4@3 gb4!2 ~@3 gb4 ~@7", F: "gb4 ~@6 gb4 ~@8",
  G: "e4@3 e4!2 ~@3 e4 ~@7", H: "eb4@3 eb4!2 ~@3 eb4 ~@7", I: "e4 ~@6 e4 ~@8",
// … 216 more lines

More by Basie