Strudelify

It's Only a Paper Moon

Frank Sinatra

KeyE♭ majorTempo135 bpm
0:00/0:00
// It's Only a Paper Moon — Frank Sinatra
// 135 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 83 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(135/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.

// other · vibraphone
const vibraphone = note(`<
  ~@10 A@3 B C@2 D@2 E F@2 G H@2 I@4 J@4 K L M@2 N@2 O@2 P@2 ~@8 Q R@3 S@2 T@4 U@4 K V W@2 X@2 Y@2 Z@2 AA@3 AB ~@5
>`.pickRestart({
  A: "[~@7 bb3@3 ~ bb3@2 bb4@3 ~ bb4@2 ~@4 bb4@2 ab4@3 ~@2 g4@4 ~ f4@19 bb3@3 ~ bb3@2 ~ ab4@3 ~ ab4@2 ~@3 ab4@2]/3",
  B: "~ g4@3 ~@2 f4@4 ~ eb4@13", C: "[~@7 bb3@3 ~ bb3@2 bb4@3 ~ bb4@2 b4@3 ~ c5@7 ~ ab4@3 f4@10 ~@2 eb4@2]/2",
  D: "[~ d4@5 ~ c5@4 bb4@7 d4@4 ~ eb4@20 ~@5]/2", E: "~@6 bb3@3 ~ bb3@2 bb4@3 ~@2 bb4@2 ~@3 bb4@2",
  F: "[ab4@3 ~@3 g4@4 f4@20 bb3@3 ~@2 bb3@2 ab4@4 ab4@3 ~@2 ab4@2]/2", G: "~ g4@3 ~@2 f4@4 eb4@14",
  H: "[~@7 bb3@3 ~ bb3@2 bb4@2 ~@2 bb4@2 b4@3 c5@7 ~ ab4@4 f4@10 ~@2 eb4@2]/2",
  I: "[d4@4 ~@3 c5@3 bb4@7 ~ d4@4 eb4@12 ~@8 eb4@4 f4@13 ~ gb4@10 g4@13 ~@5 ab4@3 ~@3 c5@2]/4",
  J: "[bb4@4 ~@2 bb4@5 ~ g4@3 ~@3 g4@4 eb4@12 ~@8 eb4@3 ~ f4@14 gb4@10 ~ g4@12 ~@5 gb4@3 ~@3 gb4@2]/4",
  K: "g4@4 ab4@2 a4@4 bb4@7 ~ gb4@3 ~ g4@2", L: "c5@3 ~ d5@2 c5@4 f4@12 ~@2",
  M: "[~@4 bb4@3 ~@3 g4@2 ~ bb4@3 c5@2 bb4@4 ~ ab4@7 g4@4 ~ f4@13]/2",
  N: "[~@4 ab4@3 ~@3 f4@2 ab4@4 bb4@2 ab4@4 g4@7 ~@2 f4@4 eb4@12 ~]/2",
  O: "[~@5 bb4@3 ~@2 g4@2 ~ bb4@3 ~ bb4@2 b4@4 c5@7 ab4@4 f4@10 ~@2 eb4@2]/2",
  P: "[d4@5 ~@2 c5@3 ~ bb4@7 g4@4 eb4@20 ~@6]/2", Q: "~@4 bb4@3 ~@2 c5@3 ~ eb5@4 c5@4 bb4 ~@2",
  R: "[~ ab4@4 ~ bb4@5 f4@17 ~ f4@4 ~ g4@3 bb4@4 ~ g4@2 ~@3 f4@2 g4@4 ~ g4@4 ~ eb4@13]/3",
  S: "[~@5 bb4@5 g4@2 bb4@3 ~ bb4@2 ~ b4@4 c5@7 ab4@4 ~ f4@10 ~ eb4@2]/2",
  T: "[d4@6 ~ c5@3 ~ bb4@7 g4@4 eb4@13 ~@7 eb4@4 f4@14 gb4@10 g4@12 ~@6 ab4@2 ~@4 c5@2]/4",
  U: "[bb4@4 ~@2 bb4@4 ~@2 g4@4 ~@3 g4@4 eb4@13 ~@6 eb4@4 f4@14 gb4@10 g4@14 ~@4 gb4@4 ~@2 gb4@2, ~@46 e4 ~@49]/4",
  V: "c5@3 ~ d5@2 c5@4 f4@13 ~", W: "[~@4 bb4@2 ~@4 g4@2 ~ bb4@3 c5@2 bb4@3 ~ ab4@7 ~ g4@4 f4@14]/2",
  X: "[~@4 ab4@4 ~@2 f4@2 ab4@3 ~ bb4@2 ab4@4 g4@7 ~ f4@4 ~ eb4@11 ~@2]/2",
  Y: "[~@4 bb4@5 ~ g4@2 bb4@3 ~ bb4@2 b4@3 ~ c5@7 ~ ab4@3 ~ f4@12 ~@2]/2",
  Z: "[~@4 bb4@2 bb4@3 ~ g4@2 ~ bb4@3 ~ bb4@2 b4@3 ~ c5@6 ~ ab4@3 ~ f4@11 ~@3]/2",
  AA: "[~@5 bb4@5 ~ g4@2 bb4@2 ~@2 bb4@2 b4@3 c5@7 ~ ab4@4 f4@7 ~@2 eb4@3 ~ d4@18 ~@2 c5@4 ~]/3",
  AB: "bb4@12 ~@6 c5@3 ~ eb5@2",
})).s("gm_vibraphone").gain(0.35).pan(0.3)

// bass · acoustic bass
const bass = note(`<
  ~ A B C D E F G H I J K L M G N O P J Q R S T U V W X Y Z AA AB AC AD AE AF AG AH S AI AJ AK AL J AM AN AO AP AQ AR
  AS@5 G U AT W X Y Z AA AB AC AD AE AF AG AH S AU AV AU AW AX N AY AZ ~ BA@3 ~
>`.pickRestart({
  A: "~@9 eb2 ~@2", B: "b1@6 b1@5 ~ bb1@6 d2@6", C: "eb3 g2 ab2 bb2", D: "~@6 bb1@5 ~@7 e2@5 ~, ab2@2 ~ a1@2 ~",
  E: "bb1 bb2!2 bb1", F: "b1@6 b1@5 ~@7 e2@5 ~, ~@3 bb1@2 ~", G: "eb2@3 ~ eb2@2 bb2@6 g2@6 eb2@5 ~",
  H: "b1@6 c2@6 f2@4 ~@2 f1@4 bb1 ~", I: "~@2 bb1 ~@2 f2 bb2@3 bb1@3", J: "~@6 f2@5 ~ e2@6 e2@6, eb2 ~@2",
  K: "f2@2 ~@2 f2@2 c3@4 ~@8 gb2@5 ~, ~@3 bb1@2 ~", L: "f2 a1 bb1 d2", M: "~@6 e2@5 ~ eb2@6 bb1@6, eb2 ~@2",
  N: "ab2 ab1 a1!2", O: "bb1 c2 db2 d2", P: "eb2@5 ~ bb1@3 ~ c2 ~@5 f2 ~@5 e2@2", Q: "f2 a1 bb1 e2",
  R: "f2@6 a1@6 ~@6 e2@5 ~, ~@3 bb1@2 ~", S: "eb2 ~ eb2 bb2@2 ~ eb2@3 bb1@3", T: "eb2 d2 eb2!2",
  U: "ab2@5 ~ ab2@6 ~@6 b1@5 ~, ~@3 a1@2 ~", V: "~@6 b1@5 ~@7 e2@5 ~, bb1@2 ~ bb1@2 ~",
  W: "~@6 bb1@5 ~ a1@5 ~ a1@6, eb2 ~@2", X: "ab2@2 ~@2 ab2@2 eb3@4 ~@8 e2@5 ~, ~@3 a1@2 ~",
  Y: "eb2@6 b1@6 ~@6 gb2@5 ~, ~@3 c2@2 ~", Z: "f2@2 ~@2 f2@2 c3@4 ~@2 bb1@5 ~ bb1@6", AA: "eb2@5 ~ eb2@6 a1@5 ~ a1@6",
  AB: "ab2 ~ ab2 eb3@2 ~ a1@3 d2@3", AC: "bb1 d2 eb2 d2", AD: "db2 ~ db2 ab2@2 ~ c2@3 e2@3",
  AE: "f2 ~ f2 c3@2 ~ bb1@3 bb2 f2 bb1", AF: "~@6 f2@5 ~@7 gb2@5 ~, eb2@2 ~ e2@2 ~",
  AG: "~@6 b1@5 ~@7 gb2@5 ~, f2@2 ~ bb1@2 ~", AH: "~@6 b1@5 ~ bb1@6 d2@6, f2 ~@2", AI: "eb2@5 ~ eb2@6 bb2@5 ~ bb2@6",
  AJ: "ab2@6 ab1@6 ~@6 b1@5 ~, ~@3 a1@2 ~", AK: "~@6 b1@5 ~ bb1@6 d2@6, bb1 ~@2", AL: "~@6 c2@5 ~ b1@6 bb1@6, eb2 ~@2",
  AM: "f2 ~ f2 c3@2 ~ bb1@3 e2@3", AN: "~@6 b1@5 ~ bb1@6 bb1@6, f2 ~@2", AO: "eb2@5 ~ eb2@6 eb2@6 bb1@6",
  AP: "eb2@6 d2@6 ~@6 a2@5 ~, ~@3 g2@2 ~", AQ: "ab2@2 ~@2 ab2@2 eb3@4 ~@8 b1@5 ~, ~@3 a1@2 ~", AR: "bb1 f2 bb1 d2",
  AS: "[eb2@6 d2@6 c2@5 ~ bb1@4 eb2@43 ~ c2@40 ~@6 bb1@2 bb2@5 ~]/5", AT: "bb1 a1 bb1 d2", AU: "eb2 eb3 bb2 eb2",
  AV: "ab2 ~ ab2 eb3@2 ~ a1@3 bb1@3", AW: "~@6 bb1@5 ~ a1@6 bb1@6, ab2 ~@2", AX: "eb2 f2 g2 bb2",
  AY: "bb1@6 f2@4 ~@2 bb2 ~@11", AZ: "~@4 f2@2 bb1@3 ~ bb2 ~@13", BA: "[~@8 a2 bb2@2 eb2@25]/3",
})).s("gm_acoustic_bass").gain(0.25).pan(0.3)

// chords · piano
const piano = note(`<
  ~@2 A B C D E F G H@2 I@2 J K L M N O P@2 Q R C S T U@2 V W@2 X Y Z AA AB AC Q K AD AE AF AG AH AI AJ AK AL AM AN@5 AO
  AP AQ T U@2 V W@2 AR Y Z AA AB AC AS@7 AT AU AV AW@4
>`.pickRestart({
  A: "[a3,db4,eb4,gb4] ~ [a3,db4,eb4,gb4] ~@9", B: "[g3,db4,f4,bb4] ~@9 [g3,db4,f4,bb4] ~@11 [gb3,bb3,c4,f4]@2",
  C: "~@10 [gb3,a3,c4,eb4]@3 ~@11", D: "~@4 [g3,c4,db4,f4]@2 ~@10 [g3,c4,db4,f4] ~@5 [a3,eb4,ab4,db5]@2",
  E: "~@10 [ab3,bb3,d4,f4]@13 ~", F: "~@4 [g3,bb3,db4,f4]@2 ~@10 [g3,bb3,db4,f4] ~@7",
  G: "[a3,eb4,ab4,db5,ab5]@4 [bb3,e4,g4,d5,g5]@7 ~ [c4,eb4,f4,ab4,eb5]@2 ~@4 [ab3,eb4,f4,ab4,c5]@3 ~ [a3,eb4,gb4,b4,eb5] ~", // Amaj7 Em7b5 Fm7 B7
  H: "[~@4 [ab3,d4,g4,c5,f5]@2 ~@4 [bb2,ab3,d4,gb4]@7 ~ g4@3 ~ [eb3,g3,d4,f4,bb4]@13 ~ [g3,bb3,db4,e4]@12]/2", // Dm7b5 Bbaug Ebmaj7 Gdim
  I: "[~@12 [ab3,d4,g4,c5]@10 [ab3,eb4,f4,c5]@11 ~ [ab3,d4,g4,c5]@3 ~@11]/2", J: "~@4 [g3,c4,db4,f4] ~@13 eb6@6",
  K: "[g3,bb3,db4,eb4] ~@9 [g3,bb3,db4,eb4] ~@13", L: "~@4 [gb3,bb3,c4,f4] ~@5 [gb3,c4,eb4,a4]@13 ~",
  M: "[ab3,c4,d4,f4]@14 ~@2 [ab3,c4,d4,f4]@3 ~@5", // Dm7b5
  N: "[g3,c4,eb4,bb4]@2 ~@2 [g3,c4,eb4,bb4]@2 ~@4 [c3,bb3,eb4,g4] ~@5 [f3,ab3,eb4,g4,c5] ~@5 [e3,ab3,d4,gb4,db5]@2", // Cm7 Fm7 Dbm
  O: "[g3,bb3,d4,f4]@10 [g3,db4,e4,bb4]@13 ~", // Gm7 Gdim
  P: "[[ab3,eb4,f4,c5] ~@9 [ab3,c4,d4,g4]@11 ~ [ab3,eb4,g4,c5]@11 ~ [ab3,d4,gb4,bb4]@3 ~@11]/2", // Fm7 Abmaj7 Daug
  Q: "~@4 [g3,d4,f4,bb4] ~@19", R: "[g3,db4,eb4,bb4] ~@17 eb6@4 [gb3,c4,eb4,bb4]@2",
  S: "~@6 [ab3,c4,d4,g4] ~ [ab3,c4,d4,g4] ~@3", T: "[g3,c4,eb4,bb4] [g3,b3,db4,gb4]",
  U: "[~@10 [gb3,c4,eb4,a4]@3 ~@9 [g3,c4,eb4,bb4]@13 ~@5 [bb3,db4,e4,ab4] ~@5 [ab3,eb4,g4,c5]@2]/2", // Gbdim Cm7 Bbm7b5 Abmaj7
  V: "~@10 [ab3,c4,d4,g4]@11 ~ [g3,c4,f4,bb4]@2", // Abmaj7 Gm7
  W: "[~@10 [g3,b3,db4,gb4]@3 ~@9 [gb3,c4,f4,bb4]@13 ~ [gb3,c4,eb4,a4]@2 ~@2 [gb3,c4,eb4,a4]@2 ~@6]/2", // Gmaj7 Gbmaj7 Gbdim
  X: "[g3,c4,eb4,bb4] ~ [g3,c4,eb4,bb4] ~@6 g6@3", Y: "~@4 [f3,b3,eb4,bb4] ~@7 [e3,ab3,bb3,db4]@12",
  Z: "[eb3,g3,a3,b3,d4]@2 ~@2 [eb3,g3,a3,b3,d4]@2 ~@4 [ab3,d4,g4,c5]@13 ~", // G Abmaj7
  AA: "[g3,bb3,d4,f4]@2 ~@2 [g3,bb3,d4,f4]@2 ~@4 [g3,db4,e4,bb4]@11 ~ [ab3,c4,eb4,f4]@2", // Gm7 Gdim Fm7
  AB: "~@6 [ab3,d4,f4,bb4] ~ [ab3,d4,f4,bb4] ~@3", AC: "[ab3,eb4,g4,c5]@10 [ab3,d4,g4,c5]@13 ~",
  AD: "~@4 [gb3,bb3,c4,f4] ~@7 [gb3,c4,eb4,a4]@2 ~@2 [gb3,c4,eb4,a4]@2 ~@6", // Gbmaj7 Gbdim
  AE: "[ab3,d4,g4,c5] ~ [ab3,d4,g4,c5] ~@3 [ab3,d4,g4,c5] ~ [ab3,d4,g4,c5] ~@3", // Abmaj7
  AF: "[g3,c4,eb4,bb4] ~ [g3,c4,eb4,bb4] ~@3 e6@3 ~@3", AG: "[g3,d4,f4,bb4] ~",
  AH: "~@4 [ab3,eb4,g4,c5] ~@5 [ab3,c4,d4,g4]@3 ~@11", AI: "[ab3,eb4,g4,c5] ~@17 eb6@6", AJ: "~@2 eb6!2",
  AK: "[g3,db4,eb4,bb4] ~@11 [g3,db4,f4,c5]@12", AL: "[gb3,bb3,c4,f4] ~", AM: "eb6@6 f6@4 [ab3,d4,g4,c5]@3 ~@11",
  AN: "[~@4 [g3,c4,eb4,bb4] ~@7 [c3,bb3,eb4,bb4]@4 [f3,a3,eb4,g4]@2 [d3,ab3,b3,gb4]@4 [eb3,f3,bb3,eb4,f4]@43 ~ [c3,eb3,f3,bb3,eb4,f4]@41 ~@5 [ab3,c4,f4,bb4,eb5]@7 ~]/5", // Cm7 F7 Abm7b5 Ebsus2 Cm7 Fm7
  AO: "[g3,db4,f4,c5,eb5]@2 ~@14 [db4,eb4,g4,bb4]@3 ~@5", AP: "[c4,gb4,bb4,f5] ~ [c4,gb4,bb4,f5] ~@8 [d4,g4,ab4,c5]",
  AQ: "~@10 [d4,ab4,c5,g5]@11 ~@3", AR: "[g3,c4,eb4,bb4] ~ [g3,c4,eb4,bb4] ~@9",
  AS: "[~@4 [g3,d4,f4,bb4] ~@17 [eb3,g3,d4,f4,bb4]@14 [g2,eb3,bb3,db4,f4]@10 [ab2,gb3,c4,f4]@12 [a2,gb3,c4,f4]@8 [bb2,f3,ab3,b3,d4,ab4]@4 [eb3,g3,bb3,db4,f4]@14 [g2,eb3,bb3,db4,f4]@10 [ab2,gb3,c4,f4]@12 [a2,gb3,c4,f4]@8 [bb2,f3,ab3,b3,d4,c5]@4 [eb3,g3,bb3,db4,f4]@14 [g2,eb3,bb3,db4,f4]@10 [ab2,gb3,c4,f4]@12 [a2,gb3,c4,f4]@14]/7", // Gm7 Ebmaj7 Gm7b5 Fm F Bb7 Eb7 Gm7b5 …
  AT: "~@4 [bb2,f3,ab3,c4,d4,g4]@7 ~ [bb2,f3,ab3,c4,d4,g4] ~@11", // Bb7
  AU: "~@4 [f3,c4,ab4,c5,eb5]@2 [bb3,db4,g4,db5,e5]@3 ~ [bb3,d4,ab4,c5,f5] ~@13", AV: "~@12 [f5,ab5,eb6] ~@11",
  AW: "[[gb5,a5,eb6] ~@9 [g5,bb5,eb6] ~@5 a2@2 bb2@4 ~@8 [g3,db4,f4,a4,eb5]@48 ~@18, ~@11 eb2@25 ~@12]/4", // Ebdim Eb
})).s("gm_piano").gain(0.17).pan(0.3)

// other · alto sax
const alto_sax = note(`<
  ~ A B C D A B E F G@2 H@2 I@2 J K L M ~@2 N O@2 ~ P Q R ~ S Q T U V ~ W ~ X ~@2 Y Z AA AB AC@4 AD@6 M ~@2 P Q AE ~ S Q
  T AF AG ~ W ~ X ~ AH ~ AI M ~ AJ AK ~@2 AL@2 ~
>`.pickRestart({
  A: "~@9 f4 ~@2", B: "gb4@12 f4@9 ~ f4@2", C: "~@4 f4@13 ~ g4@2 ~@4", D: "gb4@6 gb4@5 f4", E: "~@4 f4@13 ~ f4@2 ~@4",
  F: "ab4@4 g4@7 ~ f4@2 ~@4 f4@4 gb4 ~", G: "[~@4 g4@2 ~@10 gb4@2 g4@4 bb4@13 ~@5 g4@8]/2",
  H: "[ab4@10 f4 ~@5 d4@2 f4@4 bb4@13 ~@5 gb4@8]/2", I: "[f4@10 eb4@2 ~@4 gb4@2 g4@4 bb4@17 ~ f4@2 ~@6]/2",
  J: "ab4@5 f4 ~@6", K: "~@2 d4@4 g4@5 eb4", L: "~@5 eb4 ~@2 g4 ~@2 gb4", M: "f4 ~@11", N: "~@12 g4@4 gb4@2 f4@4 f4 ~",
  O: "[~@16 f4 ~@5 ab4@11 ~ f4@2 ~@12]/2", P: "~@4 g4@2 eb4@4 g4@2 ~@4 g4 ~@7", Q: "~@2 f4 ~@5 eb4 gb4 ~@2",
  R: "~@2 g4 eb4@2 ab4 ~@6", S: "~@2 bb4 c5@2 a4 ~@2 g4 ~@3", T: "~@4 g4@2 bb4@4 g4 ~@5 gb4@2 ~@6",
  U: "~@4 bb4 ~@5 g4@14", V: "gb4@9 ~ f4@2 ~@4 ab4@2 ~@4 f4@2", W: "~@8 ab4 f4@2 f4", X: "~@6 g4@2 gb4 f4@2 f4",
  Y: "~@4 gb4 ~@7 g4@10 ~@2", Z: "~@10 g4 ~@5 f4@2 ~@4 ab4@2", AA: "g4@6 f4@4 e4@11 ~ e4@2",
  AB: "eb4@4 f4@2 ~@4 f4@11 ~ d4@2",
  AC: "[eb4@4 f4@2 ab4@4 ab4@7 ~ a4@4 bb4@13 ~ g4@4 g4@2 gb4@4 f4@11 ~ eb4@2 f4@4 g4@2 ~@4 gb4@6 f4@2 gb4@4 gb4@11 ~ gb4@2]/4",
  AD: "[g4@6 f4@4 f4@2 ~@4 ab4@2 ~@4 g4@13 ~ eb4@4 eb4@2 d4@4 c4@43 ~ c4@41 ~@5 f4@7 ~]/6",
  AE: "~@4 g4@2 eb4@4 ab4 ~@13", AF: "~@2 bb4 ~@2 g4@7", AG: "gb4@9 ~ f4@2 ~@4 ab4@2 ~@4 f4 ~", AH: "~@8 gb4 f4@2 f4",
  AI: "~@8 gb4 ~@2 f4", AJ: "~@4 g4@7 ~ g4@2 ~@10", AK: "~@4 f4@2 g4@4 ab4 ~@13", AL: "[~ f4@7]/2",
})).s("gm_alto_sax").gain(0.36).pan(0.6)

// other · alto sax
const alto_sax_2 = note(`<
  ~ A B C D A E F G H@2 I@2 J@2 K L M N ~@2 O P@2 ~ Q R S ~ T R U V W ~ X ~ O ~@2 Y Z AA AB AC@4 AD@6 AE ~@2 AF R AG ~ T
  R U V AH ~ AI ~ AJ ~ AK ~ AL AE ~ AM AN ~@2 AO@2 ~
>`.pickRestart({
  A: "~@9 db4 ~@2", B: "eb4@12 d4@9 ~ db4 ~", C: "~@4 db4@13 ~ f4@2 ~@4", D: "c4@6 c4@5 db4", E: "eb4@12 d4@9 ~ db4@2",
  F: "~@4 db4@13 ~ db4@2 ~@4", G: "eb4@4 d4@7 ~ eb4@2 ~@4 eb4@4 eb4@2",
  H: "[~@4 d4@2 ~@10 gb4@2 g4@4 f4@13 ~@5 e4@8]/2", I: "[eb4@10 d4@2 ~@4 b3@2 d4@4 eb4@13 ~@5 d4@8]/2",
  J: "[d4@10 c4 ~@5 eb4@2 d4@4 db4@17 ~ c4@2 ~@6]/2", K: "c4@5 c4 ~@6", L: "~@2 c4@4 d4@5 c4",
  M: "~@10 c4 ~@5 eb4@2 ~@4 d4@2", N: "d4 ~@11", O: "~@12 eb4@4 eb4@2 d4@4 db4 ~",
  P: "[~@16 db4@2 ~@4 c4@11 ~ c4@2 ~@12]/2", Q: "~@2 eb4 c4@2 eb4 ~@2 eb4 ~@3", R: "~@2 c4 ~@5 c4 eb4 ~@2",
  S: "~@2 eb4 c4@2 e4 ~@6", T: "~@2 bb4 c5@2 g4 ~@2 eb4 ~@3", U: "~@2 eb4 g4@2 eb4 ~@2 e4 ~@3", V: "~@2 f4 ~@2 e4@7",
  W: "eb4@9 ~ d4 ~@5 d4@2 ~@4 d4@2", X: "~@16 b3@2 b3@4 c4 ~", Y: "~@4 d4 ~@7 d4@10 ~@2", Z: "~@5 eb4 ~@2 db4 ~@2 d4",
  AA: "d4@6 d4@4 db4@11 ~ db4@2", AB: "c4@4 eb4@2 ~@4 d4@11 ~ b3@2",
  AC: "[c4@4 eb4@2 eb4@4 d4@7 ~ d4@4 d4@13 ~ eb4@4 eb4@2 d4@4 db4@11 ~ c4@2 db4@4 f4 ~@5 eb4@6 d4@2 eb4@4 eb4@11 ~ eb4@2]/4",
  AD: "[d4@6 eb4@4 d4@2 ~@4 f4@2 ~@4 eb4@13 ~ c4@4 c4@2 b3@4 bb3@43 ~ bb3@41 ~@5 c4@7 ~]/6", AE: "db4 ~@11",
  AF: "~@4 eb4@2 c4@4 eb4@2 ~@4 eb4 ~@7", AG: "~@4 eb4@2 c4@4 e4 ~@13", AH: "eb4@9 ~ d4 ~@5 d4@2 ~@4 d4 ~",
  AI: "~@8 b3 b3@2 c4", AJ: "~@6 eb4@2 eb4 d4@2 db4", AK: "~@8 eb4 d4@2 db4", AL: "~@8 eb4 ~@2 d4",
  AM: "~@4 d4@7 ~ d4@2 ~@10", AN: "~@2 c4 db4@2 d4 ~@6", AO: "[~ db4@7]/2",
})).s("gm_alto_sax").gain(0.36).pan(0.7)

// other · tenor sax
const tenor_sax = note(`<
  ~ A B C D A E F G H@2 I@2 J@2 K L M N ~@2 O P@2 ~ Q R S ~ T U V W X ~ Y ~ Z ~@2 AA AB AC AD AE@4 AF@6 N ~@2 AG R S ~
  AH R AI W AJ ~ Y ~ O ~ AK ~ AL N ~ AM AN ~@2 AO@2 ~
>`.pickRestart({
  A: "~@9 g3 ~@2", B: "a3@12 ab3@9 ~ g3@2", C: "~@4 g3@13 ~ db4@2 ~@4", D: "bb3@6 a3@5 g3", E: "a3@12 ab3@9 ~ g3 ~",
  F: "~@4 g3@13 ~ g3@2 ~@4", G: "a3@4 bb3@7 ~ ab3@2 ~@4 ab3@4 a3 ~", H: "[~@4 b3@2 ~@10 gb4@2 g4@4 d4@13 ~@5 db4@8]/2",
  I: "[c4@10 ab3@2 ~@4 ab3@2 b3@4 c4@13 ~@5 ab3@8]/2", J: "[g3@10 g3@2 ~@4 a3@2 ab3@4 g3@17 ~ bb3@2 ~@6]/2",
  K: "gb3@5 gb3 ~@6", L: "~@2 ab3@4 ab3@5 g3", M: "~@10 bb3@2 ~@4 ab3 ~@5 ab3@2", N: "g3 ~@11",
  O: "~@6 bb3@2 a3 ab3@2 g3", P: "[~@16 bb3@2 ~@4 gb3@11 ~ gb3@2 ~@12]/2", Q: "~@4 c4@2 bb3@4 c4 ~@5 db4@2 ~@6",
  R: "~@2 gb3 ~@5 gb3 a3 ~@2", S: "~@2 c4 bb3@2 bb3 ~@6", T: "~@4 bb3@2 c4@4 db4 ~@5 db4@2 ~@6",
  U: "~@4 gb3 ~@11 gb3@2 a3@2 ~@4", V: "~@2 c4 eb4@2 c4 ~@2 c4 ~@3", W: "~@2 b3 ~@2 bb3@7",
  X: "a3@9 ~ ab3 ~@5 b3@2 ~@4 bb3 ~", Y: "~@8 b3 ab3@2 ab3", Z: "~@12 bb3@4 a3@2 ab3@4 g3 ~", AA: "~@2 ab3 ~@3 ab3@5 ~",
  AB: "~@10 bb3@2 ~@4 ab3 ~@5 a3@2", AC: "a3@6 a3@4 ab3@11 ~ ab3@2", AD: "g3@4 ab3@2 ~@4 ab3@11 ~ ab3@2",
  AE: "[ab3@4 c4@2 c4@4 c4@7 ~ b3@4 bb3@13 ~ bb3@4 a3@2 ab3@4 g3@11 ~ a3@2 bb3@4 db4 ~@5 c4@6 b3@2 c4@4 a3@11 ~ a3@2]/4",
  AF: "[ab3@6 c4@4 ab3@2 ~@4 ab3 ~@5 g3@13 ~ bb3@4 a3@2 ab3@4 g3@43 ~ g3@41 ~@5 a3@7 ~]/6",
  AG: "~@2 c4 bb3@2 c4 ~@2 db4 ~@3", AH: "~@2 bb3 c4@2 db4 ~@2 db4 ~@3", AI: "~@4 c4@2 eb4@4 c4@2 ~@4 c4 ~@7",
  AJ: "a3@9 ~ ab3@2 ~@4 b3@2 ~@4 bb3@2", AK: "~@8 a3 ab3@2 g3", AL: "~@8 a3 ~@2 ab3", AM: "~@4 ab3@7 ~ ab3@2 ~@10",
  AN: "~@2 ab3 bb3@2 c4 ~@6", AO: "[~ g3@7]/2",
})).s("gm_tenor_sax").gain(0.36).pan(0.4)

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

// other · trumpet
const trumpet = note(`<
  ~ A B C D E B C F ~@8 G H ~@2 I ~@3 J K L ~ M N O ~ P ~ Q ~ I ~@3 R S T U@4 V@6 W ~@2 J K L ~ M N O ~ P ~ Q ~ I ~ X ~
  Y W ~ Z AA ~@2 AB@2 ~
>`.pickRestart({
  A: "~@9 eb5 ~@2", B: "gb5@11 ~ g5@9 ~ eb5 ~", C: "~@4 c5@13 ~ eb5@2 ~@4", D: "gb5@11 ~ f5@9 ~ eb5@2", E: "~@9 c5 ~@2",
  F: "ab5@4 g5@7 ~ eb5@2 ~@4 c5@3 ~ eb5 ~", G: "~@10 eb5 ~@5 c5 ~@5 db5@2", H: "bb4 ~@11",
  I: "~@12 c5@4 eb5@2 f5@4 eb5 ~", J: "~@4 g4@2 bb4@4 c5 ~@5 eb5 ~@7", K: "~@2 f5 ~@5 eb5 gb5 ~@2",
  L: "~@4 g5@2 eb5@4 ab5 ~@13", M: "~@4 bb4@2 c5@4 g5 ~@5 eb5 ~@7", N: "~@4 f5 ~@11 eb5@2 gb5@2 ~@4",
  O: "~@4 g5@2 eb5@4 bb4 ~@5 c5 ~@7", P: "~@16 d5 ~@5 f5 ~", Q: "~@16 d5@2 b4@4 bb4 ~", R: "~@10 eb5 ~@5 f5 ~@5 gb5@2",
  S: "g5@6 bb4@4 db5@11 ~ bb4@2", T: "c5@3 ~ eb5 ~@5 b4@11 ~ ab4@2",
  U: "[bb4@4 c5@2 eb5@4 f5@7 ~ gb5@4 g5@13 ~ c5@4 db5@2 d5@4 eb5@11 ~ c5@2 eb5@3 ~ f5 ~@5 gb5@6 f5@2 eb5@4 f5@11 ~ eb5@2]/4",
  V: "[d5@6 c5@4 bb4 ~@5 g5 ~@5 eb5@12 ~@2 bb4@4 g4@2 gb4@4 f4@43 ~ f4@41 ~@5 eb5@7 ~]/6", W: "eb5 ~@11",
  X: "~@16 f5@2 d5@4 eb5 ~", Y: "~@16 f5 ~@5 d5 ~", Z: "~@4 d5@7 ~ d5@2 ~@10", AA: "~@4 eb5@2 e5@4 f5 ~@13",
  AB: "[~@6 eb5@41 ~]/2",
// … 181 more lines

More by Frank Sinatra