Strudelify

Call Me Irresponsible

James

KeyF majorTempo126 bpm
0:00/0:00
// Call Me Irresponsible — James
// 126 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 129 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 · "Jazz Bass"
const bass = note(`<
  A@6 B@2 C D E F G C H I J K L M N O@2 P Q R J S G T U V W X Y Z W AA AB AC AD AE AF AG AH AI AJ D AD AK G AL AM AN AO
  AP AQ AN AR AS AT AU AV AW W AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL@2 AG BM BN BO BP@2 BQ BR BS BT BU BV BW BX
  BY BZ AG CA BN CB AJ CC CD CE CF CG CH CI CJ CK CL CM CN@2 CO CP@2 ~@11
>`.pickRestart({
  A: "[d2@2 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 d2@3 d3 d2@2 db2]/6",
  B: "[c2@2 c3 c2@2 c2@3 c3 c2@2 c2@3 c3 c2@2 c2@3 c3 c2@3]/2", C: "f2 g2 a2 c3", D: "gb2@5 ~ gb2@6 c3@5 ~ c3@6",
  E: "g2@3 ~ g2@2 d3@6 bb2@6 g2@5 ~", F: "ab2@3 ~ ab2@2 d3@6 b2@6 ab2@5 ~", G: "a1 g2 a2 c3", H: "d2 eb2 e2 f2",
  I: "gb2 g2 ab2 a2", J: "g2@5 ~ g2@6 d3@5 ~ d3@6", K: "c3 e2 f2 g2", L: "a1@3 ~ a1@2 e2@6 c2@6 a1@5 ~",
  M: "~@6 a2@5 ~ ab2@6 ab2@5 ~, eb2 ~@2", N: "g2@3 ~ g2@2 f2@6 d2@6 f2@6",
  O: "[g2@3 d2@3 f2@3 g2@2 c2@3 c3 c2@3 ~@2 c3 c2@3]/2", P: "~@2 c3 c2@3 ~@2 c3 eb2@3", Q: "f3 a2 bb2 c3",
  R: "gb2 ab2 a2 c3", S: "ab2 bb2 b2 d3", T: "a1 b1 c2 db2", U: "d3 gb2 g2 a2", V: "d2@3 d2@3 d2@3 d3 a2 d2",
  W: "g3 bb2 c3 d3", X: "c2@3 ~ c2@2 g2@6 e2@6 c2@5 ~", Y: "a1 b1 c2!2", Z: "d2 e2 gb2 a2",
  AA: "c2@5 ~ c2@6 g2@5 ~ g2@6", AB: "a1@3 ~ a1@2 e2@6 db2@6 a1@5 ~", AC: "d2@5 ~ d2@6 a2@5 ~ a2@6", AD: "g2 g3 d3 g2",
  AE: "c2@6 b1@6 ~@6 d2@5 ~, ~@3 c2@2 ~", AF: "db2@3 ~ db2@2 ab2@6 f2@6 db2@5 ~", AG: "d2 d3 ab2 d2",
  AH: "eb2 eb3 bb2 eb2", AI: "c2!4", AJ: "f2@3 ~ f2@2 c3@6 a2@6 f2@5 ~", AK: "ab2@5 ~ ab2@6 d3@5 ~ d3@6",
  AL: "a1 a2 e2 a1", AM: "~@6 bb1@5 ~ a1@6 db2@6, a1 ~@2", AN: "d2@6 db2@6 ~@6 ab2@5 ~, ~@3 d2@2 ~",
  AO: "~@6 ab2@5 ~ g2@6 gb2@6, g2 ~@2", AP: "g2 b1 c2 ab1", AQ: "~@6 bb1@5 ~@7 eb2@5 ~, a1@2 ~ a1@2 ~",
  AR: "g2 gb2 g2 a2", AS: "d2@6 gb2@6 ~@6 db2@5 ~, ~@3 g2@2 ~", AT: "c2@4 c3@2 c2@5 ~@5 c3@2 c2@5 ~",
  AU: "~@4 c3@2 c2@5 ~@5 c3@2 c2@5 ~", AV: "f2@5 ~ f2@6 c3@5 ~ c3@6", AW: "gb2@3 ~ gb2@2 c3@6 a2@6 gb2@5 ~",
  AX: "ab2 ab3 d3 ab2", AY: "a2!2 bb2 c3", AZ: "a1 b1 db2 e2", BA: "bb1@2 ~@2 bb1@2 f2@4 ~@8 bb1@5 ~, ~@3 eb2@2 ~",
  BB: "a1 ~ a1 e2@2 ~ d2@3 gb2@3", BC: "g2@2 ~@2 g2@2 d3@4 ~@8 db2@5 ~, ~@3 g2@2 ~",
  BD: "~@6 db2@5 ~ c2@6 ab1@6, c2 ~@2", BE: "a1@5 ~ a1@6 a1@6 db2@6", BF: "~@6 eb2@5 ~ d2@6 d3@2 a2@2 d2@2, d2 ~@2",
  BG: "~@6 ab2@5 ~@7 db2@5 ~, g2@2 ~ g2@2 ~", BH: "c2@6 b1@6 ~@6 bb1@5 ~, ~@3 c2@2 ~",
  BI: "a1@6 ab1@6 ~@6 eb2@5 ~, ~@3 a1@2 ~", BJ: "~@6 eb2@5 ~@7 ab2@5 ~, d2@2 ~ d2@2 ~", BK: "g2 ab1 a1 b1",
  BL: "[c2@4 g2@2 c3@5 ~ c2@9 ~ db3@8 c3@6 ab2@5 ~ db2@6]/2", BM: "eb3 gb2 ab2 bb2", BN: "e2 gb2 g2 bb2",
  BO: "f2 eb2 f2 ab2", BP: "[f3@3 a2@3 bb2@3 c3@2 db2@4 gb2@3 c2@3 f2@3]/2", BQ: "b1 e2 bb1 ab2", BR: "ab2 bb2 c3 eb3",
  BS: "ab3 gb3 f3 eb3", BT: "f2 f3 c3 f2", BU: "bb1 c2 d2 f2", BV: "eb2 ~ eb2 bb2@2 ~ eb2@3 d2@3", BW: "eb2 f2 g2 bb2",
  BX: "~@6 a2@5 ~ ab2@6 ab2@6, ab2 ~@2", BY: "~@6 a2@5 ~ ab2@6 db2@6, ab2 ~@2", BZ: "db2@5 ~ db2@6 ab2@5 ~ ab2@6",
  CA: "eb2 f2 gb2 bb2", CB: "f2 f3 ab2 f2", CC: "bb1@2 ~@2 bb1@2 f2@4 ~@8 b1@5 ~, ~@3 bb1@2 ~",
  CD: "~@6 b1@5 ~ bb1@6 d2@6, bb1 ~@2", CE: "eb2@2 ~@2 eb2@2 bb2@4 ~@8 a2@5 ~, ~@3 ab2@2 ~", CF: "ab2 c3 db3 eb3",
  CG: "~@6 c2@5 ~@7 b1@5 ~, f2@2 ~ f2@2 ~", CH: "bb1@3 ~ bb1@2 f2@6 d2@6 bb1@5 ~", CI: "ab2 g2 f2 eb2",
  CJ: "ab2 ~ ab2 gb2@2 ~ eb2@2 b1@4", CK: "b1@3 bb1@3 b1@2 bb1@4", CL: "bb1@4 f2@8 ~@6 bb2@5 ~, ~@3 ab2@2 ~",
  CM: "ab2@5 ~ eb2@6 gb2@5 ~ bb2@6", CN: "[ab2@3 ~@3 ab1@11 ~ ab1@4 d2@12 a1@7 ~ d2 ~@5]/2", CO: "ab1 ~@11",
  CP: "[~ db2@11]/2",
})).s("gm_acoustic_bass").gain(0.15).pan(0.3)

// chords · piano
const piano = note(`<
  ~@46 A B C D E F G H I J K ~ L M N O P Q R S T F ~@2 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 BB BC BD BE BF@4 BG BH@2 BI BJ@2 ~@11
>`.pickRestart({
  A: "~@4 [e3,g3,a3,c4]@2 ~@10 [e3,g3,a3,c4] ~@7", B: "[eb3,a3,c4,gb4] ~@9 [eb3,a3,c4,gb4] ~@13",
  C: "~@4 [f3,bb3,d4,a4]@2 ~@10 [f3,bb3,d4,a4] ~@7", D: "~@4 [f3,b3,d4,ab4]@2 ~@10 [f3,b3,d4,ab4] ~@7",
  E: "[a3,c4,f4]@7 ~ [a3,c4,f4] ~@3", F: "~@4 [g3,b3,db4,gb4]@2 ~@10 [g3,b3,db4,gb4] ~@7",
  G: "~@4 [g3,b3,d4,e4] ~@5 [ab3,c4,e4,b4]@3 ~@11", H: "[g3,c4,e4] ~@9 [gb3,bb3,c4,eb4]@13 ~, b3 ~@11",
  I: "[f3,bb3,d4] ~@15 [gb3,a3,bb3,d4] ~@7, a4 ~@11", // Bb D
  J: "[f3,d4,a4] ~@11 [e3,a3,bb3,d4]@2 ~@2 [e3,a3,bb3,d4]@2 ~@6, c4 ~@11", K: "[g3,db4,gb4,b4]@6 ~@5 [g3,ab3,b3,c4,e4]",
  L: "[f3,c4,e4,a4]@10 [f3,b3,e4,a4]@3 ~@11", M: "[f3,a3,c4,e4] ~ [f3,a3,c4,e4] ~@3 [f3,db4,e4,a4]@6",
  N: "~@6 [e3,a3,d4,g4] ~ [e3,a3,d4,g4] ~@3", O: "[g3,c4,f4,bb4,d5]@2 ~@8 [ab3,d4,e4,g4,c5]@13 ~",
  P: "[a3,g4,c5]@2 ~@8 [a3,e4,g4,c5] ~@13, e4 ~@23", Q: "~@4 [a3,eb4,gb4,c5]@2 ~@10 [a3,eb4,gb4,c5] ~@7",
  R: "~@4 [bb3,f4,g4,d5]@2 ~@10 [bb3,f4,g4,d5] ~@7", S: "[b3,f4,ab4,d5]@14 ~@2 [b3,f4,ab4,d5]@3 ~@5",
  T: "[a3,f4,c5]@14 ~@2 [a3,f4,c5]@3 ~@5", U: "[d4,a4] ~@10 [f3,bb3,d4,g4], [f3,bb3] ~@23", V: "~ [e3,bb3,d4,a4]",
  W: "~@16 [ab3,b3,c4,e4] ~@7", X: "~@6 [gb3,bb3,c4,eb4] ~ [gb3,bb3,c4,eb4] ~@3",
  Y: "~@4 [f3,c4,d4,a4] ~@5 [gb3,bb3,d4,a4]@3 ~@11", // Dm7 D
  Z: "[f3,d4,g4]@2 ~@8 [e3,bb3,d4,a4]@3 ~@9 [g3,b3,d4,gb4]@2, bb3 ~@23", AA: "~@10 [gb3,c4,eb4,a4]@3 ~@11",
  AB: "[f3,a3,bb3,d4]@2 ~@2 [f3,a3,bb3,d4]@2 ~@4 [g3,c4,e4,b4]@3 ~@9 [f3,bb3,d4,g4]@2", AC: "~@2 gb6",
  AD: "[f3,c4,eb4,ab4]@14 ~@2 [f3,c4,eb4,ab4]@3 ~@5", AE: "[f3,b3,d4] ~@9 [f3,ab3,b3,d4] ~@13, ab3 ~@11",
  AF: "~@4 [gb3,db4,eb4,bb4]@2 ~@10 [gb3,db4,eb4,bb4] ~@7", AG: "[g3,bb3,db4,e4]@14 ~@2 [g3,bb3,db4,e4]@3 ~@5",
  AH: "[f4,ab4,db5]@2 ~@8 [f4,ab4,db5] ~@13", AI: "~@4 [a3,b3,d4,eb4,g4]@2 ~@10 [a3,b3,d4,eb4,g4] ~@7", AJ: "~@2 f6!2",
  AK: "~@3 d6", AL: "~@4 [gb3,db4,f4,bb4] ~@11 [gb3,db4,f4,bb4] ~@7",
  AM: "~@4 [gb3,db4,f4,bb4] ~@7 [gb3,db4,f4,bb4]@9 ~@3", AN: "[eb3,a3,d4,g4]@14 ~@2 [eb3,a3,d4,g4]@3 ~@5",
  AO: "~@4 [ab3,c4,eb4,f4]@2 ~@10 [ab3,c4,eb4,f4] ~@7", AP: "[ab3,c4,db4,f4]@10 [g3,db4,f4,c5]@13 ~",
  AQ: "[a3,db4,f4,bb4] ~@9 [a3,db4,f4,bb4] ~@13", AR: "[gb3,bb3,db4,f4]@2 ab6 e6", AS: "[a3,d4,gb4,db5]@2 ab6 g6",
  AT: "[f3,ab3,c4,eb4]@14 ~@2 [f3,ab3,c4,eb4]@3 ~@5", AU: "[f3,ab3,b3,d4]@14 ~@2 [f3,ab3,b3,d4]@3 ~@5",
  AV: "[gb3,eb4]@2 ~@8 [gb3,c4,eb4,bb4] ~@13, [c4,bb4] ~@23", AW: "[g3,db4,e4,bb4] ~@9 [g3,db4,e4,bb4] ~@13",
  AX: "[f4,ab4,db5]@14 ~@2 [f4,ab4,db5]@3 ~@5", // Db
  AY: "[a3,b3,eb4,g4,d5]@14 ~@2 [a3,b3,eb4,g4,d5]@3 ~@3 [ab3,eb4,g4,bb4]@2", AZ: "~@10 [ab3,c4,e4,f4]@3 ~@11",
  BA: "[ab3,bb3,eb4,g4]@12 ~@4 [ab3,c4,d4,g4] ~@7", BB: "[ab3,db4,bb4]@2 ~@8 [gb3,db4,f4,bb4] ~@13, f4 ~@23",
  BC: "[gb3,bb3,db4,ab4]@23 ~", BD: "[bb3,eb4,ab4]@2 ~@8 [f3,ab3,e4,bb4] ~@13, f3 ~@23", BE: "[ab3,c4,g4,bb4]@23 ~",
  BF: "[[gb4,bb4,f5] ~@9 [db4,gb4,bb4,f5] ~@11 [gb3,bb3,db4,ab4]@21 ~@3 [eb3,a3,f4,ab4]@23 ~ [ab3,c4,eb4,g4]@11 ~ [ab3,b3,d4,g4]@14, db4 ~@47]/4", // Gbmaj7 Gb F7 Abmaj7 G
  BG: "[gb3,bb3,db4,ab4]@7 ~@5", BH: "[[ab3,ab4]@2 ~@4 [a3,c4,d4,f4]@13 ~@3 [gb3,b3,e4,a4]@12 ~@14]/2",
  BI: "[ab2,ab4,ab5] ~@11, ab3 ~@23", BJ: "[~ [f3,b3,e4,g4]@11]/2",
})).s("gm_piano").gain(0.19).pan(0.3)

// other · alto sax
const alto_sax = note(`<
  ~ A ~ B ~ A ~ C ~@36 D@2 E ~@3 F@2 ~ G H ~@11 I J K L ~@8 M N ~@7 O P Q R S T ~ U V ~@13 W@3 ~ X ~@2 Y@3 ~@10
>`.pickRestart({
  A: "~@2 bb3 b3 ~@2 db4@2 c4 b3 ~@2", B: "~@2 c4 d4 ~@2 e4@2 d4 c4 ~@2", C: "~@2 bb3 c4 ~@2 d4@2 c4 bb3 ~@2",
  D: "[gb4@4 ab4@2 ~@4 gb4@2 ~@4 ab4@2 ~@4 bb4@7 ~ c5@2 ~@4 a4@4 bb4@7 ~]/2", E: "g4@2 g4 ~@9",
  F: "[~@22 c5@14 ~@4 g4@2 f4@4 e4 ~]/2", G: "~@16 ab4@7 ~", H: "a4@3 ~ a4@2 ~@18",
  I: "g4@2 ~@2 a4 g4 gb4@4 g4@2 ~@4 a4 g4 gb4@4 a4@2", J: "~@4 b4 a4 ab4@4 a4@2 ~@4 c5@7 ~",
  K: "c5@2 ~@4 ab4@2 f4@2 db4@2 f4@2 g4@2 a4@7 ~", L: "~@4 b4@2 g4@2 e4@2 c4@2 f4 ~@3 f4@7 ~", M: "d4 ~@4 e4 ~@6",
  N: "d4@2 ~@8 gb4@11 ~@3", O: "~@11 f4", P: "~@5 gb4 ~@6", Q: "~@3 e4 f4!2 e4 f4!3 e4 eb4", R: "db4@2 ~@8 f4 ~@13",
  S: "~@3 e4 f4!2 e4 f4!3 g4 ab4", T: "ab4 ~@4 c5 ~@6", U: "bb4 ~@4 c5 ~@5 d5",
  V: "~@4 db5@2 d5@4 db5@2 bb4@4 e4@2 ~@4 eb4 ~", W: "[~@22 f4@24 g4@11 ~ e4@2 ~@12]/3", X: "~@6 d4@11 ~@7",
  Y: "[~ g4@17]/3",
})).s("gm_alto_sax").gain(0.36).pan(0.7)

// other · tenor sax
const tenor_sax = note(`<
  A ~ B ~ A ~ C ~@5 D E F G H I J K ~@4 L M N O P E Q R S I T U S I ~@6 V@2 W X Y Z AA@2 AB AC AD ~@7 AE AF AG AH AI AJ
  AK AL ~@6 AM AN AO AP AQ AR AS AT L M ~ AU AV AW AX AY AZ BA BB BC AQ AR BD AT L BE ~ BF BG BH BI BH BJ BK@3 BL BM ~
  BN BO@3 ~@10
>`.pickRestart({
  A: "d4 ~@4 e4@7", B: "f4@2 ~@8 g4@13 ~", C: "f4 ~@4 g4@7", D: "~@9 g3 c4 db4", E: "c4 ~@11",
  F: "~@3 gb4 bb4 gb4 f4 ab4 f4 e4 ab4 e4", G: "eb4@2 g4@2 eb4@2 d4@2 a4@2 db4@2 c4@11 ~", H: "~@16 g3 ~@5 gb3 f3",
  I: "e3@23 ~", J: "~@3 g3 c4 db4 c4 ~@5", K: "~@6 gb3@2 c4@2 db4@2 c4@2 db4@2 c4 ~@7", L: "~@9 c4 b3 bb3", M: "a3",
  N: "bb3@12 ~@4 d4 ~@5 db4 c4", O: "b3@23 ~", P: "c4@9 g3 c4 db4", Q: "~@2 c4 ~@2 e4 ~@2 g4 ~@2 ab4",
  R: "~@4 b4@2 bb4@2 c4@2 ab4@2 a4@4 d4 ~@7", S: "~@9 g3 gb3 f3", T: "~@16 a3 ~@5 ab3 g3", U: "gb3@23 ~",
  V: "[db4@4 eb4@2 ~@4 db4@2 ~@4 eb4@2 ~@4 f4@7 ~ g4@2 ~@4 f4@4 gb4@7 ~]/2", W: "e4@3 ~ e4@2 ~@18",
  X: "~@3 ab3 a3 d4 ab3 a3 c4 ab3 a3 d4", Y: "c4 c3 b3 bb3@3 a3 c3 ab3 g3@3",
  Z: "g4@2 b3@2 gb4@2 f4@4 g4@2 e4@2 eb4@2 d4@7 ~",
  AA: "[~@6 a3@2 bb3@2 b3@2 c4@2 b3@2 c4 ~@5 f4@14 ~@4 d4@2 db4@4 c4 ~]/2", AB: "~@10 ab4 ~@5 b4 ~@5 bb4@2",
  AC: "a4@2 ~@5 a4@2 ~ e4@2 gb4@4 eb4@7 ~, ~@6 g4@2 ~ g4@2 ~@13", AD: "d4@3 ~ d4@2 ~@18",
  AE: "~@10 c4 b3 c4@2 ~@8 d4@2", AF: "eb4@2 f4@2 eb4@2 d4@4 db4@2 c4@4 a3 ~@7",
  AG: "~@6 d4@2 ~ d4@2 db4 d4@2 ~@8 e4@2, ~@4 e4 ~@7", AH: "f4 g4 ab4 b4 e4 eb4 d4 e4",
  AI: "e4@2 ~@2 gb4 e4 eb4@4 e4@2 ~@4 gb4 e4 eb4@4 db4@2", AJ: "~@4 eb4 db4 c4@4 db4@2 ~@4 ab4@7 ~",
  AK: "ab4@2 ~@4 f4@2 db4@2 c4@2 eb4@11 ~", AL: "~@4 g4@2 e4@2 c4@2 b3@2 c4 ~@3 eb4@7 ~",
  AM: "~@4 a4@2 gb4@2 a3@2 gb4@2 f4@11 ~", AN: "eb4@2 e4@2 a4@2 eb4@2 e4@2 a4@2 eb4@11 ~", AO: "c4 ~@4 d4 ~@6",
  AP: "c4 ~@4 e4@5 ~@2", AQ: "~@9 ab3 g3 gb3", AR: "f3", AS: "~@16 bb3@2 ~@5 ab3, ~@11 a3", AT: "g3@23 ~",
  AU: "~@22 db4 ~", AV: "~@5 f4 ~@6", AW: "~@3 d4 eb4!2 d4 eb4!3 d4 db4", AX: "eb4@2 ~@8 eb4 ~@13",
  AY: "~@3 d4 eb4!2 d4 eb4!3 f4 eb4", AZ: "f4 ~@4 f4 ~@6", BA: "~ c4 db4 c4 f4 c4 eb4 c4 db4 c4 a4 f4",
  BB: "gb4 ~@4 ab4 ~@5 a4", BC: "~@4 ab4@2 a4@4 ab4@2 gb4@4 d4@2 ~@4 c4 ~", BD: "~@16 bb3@2 ~@4 a3 ab3", BE: "a3@3 ~",
  BF: "~@8 eb4 db4 bb3 a3", BG: "ab3@6 ~@4 gb3 bb3", BH: "ab3 ~", BI: "~@7 e4 eb4 d4 bb3 a3",
  BJ: "~@16 gb3@2 ~@5 bb3, ~@11 gb3", BK: "[ab3@11 ~@11 eb4@24 eb4@11 ~ d4@2 ~@6 f4@2 gb4@2 g4@2]/3",
  BL: "ab4@2 ~@8 g4@2 ~@4 gb4@2 ~@4 f4 e4", BM: "eb4@2 ~@4 c4@11 ~ ab3@4 db4@2",
  BN: "~@2 g4 ab4 ~@2 bb4@2 a4 ab4@2 db5", BO: "[~ e4@17]/3",
})).s("gm_tenor_sax").gain(0.36).pan(0.4)

// other · tenor sax
const tenor_sax_2 = note(`<
  A ~ B ~ A ~ C ~@37 D@2 E ~@3 F@2 G H I ~@11 J K L M ~@8 N O ~@7 P Q R S T U V W X ~@13 Y@3 ~ Z ~ AA AB@3 ~@10
>`.pickRestart({
  A: "b3@2 ~@8 c4@13 ~", B: "d4@2 ~@8 e4@13 ~", C: "d4 ~@4 e4@7",
  D: "[ab3@4 bb3@2 ~@4 ab3@2 ~@4 bb3@2 ~@4 c4@7 ~ d4@2 ~@4 c4@4 e4@7 ~]/2", E: "d4@2 d4 ~@9",
  F: "[~@22 db4@14 ~@4 a3@2 ab3@4 g3 ~]/2", G: "~@10 ab3 ~@5 b3 ~@5 bb3@2",
  H: "a3@2 ~@4 g3@2 ~@2 e3@2 gb3@4 c4@7 ~, ~@4 a3 ~@7, ~@9 g3@2 ~@13", I: "bb3@3 ~ bb3@2 ~@18",
  J: "d4@2 ~@2 e4 d4 db4@4 d4@2 ~@4 e4 d4 db4@4 f4@2", K: "~@4 g4 f4 e4@4 f4@2 ~@4 db4@7 ~",
  L: "f4@2 ~@4 db4@2 bb3@2 ab3@2 db4@11 ~", M: "~@4 d4@2 c4@2 b3@2 g3@2 gb3 ~@3 bb3@7 ~", N: "bb3 ~@4 c4 ~@6",
  O: "bb3@2 ~@8 db4@11 ~@3", P: "~@11 bb3", Q: "~@5 db4 ~@6", R: "~@3 b3 c4!2 b3 c4!3 b3 bb3", S: "a3@2 ~@8 db4 ~@13",
  T: "~@3 b3 c4!2 b3 c4!3 d4 f4", U: "eb4 ~@4 db4 ~@6", V: "~@10 a3 f3", W: "db4 ~@4 eb4 ~@5 e4",
  X: "~@4 eb4@2 e4@4 eb4@2 db4@4 c4@2 ~@4 bb3 ~", Y: "[~@22 db4@24 c4@11 ~ b3@2 ~@12]/3", Z: "~@6 a3@11 ~@7",
  AA: "~@2 g3 ab3 ~@2 bb3@2 a3 ab3@2 db4", AB: "[~ b3@17]/3",
})).s("gm_tenor_sax").gain(0.44).pan(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  A ~ B ~ A ~ B ~@17 C D E F G H I J K L M N K L ~@6 O@2 P Q R S T@2 U V P ~@7 W X Y Z AA AB AC AD ~@6 AE AF AG AH AI AJ
  AK AL C D ~ AM AN AO AP AQ AR AS AT AU AI AJ AV AL C AW ~ AX AY AZ BA AZ BB BC@3 BD BE ~ BF BG@3 ~@10
>`.pickRestart({
  A: "a3 ~@4 b3@7", B: "bb3 ~@4 c4@7", C: "~@9 c4 b3 bb3", D: "a3", E: "bb3@12 ~@4 d4 ~@5 db4 c4", F: "b3@23 ~",
  G: "c4@9 g3 c4 db4", H: "c4 ~@11", I: "~@2 c3 ~@2 e3 ~@2 g3 ~@2 ab3", J: "~@4 b3@2 bb3@2 c3@2 ab3@2 a3@4 d3 ~@7",
  K: "~@9 g3 gb3 f3", L: "e3@23 ~", M: "~@16 a3 ~@5 ab3 g3", N: "gb3@23 ~",
  O: "[eb3@4 f3@2 ~@4 eb3@2 ~@4 f3@2 ~@4 g3@7 ~ a3@2 ~@4 bb3@4 bb3@7 ~]/2", P: "a3@2 a3 ~@9",
  Q: "~@3 ab3 a3 d4 ab3 a3 c4 ab3 a3 d4", R: "c4 c3 b3 bb3@3 a3 c3 ab3 g3@3",
  S: "g3@2 b2@2 gb3@2 f3@4 g3@2 e3@2 eb3@2 d3@7 ~",
  T: "[~@6 a3@2 bb3@2 b3@2 c4@2 b3@2 c4 ~@5 g3@14 ~@4 e3@2 eb3@4 d3 ~]/2", U: "~@10 ab3 ~@5 b3 ~@5 bb3@2",
  V: "a3@2 ~@4 g3@2 ~ g3@2 ~ d3@4 gb3@7 ~, ~@8 a3@2 ~ e3@2 ~@11", W: "~@10 c4 b3 c4@2 ~@8 d4@2",
  X: "eb4@2 f4@2 eb4@2 d4@4 db4@2 c4@4 a3 ~@7", Y: "~@6 d3@2 ~@2 db3 ~ d3 ~@9 e3@2, ~@4 e3 ~@7, ~@9 d3@2 ~@13",
  Z: "f3 g3 ab3 b3 e4 eb4 d4 e4", AA: "a3@2 ~@2 b3 a3 ab3@4 a3@2 ~@5 a3 ab3@4 g3@2, ~@8 b3 ~@3",
  AB: "~@4 a3 g3 gb3@4 g3@2 ~@4 g3@7 ~", AC: "db4@2 ~@4 ab3@2 f3@2 eb3@2 g3@11 ~",
  AD: "~@4 c4@2 b3@2 g3@2 e3@2 d3 ~@3 gb3@7 ~", AE: "~@4 a3@2 gb3@2 a2@2 gb3@2 f3@11 ~",
  AF: "eb3@2 e3@2 a3@2 eb3@2 e3@2 a3@2 eb3@11 ~", AG: "a3 ~@4 b3 ~@6", AH: "a3@2 ~@8 bb3@11 ~@3", AI: "~@9 ab3 g3 gb3",
  AJ: "f3", AK: "~@16 bb3@2 ~@4 a3 ab3", AL: "g3@23 ~", AM: "~@11 gb3", AN: "~@5 ab3 ~@6",
  AO: "~@3 f3 gb3!2 f3 gb3!3 f3 e3", AP: "eb3@2 ~@8 a3 ~@13", AQ: "~@3 g3 ab3!2 g3 ab3!3 bb3 c4", AR: "bb3 ~@4 g3 ~@6",
  AS: "~ c4 db4 c4 f4 c4 eb4 c4 db4 c4 a3 f3", AT: "ab3 ~@4 bb3 ~@5 b3",
  AU: "~@4 bb3@2 b3@4 bb3@2 ab3@4 gb3@2 ~@4 f3 ~", AV: "~@16 bb3 ~@5 a3 ab3", AW: "a3@3 ~", AX: "~@8 eb4 db4 bb3 a3",
  AY: "ab3@6 ~@4 gb3 bb3", AZ: "ab3 ~", BA: "~@7 e4 eb4 d4 bb3 a3", BB: "~@16 gb3@2 ~@4 gb3 bb3",
  BC: "[ab3@11 ~@11 a3@24 ab3@11 ~ ab3@2 ~@6 f3@2 gb3@2 g3@2]/3", BD: "ab3@2 ~@8 g3@2 ~@4 gb3@2 ~@4 f3 e3",
  BE: "eb3@2 ~@4 gb3@11 ~ ab3@4 db4@2", BF: "~@2 g3 ab3 ~@2 bb3@2 a3 ab3@2 db4", BG: "[~ f3@17]/3",
})).s("gm_baritone_sax").gain(0.36).pan(0.8)

// other · tuba · "Trumpet 1"
const tuba = note("<A ~ B ~ A ~ B ~@13 C D@2 E ~@105>".pickRestart({
  A: "d4@2 ~@8 e4@13 ~", B: "f4@2 ~@8 g4@13 ~", C: "f4@4 g4 ~@19", D: "[~@2 e4 f4 ~@2 g4@2 gb4 f4@2 d4@7 c4@6]/2",
  E: "d4 e4",
})).s("gm_tuba").gain(0.48).pan(0.6)

// other · trumpet · "Trumpet 1"
const trumpet = note(`<
  ~@32 A B C B C D@3 ~ E F G H@2 I ~@23 A ~ A ~ A ~@4 J K L M N O P@3 ~@7 J K L M N Q R S T U V U W U X@3 Y Z ~ AA ~@13
>`.pickRestart({
  A: "c5 ~@9 d5 ~@13", B: "~@2 b4 c5 ~@2 d5@2 db5 c5 ~@2", C: "c5@2 ~@8 d5 ~@13",
  D: "[~@4 b4@2 c5@2 ~@4 d5@4 db5@2 c5@4 a4@49 ~]/3", E: "~@11 ab4", F: "~@5 bb4 ~@6",
  G: "~@4 g4@2 ab4@2 ~@4 bb4@4 a4@2 ab4 ~@5", H: "[bb4@3 ~ c5 ~@5 db5 ~@5 eb5 ~@5 f5@7 ~ g5@2 ~@4 a5@4 bb5@7 ~]/2",
  I: "a5@3 ~ a5 ~@19", J: "~@22 ab4 ~", K: "~@10 bb4 ~@13", L: "~@2 g4 ab4 ~@2 bb4@2 a4 ab4 ~@2", M: "bb4 ~@9 c5 ~@13",
  N: "~@2 a4 bb4 ~@2 c5@2 b4 bb4 ~@2", O: "c5@2 ~@8 db5 ~@13", P: "[~@4 c5@2 db5@2 ~@4 eb5@4 d5@2 db5@4 gb5@49 ~]/3",
  Q: "c5 ~@9 db5 ~@13", R: "~@2 c5 db5 ~@2 eb5@2 d5 db5 ~@2", S: "~@6 bb5@3 ~ bb5@2 bb5@4 bb5 ~@7",
  T: "bb5 ~@4 bb5 ~@6", U: "ab5 ~@4 bb5 ~@6", V: "~@2 g5 ab5 ~@2 bb5@2 a5 ab5 ~@2",
  W: "~@4 g5@2 ~@4 g5 ab5 bb5@4 a5@2 ab5@2 ~@4",
  X: "[~@4 g5@2 ab5@4 bb5@2 ~@4 a5@2 ab5@4 f5@35 ~ f5@2 ~@6 f5@2 gb5@2 g5@2]/3", Y: "ab5 ~@9 g5 ~@5 gb5 ~@5 f5 e5",
  Z: "eb5@2 ~@4 f5@11 ~ ab4@3 ~ db5 ~", AA: "~@2 g5 ab5 ~@2 bb5@2 a5 ab5@2 db6",
})).s("gm_trumpet").gain(0.64).pan(0.6)

// other · tuba · "Trumpet 2"
const tuba_2 = note("<~ A ~ B ~ A ~ C ~@121>".pickRestart({
  A: "~@2 db4 d4 ~@2 e4@2 eb4 d4 ~@2", B: "~@2 e4 gb4 ~@2 g4@2 gb4 e4 ~@2", C: "~@2 d4 e4 ~@2 f4@2 e4 d4 ~@2",
// … 198 more lines

More by James