Strudelify

Just in Time

Jule Styne

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

// chords · piano
const piano = note(`<
  ~@2 A B C D E F G H I B C D E F G J K L M N@2 ~ O ~ P Q R S T U V W X Y Z AA ~@2 AB AC AD AE AF@2 AG AH AI AJ AK AL@3
  AM AN@2 AO O AP AQ AR AS AT AU AV AW AX AY AZ BA BB ~ BC ~@2 BD BE BF BG BH BI BJ@2
>`.pickRestart({
  A: "[eb1,eb2] ~@11, c-1 ~@3", B: "~@11 [gb1,gb2]", C: "[g1,g2] ~@11", D: "~@8 [gb1,gb2] [g1,g2]@2 [c2,c3]",
  E: "[db2,db3] ~@10 [db2,db3]", F: "[c2,c3]@2 [c2,c3] ~@8 [e1,e2]", G: "[f1,f2] ~@7",
  H: "~@8 [a1,a2] [bb1,bb2]@2 [d1,d2]", I: "[eb1,eb2] ~@11", J: "~@8 [e1,e2] [f1,f2]@2 [a1,a2]", K: "[bb1,bb2] ~@11",
  L: "~@8 [bb1,bb2] [e1,e2]@2 [e1,e2]", M: "[eb1,eb2] ~@7",
  N: "[~@6 [e1,e2]@2 ~@4 [eb1,eb2]@4 [a1,a2]@2 ~@4 [ab1,ab2]@7 ~ [a1,a2]@2 ~@4 [ab1,ab2]@2 ~@10]/2", // E Eb A Ab A Ab
  O: "db2 ~ [ab3,ab4] ~@2 db2 [a3,a4] ~@2 db2 ~ [bb3,bb4]", // Ab A Bb
  P: "[eb3,g3,c4]@9 ~ [eb3,g3,c4]@2 ~@12, c-1@3 ~@2 c-1@3 ~@4", // Cm
  Q: "[eb4,g4,b4]@9 ~ [eb4,g4,b4]@2 ~@12, c-1@3 ~@2 c-1@3 ~@4", // Ebaug
  R: "~@10 bb2@2 [eb4,g4,c5]@4 bb2@2 [eb4,g4,c5]@3 ~@3, ~@2 c-1!2", S: "[a3,d4,eb4,g4]@10 ~@2 [a3,c4,eb4,gb4]@3 ~@9",
  T: "[g3,c4,f4,bb4]@3 [gb3,b3,e4,a4]@3 [g3,c4,f4,bb4]@5 ~", // Gm7 Gbm7 Gm7
  U: "~@10 eb3@2 [g3,c4,f4,bb4]@4 eb3@2 [g3,c4,f4,bb4]@3 ~@3", V: "[bb3,e4,a4,d5]@9 ~ [bb3,e4,a4,d5]@2 ~@12",
  W: "[bb3,db4,e4,ab4]@10 ~@2 [bb3,db4,e4,ab4]@3 ~ c3@2 [bb3,db4,e4,ab4]@2 ~@4", // Bbm7b5
  X: "[a3,d4,eb4,g4]@9 ~ [a3,d4,eb4,g4]@2 ~@12", // Dsus4
  Y: "[ab3,d4,g4,c5]@10 ~@2 [ab3,d4,g4,c5]@3 ~ bb2@2 [ab3,d4,g4,c5]@2 ~@4", // Abmaj7
  Z: "[g3,bb3,c4,f4]@6 c4@2 g4@2 bb4 ~ [gb3,ab3,c4,e4,b4]@3 ~@9", AA: "[g3,db4,f4,bb4]@3 ~@9 [bb3,e4,ab4,db5]@10 ~@2",
  AB: "[bb3,c4,eb4,f4,g4,bb4]@3 ~@7 [bb3,c4,eb4,f4,g4,bb4]@2 ~@12", // Cm7
  AC: "[a3,c4,eb4,gb4,b4,d5]@3 ~@7 [a3,c4,eb4,gb4,b4,d5]@2 ~@12", // D7
  AD: "[c4,eb4,g4,ab4,c5,eb5]@3 ~@7 [c4,eb4,g4,ab4,c5,eb5]@2 ~@12", // Abmaj7
  AE: "[ab3,d4,g4,b4,e5]@3 ~@7 [ab3,d4,g4,b4,e5]@2 ~@12", AF: "[~@6 a4@2 bb4 g4@2 f4@13]/2",
  AG: "~@6 db5@2 d5 b4@2 bb4", AH: "a4@2 d4 ~@9", AI: "~@11 e5 [db5,f5]@3 ~@2 e5 [db5,f5]@4 [b4,eb5]@2",
  AJ: "[c5,e5] ~@11", AK: "~@2 [eb3,a3,d4,f4] ~@3 [eb3,a3,db4,f4]@3 ~@2 [eb3,a3,c4,f4]",
  AL: "[~@4 f2@2 [eb3,a3,c4,f4]@12 ~@4 [d3,ab3,c4]@7 ~ [eb3,a3,db4]@3 ~@6 b5 c6@2 g5@4 f5@14 ~@12, ~@3 [d3,ab3,c4] ~@2]/3", // F7 Dm7b5 Ebm7b5 Dm7b5
  AM: "~@6 gb4 g4 bb4 c5@2 [bb4,eb5]", // Eb5
  AN: "[~@4 [gb4,c5]@18 [gb3,c4]@8 [f3,b3]@3 ~ b4@2 c5@4 eb5@2 c5@3 ~@3, ~@4 [g3,db4]@13 ~@19 [gb3,c4]@12]/2", // Gbdim Fdim Gdim Gbdim
  AO: "[ab3,ab4]@3 ~@7 [ab2,ab3]@13 ~", AP: "~@6 [g2,f3,b3,db4]@11 ~ [g2,f3,b3,d4]@2 ~@4", AQ: "[c2,c3]@9 ~@2 [c2,c3]",
  AR: "[b1,b2]@9 ~@2 [b1,b2]", AS: "[bb1,bb2]@11 ~", AT: "~@4 [f2,eb3,a3]@7 ~ [gb2,eb3,a3]@2 ~@10",
  AU: "~@16 [bb2,g3,c4,f4]@3 ~@3 [a2,gb3,b3,e4]@2", AV: "[bb2,g3,c4,f4]@2 [bb2,g3,c4,f4] ~@9",
  AW: "~@6 [c3,e3,bb3,eb4]@3 ~@7 [c3,e3,bb3,d4]@8", AX: "[c3,e3,bb3,db4]@2 [c3,e3,bb3,c4] ~@9",
  AY: "[d4,g4]@3 ~@3 [db4,gb4]@4 [d4,g4]@2 ~@12, [f2,eb3,a3]", // G5 Gb5 G5 F7
  AZ: "~@4 [db4,gb4]@7 ~ [d4,g4]@2 ~@4 [d4,g4]@2 ~@4, [bb2,ab3]", BA: "[eb2,bb2,g3,c4] [d2,a2,gb3,c4]",
  BB: "[db2,f3,b3]@5 [c2,e3,b3] ~@6", BC: "~ [bb1,bb2]@3", BD: "~ [a3,db4]@5, gb3", BE: "~ [a3,db4]@5, f3",
  BF: "~ [a3,db4,e4]@5, e3", BG: "~ [a3,db4,f4]@5, eb3", BH: "[g2,d3,b3,db4,e4,a4]", BI: "[c2,g2,e3,a3,d4,gb4]",
  BJ: "[gb2,db3,ab3,bb3,c4,eb4]/2", // Ebm7
})).s("gm_piano").gain(0.2).pan(0.6)

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

// other · alto sax
const alto_sax_2 = note("<~@38 A@2 ~@3 B C D E F@2 ~@2 G@2 H C I@2 ~@15 J@4 ~@8>".pickRestart({
  A: "[~@3 db4 ~@2 d4@2 eb4 ~@2 eb4@7 d4@6]/2",
  B: "~@13 ab3@2 ~ bb3@2 ~ c4@2 ~ d4@2, ~@12 g3@2 ~ a3@2 ~ b3@2 ~ db4@2 ~", C: "eb4@3 ~@3 d4@4 eb4@2 ~@12",
  D: "~@4 d4@7 ~ eb4@2 ~@4 eb4@2 ~@4", E: "e4@3 ~@3 eb4@4 e4@2 ~@12",
  F: "[~@10 eb4@2 e4@4 e4@2 ~@4 f4@7 ~ e4@2 ~@4 f4@2 ~@10]/2", G: "[~@22 d4@7 ~ eb4@2 ~@4 d4@2 ~@10]/2",
  H: "~@4 eb4@7 ~ d4@2 ~@4 db4@2 ~@4", I: "[~@22 ab4@7 ~ g4@2 ~@4 ab4@2 ~@10]/2",
  J: "[~@6 db4@2 ~@4 d4@4 eb4@2 ~@4 eb4@11 ~ d4@2 ~@10 eb4@7 ~ d4@2 ~@4 eb4@4 gb4@2 ~@4 eb4@12 d4@14]/4",
})).s("gm_alto_sax").gain(0.48).pan(0.4)

// other · alto sax · soft notes
const alto_sax_soft = note("<~@80 A B C@2>".pickRestart({
  A: "b3 db4", B: "d4", C: "c4/2",
})).s("gm_alto_sax").gain(0.24).pan(0.4)

// other · tenor sax
const tenor_sax = note("<~@38 A@2 ~@3 B C D E F@2 ~@2 G@2 H I J@2 ~@2 K L@3 M ~@8 N@4 ~@4 O P Q@2>".pickRestart({
  A: "[~@3 d3 ~@2 eb3@2 a3 ~@2 ab3@7 ab3@6]/2",
  B: "~@13 eb3@2 ~ f3@2 ~ g3@2 ~ a3@2, ~@12 d3@2 ~ e3@2 ~ gb3@2 ~ ab3@2 ~", C: "bb3@3 ~@3 a3@4 bb3@2 ~@12",
  D: "~@4 a3@7 ~ bb3@2 ~@4 e3@2 ~@4", E: "f3@3 ~@3 e3@4 f3@2 ~@12",
  F: "[~@10 e3@2 f3@4 gb3@2 ~@4 g3@7 ~ gb3@2 ~@4 g3@2 ~@10]/2", G: "[~@22 ab3@7 ~ a3@2 ~@4 ab3@2 ~@10]/2",
  H: "~@4 a3@7 ~ ab3@2 ~@4 gb3@2 ~@4", I: "g3@3 ~@3 gb3@4 g3@2 ~@12", J: "[~@22 c4@7 ~ b3@2 ~@4 c4@2 ~@10]/2",
  K: "~@6 d3@11 ~ d3@2 ~@4", L: "~@2 eb4 ~@5 eb4 ~@3", M: "~@4 eb3@7 ~ eb3@2 ~@4 gb3@2 ~@4",
  N: "[~@6 d3@2 ~@4 eb3@4 a3@2 ~@4 ab3@11 ~ ab3@2 ~@10 ab3@7 ~ g3@2 ~@4 ab3@4 b3@2 ~@4 ab3@12 f3@14]/4", O: "d3",
  P: "e3", Q: "db3/2",
})).s("gm_tenor_sax").gain(0.48).pan(0.4)

// other · baritone sax
const baritone_sax = note(`<
  ~@2 A B C D E F G H A B C D E F G I J K L M@2 N O P@2 Q@2 ~@2 R@3 S H T U V@2 ~@3 W X Y Z AA@2 AB AC AD@2 AE AF AG@2 ~
  O AH AI AJ AK AL AM R@3 S H T U AN@4 AO AP AQ AR AS@2 AT@2
>`.pickRestart({
  A: "eb2 ~@11", B: "~@11 gb2", C: "g2 ~@11", D: "~@8 gb2 g2@2 c3", E: "db3 ~@10 db3", F: "c3@2 c3 ~@8 e2", G: "f2 ~@7",
  H: "~@8 a2 bb2@2 d2", I: "~@8 e2 f2@2 a2", J: "bb2 ~@11", K: "~@8 bb2 e2@2 e2", L: "eb2 ~@7",
  M: "[~@6 e2@2 ~@4 eb2@4 a2@2 ~@4 ab2@7 ~ a2@2 ~@4 ab2@2 ~@10]/2", N: "~@11 ab2", O: "db2 ~@4 db2 ~@3 db2 ~@2",
  P: "[~@6 f3@2 g3@2 ab3@2 bb3@2 b3@2 db4@2 d4@4 eb4@7 ~ d4@2 ~@4 eb4@4 c4@2 g3@4 f3@2]/2", Q: "[~@2 eb3@21 ~]/2",
  R: "[~@5 b3 c4@2 eb4 ~@2 ab3@15 ~@9 e2]/3", S: "f2 ~@11", T: "eb2 ~@3 d2@4", U: "db2@5 c2 ~@6",
  V: "[~@3 e2 ~@2 f2@2 b2 ~@2 bb2@7 bb2@6]/2", W: "~@13 c3@2 ~ d3@2 ~ e3@2 ~ gb3@2, ~@12 b2@2 ~ db3@2 ~ eb3@2 ~ f3@2 ~",
  X: "g3@3 ~@3 gb3@4 g3@2 ~@12", Y: "~@4 gb3@7 ~ g3@2 ~@4 gb2@2 ~@4", Z: "g2@3 ~@3 gb2@4 g2@2 ~@12",
  AA: "[~@10 gb2@2 g2@4 c3@2 ~@4 db3@7 ~ c3@2 ~@4 db3@2 ~@10]/2", AB: "~@11 c3", AC: "f2@3 ~@7 f2@2 ~@6 f2@3 ~@3",
  AD: "[~@4 f2@2 ~@10 b2@2 c3@4 bb2@7 ~ b2@2 ~@4 bb2@2 ~@10]/2", AE: "~@4 b2@7 ~ bb2@2 ~@4 d3@2 ~@4",
  AF: "db3@3 ~@3 c3@4 db3@2 ~@12", AG: "[~@10 gb3@2 g3@4 bb3@2 ~@4 gb3@7 ~ f3@2 ~@4 gb3@2 ~@10]/2",
  AH: "~@6 g2@11 ~ g2@2 ~@4", AI: "c3@9 ~@2 c3", AJ: "b2@9 ~@2 b2", AK: "bb2@11 ~", AL: "~@4 f2@7 ~ gb2@2 ~@4 a2@2 ~@4",
  AM: "bb2@3 ~@3 a2@4 bb2@2 ~@12",
  AN: "[~@6 e2@2 ~@4 f2@4 b2@2 ~@4 bb2@11 ~ bb2@2 ~@10 db3@7 ~ c3@2 ~@4 db3@4 db3@2 ~@4 db3@12 db3@14]/4",
  AO: "gb3@11 ~", AP: "f3@11 ~", AQ: "e3@11 ~", AR: "eb3@11 ~", AS: "g2/2", AT: "gb2/2",
})).s("gm_baritone_sax").gain(0.48).pan(0.4)

// other · trumpet
const trumpet = note(`<
  ~@10 A B C D E F@3 A B C G@2 H@3 ~ I J K@2 ~@2 L M N O P@3 Q R S T ~@6 U V ~@7 W X Y Z AA O ~@2 L M AB O AC@3 ~@10
>`.pickRestart({
  A: "g4 ~@2 gb4@2 g4 ~@6", B: "~@4 gb4@7 ~ g4@2 ~@4 gb4@2 ~@4", C: "g4@3 gb4@2 g4 ~@6", D: "~@5 gb4 g4 ~@2 gb4 ~@2",
  E: "g4@2 ab4 gb4@2 g4 ~@6", F: "[~@4 gb4@7 ~ g4@4 c5@2 ~@4 g4@42 ~@8]/3",
  G: "[~@10 gb4@2 g4@4 bb4@2 ~@4 c5@7 ~ b4@2 ~@4 c5@2 ~@10]/2", H: "[~@5 b4 c5 ~@2 eb5@2 f5@15 ~@10]/3",
  I: "~@5 d5 eb5 ~@2 d5 ~@2", J: "eb5@5 ~ f5@2 ~@4 f5@6 g5@4 g5@2",
  K: "[~@4 f5@8 f5@4 eb5@2 ~@4 c5@7 ~ b4@2 ~@4 c5@2 ~@10]/2", L: "~@4 g4@7 ~ bb4@2 ~@4 ab4@2 ~@4",
  M: "g4@3 ~@3 gb4@4 g4@2 ~@12", N: "~@4 gb4@7 ~ g4@3 ~@3 bb4@3 ~@3", O: "c5@3 ~@3 b4@4 c5@2 ~@12",
  P: "[~@10 b4@2 c5@4 eb5@2 ~@4 f5@7 ~ e5@2 ~@4 f5@4 g5@2 ~@4 eb5@13 ~ f5@11 ~]/3", Q: "bb4@3 ~@7 bb4@2 ~@12",
  R: "d5@3 ~@7 d5@2 ~@12", S: "eb5@3 ~@7 eb5@2 ~@12", T: "e5@3 ~@7 e5@2 ~@12", U: "~@2 d5@4 db5@2 c5 ~@2 b4",
  V: "~@2 c5@4 d5@2 g4 ~@3", W: "~@3 g4@2 ab4 bb4@2 b4 d5@2 eb5", X: "~@10 d5@2 eb5@3 ~@7 d5@2",
  Y: "eb5@3 ~@7 d5@2 eb5@2 ~@4 d5@2 ~@4", Z: "eb5@3 ~@3 f5@3 ~@3 f5@3 ~@3 g5@4 g5@2",
  AA: "~@4 f5@7 ~ f5@2 ~@4 eb5@2 ~@4", AB: "~@4 gb4@7 ~ g4@2 ~@4 bb4@2 ~@4",
  AC: "[~@10 b4@2 c5@4 eb5@2 ~@4 f5@7 ~ e5@2 ~@4 f5@4 g5@2 ~@4 eb5@11 ~ f5@2 ~@12]/3",
})).s("gm_trumpet").gain(0.64).pan(0.6)

// other · muted trumpet
const muted_trumpet = note("<~@75 A@2 B C D E@2 F@2>".pickRestart({
  A: "[~@16 f4@2 ab4@4 a4@7 ~ ab4@2 ~@4 a4@2 ~@10]/2", B: "~@4 ab4@7 ~ a4@2 ~@4 ab4@2 ~@4",
  C: "a4@3 ~@3 b4@2 ~@4 b4@3 ~@3 db5@4 db5@2", D: "~@4 b4@7 ~ a4@2 ~@4 b4@2 ~@4",
  E: "[db5@10 ~@2 a4@11 ~ gb4@10 ~@2 d4@11 ~, ~@11 bb4@2 ~@10 g4@2 ~@9 e4@2 ~@12, ~@35 eb4@2 ~@11]/2", F: "ab4/2",
})).s("gm_muted_trumpet").gain(0.56).pan(0.6)

// other · muted trumpet · soft notes
const muted_trumpet_soft = note("<~@80 [~@5 b4 ~@5 ab4, ~@9 c5@2 ~@13] [~@9 f4@2 ~@13] ~@2>")
  .s("gm_muted_trumpet").gain(0.32).pan(0.6)

// other · trumpet
const trumpet_2 = note("<~@37 A@3 B C D C ~@27 E@3 ~@10>".pickRestart({
  A: "[~@22 d5@7 ~ db5@2 ~@4 d5@4 eb5@2 ~@4 c5@13 ~ d5@11 ~]/3", B: "g4@3 ~@7 g4@2 ~@12", C: "b4@3 ~@7 b4@2 ~@12",
  D: "c5@3 ~@7 c5@2 ~@12", E: "[~@22 d5@7 ~ db5@2 ~@4 d5@4 eb5@2 ~@4 c5@11 ~ b4@2 ~@12]/3",
})).s("gm_trumpet").gain(0.4).pan(0.6)

// other · trumpet
const trumpet_3 = note("<~@27 A B C ~@7 D@3 E F G H ~@6 I J ~@7 K L M N O ~@7 P@3 ~@10>".pickRestart({
  A: "~@5 d4 eb4 ~@2 d4 ~@2", B: "eb4@5 ~ f4@2 ~@4 f4@6 g4@4 g4@2", C: "~@2 f4@4 f4@2 eb4 ~@3",
  D: "[~@10 b3@2 c4@4 eb4@2 ~@4 a4@7 ~ ab4@2 ~@4 a4@4 a4@2 ~@4 ab4@13 ~ ab4@11 ~]/3", E: "f4@3 ~@7 f4@2 ~@12",
  F: "gb4@3 ~@7 gb4@2 ~@12", G: "ab4@3 ~@7 ab4@2 ~@12", H: "g4@3 ~@7 g4@2 ~@12", I: "~@2 d4@4 db4@2 c4 ~@2 b3",
  J: "~@2 c4@4 d4@2 g3 ~@3", K: "~@9 d4@2 eb4", L: "~@10 d4@2 eb4@3 ~@7 d4@2", M: "eb4@3 ~@7 d4@2 eb4@2 ~@4 d4@2 ~@4",
  N: "eb4@3 ~@3 f4@3 ~@3 f4@3 ~@3 g4@4 g4@2", O: "~@4 f4@7 ~ f4@2 ~@4 eb4@2 ~@4",
  P: "[~@10 b3@2 c4@4 eb4@2 ~@4 a4@7 ~ ab4@2 ~@4 a4@4 a4@2 ~@4 ab4@11 ~ ab4@2 ~@12]/3",
})).s("gm_trumpet").gain(0.56).pan(0.6)

// … 143 more lines

More by Jule Styne