Strudelify

Pure Imagination

Jacob collier

KeyF majorTempo185 bpm
0:00/0:00
// Pure Imagination — Jacob Collier
// 185 bpm, 5/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (5/4 at bar 1, 2/4 at bar 17, 4/4 at bar 17, 3/4 at bar 23, ...) are rendered on a constant 5/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/6177098; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 98 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(185/5)

// 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.

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  A B@2 C D E F G@2 H I J@2 K@2 L@2 M@4 N O@2 P Q R S T U V@8 W@3 X Y@3 Z AA AB@2 AC AD AE AF@2 AG AH@3 AI@2 AJ AK AL
  AM@3 AN AO AP AQ AR AS AT AU@2 ~ AV AW AX AY AZ BA@3 BB BC BD@2 BE@3 BF@2 BG BH BI@3
>`.pickRestart({
  A: "ab4@5 g4@5 gb4@4 c4@5 eb4@5", B: "bb4@14 c4@5 eb4@5", C: "~@3 bb4@7 bb4@2 bb4@5 bb4@2 bb4@3 bb4@2",
  D: "bb4@5 f4@5 ~@2 bb3@7 db4@5", E: "~@3 eb4@2 ~@5 eb4@3 ~ eb4@8 eb4@2", F: "eb4@3 eb4@5 e4@6 db4@5 b3@5",
  G: "[c4@5 db4@3 c4@4 b3@2 bb3@8 ab3@16 ~@10]/2", H: "~@3 g4@7 f4@4 c4@5 d4@5", I: "g4@3 a4@5 gb4@6 gb4@5 d4@5",
  J: "[a4@10 a4@4 a4@5 a4@3 bb4@5 g4@2 a4@5 ab4@4 b3@5 d4@5]/2", K: "[d4@14 d4@8 e4@5 d4@5 d4@6 db4@5 b3@5]/2",
  L: "[~@8 c5@21 c5@3 a4@2 ~@14]/2",
  M: "[~@17 d5@2 ~@3 a4@12 a4@7 gb4@5 a4@7 ~@3 db5@6 bb4@14 ~ a4@5 ab4@2 a4@2 ~@3 ab4@2 a4@3 ~@2]/4",
  N: "e4@5 ~@3 e4@5 ~ db4@5 b3@5", O: "[db4@8 d4@6 eb4@8 e4@16 d4@5 f4@5]/2", P: "a4@5 ~@5 c4@7 db4@7",
  Q: "f4@5 d4@5 c4@4 b3@5 c4@5", R: "c5@8 db5@6 db5@5 db5@5", S: "db5@5 db5@3 db5@3 c5@3 c4@5 db4@5",
  T: "c4@3 bb3@2 ~@3 c4@2 bb3@4 f4@5 g4@5", U: "f4@8 gb4@6 d4@5 c4@5",
  V: "[db4@5 e4@5 a4@4 bb4@3 ~@2 e5@24 [b4,e5]@19 ~@5 [b4,d5]@24 [c5,eb5]@24 [db5,e5]@24 [c5,f5]@19 [db5,gb5]@14 ~ [d5,g5]@14 g5@2 ~@3, ~@17 b4@26 ~@149]/8", // E5 Bm Cm Dbm F5 Gb5 G5
  W: "[~@17 bb4@2 ~@3 db5@7 b4@3 bb4@2 ~@2 f5@2 ~@5 d5@8 db5@7 db5@7 bb4@7]/3", X: "bb4 ~@23",
  Y: "[~@8 db5@6 db5@8 db5@7 db5@7 db5@16 ~ c5@2 ~@7 eb5@2 ~@8]/3", Z: "f5@3 eb5@2 ~@3 d5@2 ~@2 c5@2 ~@3 bb4@5 g4@2",
  AA: "ab4@3 bb4@5 g4@2 ab4@2 bb4@5 c5@2 g4@3 ab4@2", AB: "[bb4@5 c5@5 g4@19 ~@9 gb4@5 g4@5]/2", AC: "a4@19 ~@5",
  AD: "~@3 c5@2 ~@7 db5@2 ~@8 d5@2", AE: "~@8 eb5@2 ~@7 bb4@7",
  AF: "[b4@3 db5@7 bb4@9 a4@10 ~@3 b4@2 ~@4 ab4@5 a4@3 ~@2]/2", AG: "bb4@3 d4@2 eb4@3 e4@12 ~@2 a4@2",
  AH: "[~@5 gb4@5 g4@2 ~@2 a4@8 c5@7 eb5@7 b4@7 db5@8 a4@7 b4@7 d5@7]/3", AI: "[gb5@2 ~@3 ab5@29 ~@4 e4@5 g4@5]/2",
  AJ: "db5@7 ~@5", AK: "~@6 g4@2 bb4@6 g4@5 e4@5", AL: "g4@5 db5@7 d5@2 db5@3 eb5@2 d5@3 d5@2",
  AM: "[db5@5 a4@5 ~@9 g4@4 g4@3 g4@4 g4@4 ab4@4 g4@5 g4@8 bb4@7 gb4@4 gb4@5 c4@5]/3", AN: "~ d4@6 db4@6 d4@6 eb4@5",
  AO: "~ db4@6 db4@6 eb4@6 ~@5", AP: "ab4@5 b4@5 a4@4 b4@5 db5@5", AQ: "c5@5 ~@9 db5@5 d5@5",
  AR: "~@3 d5@2 ~@5 d5@3 ~@4 b4@2 a4@5", AS: "a4@5 ab4@5 d4@4 f4@5 gb4@5", AT: "g4@5 g4@5 f4@4 db5@5 b4@5",
  AU: "[gb4@5 ab4@5 gb4@2 e4@7 e4@10 f5@17 ~@2]/2", AV: "~@8 gb4@4 g4@2 gb4@3 g4@2 gb4@5",
  AW: "~@3 gb4@5 a4@7 ~@2 c5@7", AX: "d5@5 c5@5 b4@4 bb4@5 a4@3 bb4@2", AY: "~@3 a4@2 bb4@3 ~@2 f4@5 ~@2 f4@5 c4@2",
  AZ: "c4@5 c4@5 d4@7 eb4@7", BA: "[e4@8 f4@6 gb4@8 g4@7 ab4@7 a4@21 ~@13 bb4@2]/3",
  BB: "~@5 bb4@5 eb4@4 f4@5 ~@3 g4@2", BC: "~@5 g4@5 eb4@4 gb4@5 db5@5",
  BD: "[b4@8 ab4@4 ab4@2 db5@3 db5@2 db5@8 bb4@7 eb4@4 f4@5 ~@3 gb4@2]/2",
  BE: "[~@5 gb4@5 g4@4 gb4@5 gb4@8 f4@7 g4@4 gb4@5 gb4@8 gb4@7 g4@4 gb4@5 d4@5]/3",
  BF: "[d4@5 eb4@5 eb4@4 d4@14 ~ e4@5 eb4@4 eb4@5 eb4@5]/2", BG: "e4@5 e4@5 eb4@14", BH: "f4@5 f4@3 e4@4 e4@7 f4@5",
  BI: "[f4@5 e4@10 f4@2 f4@3 g4@3 gb4@3 c5@2 b4@3 eb5@32 ~@9]/3",
})).s("gm_alto_sax").gain(0.25)

// other · alto sax · "Alto Saxophone"
const alto_sax_2 = note(`<
  A B C D E F@2 G@2 H I J@2 K@2 L@2 M@3 N O P@2 Q R S T U V W@8 X@3 Y Z@3 AA AB AC@2 AD AE AF AG@2 AH AI@3 AJ@2 AK AL AM
  AN@3 AO AP AQ AR AS AT AU AV@2 ~ AW AX AY AZ BA BB@3 BC BD BE@2 BF@3 BG@2 BH BI BJ@3
>`.pickRestart({
  A: "eb4@5 d4@5 db4@5 ~@9", B: "~@3 eb4@2 ~@5 eb4@3 ~@11", C: "~@3 eb4@2 ~@5 eb4@3 ~ ab3@5 b3@5",
  D: "~@3 f4@7 f4@2 f4@5 f4@2 eb4@3 eb4@2", E: "f4@5 eb4@5 ~@2 bb3@7 b3@5",
  F: "[~@3 bb3@2 ~@5 d4@3 ~ eb4@8 d4@5 d4@11 db4@5 b3@5]/2", G: "[a3@5 bb3@3 bb3@4 bb3@2 a3@8 ab3@16 ~@10]/2",
  H: "~@3 eb4@7 d4@4 bb3@5 c4@5", I: "eb4@3 f4@5 eb4@6 eb4@5 d4@5",
  J: "[e4@10 f4@4 gb4@5 gb4@3 g4@5 g4@2 e4@5 e4@4 b3@5 a3@5]/2", K: "[a3@14 a3@8 d4@5 b3@5 bb3@6 bb3@5 gb3@5]/2",
  L: "[~@8 ab4@21 ab4@3 e4@2 ~@14]/2", M: "[~@17 g4@2 ~@3 gb4@12 e4@7 db4@5 e4@7 ~@3 e4@6 gb4@10]/3",
  N: "g4@10 e4@2 e4@2 ~@3 e4@2 e4@3 ~@2", O: "a3@5 ~@3 a3@5 ~ a3@5 b3@5", P: "[c4@8 db4@6 d4@8 eb4@16 bb3@5 c4@5]/2",
  Q: "f4@5 ~@5 bb3@7 ab3@7", R: "e4@5 d4@5 c4@4 c4@5 bb3@5", S: "g4@8 ab4@6 ab4@5 ab4@5",
  T: "a4@5 bb4@3 f4@3 f4@3 c4@5 ab3@5", U: "~@14 c4@5 d4@5", V: "e4@8 db4@6 a3@5 ab3@5",
  W: "[bb3@5 d4@5 e4@4 f4@3 ab4@26 gb4@19 ~@5 g4@24 gb4@24 gb4@24 g4@19 a4@14 ~ a4@14 c5@2 ~@3]/8",
  X: "[~@17 g4@2 ~@3 gb4@7 gb4@3 f4@2 ~@2 c5@2 ~@5 c5@8 bb4@7 c5@7 a4@7]/3", Y: "eb4 ~@23",
  Z: "[~@8 gb4@6 c5@8 b4@7 bb4@7 a4@16 ~ eb4@2 ~@7 g4@2 ~@8]/3", AA: "ab4@3 g4@2 ~@3 g4@2 ~@2 g4@2 ~@3 f4@5 g4@2",
  AB: "ab4@3 f4@5 g4@2 ab4@2 a4@5 g4@2 d4@3 gb4@2", AC: "[f4@5 ab4@5 eb4@19 ~@9 d4@5 eb4@5]/2", AD: "gb4@19 ~@5",
  AE: "~@3 ab4@2 ~@7 a4@2 ~@8 a4@2", AF: "~@8 b4@2 ~@7 g4@7", AG: "[g4@3 a4@7 bb4@19 ~@3 eb4@2 ~@4 e4@5 eb4@3 ~@2]/2",
  AH: "f4@3 d4@2 eb4@3 e4@12 ~@2 f4@2", AI: "[~@5 eb4@5 e4@2 ~@2 eb4@8 gb4@7 a4@7 ab4@7 a4@8 gb4@7 g4@7 bb4@7]/3",
  AJ: "[db5@2 ~@3 eb5@29 ~@4 b3@5 d4@5]/2", AK: "b4@7 ~@5", AL: "~@6 g4@8 eb4@5 eb4@5",
  AM: "d4@5 bb4@7 bb4@2 a4@3 bb4@2 a4@3 g4@2",
  AN: "[ab4@5 a4@5 ~@9 d4@4 gb4@3 gb4@4 d4@4 eb4@4 e4@5 d4@8 db4@7 d4@4 d4@5 c4@5]/3", AO: "~ d4@6 ab3@6 a3@6 b3@5",
  AP: "~ a3@6 a3@6 bb3@6 ~@5", AQ: "e4@5 g4@5 gb4@4 g4@5 bb4@5", AR: "a4@5 b3@5 d4@4 ab4@5 a4@5",
  AS: "~@3 a4@2 ~@5 a4@3 ~@4 g4@2 g4@5", AT: "~@5 e4@5 db4@4 d4@5 db4@5", AU: "c4@5 e4@5 c4@4 a4@5 g4@5",
  AV: "[f4@5 e4@5 d4@2 c4@7 db4@10 db5@17 ~@2]/2", AW: "~@8 d4@4 d4@2 c4@3 d4@2 eb4@5", AX: "~@3 c4@5 e4@7 ~@2 a4@7",
  AY: "bb4@5 g4@5 ab4@4 ab4@5 f4@3 c4@2", AZ: "~@3 f4@2 c4@3 ~@2 bb3@5 ~@2 bb3@5 a3@2", BA: "bb3@5 c4@5 db4@7 d4@7",
  BB: "[eb4@8 e4@6 f4@8 gb4@7 g4@7 ab4@21 ~@13 gb4@2]/3", BC: "~@5 gb4@5 db4@4 db4@5 ~@3 f4@2",
  BD: "~@5 f4@5 db4@4 d4@5 ab4@5", BE: "[g4@8 gb4@4 gb4@2 ab4@3 ab4@2 ab4@8 gb4@7 eb4@4 db4@5 ~@3 db4@2]/2",
  BF: "[~@5 db4@5 eb4@4 d4@5 db4@8 d4@7 eb4@4 d4@5 db4@8 db4@7 eb4@4 d4@5 c4@5]/3",
  BG: "[c4@5 db4@5 db4@4 b3@14 ~ b3@5 c4@4 db4@5 db4@5]/2", BH: "d4@5 d4@5 c4@14", BI: "c4@5 db4@3 d4@4 d4@7 db4@5",
  BJ: "[eb4@5 db4@10 d4@2 eb4@3 e4@3 d4@3 g4@2 e4@3 bb4@32 ~@9]/3",
})).s("gm_alto_sax").gain(0.25)

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

// other · tenor sax · "Tenor Saxophone"
const tenor_sax_2 = note(`<
  A B C D E F G H@2 I J K@2 L@2 M@2 N@4 O P@2 ~ Q R S T U V@8 W@3 X Y@3 Z AA AB@2 AC AD AE AF@2 AG AH@3 AI@2 AJ AK AL
  AM@3 AN AO AP AQ AR AS AT AU@2 ~ AV AW AX AY AZ BA@3 BB BC BD@2 BE@3 BF@2 BG BH BI@3
>`.pickRestart({
  A: "gb3@5 f3@5 e3@4 c3@5 eb3@5", B: "~@3 ab3@2 ~@5 ab3@3 ~@6 ab3@5", C: "~@3 c4@2 ~@5 b3@3 ~ g3@5 gb3@5",
  D: "~@3 g3@7 bb3@2 c4@5 c4@2 ab3@3 ab3@2", E: "c4@5 d4@5 ~@2 eb4@7 eb4@5", F: "~@3 ab3@2 ~@5 ab3@3 ~ bb3@8 bb3@2",
  G: "bb3@3 c4@5 b3@6 ab3@5 g3@5", H: "[g3@5 g3@3 f3@4 f3@2 e3@8 gb3@16 ~@10]/2", I: "~@3 ab3@7 bb3@4 f3@5 g3@5",
  J: "ab3@3 c4@5 ab3@6 ab3@5 g3@5", K: "[d4@5 gb3@5 g3@4 g3@5 g3@3 ab3@5 ab3@2 e3@5 gb3@4 b2@5 e3@5]/2",
  L: "[b2@14 d3@8 e3@5 g3@11 g3@5 eb3@5]/2", M: "[gb3@8 bb3@21 bb3@3 b3@2 ~@14]/2",
  N: "[~@17 a3@2 ~@3 a3@19 g3@5 gb3@7 ~@3 b3@6 b3@19 ~ db4@2 db4@2 ~@3 db4@2 db4@3 ~@2]/4", O: "db4@5 ~@19",
  P: "[gb3@4 g3@3 a3@4 gb3@8 ~@5]/2", Q: "g3@5 g3@5 f3@4 d3@5 db3@5", R: "a3@8 ab3@6 bb3@5 bb3@5",
  S: "[c3,d4]@5 [c3,eb4]@3 [b2,d4]@3 db4@3 eb4@5 a3@5", T: "d3@3 f3@2 ~@3 d3@2 f3@4 g3@5 a3@5",
  U: "bb3@8 e3@6 bb3@5 db4@5",
  V: "[gb3@5 a3@5 b3@4 c4@3 d4@26 eb4@19 ~@5 e4@24 eb4@24 b3@24 bb3@19 e4@14 ~ d4@14 eb3@2 ~@3]/8",
  W: "[~@17 eb4@2 ~@3 d4@7 db4@3 c4@2 ~@2 eb4@2 ~@5 c4@8 [gb3,b3]@7 [eb3,bb3]@7 [c3,g3]@7]/3", X: "f4 ~@23",
  Y: "[~@8 ab2@6 [db3,ab3]@8 [c3,g3]@7 [b2,gb3]@7 [bb2,g3]@16 ~ bb2@2 ~@7 c3@2 ~@8]/3", // Db5 C5 B5 Eb
  Z: "d3@3 c3@2 ~@3 e3@2 ~@2 e3@2 ~@3 d3@5 eb3@2", AA: "f3@3 c4@5 eb3@2 f3@2 bb3@5 bb3@2 bb3@3 b3@2",
  AB: "[bb3@5 [db3,ab3]@5 bb3@19 ~@9 b3@5 a3@5]/2", AC: "d4@19 ~@5", AD: "~@3 bb3@2 ~@7 b3@2 ~@8 c4@2",
  AE: "~@8 db4@2 ~@7 bb3@7", AF: "[d4@3 b3@7 c4@19 ~@3 c4@2 ~@4 b3@5 bb3@3 ~@2]/2",
  AG: "bb3@3 ab3@2 a3@3 bb3@12 ~@2 d4@2",
  AH: "[~@5 bb3@5 c4@2 ~@2 g3@8 bb3@7 db4@7 c4@7 e3@8 bb3@7 [d3,a3]@7 [f3,c4]@7]/3", // D5 F5
  AI: "[[e3,bb3]@2 ~@3 [db3,gb3]@29 ~@4 gb3@5 g3@5]/2", AJ: "[e4,gb4]@14 e4@5 g4@5", AK: "~@3 c4@11 e4@5 f4@5",
  AL: "f4@5 db4@7 c4@2 b3@3 b3@2 bb3@3 a3@2",
  AM: "[ab3@5 db4@5 ~@9 e3@4 g3@3 a3@4 a3@4 bb3@4 bb3@5 a3@8 gb3@7 g3@4 g3@5 d3@5]/3", AN: "~ e3@6 bb2@6 b2@6 e3@5",
  AO: "~ b2@6 d3@6 b2@6 ~@5", AP: "d4@5 db4@5 c4@4 gb4@5 e4@5", AQ: "eb4@5 gb3@5 g3@5 ~@7 c4@2",
  AR: "b3@3 ~@2 e4@3 d4@2 ~@2 g4@2 gb4@3 gb4@2 gb4@5", AS: "d4@5 a3@5 g3@4 ab3@5 g4@5", AT: "a4@5 a4@5 e4@4 d4@5 db5@5",
  AU: "[bb4@5 a4@5 a4@2 f4@7 ab3@10 ab3@17 ~@2]/2", AV: "~@8 g3@4 g3@2 g3@3 a3@2 g3@5", AW: "~@3 bb2@5 a2@7 ~@2 gb3@7",
  AX: "c4@5 c4@5 [a3,c4]@4 c4@5 d3@3 d3@2", AY: "~@3 d3@2 d3@3 ~@2 d3@5 ~@2 d3@5 f3@2", AZ: "f3@5 c3@5 g3@7 ab3@7",
  BA: "[bb3@8 [g3,eb4]@6 b3@8 c4@7 d4@7 [c4,e4]@21 ~@13 b3@2]/3", BB: "~@5 b3@5 bb3@4 bb3@5 ~@3 b3@2",
  BC: "~@5 b3@5 bb3@4 a3@5 bb3@5",
  BD: "[ab3@8 [gb3,ab3]@4 [gb3,ab3]@2 bb3@3 bb3@2 [eb4,bb4]@8 ab3@7 eb3@4 gb3@5 ~@3 eb3@2]/2", // Gbsus2 Eb5
  BE: "[~@5 eb3@5 ab3@4 g3@5 gb3@8 g3@7 ab3@4 a3@5 gb3@8 g3@7 ab3@4 a3@5 a3@5]/3",
  BF: "[a3@5 bb3@5 c4@4 e3@14 ~ d3@5 e3@4 bb3@5 bb3@5]/2", BG: "b3@5 db4@5 f3@14", BH: "eb3@5 f3@3 a3@4 a3@7 ab3@5",
  BI: "[ab3@5 gb3@10 gb3@2 ab3@3 a3@3 g3@3 g3@2 gb3@3 c3@32 ~@9]/3",
})).s("gm_tenor_sax").gain(0.25)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D E F G H@2 I J K@2 L@2 M@2 N O@2 P Q R@2 S ~ T U V W X@8 Y@3 Z AA@3 AB AC AD@2 AE AF AG AH@2 AI AJ@3 AK@2 AL AM
  AN AO@3 AP AQ AR AS AT AU AV AW@2 ~ AX AY AZ BA BB BC@3 BD BE BF@2 BG@3 BH@2 BI BJ BK@3
>`.pickRestart({
  A: "a2@5 ab2@5 g2@5 ~@9", B: "~@14 eb3@5 g3@5", C: "~@3 ab3@2 ~@5 ab3@3 ~@11",
  D: "~@3 bb2@7 f3@2 g3@5 g3@2 bb2@3 bb2@2", E: "bb3@5 f3@5 ~@2 c3@7 eb3@5", F: "~@3 c3@2 ~@5 c3@3 ~ ab3@8 ab3@2",
  G: "ab3@3 ab3@11 g3@5 e3@5", H: "[bb2@5 a2@3 ab2@4 ab2@2 g2@8 b2@16 c3@5 g2@5]/2", I: "~@3 d3@7 eb3@4 eb3@5 f3@5",
  J: "f3@3 g3@5 bb2@6 bb2@5 b2@5", K: "[gb3@5 a2@5 bb2@4 b2@5 b2@3 d3@5 d3@2 d3@5 gb3@4 b2@5 gb2@5]/2",
  L: "[e2@8 e2@2 ~@4 gb2@8 ab2@5 gb3@11 g3@5 a2@5]/2", M: "[bb2@8 db3@21 db3@3 d3@2 ~@2 g2@2 bb2@5 b2@3 g2@2]/2",
  N: "e2@5 gb2@5 c3@2 a2@2 b2@3 gb2@2 f2@5", O: "[e2@5 e2@5 a2@2 ab2@2 a2@3 eb2@5 d2@7 ~@3 gb3@6 gb3@10]/2",
  P: "gb3@10 gb2@2 gb2@2 ~@3 gb2@2 gb2@3 ~@2", Q: "gb2@5 ~@3 gb2@5 ~ b2@5 b2@5",
  R: "[bb2@8 e3@6 c3@8 a2@16 c3@5 d3@5]/2", S: "d3@5 ~@5 eb3@7 e3@7", T: "c3@8 b2@6 db3@5 db3@5",
  U: "a3@5 a3@3 a3@3 ab3@3 a2@5 a2@5", V: "d3@3 f3@2 ~@3 d3@2 f3@4 g3@5 f3@5", W: "c3@8 c3@6 gb2@5 eb2@5",
  X: "[a2@5 b2@5 db3@4 b2@3 e2@2 [a3,db4]@24 [gb3,b3]@19 ~@5 [g3,c4]@24 [eb3,db4]@24 [e3,g3]@24 [b2,ab3]@19 [gb3,a3]@14 ~ [g2,e3]@14 [c3,ab3]@2 ~@3]/8", // A B5 C5 Eb7 Em E Gbm C …
  Y: "[~@17 ab3@2 ~@3 ab3@7 ab3@3 g3@2 ~@2 d4@2 ~@5 f3@8 e3@7 f3@7 d3@7]/3", Z: "c3 ~@23",
  AA: "[~@8 [b2,g3]@6 [bb2,gb3]@8 [a2,f3]@7 [ab2,e3]@7 [g2,e3]@16 ~ [c3,ab3]@2 ~@7 [ab3,bb3]@2 ~@8]/3", // Em Ebm Dm Dbm C Fm Absus2
  AB: "[bb3,c4]@3 [ab3,bb3]@2 ~@3 [ab3,bb3]@2 ~@2 [ab3,bb3]@2 ~@3 [g3,c4]@5 eb3@2", // Bbsus2 Absus2 C5
  AC: "f3@3 g3@5 eb3@2 f3@2 eb3@5 f3@2 f3@3 g3@2", AD: "[f3@5 e3@5 ab3@19 ~@9 g3@5 gb3@5]/2", AE: "bb3@19 ~@5",
  AF: "~@3 f3@2 ~@7 f3@2 ~@8 bb3@2", AG: "~@8 ab3@2 ~@7 ab3@7", AH: "[a3@3 gb3@7 g3@19 ~@3 g3@2 ~@4 gb3@5 gb3@3 ~@2]/2",
  AI: "a3@3 ab3@2 a3@3 f3@12 ~@2 bb3@2", AJ: "[~@5 eb3@5 bb3@2 ~@2 c3@8 eb3@7 gb3@7 gb3@7 [d3,b3]@8 e3@7 c3@7 eb3@7]/3",
  AK: "[e3@2 ~@3 [b2,ab3]@33 db3@5 e3@5]/2", AL: "d4@7 ~@5", AM: "~@2 eb3@12 c3@5 db3@5",
  AN: "g3@5 b3@7 g3@2 gb3@3 ab3@2 g3@3 e3@2",
  AO: "[gb3@5 gb3@5 e3@4 g3@5 a2@4 b2@3 c3@4 e3@4 gb3@4 gb3@5 f3@8 eb3@7 e3@4 e3@5 a2@5]/3",
  AP: "~ b2@6 gb2@6 gb2@6 g2@5", AQ: "~ e2@6 b2@6 e2@6 ~@5", AR: "[a3,b3]@5 [ab3,bb3]@5 [g3,a3]@4 [c4,d4]@5 db4@5",
  AS: "c4@5 a2@5 b2@5 ~@7 e3@2", AT: "d3@3 ~@2 a3@3 g3@2 ~@2 c4@2 b3@3 c4@2 b3@5", AU: "g3@5 d3@5 b2@4 b2@5 bb2@5",
  AV: "a2@5 c3@5 g2@4 b2@5 e3@5", AW: "[eb3@5 e3@5 e3@2 a2@7 eb3@10 eb4@17 ~@2]/2", AX: "~@8 g3@4 g3@2 g3@3 a3@2 g3@5",
  AY: "~@3 bb2@5 a2@7 ~@2 gb3@7", AZ: "g3@5 g3@5 f3@4 f3@5 g2@3 g2@2", BA: "~@3 g2@2 a2@3 ~@2 g2@5 ~@2 g2@5 bb2@2",
  BB: "c3@5 c3@5 b2@7 gb3@7", BC: "[db3@8 bb2@6 eb3@8 a3@7 f3@7 g3@21 ~@13 b2@2]/3",
  BD: "~@5 b2@5 ab2@4 ab2@5 ~@3 b2@2", BE: "~@5 b2@5 gb3@4 e3@5 db3@5",
  BF: "[d3@8 bb2@4 bb2@2 eb3@3 eb3@2 gb2@8 b2@7 eb3@4 bb2@5 ~@3 eb3@2]/2",
  BG: "[~@5 eb3@5 ab3@4 g3@5 a2@8 bb2@7 db3@4 eb3@5 a2@8 bb2@7 db3@4 eb3@5 b2@5]/3",
  BH: "[b2@5 bb2@5 bb2@4 e3@14 ~ d3@5 e3@4 ab3@5 ab3@5]/2", BI: "g3@5 g3@5 ab2@14", BJ: "ab2@5 g2@3 c3@4 c3@7 bb2@5",
  BK: "[bb2@5 a2@10 eb3@2 db3@3 c3@3 b2@3 bb2@2 a2@3 [f2,bb2]@32 ~@9]/3", // Bb5
})).s("gm_baritone_sax").gain(0.25)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax_2 = note(`<
  A B C D E F G H@2 I J K@2 L@2 M@2 N O@2 P Q R@2 S T U V W X Y@7 Z AA AB@2 AC AD@2 AE AF AG AH AI AJ AK AL AM AN AO
  AP@3 AQ@2 AR AS AT AU ~@4 AV AW AX AY AZ BA@2 BB BC BD BE BF BG BH@5 BI@5 BJ@2 BK BL BM@3
>`.pickRestart({
  A: "d2@5 db2@5 c2@5 ~@9", B: "f2@8 c3@4 c3@2 ab2@5 c3@5", C: "bb2@8 bb2@4 bb2@2 f2@5 bb2@5",
  D: "eb2@10 g2@4 ab2@5 f2@5", E: "g2@5 bb2@3 a2@2 ab2@2 g2@7 gb2@5", F: "f2@8 f2@2 f2@2 c3@2 f3@3 c3@2 f2@3 c3@2",
  G: "c3@3 bb2@11 bb2@5 bb2@5", H: "[eb2@5 d2@3 db2@4 db2@2 c2@8 e2@16 ~@10]/2", I: "~@3 f2@7 g2@4 ab2@5 bb2@5",
  J: "c3@3 d3@5 e2@6 e2@5 b2@5", K: "[a2@5 d2@5 eb2@4 e2@5 e2@3 f2@5 f2@2 gb2@5 db3@4 b2@5 gb2@5]/2",
  L: "[e2@8 e2@2 ~@4 gb2@8 ab2@5 a2@11 a2@5 d2@5]/2", M: "[eb2@8 gb2@21 gb2@3 g2@2 ~@14]/2", N: "~@11 g3",
  O: "[g3@10 e3@7 bb2@5 a2@7 ~@3 d3@2 a2@4 ab2@5 d2@5]/2", P: "db2@5 db3@5 gb2@2 gb2@2 ~@3 gb2@2 gb2@3 ~@2",
  Q: "gb2@5 ~@19", R: "[eb2@4 a2@3 gb2@4 d2@8 ~@5]/2", S: "g2@5 ~@5 g2@7 bb2@7", T: "c3@5 bb2@5 a2@4 g2@5 gb2@5",
// … 27 more lines

More by Jacob collier