Strudelify

I Got News for You

Herman

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

// bass · acoustic bass · "Jazz Bass" · soft notes
const bass_soft = note("<~@9 A ~ B@2 C ~@7 A ~ B@2 C ~@3 A ~@5 D ~@8 A E ~ A ~ D ~@7 A ~ B@2 C ~@9>".pickRestart({
  A: "~@8 ab1 ~@39", B: "~@8 eb1 ~@39", C: "~@8 f1 ~@39", D: "~@8 bb0 ~@39", E: "~@8 db1 ~@39",
})).s("gm_acoustic_bass").gain(0.15).pan(0.4)

// chords · piano
const piano = note(`<
  A B C@2 D E F ~ G@2 H I J K L M@2 E F ~ N@2 O J 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 E F ~ AS@2 AT AU AV AW AX AY AZ BA BB ~ BC@3
>`.pickRestart({
  A: "~@11 bb2", B: "[eb2,g4,bb4,db5,gb5]@5 bb2 [eb2,g4,bb4,db5,gb5]@5 bb2",
  C: "[[eb2,g4,bb4,db5,gb5]@5 ~@3 bb2@4 [eb2,g4,bb4,db5,gb5]@20 bb2@4 [eb2,g4,bb4,db5,gb5]@5 ~@7 [gb4,ab4,bb4,d5]@12 [eb2,gb4,g4,bb4,db5]@12 [ab2,e4,gb4,ab4,c5]@12 [db2,e4,f4,ab4,b4]@12, ~@11 bb2@4 ~@9]/2", // Eb7 Gbaug Eb7 Abaug Db7
  D: "eb2@6 bb2@6 eb2@5 ~ [bb2,b3,d4,f4,ab4]@2 ~@4, [eb4,g4,bb4]@11 ~@5", E: "~@9 [eb2,eb3,g4,bb4,c5,eb5] ~@2",
  F: "~@27 [ab2,eb3,gb4,bb4,c5,eb5]@3 ~@6 [ab2,eb3,gb4,bb4,c5,eb5]@4 ~@8", // Ab7
  G: "[~@30 [g4,b4,db5,eb5]@5 ~ [eb2,eb3]@6 ~@7 [gb3,bb3,c4,f4]@3 ~ [g3,b3,db4]@4 [gb3,bb3,c4,f4]@36 ~@3, ~@7 [b4,c5,eb5]@9, ~@42 gb4@11 gb4@43]/2", // Gaug Eb Gbmaj7 Dbm7b5 Gbmaj7 B
  H: "[gb3,c4,f4,bb4]@2 [g3,db4,gb4,b4]@3 [gb3,c4,f4,bb4]@7", I: "[g3,eb4,bb4]@47 ~", J: "[g3,eb4,bb4]@23 ~",
  K: "~@5 [f4,f5]@7, [eb3,ab3,c4]", L: "[f3,b3,eb4,ab4] [e3,bb3,eb4] [eb3,a3,d4,f4] [eb3,ab3,c4,f4]",
  M: "[[eb2,eb3]@17 ~@3 bb2@4 [eb2,eb3]@17 ~@3 bb2@4 [eb2,eb3]@17 ~@3 bb2@4 [eb2,eb3]@10 ~@2 [bb1,bb2]@5 ~@7, ~@20 [g4,bb4,db5,gb5]@23 ~ [g4,bb4,db5,gb5]@23 ~ [g4,bb4,db5,gb5]@22 ~@6]/2", // Eb Bb Gb
  N: "[~@30 [g4,b4,db5,eb5]@5 ~ [eb2,eb3]@6 ~@6 [gb3,c4,f4,bb4]@6 ~@2 [gb3,c4,f4,bb4]@2 ~@22 [gb3,c4,f4,bb4]@13 ~@3, ~@7 [gb4,b4,c5,eb5]@9]/2", // Gaug Eb Gbmaj7 B
  O: "[gb3,c4,f4,bb4]@9 ~ [gb3,c4,f4,bb4]@13 ~", P: "[g3,eb4,bb4]@8 [ab3,e4,b4]@11 ~ [gb3,d4,a4]@11 ~ [g3,eb4,bb4]@16",
  Q: "[ab3,c4,eb4,g4]@6 ~@2 [ab3,c4,eb4,g4]@2 ~@22 [ab3,c4,eb4,g4]@13 ~@3", // Abmaj7
  R: "[f3,b3,eb4] [e3,bb3,eb4] [eb3,a3,c4,g4] [eb3,ab3,c4]", // Fm7b5 Eb Am7b5 Ab
  S: "~@23 [eb2,g4,bb4,db5,gb5]@3 ~@6 [eb2,eb3,g4,bb4,db5,gb5]@4 ~@12", // Eb7
  T: "[f5,b5,e6]@3 ~ [b3,f4,bb4]@2 ~@4 [e5,bb5,eb6]@2 [bb3,e4,a4]@2 ~@4 [eb5,a5,d6]@4 [a3,eb4,ab4]@2 ~@4 [d5,ab5,db6]@2 [ab3,d4,g4]@2 ~@4 [eb2,db5,g5,c6]@4 ~@2 eb3@4 ~@2", // E Bb Eb A D Ab Db G …
  U: "[c4,eb4,ab4]@2 [db4,e4,a4]@3 [c4,eb4,ab4]@7", V: "~ [f3,b3,eb4,bb4]@3 ~ [gb3,c4,e4,b4]@4 [f3,b3,eb4,bb4]@36 ~@3",
  W: "[ab3,c4,eb4]@2 [ab3,eb4,ab4] [gb3,c4,f4,ab4]", X: "~ bb4@2 [gb3,c4,e4,a4]@3, [gb3,bb3,db4,eb4,eb5] ~",
  Y: "~ ab4@2 [e3,a3,db4,gb4]@3, [f3,ab3,db4,db5] ~", Z: "[eb3,ab3,c4]@3 [e3,bb3,db4]@3 ~@2 f4@4, ~ [eb3,a3,c5]",
  AA: "[ab3,c4,d4,g4]@9 ~ [ab3,c4,d4,g4]@13 ~", AB: "[ab3,db4,f4,c5]@2 [ab3,db4,f4] [g3,db4,f4,b4]",
  AC: "[c4,eb4,ab4]@2 [ab3,eb4,c5] [f3,b3,d4]", AD: "~@2 [e3,gb3,bb3,db4]@4 [e3,bb3,db4]@3 [f3,b3,d4]@3",
  AE: "[ab3,c4,eb4]@8 [a3,db4,e4]@11 ~ [g3,b3,d4]@11 ~ [ab3,c4,eb4]@16", // Ab A G Ab
  AF: "eb4@16 eb5@4 ~ [e4,e5]@4 [f4,f5]@23, [ab3,c5]@23 ~, ~@16 eb4@29 ~@3", // E F Ab
  AG: "~ [c4,eb4,ab4]@2 ~ bb4@2, ~ [g3,c4,eb5]", AH: "[gb3,bb3,c4,eb4]@2 [g3,b3,db4,e4]@3 [gb3,bb3,c4,eb4]@7",
  AI: "~ c5@2 ~ [g3,c4,eb4,bb4]@2, [ab3,c4,eb4,eb5] ~", AJ: "~@2 [gb3,c4,e4,a4]@5 ~ [gb3,c4,e4,a4]@3 ~",
  AK: "[f3,ab3,b3,eb4]@47 ~", AL: "[f3,b3,eb4,bb4]@47 ~", AM: "[ab3,eb4,c5]@23 ~", AN: "[ab3,c4,eb4]@47 ~",
  AO: "~ [eb2,eb3,bb3,db4,f4,ab4]@7", AP: "~@6 [eb2,eb3,e4,g4,bb4,db5]@5 ~@13 [eb2,eb3,e4,g4,bb4,db5]@24",
  AQ: "~@12 eb2@11 ~@5 [e4,gb4,bb4,db5]@3 ~@5 [e4,gb4,bb4,db5]@5 ~@7, ab2@11 ~@13 c2@11 ~ c3@11 ~, ~@6 [eb4,f4,ab4,c5]@17 ~@25", // Gb7 Fm7
  AR: "~@4 [ab4,c5,eb5,g5]@6 ~@2 [ab4,c5,eb5,g5]@4 ~@2 [ab4,c5,eb5,g5]@4 ~@2 [bb2,ab3]@11 ~ [bb1,bb2]@4 ~@8, f2@11 ~ f3@11 ~ [b4,d5,e5,bb5]@19 ~@5", // Abmaj7 Bb7 Bb E7
  AS: "[~@30 [g4,b4,db5,eb5]@5 ~ [eb2,eb3]@6 ~@26 [ab4,ab5]@28, ~@7 [gb4,b4,c5,eb5]@9, ~ [gb3,c4,eb4]]/2", // Gaug Eb Ab B Cdim
  AT: "[gb3,c4,eb4,ab4]@9 ~ [gb3,c4,eb4,ab4]@13 ~", AU: "[bb3,eb4,g4]@13 ~@3 [bb3,eb4,g4]@8", AV: "[g3,bb3,eb4]@47 ~",
  AW: "[eb3,ab3,c4,g4]@9 ~ [eb3,ab3,c4,g4]@13 ~", AX: "[f3,b3,eb4] [e3,bb3,eb4] [eb3,a3,c4] [eb3,ab3,c4]",
  AY: "[g3,db4,eb4,c5]@3 [gb3,c4,f4]@3 ~@2 [g3,bb3,db4,gb4]@4", // Cm F Gb
  AZ: "[gb3,c4,f4]@3 [g3,db4,e4,bb4]@3 ~@2 b4@4, ~ [g3,db4,e5]", BA: "[g3,db4,eb4] [gb3,c4,f4] [g3,bb3,db4,gb4]@2",
  BB: "[gb3,c4,eb4,bb4]@6 ~@4 b4@8 [g3,db4,f4,c5]@3 ~@3, ~ [g3,db4,gb5]@2 ~", // Cm7b5 Csus4 Gb
  BC: "[~@5 [eb2,bb2,g3,db4,gb4,a4,c5]@25 ~@6]/3", // Eb7
})).s("gm_piano").gain(0.36).pan(0.6)

// other · alto sax · "Lead Alto"
const alto_sax = note(`<
  ~@4 A B@2 C D E F G H I J K L@2 M@2 N O P Q R S T U V W X Y Z AA AB AC AD ~@15 A AE@4 ~ AF@2 AG AH AI@2 ~@3 AJ AK@3
>`.pickRestart({
  A: "~@11 c4", B: "[eb4@8 c4@4 eb4@4 c4@3 ~ g4@4 ~@16 bb3@3 c4@4 eb4@7 ~ c4@4 eb4@4 c4@4 gb4@5 ~@21 c4@3, d4 ~@95]/2",
  C: "~ eb4@7 c4@4 eb4@8 c4@4 g4@8 bb4@5 ~@3 c5@4 bb4@4",
  D: "db5@8 c5@5 ~@4 bb4@3 ab4@4 g4@4 ~@12 eb5@3 ~ c5@4, ~@8 db5 ~@39", E: "eb5@3 f5@2 eb5@7, ~@12 e5 ~@35",
  F: "~@9 eb5@8 c5@6 ~ bb4@7 c5@12 gb4@5, ~@31 b4 ~@16", G: "g4@3 ~", H: "~@40 db5@3 ~@2 c5 ~@2, ~@40 c5 ~@3 db5@3 ~",
  I: "~ db5@14 bb4@3 c5@3 bb4@2 c5@24 ~, ~ c5 ~@46",
  J: "~@7 g5@10 eb5@6 db5@6 bb4@6 gb4@5 f4@4 eb4@2 c4@2, ~@7 gb5 ~@38 db4 ~", K: "eb4@19 ~@29",
  L: "[~@43 c4@4 eb4@8 c4@4 eb4@4 c4@4 gb4@4 ~@20 c4@4 ~, ~@47 d4 ~@48]/2",
  M: "[eb4@8 c4@4 eb4@4 c4@3 gb4@6 ~@15 bb3@3 c4@4 eb4@8 ~ c4@4 eb4@8 c4@4 g4@7 bb4@5 ~@5 c5@3 ~ bb4@3, d4 ~@95]/2",
  N: "db5@8 ~ c5@7 bb4@3 ~ ab4@4 g4@8 ~@8 eb5@3 c5@4 d5", O: "eb5@4 f5@3 eb5@9",
  P: "~@7 eb5@9 ~ c5@7 bb4@8 c5@4 ~@4 gb4@7 ~", Q: "g4@37 ~@11", R: "~@41 db5@3 bb4@3 ~",
  S: "db5@8 bb4@4 c5@3 bb4@4 c5@27 ~@2", T: "~@7 g5@9 eb5@7 ~ db5@6 bb4@6 gb4@4 f4@4 eb4@2 c4@2, ~@7 gb5 ~@40",
  U: "eb4@11 ~@37", V: "~@21 eb4@2 f4", W: "ab4@4 bb4@2 ab4@4 f4@2 ab4@15 ~ c5@4 db5@3 ~ eb5@4 eb4@3 ~@2 f4@2 ~",
  X: "ab4@4 b4@2 ab4@4 f4@2 ab4@11 ~@7 eb5@3 db5@2 ~@2 db5@2 b4@2 ~ ab4@3 ~ bb4@2, ~@18 b4 ~@5",
  Y: "ab4@4 gb4@2 f4@4 e4@2 eb4@4 db4@2 c4@2 eb4@2 g4@2 bb4@4 g4@4 ab4@3 eb4@13",
  Z: "~@18 f4@2 gb4@2 ab4@2 bb4@4 db5@2 f5@3 ~@3 e5@2 gb5@2 e5@2 b4@4 a4@2",
  AA: "ab4@4 gb4@2 f4@2 ab4@2 c5@2 eb5@4 db5@2 ab4@4 f4@2 db5@4 ~ e4@19",
  AB: "~@2 d4 eb4 ab4 c5 db5 eb5 db5 c5@2 bb4 a4@2 c4 eb4@2 f4 gb4@2 f4 eb4@2 db4",
  AC: "d4 ~@2 ab4@2 ~ g5@4 gb5 f5@2 e5@3 ~@2 ab4@3 ~ f4@2 c5@12 ~@12, ~@2 f4@2 ~ c5@2 ~@10 c5@2 ~@29",
  AD: "~@3 bb4@2 ~ db5@2 ~ c5 db5@2 bb4@5 ~@11 eb5@3 ~ db5 eb5 db5 ~ bb4@4 e4@8, ~@5 c5@2 ~ eb5@2 ~@38",
  AE: "[eb4@7 ~ c4@4 eb4@3 c4@3 ~ g4@5 ~@16 bb3@3 c4@4 eb4@7 ~ c4@4 eb4@4 c4@3 gb4@5 ~@17 bb3@3 c4@4 eb4@7 ~ c4@4 eb4@8 c4@4 g4@7 bb4@5 ~@5 c5@3 bb4@3 ~ db5@7 c5@4 ~ bb4@3 ab4@3 ~ g4@13 ~@17, d4 ~@191]/4",
  AF: "[~@15 bb4@3 c5@3 bb4@3 db5@5 ~ bb4@3 ~@3 ab4@6 eb4@3 ~ g4@38 ~@12]/2", AG: "~@40 bb4@3 c5@3 bb4@2",
  AH: "~ f5@4 f5@3 db5@4 ~ db5@3 bb4@21 ~@7 eb5@4", AI: "[bb5@11 ~ g5@12 eb5@11 ~ c5@8 eb5@15 ~@37, ~@44 d5 ~@51]/2",
  AJ: "eb5@8 c5@4 bb4@6 ~ c5@5 ~@6 gb4@7 ~@11, d5 ~@47", AK: "[eb4@4 ~@4 eb4@113 ~@23]/3",
})).s("gm_alto_sax").gain(0.41).pan(0.4)

// other · alto sax · "Tenor Sax"
const alto_sax_2 = note(`<
  A@2 B C D E F ~ G@2 ~ H@2 ~ I J@2 E F ~ G@2 ~ H@2 ~ I K ~@13 L@4 M@2 N@2 O@2 P Q E F ~ G@2 ~ H@2 ~ I R S T S ~ U@3
>`.pickRestart({
  A: "[~@44 bb4@23 ~ bb4@23 ~ bb4@4]/2", B: "~@8 bb4@23 ~ bb4@4 ~@8 bb4@4", C: "ab4 g4 gb4 f4",
  D: "eb4@33 ~@3 d4@4 ~@8", E: "~@9 d4 ~@2", F: "~@27 c4@3 ~@6 c4@4 ~@8", G: "[~@30 db4@5 ~@7 c4@42 ~@12]/2",
  H: "[~@12 eb5@9 ~ bb4@2 gb4@8 eb4@4 ~@8 eb5@13 ~ bb4@2 gb4@9 eb4@3 g4@8 bb4@16, ~@21 c5@2 ~@34 c5@2 ~@37]/2",
  I: "b3@12 bb3@12 ab3@12 ab3@7 ~ g3@4", J: "[~@20 bb4@23 ~ bb4@23 ~ bb4@22 ~@6]/2", K: "~@23 db4@3 ~@6 db4@4 ~@12",
  L: "[ab3@8 ~@2 [c4,db4] d4 eb4@6 g3@13 ~@3 [c4,db4] d4 eb4@6 gb3@53 ~]/2", M: "[f3 eb3@13 ~ bb3]/2",
  N: "[~ ab3@13 ~@2]/2", O: "[f4@7 e4@9]/2", P: "~@6 c4@17 ~@5 e4@3 ~@5 e4@5 ~@7",
  Q: "~@4 eb4@7 ~ eb4@4 ~@3 eb4@4 ~@2 d4@19 ~@4", R: "~@12 c4@5 ~@7 db4@7 ~ f3@4 ~@8 c4@3 ~",
  S: "~@8 db4@27 ~ eb3@5 ~@7", T: "~@12 c4@5 ~@7 db4@7 ~ eb3@4 ~@8 c4@3 ~", U: "[~@5 db4@25 ~@6]/3",
})).s("gm_alto_sax").gain(0.56).pan(0.4)

// other · alto sax · "Tenor Sax" · soft notes · Amaj7
const alto_sax_soft = note(`<
  ~@41
  [~@7 a3 bb3 b3 ~@21 [ab3,a3] bb3 b3 ~@14]
  ~
  [~@7 a3 bb3 b3 ~@21 [ab3,a3] bb3 b3 ~@14]
  ~@27
>`).s("gm_alto_sax").gain(0.4).pan(0.4)

// other · tenor sax
const tenor_sax = note("<~@28 A B C D E F G H I J@4 ~@30>".pickRestart({
  A: "~@21 b3@2 c4", B: "eb4@4 f4@2 eb4@4 c4@2 eb4@15 ~ g4@4 ab4@3 ~ bb4@4 bb3@3 ~@2 c4@2 ~",
  C: "eb4@4 gb4@2 eb4@4 b3@2 eb4@11 ~@7 ab4@3 gb4@2 ~@2 gb4@2 e4@2 ~ eb4@3 ~ e4@2, ~@18 e4 ~@5",
  D: "eb4@4 db4@2 c4@4 b3@2 bb3@4 ab3@2 g3@2 ab3@2 b3@2 eb4@4 b3@4 eb4@3 bb3@13",
  E: "~@18 bb3@2 db4@2 eb4@2 f4@4 gb4@2 bb4@3 ~@3 a4@2 db5@2 a4@2 e4@5 ~",
  F: "eb4@4 db4@2 c4@2 db4@2 f4@2 ab4@6 eb4@4 c4@2 gb4@4 ~ a3@19",
  G: "~@4 g3@2 ab3@2 eb4@2 f4@2 ab4@5 ~ e4@6 ~@4 g3@2 bb3@4 c4@2 db4@4 c4@2 bb3@4 g3@2",
  H: "ab3 ~@2 d4@2 ~ c5@4 bb4 a4@2 ab4@3 ~@2 d4@3 ~ c4@2 gb4@12 ~@12, ~@2 bb3@2 ~ f4@2 ~@10 f4@2 ~@29",
  I: "~@3 f4@2 ~ ab4@2 ~ g4 ab4@2 f4@5 ~@11 bb4@3 ~ ab4 bb4 ab4 ~ f4@4 b3@8, ~@5 g4@2 ~ bb4@2 ~@38",
  J: "[~@36 b3@5 ~ bb3@41 ~ b3@5 ~ c4@90 ~@12]/4",
})).s("gm_tenor_sax").gain(0.48).pan(0.4)

// other · tenor sax
const tenor_sax_2 = note(`<
  A@2 B C D E F ~ G@2 ~@4 H I@2 E F ~ G@2 ~@4 H J K L M N O P Q R S T@4 ~@8 U@2 V W E F ~ G@2 ~@4 H X Y X Y ~ Z@3
>`.pickRestart({
  A: "[~@44 bb3@23 ~ bb3@23 ~ bb3@4]/2", B: "~@8 bb3@23 ~ bb3@4 ~@8 bb3@4", C: "gb4 f4 e4 eb4",
  D: "d4@33 ~@3 ab3@4 ~@8", E: "~@9 g3 ~@2", F: "~@27 g3@3 ~@6 g3@4 ~@8", G: "[~@30 b3@5 ~@7 bb3@42 ~@12]/2",
  H: "f3@12 e3@12 eb3@12 eb3@7 ~ eb3@4", I: "[~@20 bb3@23 ~ bb3@23 ~ bb3@22 ~@6]/2", J: "~@23 g3@3 ~@6 g3@4 ~@12",
  K: "~@7 ab3", L: "c4@4 eb4@2 c4@4 ab3@2 c4@15 ~ eb4@4 f4@3 ~ g4@4 g3@3 ~@2 ab3@2 ~",
  M: "b3@4 c4@2 b3@4 ab3@2 c4@11 ~@7 f4@3 d4@2 ~@2 d4@2 c4@2 ~ b3@3 ~ db4@2, ~@18 c4 ~@5",
  N: "c4@4 bb3@2 a3@6 g3@4 f3@2 eb3@2 g3@2 ab3@2 c4@4 ab3@4 c4@3 gb3@13",
  O: "~@18 gb3@2 bb3@2 db4@2 eb4@4 f4@2 gb4@3 ~@3 gb4@2 ab4@2 gb4@2 c4@5 ~",
  P: "c4@4 bb3@2 ab3@2 c4@2 db4@2 f4@6 c4@4 ab3@2 e4@4 ~ gb3@19",
  Q: "~@4 e3@2 f3@2 c4@2 eb4@2 e4@5 ~ db4@6 ~@4 eb3@2 g3@4 a3@2 bb3@4 a3@2 g3@4 e3@2",
  R: "f3 ~@2 bb3@2 ~ ab4@4 g4 gb4@2 f4@3 ~@2 c4@3 ~ bb3@2 d4@12 ~@12, ~@2 ab3@2 ~ d4@2 ~@10 d4@2 ~@29",
  S: "~@3 db4@2 ~ f4@2 ~ eb4 f4@2 db4@5 ~@11 g4@3 ~ f4 g4 f4 ~ db4@4 g3@8, ~@5 eb4@2 ~ g4@2 ~@38",
  T: "[~@36 f3@5 ~ e3@41 ~ f3@5 ~ g3@90 ~@12]/4", U: "[db4@7 db4@9]/2", V: "~@6 f3@17 ~@5 bb3@3 ~@5 bb3@5 ~@7",
  W: "~@4 ab3@7 ~ ab3@4 ~@3 ab3@4 ~@2 ab3@19 ~@4", X: "~@12 gb3@5 ~@7 g3@7 ~ eb3@4 ~@8 gb3@3 ~",
  Y: "~@8 g3@27 ~ eb3@5 ~@7", Z: "[~@5 g3@25 ~@6]/3",
})).s("gm_tenor_sax").gain(0.48).pan(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  A B C D E F G ~ H@2 ~ I@2 ~ J K L F G ~ H@2 ~ I@2 ~ J M N O P Q R S T U V W@4 X@2 Y Z AA AB AC AD AE AF AG ~ F G ~ H@2
  ~ I@2 ~ J AH AI AH AI ~ AJ@3
>`.pickRestart({
  A: "~@11 bb3", B: "eb3@17 ~@3 bb3@4 eb3@17 ~@3 bb3@4", C: "eb3@5 ~@3 bb3@4 eb3@17 ~@3 bb3@4 eb3@5 ~@3 bb3@4",
  D: "d4 db4 c4 b3", E: "bb3@33 ~@3 bb2@4 ~@8", F: "~@9 eb2 ~@2", G: "~@27 ab2@3 ~@6 ab2@4 ~@8",
  H: "[~@30 g3@5 ~@7 gb3@42 ~@12]/2",
  I: "[~@12 eb4@9 ~ bb3@2 gb3@8 eb3@4 ~@8 eb4@13 ~ bb3@2 gb3@9 eb3@3 g3@8 bb3@16, ~@21 c4@2 ~@34 c4@2 ~@37]/2",
  J: "g2@12 c3@12 f2@12 bb2@7 ~ eb2@4", K: "~@20 bb3@4 eb3@17 ~@3 bb3@4", L: "eb3@17 ~@3 bb3@4 eb3@17 ~@7",
  M: "~@23 eb2@3 ~@6 eb2@4 ~@12", N: "~@21 eb4@2 f4",
  O: "ab4@4 bb4@2 ab4@4 f4@2 ab4@15 ~ c5@4 db5@3 ~ eb5@4 eb4@3 ~@2 f4@2 ~",
  P: "ab4@4 b4@2 ab4@4 f4@2 ab4@11 ~@7 eb5@3 db5@2 ~@2 db5@2 b4@2 ~ ab4@3 ~ bb4@2, ~@18 b4 ~@5",
  Q: "ab4@4 gb4@2 f4@4 e4@2 eb4@4 db4@2 c4@2 eb4@2 g4@2 bb4@4 g4@4 ab4@3 eb4@13",
  R: "~@18 f4@2 gb4@2 ab4@2 bb4@4 db5@2 f5@3 ~@3 e5@2 gb5@2 e5@2 b4@4 a4@2",
  S: "ab4@4 gb4@2 f4@2 ab4@2 c5@2 eb5@4 db5@2 ab4@4 f4@2 db5@4 ~ e4@19",
  T: "~@2 d4 eb4 ab4 c5 db5 eb5 db5 c5@2 bb4 a4@2 c4 eb4@2 f4 gb4@2 f4 eb4@2 db4",
  U: "d4 ~@2 ab4@2 ~ g5@4 gb5 f5@2 e5@3 ~@2 ab4@3 ~ f4@2 c5@12 ~@12, ~@2 f4@2 ~ c5@2 ~@10 c5@2 ~@29",
  V: "~@3 bb4@2 ~ db5@2 ~ c5 db5@2 bb4@5 ~@11 eb5@3 ~ db5 eb5 db5 ~ bb4@4 e4@8, ~@5 c5@2 ~ eb5@2 ~@38",
  W: "[~@36 g2@5 ~ gb2@41 ~ g2@5 ~ ab2@90 ~@10 ab3@2]/4",
  X: "[b3@2 c4@2 db4@2 b3@2 c4@2 db4@2 c4@4 ab3@2 f3@4 g3@2 ab3@4 ~@2 ab3@4 ~ b3 c4@4 eb4@2 f4@4 gb4@10 f4@2 e4@2 eb4@4 ab3@2 ~@10 ab3@2 db4@2 c4@2 ab3@2 db4@6 c4 ab3@2 ~ db3 b2, ~@93 eb3@2 ~]/2",
  Y: "c3@4 eb3@2 ab3@4 bb3@2 ~@10 ab4@5 ~ eb4@3 ~ f4@3 ~ gb4@3 ~ eb4@2 db4@4 f4@2, ~@39 f4@2 ~@7",
  Z: "eb4@2 e4 eb4 bb3@2 db4@2 d4 db4 bb3@2 c4@2 db4 c4 ab3@2 bb3@2 b3 bb3 gb3@2 ab3@3 ~@7 db4@2 f4@4 ab4@2 e4@4 ~@2, ~@42 eb4 ~@5",
  AA: "eb4@4 db4@2 db4@4 eb4 bb3 b3@6 f3@4 ab3@3 ~@11 ab3@3 ~@3 bb3@3 ~@3",
  AB: "b3@4 db3@2 ~@10 eb3@2 ~@4 bb3@2 b3@2 c4 b3 ab3@2 bb3@4 ~@2 ab3@3 ~@3 bb3 ab3@2 ~ bb3@2, ~@45 g3@2 ~",
  AC: "c4@4 eb4@2 f4@4 ab4@12 eb4@2 db4@4 eb4@2 f4@4 eb4 ~@5 eb3@2 ab3@2 ~@2 c4 ~",
  AD: "db4@2 bb3@2 db4@2 c4@2 ab3@2 eb3@2 db3@6 eb3@3 b2 c3@11 ~ ab2@2 ~ bb2@2 ~ gb3@2 f3@6, ~@33 bb2@2 ~ g2@2 ~ db3@2 ~@7",
  AE: "~@6 ab3@5 b3 c4@4 eb4@4 f4@4 ab4@6 f4@5 ~ ab4@6 f4@5 ~", AF: "bb4@4 ~@2 bb4@32 ~@2 eb4@2 f4 ab4 ~ ab4 f4 ~",
  AG: "ab4@4 ~@2 ab4@17 ~@5 f4@2 eb4@4 ab3@8 ~@6", AH: "~@12 d2@5 ~@7 eb2@7 ~ eb2@4 ~@8 d2@3 ~",
  AI: "~@8 eb2@27 ~ eb2@5 ~@7", AJ: "[~@5 eb2@25 ~@6]/3",
// … 197 more lines

More by Herman