Strudelify

I've Got the World on a String

Frank Sinatra

KeyB♭ majorTempo126 bpm
0:00/0:00
// I've Got the World on a String — Frank Sinatra
// 126 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 82 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(`<
  ~@2 A@3 B C D E F G@2 H I J K L M N O P Q R S T ~ U V W@2 X Y Z@2 AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ
  AR AS AT AU AV T ~ AW AX AY@2 X AZ BA@2 BB AB AC BC BD BE BF BG BH BI BJ BK BL BM@3
>`.pickRestart({
  A: "[~@28 g1 ~ g2@4 g1 ~ f2@6 f2@3 ~@3 bb1@4 bb0@2 e2@6 eb2@4 eb2 ~ db2@6, ~@22 c2@8 ~@17 f2@2 ~@23]/3",
  B: "d2@5 ~ d2@6 g2@4 g2 ~ b1@6, ~@5 d1@2 ~@17", C: "c2@5 ~ c2@6 f2@3 ~@3 c2@4 ~ c1, ~@5 c1@2 ~@10 f2@2 ~@5",
  D: "c2@6 g2@6 f2@5 ~ f2@6, ~@17 f1@2 ~@5", E: "~@6 bb1@11 ~ g1 ~@5", F: "c2@4 gb1 ~@5 f1 ~@13",
  G: "[bb1@4 ~ bb0 ab2@4 ~ ab1 d2@6 g2@3 ~@3 c2@6 c2@6 f2@4 f1@2 f2@6, ~@23 g2@2 ~@23]/2",
  H: "bb1@2 bb1@2 eb2 ~ bb2@2, ~@17 eb2@2 ~@5", I: "d2 a2 db2 db3", J: "~@4 g1 ~ g2@4 g1 ~ f2@5 f1 c2@4 ~ c1, c2 ~@3",
  K: "c2@4 ~ c2 e2@6 f2@5 ~ f2@6", L: "bb1@5 ~ bb1@6 g2@5 ~ g2@6", M: "c2@4 g2 ~@5 f2 ~@13",
  N: "bb1@6 ab2@4 ~ ab1 g2@3 ~@3 d3@6, ~@17 g2@2 ~@5", O: "c2@4 c2 ~ d2@6 eb2@3 ~@3 bb2@6, ~@17 eb2@2 ~@5",
  P: "bb2@6 f2@6 e2@6 a1@4 ~ a0", Q: "d2@4 ~ d2 gb2@6 g2@6 b1@6", R: "c2@6 c2@6 f2@6 c2@4 ~ c1",
  S: "c2@4 c2 ~ e2@6 f2@5 c2 c3@4 c2 ~", T: "bb1@3 ~ bb1@2 f2@6 eb2@6 f2@4 bb1 ~", U: "a1@4 ~ a0 b1@6 c2@6 e2@4 a1@2",
  V: "a1@4 ~ a1 db2@6 d2@6 d2@6", W: "[d2@3 ~ d1 ~ e2@5 ~ f2@6 a2@4 ~@2 g2@6 d3@6 g3@6 d3@4 db2@2, ~@23 d2@2 ~@23]/2",
  X: "c2 c3 g2 e2", Y: "c2@5 ~ c2@6 d2@4 e1 ~ e2@4 f1 ~", Z: "[f2@4 ~ f1 f2@6 c2@5 ~ c2@4 f1@11 ~ f1 ~@13]/2",
  AA: "bb1@6 ab2@3 ~@3 g2@4 g1@2 g2@6, ~@11 ab2@2 ~@11", AB: "c2@4 c1@2 c2@6 eb2@6 ab2@4 ~ ab1",
  AC: "bb1@6 d2@5 ~ eb2@6 db2@6", AD: "d2@4 d1@2 d2@6 ~@4 ab1 ~ ab2@4 ab1 ~, ~@2 db2 ~",
  AE: "c2@5 ~ c2@6 c2@4 ~ c1 f2@3 ~@2 f2", AF: "f2 ~@2 d2@3 eb2@3 g2@3, ~@5 f2@3 ~@16", AG: "bb1 f2 b1!2",
  AH: "c2@6 e2@6 f2@5 ~ f2@6", AI: "bb1@2 ab2 ~ g2@2 b1@2, ~@11 ab2@2 ~@11", AJ: "c2@6 c3@2 g2@2 c2@2 f2@5 ~ f2@6",
  AK: "bb1 ~ f2@2 ab2@2 db2@2, ~@5 bb1@2 ~@17", AL: "d2!2 g2 db2", AM: "c2@4 c2 ~@5 f2@7 ~ c2@4 c2 ~",
  AN: "~@4 f2@7 ~ eb2@5 ~ eb2@6", AO: "d2@5 ~ d2@5 ~ g1@2 ~@4 g1@2 ~@4", AP: "~@5 f2@4 f1@3",
  AQ: "bb1@3 ~@3 ab2@6 g2@5 ~ g2@6, ~@5 bb1@2 ~@17", AR: "c2@5 g1 g2@4 ~ g1 eb2@4 eb1 ~ ab2@6",
  AS: "bb2@6 f2@6 e2@3 ~@3 a1@4 ~ a0, ~@17 e2@2 ~@5", AT: "d2 ab2 g2!2", AU: "c2@6 c3@2 g2@2 c2@2 f2@6 c2@4 ~ c1",
  AV: "c2@4 c2 ~ e2@6 f2@6 f1@5 ~", AW: "a1@4 a0 ~ b1@6 c2@6 e2@4 ~ a1", AX: "a1@4 a1 ~ db2@6 d2@6 d2@6",
  AY: "[d2@3 ~@2 d1 e2@5 ~ f2@6 a2@4 ~@2 g2@6 d3@6 g3@6 d3@4 db2@2, ~@23 d2@2 ~@23]/2",
  AZ: "c2@5 ~ c2@6 d2@4 e1 ~ e2@4 ~ f1", BA: "[f2@4 f1 ~ f2@6 c2@5 ~ c2@4 f1@11 ~ f1 ~@13]/2",
  BB: "bb1@6 ab2@3 ~@3 g2@5 ~ g2@6, ~@11 ab2@2 ~@4 g1@2 ~@5", BC: "d2@4 d1@2 d2@6 ~@4 ab1 ~ ab2@4 ~ ab1, ~@2 db2 ~",
  BD: "c3@6 g2@6 f2@6 c2@4 ~ c1", BE: "c2@4 ~ c2 e2@6 f2@3 ~ f2@2 c3@6",
  BF: "d3@2 ~@4 a2@6 g2@4 ~ g1 d2@4 ~ d1, ~@5 d3@2 ~@17", BG: "d2 g1 a1 b1", BH: "c2 g2 eb2 c2", BI: "f2!2 f1!2",
  BJ: "bb1 bb2 f2 bb1", BK: "eb2 bb1 eb2!2", BL: "~@2 bb1 ~@2 db2 ~@2 gb2 ~@2 c3", BM: "[f2 ~@17 bb1@52 ~@2]/3",
})).s("gm_acoustic_bass").gain(0.29).pan(0.3)

// chords · piano
const piano = note(`<
  ~@2 A@2 B C D@2 E F ~ G H I J K L M N O P Q R S T ~ U V W X Y Z AA@2 AB ~ AC AD@2 AE AF AG AH AI AJ AK AL AM@2 AN AO@2
  ~ AP@2 AQ T ~ AR V W AS AT Z AA@2 AU AV AC AW AX AY AZ BA AE BB ~@3 BC@3
>`.pickRestart({
  A: "[~@22 [eb3,bb3,d4,g4]@11 ~@15]/2", B: "[a3,d4,f4,c5]@12 ~@4 [g3,d4,f4,bb4] ~@7",
  C: "~@4 [f3,c4,d4,a4] ~@5 [f3,b3,eb4,ab4]@3 ~@9 [eb3,g3,bb3,c4]@2", // Dm7 Fm7b5 Cm7
  D: "[~@22 [eb3,g3,bb3,d4]@13 ~@5 [eb3,a3,c4,g4] ~@7]/2", E: "~@6 [bb2,a3,c4,d4,f4]@11 ~ [g2,f3,ab3,b3,d4] ~@5",
  F: "[c3,g3,bb3,c4,eb4]@3 ~ [gb2,gb3,bb3,db4,e4] ~@5 [f2,f3,a3,c4,eb4] ~@13", // Cm7 Gb7 F7
  G: "~@4 [bb3,eb4,g4,c5] ~@5 [a3,eb4,gb4,db5]@11 ~ [d4,f4,bb4]@2", H: "~@10 [g3,db4,f4,c5]@3 ~@11",
  I: "[f3,c4,e4,a4]@3 ~ db6@2, ~ [e3,bb3,db4,ab4]", J: "~@4 [eb3,bb3,d4,g4] ~@7 f6@6 ~@6",
  K: "[g3,bb3]@2 ~@14 [eb3,g3,a3,d4] ~@7, [eb3,d4] ~@23", // Gm Ebmaj7
  L: "[d4,f4,bb4]@3 ~ [d4,f4,bb4] ~@7 [f3,g3,bb3,d4]@3 ~ [f3,g3,bb3,d4] ~@7", // Bb Gm7
  M: "[c3,c4]@3 ~ [e3,ab3,bb3,db4] ~@5 [eb3,g3,a3,d4] ~@13", N: "eb6@6 ~@4 [b3,f4,ab4,eb5]@11 ~ [bb3,eb4,g4,d5]@2",
  O: "~@10 [gb3,bb3,c4,eb4]@3 ~@11", P: "[a3,d4,f4,c5] ~ [a3,d4,f4,c5] ~@6 d6@3",
  Q: "~@4 [f3,c4,d4,a4] ~@5 [f3,ab3,b3,d4]@13 ~", R: "[eb3,bb3,d4,g4] ~",
  S: "~@4 [eb3,bb3,d4,g4] ~@7 [eb3,g3,a3,d4]@12", // Ebmaj7
  T: "~@4 [g3,c4,d4,f4] ~@5 [d3,f3,g3,bb3]@2 [eb3,g3,bb3,db4]@3 ~@3 [f2,eb3,gb3,a3,db4]@3 ~ [bb1,bb2,f3,g3,d4] ~", // Gsus4 Gm7 Eb7 Ebm7b5 Gm7
  U: "[g3,c4,e4,b4] ~@9 [g3,c4,e4,b4] ~@11 [g3,c4,e4,a4]@2", V: "~@10 [gb3,bb3,c4,e4]@3 ~@11",
  W: "~@4 [f3,a3,c4,d4]@2 ~@10 [f3,a3,c4,d4] ~@7", X: "[f3,ab3,b3,eb4]@14 ~@3 ab3@3 ~@4, ~@16 [f3,b3,eb4]@3 ~@5",
  Y: "[e3,a3,bb3,d4]@14 ~@2 [e3,a3,bb3,d4]@3 ~@5", Z: "~@4 [e3,ab3,bb3,c4]@2 ~@10 [e3,ab3,bb3,c4] ~@7",
  AA: "[[eb3,g3,bb3,c4]@17 ~ [c3,g3,bb3,d4,f4]@3 ~ [f2,a3,db4,eb4,g4]@11 ~ [f2,a3,db4,eb4,g4] ~@13]/2", // Cm7 Gm7 Faug
  AB: "~@6 [b3,d4] ~@4 [eb3,g3,bb3,c4], ~@12 [f3,a3] ~@11", AC: "~@11 [f3,c4,e4,a4]",
  AD: "[~@10 [e3,ab3,b3,db4]@11 ~ [eb3,bb3,c4,g4]@13 ~ f6@6 ~@6]/2", // Dbm7 Cm7
  AE: "~@4 [eb3,bb3,d4,g4]@2 ~@10 [eb3,bb3,d4,g4] ~@7", AF: "[d4,f4,bb4]@10 [ab3,b3,d4,f4]@3 ~@11",
  AG: "~@4 [bb3,eb4,g4,c5] ~@7 [a3,b3,d4,eb4,g4]@2 ~@2 [a3,b3,d4,eb4,g4]@2 ~@6", AH: "~@6 ab6@4 [b3,d4,f4,ab4]@13 ~",
  AI: "[bb3,eb4,g4,c5] ~ [bb3,eb4,g4,c5] ~@3 [a3,db4,eb4,gb4] ~ [a3,db4,eb4,gb4] ~@3", // Cm7 Ebm7b5
  AJ: "[a3,d4,f4,c5]@2 ~@2 [a3,d4,f4,c5]@2 ~@10 [gb3,bb3,c4,eb4] ~@7", AK: "[f3,c4,d4,a4]@5 [f3,b3,e4,ab4] ~@6",
  AL: "[c2,c3,g3,bb3,eb4]@3 ~ [c2,c3,g3,bb3,eb4] ~@5 [f2,eb3,g3,a3,d4]@7 ~ [c2,c3,g3,bb3,eb4]@3 ~ [c2,c3,g3,bb3,eb4] ~", // Cm7 Dm Cm7
  AM: "[~@4 [f2,eb3,a3,d4]@6 ~@6 [g3,c4,db4,f4] ~@5 [gb3,c4,e4,bb4]@12 ~@2 [g2,f3,b3,e4] ~@5 [g2,f3,b3,e4] ~@5]/2", // Dm Csus4 Gb7 Em
  AN: "~@10 [f2,f3,a3,eb4,g4]@13 ~", // F7
  AO: "[~@12 [b3,f4,ab4,eb5]@2 ~@2 [b3,f4,ab4,eb5]@2 ~@4 [bb3,eb4,g4,c5]@13 ~@11 [a3,d4,f4,c5]@2]/2", // Fm7b5 Cm7 Dm7
  AP: "[[f3,c4,e4,a4] ~@9 [f3,b3,eb4,ab4]@11 ~ [eb3,bb3,c4,g4]@13 ~@13]/2", AQ: "[eb3,g3,bb3,c4]@5 [eb3,a3,c4,f4] ~@6",
  AR: "[g3,c4,b4] ~@9 [g3,c4,e4,b4] ~@11 [g3,c4,e4,a4]@2, e4 ~@11", AS: "[f3,ab3,b3,eb4]@14 ~@2 [f3,ab3,b3,eb4]@3 ~@5",
  AT: "[e3,a3,bb3,d4]@14 ~@3 e3@3 ~@4, ~@16 [a3,bb3,d4]@3 ~@5", // Dsus2 Bbmaj7
  AU: "~@6 ab6@6 [f3,b3,d4] ~@9 [eb3,g3,bb3,c4]@2, ~@6 a3 ~@5", AV: "~@3 ab6", AW: "~@10 [e3,ab3,b3,db4]@11 ~@3",
  AX: "[bb3,c4,eb4,g4]@6 ~@5 [bb3,c4,eb4,g4]", AY: "~@10 [a3,eb4,g4,d5]@13 ~", AZ: "~@4 [f3,a3,c4,e4] ~@19",
  BA: "[f3,g3,b3,e4]@14 ~@3 [f3,b3]@3 ~@4, ~@16 [g3,e4]@3 ~@5", BB: "[g3,d4,f4,c5] ~",
  BC: "[~@2 [f4,f5] [bb4,bb5]@2 [f5,f6] ~@3 [bb1,bb2,ab3,d4,g4]@26 ~]/3", // F Bb F Gm
})).s("gm_piano").gain(0.22).pan(0.3)

// other · alto sax · "Alto Sax 1"
const alto_sax = note(`<
  ~ A B@4 C D E F ~@3 G H ~ I F ~@3 J K L M ~ N@2 O@2 P@2 Q@2 R@2 S J T@2 U V W@3 X C Y@2 Z@3 AA AB C L M ~ N@2 O@2 P@2
  Q@2 R@2 S J H ~ C AC AD@2 AE AF AG AH@3
>`.pickRestart({
  A: "~@8 f3 bb3@2 d4",
  B: "[g4@4 f4@2 ab4@4 g4@11 ~ g4@6 a4 ab4 g4 ~@5 gb4@4 gb4 ~@5 f4@6 f4@2 d4@4 f4@2 g4@4 bb4 ~@5 a4@12 ab4@12 ~@2]/4",
  C: "g4@4 g4 ~@5 f4@7 ~ g4@4 g4 ~", D: "~@2 f4@9 ~", E: "~@6 a4@10 bb4 a4 f4 ~@5", F: "g4@4 ab4 ~@5 g4 ~@13",
  G: "~@4 a4@8 ab4@11 ~", H: "g4 ~@9 f4 ~@13", I: "~@10 d4@13 ~", J: "~@4 a4@7 ~@5 ab4@7 ~",
  K: "g4 ~@9 f4 ~@7 g4@4 g4 ~", L: "~@4 f4@19 ~", M: "~@4 f4 ~@5 d4@2 f4@4 gb4 f4 db4@4 c4 ~",
  N: "[~@4 b4@2 g4@4 a4@2 b4@4 g4@2 a4@4 b4@14 bb4@11 ~]/2", O: "[~@4 a4@2 f4@4 g4@2 a4@4 g4@2 f4@4 e4@13 ~@13]/2",
  P: "[~@6 a4 ~@4 ab4@11 ~@2]/2", Q: "[~@4 d4@2 bb3@4 c4@2 d4@4 eb4@2 f4@4 g4@11 ~ g4@2 ~@12]/2",
  R: "[~@8 ab4 ~@2 g4@7 gb4@6]/2", S: "f4@23 ~", T: "[~@18 g4@29 ~]/2", U: "~@4 g4@7 ~@5 g4@7 ~",
  V: "~@6 bb4@4 g4@13 ~", W: "[~@16 f4!3 ~@3 g4@13 ~@5 gb4@2 gb4@4 a4@6 ~@8 f4@11 ~]/3", X: "~@4 d4@2 f4@4 ab4@13 ~",
  Y: "[~@4 f4@7 ~ g4@4 bb4@2 c5@4 d5@13 ~@13]/2",
  Z: "[~@15 a3@2 ~ c4@2 ~ eb4@2 ~ g4@4 f4@2 ab4@4 g4@11 ~ g4@14 gb4@8 ~@2 f4 ~, ~@17 bb3@2 ~ d4@2 ~ f4@2 ~@47]/3",
  AA: "~@2 d4 db4", AB: "c4@12 b3@11 ~", AC: "~@2 e4@9 ~", AD: "[g4@21 ~ g4@24 ~@2]/2", AE: "~@6 bb4@10 b4 bb4 g4 ~@5",
  AF: "bb4@9 ~ bb4@13 ~", AG: "~@2 bb4 ~@2 ab4 ~@2 f4 ~@2 e4", AH: "[eb4 ~@17 bb4@52 ~@2]/3",
})).s("gm_alto_sax").gain(0.33).pan(0.6)

// other · alto sax · "Alto Sax 2"
const alto_sax_2 = note(`<
  ~@2 A@4 ~@2 B C ~@3 D E ~ F C ~@3 G E ~ H ~ I@2 J@2 K@2 L@2 M@2 N O P@2 ~@2 Q@3 R S T ~@2 U@2 ~@4 H ~ I@2 J@2 K@2 L@2
  M@2 N O V ~ W X Y@2 B Z AA AB@3
>`.pickRestart({
  A: "[~@22 eb4@6 f4 e4 eb4 ~@5 eb4@4 eb4 ~@5 d4@6 d4@2 bb3@4 d4@2 f4@4 g4 ~@5 f4@12 f4@12 ~@2]/4",
  B: "~@6 f4@10 gb4 f4 d4 ~@5", C: "eb4@4 e4 ~@5 eb4 ~@13", D: "~@4 f4@8 e4@11 ~", E: "eb4 ~@9 eb4 ~@13",
  F: "~@10 bb3@13 ~", G: "~@4 f4@7 ~@5 f4@7 ~", H: "~@4 d4 ~@5 bb3@2 db4@4 d4 db4 a3@4 g3 ~",
  I: "[~@4 e4@2 c4@4 d4@2 e4@4 c4@2 d4@4 e4@25 ~]/2", J: "[~@4 e4@2 c4@4 d4@2 e4@4 d4@2 c4@4 b3@13 ~@13]/2",
  K: "[~@6 e4 ~@4 e4@11 ~@2]/2", L: "[~@4 bb3@2 g3@4 a3@2 bb3@4 c4@2 d4@4 eb4@11 ~ eb4@2 ~@12]/2",
  M: "[~@8 f4 ~@2 eb4@7 c4@6]/2", N: "d4@23 ~", O: "~@4 f4@7 ~@5 e4@7 ~", P: "[~@18 eb4@29 ~]/2",
  Q: "[~@16 d4!3 ~@3 eb4@13 ~@5 eb4@2 eb4@4 d4@6 ~@8 db4@11 ~]/3", R: "~@10 e4@13 ~",
  S: "eb4@4 eb4 ~@5 d4@7 ~ eb4@4 eb4 ~", T: "~@4 d4@7 ~@13", U: "[~@22 eb4@14 c4@8 ~@2 d4 ~]/2",
  V: "eb4@2 ~@8 eb4 ~@13", W: "e4@4 e4@2 ~@4 d4@7 ~ e4@4 e4 ~", X: "~@2 b3@9 ~", Y: "[eb4@21 ~ eb4@24 ~@2]/2",
  Z: "f4@9 ~ f4@13 ~", AA: "~@2 g4 ~@2 f4 ~@2 db4 ~@2 db4", AB: "[c4 ~@17 e4@52 ~@2]/3",
})).s("gm_alto_sax").gain(0.33).pan(0.7)

// other · tenor sax · "Tenor Sax 1"
const tenor_sax = note(`<
  ~ A B@4 C D E F G H I J K ~ L F ~@3 M N O P ~ Q@2 R@2 S@2 T@2 U@2 V M W@2 X Y Z@3 AA AB AC@2 AD@3 AE AF C AG P ~ Q@2
  R@2 S@2 T@2 U@2 V M K ~ AH D AI@2 AJ AK AL AM@3
>`.pickRestart({
  A: "~@8 f3 bb3@2 d4",
  B: "[g4@4 f4@2 ab4@4 g4@11 ~ bb3@6 c4 b3 bb3 ~@5 d4@4 db4@2 ~@4 c4@6 bb3@2 a3@4 bb3@2 d4@4 f4 ~@5 c4@12 b3@12 ~@2]/4",
  C: "g3@4 g3 ~@5 f3@7 ~ g3@4 g3 ~", D: "~@2 f3@9 ~", E: "~@6 d4@10 eb4 d4 b3 ~@5", F: "bb3@4 bb3 ~@5 a3 ~@13",
  G: "~@2 c4 b3", H: "bb3 a3", I: "f3@12 g3@11 ~", J: "~@4 c4@8 bb3@11 ~", K: "bb3 ~@9 a3 ~@13", L: "~@10 f3@13 ~",
  M: "~@4 c4@7 ~@5 b3@7 ~", N: "bb3@2 ~@8 a3 ~@7 g4@4 g4 ~", O: "~@4 f4@19 ~",
  P: "~@4 c4 ~@5 f3@2 g3@4 ab3 g3 eb3@4 d3 ~", Q: "[~@4 c4@2 a3@4 b3@2 c4@4 a3@2 b3@4 c4@25 ~]/2",
  R: "[~@4 c4@2 a3@4 b3@2 c4@4 b3@2 a3@4 f3@13 ~@13]/2", S: "[~@6 bb3 ~@4 bb3@11 ~@2]/2",
  T: "[~@4 g3@2 eb3@4 f3@2 g3@4 a3@2 bb3@4 a3@11 ~ ab3@2 ~@12]/2", U: "[~@8 b3 ~@2 bb3@7 bb3@6]/2", V: "a3@12 g3@11 ~",
  W: "[~@18 bb3@29 ~]/2", X: "~@4 d4@7 ~@5 d4@7 ~", Y: "~@6 eb4@4 eb4@13 ~",
  Z: "[~@16 b3!3 ~@3 bb3@13 ~@5 a3@2 a3@4 a3@6 ~@8 g3@11 ~]/3", AA: "~@4 d3@2 f3@4 f3@13 ~",
  AB: "bb3@4 bb3 ~@5 a3@7 ~ bb3@4 bb3 ~", AC: "[~@4 a3@7 ~ g3@4 bb3@2 c4@4 d4@13 ~@13]/2",
  AD: "[~@15 a3@2 ~ c4@2 ~ eb4@2 ~ g4@4 f4@2 ab4@4 g4@11 ~ bb3@22 ~@2 a3 ~, ~@17 bb3@2 ~ d4@2 ~ f4@2 ~@47]/3",
  AE: "~@2 d4 db4", AF: "c4@12 b3@11 ~", AG: "~@4 f3@19 ~", AH: "f3@4 f3 ~@5 f3@7 ~ f3@4 f3 ~",
  AI: "[bb3@21 ~ bb3@24 ~@2]/2", AJ: "~@6 d4@10 eb4 d4 c4 ~@5", AK: "db4@9 ~ db4@13 ~",
  AL: "~@2 d4 ~@2 eb4 ~@2 bb3 ~@2 bb3", AM: "[bb3 ~@17 c4@52 ~@2]/3",
})).s("gm_tenor_sax").gain(0.33).pan(0.4)

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

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  ~ A B@4 C D E F G H I J K ~ L M ~@3 N K ~ O ~ P@2 Q@2 R@2 S@2 T@2 U V W@2 X Y Z@3 AA AB AC@2 AD@3 AE@2 C AF O ~ P@2
  Q@2 R@2 S@2 T@2 U V K ~ AG AH AI@2 AJ AK AL AM@3
>`.pickRestart({
  A: "~@8 f2 bb2@2 d3",
  B: "[g3@4 f3@2 ab3@4 g3@11 ~ c3@6 d3 db3 c3 ~@5 f2@4 f2 ~@5 bb2@13 ~ eb2@4 eb2 ~@5 d2@12 g2@12 ~@2]/4",
  C: "g3@4 g3 ~@5 f3@7 ~ g3@4 g3 ~", D: "~@2 f3@9 ~", E: "~@6 bb2@10 b2 bb2 g2 ~@5", F: "c3@4 gb2 ~@5 f2 ~@13",
  G: "~@2 c4 b3", H: "bb3 a3", I: "f3@12 g3@11 ~", J: "~@4 d3@8 db3@11 ~", K: "c3 ~@9 f2 ~@13", L: "~@10 g2@13 ~",
  M: "c3@4 gb2 ~@5 f2@2 ~@12", N: "~@4 d3@7 ~@5 g2@7 ~", O: "~@4 bb2 ~@5 gb2@2 eb2@6 f2@4 bb2 ~",
  P: "[~@4 g3@2 e3@4 gb3@2 g3@4 e3@2 gb3@4 g3@14 gb3@11 ~]/2", Q: "[~@4 f3@2 db3@4 e3@2 f3@4 e3@2 db3@4 g2@13 ~@13]/2",
  R: "[~@6 c3 ~@4 c3@11 ~@2]/2", S: "[~@4 d3@2 bb2@4 c3@2 d3@4 eb3@2 c3@4 f2@11 ~ f2@2 ~@12]/2",
  T: "[~@8 g2 ~@2 c3@7 eb3@6]/2", U: "bb2@12 eb2@11 ~", V: "~@4 d2@7 ~@5 db2@7 ~", W: "[~@18 d2@29 ~]/2",
  X: "bb2@9 ~ bb2@2 b2@9 ~ b2@2", Y: "c3@10 f2@13 ~", Z: "[~@16 g2!3 ~@3 c3@13 ~@5 c3@2 f2@4 bb2@6 ~@8 eb2@11 ~]/3",
  AA: "~@4 d3@2 f3@4 g2@13 ~", AB: "c3@4 c3 ~@5 f2@7 ~ c3@4 c3 ~", AC: "[~@4 f2@7 ~ g3@4 bb3@2 c4@4 d4@13 ~@13]/2",
  AD: "[~@15 a2@2 ~ c3@2 ~ eb3@2 ~ g3@4 f3@2 ab3@4 g3@11 ~ c3@14 eb3@8 ~@2 bb2 ~, ~@17 bb2@2 ~ d3@2 ~ f3@2 ~@47]/3",
  AE: "[~@12 gb2@4 a2 ~@5 d2@11 ~ g2@12 ~@2]/2", AF: "~@4 f3@19 ~", AG: "d3@4 d3 ~@5 g2@7 ~ d3@4 d3 ~",
  AH: "~@2 g2@9 ~", AI: "[c3@21 ~ f2@24 ~@2]/2", AJ: "~@6 bb2@10 c3 b2 bb2 ~@5", AK: "eb2@9 ~ eb2@13 ~",
  AL: "~@2 bb2 ~@2 db3 ~@2 gb2 ~@2 c3", AM: "[f2 ~@17 bb2@52 ~@2]/3",
})).s("gm_baritone_sax").gain(0.33).pan(0.8)

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

// other · trumpet · "Trumpet 2"
const trumpet_2 = note(`<
// … 208 more lines

More by Frank Sinatra