Strudelify
The Way You Look Tonight cover art

Nothing But The Best

The Way You Look Tonight

Sinatra

KeyA♭ majorTempo132 bpm
0:00/0:00
// The Way You Look Tonight — Sinatra
// 132 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 106 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(132/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, A@4 for four bars: edit a riff to change every repeat.

// chords · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
  A B C D A B C D A B E D F@2 C D ~@8 A B E D F@2 C D ~@10 G H I J K L M N K H O P C D Q R E D S T ~@16 M N K H O P C D
  ~@20
>`.pickRestart({
  A: "~@6 [g3,c4,eb4] ~@11 [g3,c4,eb4] ~@5", B: "~@6 [g3,bb3,eb4] ~@11 [g3,bb3,eb4] ~@5",
  C: "~@6 [ab3,c4,eb4] ~@11 [ab3,c4,eb4]@2 ~@4", D: "~@3 [ab3,bb3,d4] ~@5 [ab3,bb3,d4] ~@2",
  E: "~@3 [ab3,c4,eb4] ~@5 [ab3,c4,eb4] ~@2", F: "~@6 [g3,bb3,db4] ~@11 [g3,bb3,db4]@2 ~@4",
  G: "~@18 [gb3,ab3,b3,eb4] ~@5", H: "~@6 [f3,ab3,b3,d4] ~@11 [f3,ab3,b3,d4] ~@5",
  I: "~@6 [ab3,bb3,db4] ~@11 [ab3,bb3,db4] ~@5", J: "~@6 [gb3,a3,c4,eb4] ~@11 [gb3,a3,c4,eb4] ~@5",
  K: "~@6 [gb3,ab3,b3,eb4] ~@11 [gb3,ab3,b3,eb4] ~@5", L: "~@6 [f3,ab3,b3] ~@11 [f3,ab3,b3]@2 ~@4",
  M: "~@6 [f3,ab3,bb3,db4] ~@11 [f3,ab3,bb3,db4] ~@5", N: "~@6 [g3,bb3,db4,e4] ~@11 [g3,bb3,db4,e4] ~@5",
  O: "~@6 [bb3,db4,f4] ~@11 [bb3,eb4] ~@5", P: "~@3 [bb3,d4] ~@5 [bb3,eb4] ~@2",
  Q: "~@3 [g3,bb3,d4,f4] ~@5 [g3,bb3,c4,eb4] ~@2", R: "~@3 [g3,bb3,c4,eb4] ~@5 [g3,bb3,c4,eb4] ~@2",
  S: "~@6 [f3,g3,bb3,d4]@2 ~@10 [f3,b3,eb4]@3 ~@3", T: "~@3 [g3,bb3,db4] ~@5 [g3,bb3,db4] ~@2",
})).s("gm_acoustic_guitar_nylon").gain(0.19)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C D E F C G H I J G K L M D N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI T AJ AK AL AM AN AO AP AM AQ AR
  AP AS AT AU AV AW AX AY W AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM AM BN BO BP AM AN AR BQ AM BR BS BT BU BV BW BX BT
  BY AM BZ BT CA CB CC CD CE CF CG CH CI ~@4
>`.pickRestart({
  A: "eb2@9 ~@3 eb2@10 d2 ~", B: "c2@9 ~@3 c2@9 ~ g2@2", C: "f2@10 ~@2 f2@7 ~@3 f2 ~",
  D: "bb1@9 ~@3 bb1@7 ~ f2 ~ bb2@2", E: "eb2@8 ~@4 eb2@9 ~ d2@2", F: "c2@8 ~@4 c2@5 ~@3 eb2@2 g2@2",
  G: "bb1@5 ~ bb1@5 ~", H: "eb2@7 ~@5 eb2@10 ~@2", I: "c2@8 ~@4 c2@9 ~@3", J: "f2@9 ~@3 f2@6 ~@4 f2@2",
  K: "g2@5 ~ g1@6", L: "c2@11 ~ c2@9 ~ e1 ~", M: "f1@10 ~@2 f1@11 ~", N: "eb2@3 ~@3 bb1@4 ~@2",
  O: "eb2@8 ~@2 bb2 ~ eb2@6 a1@4 ~@2", P: "ab1@10 ~@2 g1@3 ~@3 gb1@6", Q: "f1@9 ~@3 bb1@7 ~ f2@2 bb2@2",
  R: "eb2@3 ~@2 eb2 c2@3 ~@3", S: "f2@8 ~@4 bb1@5 ~@5 bb1@2", T: "eb2@6 c2@6 b1@2 ~@4 b1@5 ~",
  U: "bb1@7 ~@5 bb1@10 bb2@2", V: "eb2@3 ~ eb2@4", W: "c2@9 ~@3 c2@4 ~@6 g2@2", X: "f2@7 ~@5 f2@5 ~@5 bb2@2",
  Y: "bb1@2 c2 ~ f2@2 bb1@6 c2@6 d2@3 ~ d2@2", Z: "g2@9 ~ bb2@2 g2@10 db2 ~", AA: "c2@5 ~ c2@6", AB: "f2@3 ~ f2@2 ~@2",
  AC: "bb2@11 ~ bb1@7 ~@3 bb2@2", AD: "eb2@11 ~ bb1@9 ~@3", AE: "eb2@5 ~@5 bb2@2 eb2@6 a1@5 ~",
  AF: "ab1@12 g2@5 ~ gb2@6", AG: "f2@6 ~@4 f2 ~ bb1@3 ~ bb1@2 d2@6", AH: "eb2@12 c2@5 ~@3 eb2@2 g2@2",
  AI: "f2@6 ~@4 f2 ~ bb1@4 ~@2 bb1@6", AJ: "bb1@2 ~ bb1@2 ~ bb2@2 bb1 ab2@2 g2", AK: "gb2@6 bb1@5 ~ db2@5 ~ eb2@6",
  AL: "gb2@2 ~ gb2@3 g2@2 ~ g2@2 ~", AM: "ab2@4 ~@2 ab2@5 ~ eb2@3 ~ ab2@2 d2@5 ~", AN: "db2@5 ~ ab2@6 db3@6 db2@5 ~",
  AO: "bb2@4 ~@2 bb2@6 db2@5 ~ bb2@6", AP: "a2@5 ~ a2@6 a1@6 a2@5 ~", AQ: "db2@4 ~@2 db2@6 ab2@5 ~ db3@6",
  AR: "bb2@2 ~ bb2@3 bb1@3 bb2@3", AS: "ab2@4 eb2@2 ab2@6 eb2@5 ~ ab2@4 d2@2",
  AT: "db2@6 f2@5 ~ ab2@4 f2@2 db3@3 ~ db3@2", AU: "gb2@4 ~@2 gb2@5 ~ db3@6 db2@6", AV: "gb2@5 ~ db3@5 ~ bb2@6 gb2@5 ~",
  AW: "f2@4 ~@2 f2@3 ~@3 f2@5 ~ bb1@6", AX: "~@12 bb1@3 ~ f2@2 bb2@3 ~ bb2@2", AY: "eb2@9 ~@3 eb2@8 ~@4",
  AZ: "f2@7 ~@5 f2@8 ~@4", BA: "bb1@7 ~@5 bb1@9 ~ ab2@2", BB: "g2@8 ~@4 g2@5 ~ db2@6", BC: "c2@8 ~@4 c2@7 ~ g2@2 c3@2",
  BD: "f2@7 ~@5 f2@5 ~ e2@6", BE: "f2@9 ~@3 bb1@6 ~@4 bb2 ~", BF: "eb2@6 ~@4 eb2@2 bb1@7 ~@3 bb2@2",
  BG: "eb2@8 ~@4 eb2@4 ~@2 a1@5 ~", BH: "ab1@10 ~@2 g2@5 ~ gb2@6", BI: "f2@10 ~@2 bb1@5 ~@5 bb1@2",
  BJ: "eb2@7 ~@5 bb2@4 ~@2 bb2@5 ~", BK: "eb2@5 ~ g2@6 bb2@5 ~ g2@5 ~", BL: "gb2@5 ~ gb2@6 db2@5 ~ gb2@4 ~@2",
  BM: "gb2@3 bb2@3 g2@2 ~ g2@3", BN: "db2@5 ~ ab2@6 db3@5 ~ b2@5 ~", BO: "bb2@4 ~@2 bb2@6 bb1@5 ~ eb2@5 ~",
  BP: "bb2@3 ~@3 bb2@2 ~@2 bb2@2 a2@3 ~@3 a2@5 ~", BQ: "a2@5 ~ a1@4 ~@2 a1@6 e2@6", BR: "db2@2 ~ db2@3 f2@3 ab2@2 g2",
  BS: "gb2@5 ~ bb2@6 db3@6 db2@2 gb2@2 db3@2", BT: "gb2@2 ~ gb2@3 db3@3 gb2@3",
  BU: "f2@4 ~@2 f2@4 bb2@2 f2@4 ~@2 f2@5 ~", BV: "bb1@4 ~@2 bb1@6 bb2@11 ~", BW: "e2@4 ~@2 e2@6 b2@6 e2@3 ~ e2@2",
  BX: "db2@2 ~ db2@3 e2@3 db3@3", BY: "b2@3 ~ b2@2 gb2@6 b1@4 ~@2 b1@4 a2@2", BZ: "db2@4 ~@2 db2@6 f2@5 ~ ab2@4 db3@2",
  CA: "b1@6 gb2@6 b2@5 ~ b1@5 ~", CB: "e2@2 ~ e2@3 b1@2 ~ b1@2 ~", CC: "b1@4 ~@2 e2@5 ~ bb1@4 ~@2 bb1@6",
  CD: "a1@9 ~@3 ab1@5 ~ gb1@6", CE: "b1@6 ~@6 b1@7 ~@5", CF: "e2@3 ~@3 db2@2 ~@3 ab2",
  CG: "gb2@6 ~@4 gb2@2 b1@5 ~@5 b1 ~", CH: "e2@7 ~@3 e2@2 db2@6 ~@4 db2@2", CI: "gb2@7 ~@5 b1@7 ~@5",
})).s("gm_acoustic_bass").gain(0.33)

// other · vibraphone
const vibraphone = note(`<
  ~@45
  [~@4 f4 ~ gb4 ~ a4 ~ c5 ~ f5@2 ~@2 e5@2 eb5@3 ~ d5@2]
  [db5 ~@11]
  ~@51
  [~@4 ab5 ~@7 b5@3 ~@9]
  ~
  [~@2 eb5 ~@3 b4@2 ~@4]
  ~@5
>`).s("gm_vibraphone").gain(0.27)

// chords · alto sax
const alto_sax = note(`<
  A B C D A E C F A B C D G H I J@2 ~@3 K L M N A B C D G H I J@2 ~@3 K L M N ~@16 O P Q R S T U V W ~@3 X Y Z AA AB AC
  AD AE AF@2 ~@6 AG AH AI AJ AK AL ~ AM AN ~ AO ~@9 AP AQ
>`.pickRestart({
  A: "[c4,f4] ~@4 [eb4,g4] ~@6", // F5 Eb
  B: "~@4 [eb4,bb4]@2 [g3,c4]@3 ~ [ab3,d4]@2 [bb3,eb4]@4 [b3,f4]@2 c4@2 ~@4, ~@18 g4 ~@5", // Eb5 C5 Abdim Eb5 Bdim
  C: "[c4,f4] ~@9 bb4@2 ~@12, ~@10 c4 ~@13", D: "~@2 [d4,bb4] [f3,c4]@2 [f3,d4] [g3,eb4]@2 [ab3,f4] [bb3,g4] ~@2",
  E: "~@4 [eb4,bb4] ~ [g3,c4]@3 ~ [ab3,d4]@2 [bb3,eb4]@4 [b3,f4]@2 g4@2 ~@4, ~@18 c4 ~@5", // Eb5 C5 Abdim Eb5 Bdim
  F: "~@4 [d4,bb4] ~ [f3,c4]@3 ~ f3@2 [g3,eb4]@4 [ab3,f4]@2 [bb3,g4]@2 ~@4, ~@10 d4 ~@13", // Gm F5 Cm Db Eb
  G: "bb3 ~@4 [g4,db5] ~@6, f4 ~@23", H: "~@4 [db4,bb4]@2 [g3,e4]@4 [ab3,f4]@2 [bb3,g4]@3 ~ [c4,ab4]@2 [db4,bb4]@2 ~@4",
  I: "ab4@2 ~@8 [eb4,c5] ~@13, c4 ~@23", // Cm
  J: "[~@6 [ab3,ab4]@3 [c5,db5] [f4,d5]@4 [g4,eb5] [f4,d5] [ab3,ab4]@2 [f4,d5]@3 ~ [f4,eb5]@14 d5 db5 b4 bb4 [ab4,a4] g4 gb4 f4 [eb4,e4] d4 db4 ~, ~@22 d5 ~@14 c5@2 ~@9]/2", // Ab Dbmaj7 Dm Cm Dm Ab Dm F7 …
  K: "~@2 [bb3,ab4]", L: "[ab3,f4] ~@7 [ab3,gb4]@4", M: "[g3,eb4] ~@7 [eb3,db4]@4", N: "[f3,d4] ~@11",
  O: "~@6 [f3,bb3]@4 [d4,g4]@4 gb4 f4 d4@2 [g3,eb4]@3 ~@3, ~@16 f3 ~@7", // Bb5 G5 Cm
  P: "[g3,bb3,c4]@4 [bb3,c4,eb4]@2 [c4,eb4,g4]@4 [eb4,g4,c5]@2 ~@4 [c4,eb4,g4]@2 [bb3,c4,eb4]@3 ~@3", // C7 Cm7 Cm Cm7
  Q: "~@6 [ab3,ab4]@3 ~ ab4@2 [g3,c4,g4]@4 [c3,f3] [bb3,b3,eb4] [f3,c4,f4]@3 ~@3, ~@6 eb4@6 ~@4 c4@2 e4 ~@5, ~@10 ab3 ~@13", // Ab C5 F5 Bmaj7 F5
  R: "[d3,ab3,d4]@3 ~ [c4,f4] ~ [ab3,d4,ab4]@4 [c4,c5]@2 ~@4 [ab3,d4,ab4]@2 ~@6, ~@4 f3@2 ~@4 f4 ~@13", // Ddim F5 Abdim C Abdim
  S: "~@6 [d3,g3,d4]@4 [bb3,f4,bb4]@4 a4 [a3,ab4] ab3 ~@2 [eb3,ab3]@3 ~@2, ~@16 [g3,d4]@2 eb4@3 ~@3, ~@17 d3@2 ~@5", // G5 Bb5 Amaj7 Ab5 G5
  T: "~ e3@3 [g3,db4]@2 [bb3,e4,bb4]@4 [db4,db5]@2 ~@4 [bb3,e4]@2 ~@6, [bb3,e4]@4 g4 ~@5 g4 ~@5 bb4 ~@7", // Gdim Bbdim Db Bbdim
  U: "[ab3,eb4]@3 ~ [bb3,e4]@2", V: "[c4,f4]@3 ~@13 [bb3,gb4]@8", W: "[bb3,eb4] ~@7",
  X: "~@6 [g3,eb4]@4 f4@2 [eb4,bb4]@4 [g3,eb4] ~ [bb3,f4]@4 [eb4,bb4]@2, ~@10 bb3 ~@13", // Cm Eb5 Cm Bb5 Eb5
  Y: "[g3,eb4]@4 [bb3,f4] ~ [eb4,bb4]@4 [g3,eb4] ~ [bb3,f4]@4 [eb4,bb4]@2 [g3,eb4]@3 f4 bb3 ab4", // Cm Bb5 Eb5 Cm Bb5 Eb5 Cm
  Z: "bb4@7 ~@4 [ab4,a4] bb4@6 ~@5 ab4, a4 ~@23", AA: "bb4@5 ~@6 [ab4,a4] bb4@5 ~@5 ab4 a4, a4 ~@23",
  AB: "bb4@3 ~@3 db5@10 a4 bb4 b4@6", AC: "ab4@23 ~", AD: "f4 ~@5 ab4@9 gb4@8 ~", AE: "f4@12 gb4@10 [db5,d5] ~",
  AF: "[eb5@15 ~]/2", AG: "~@6 [c4,eb4]@3 ~ g4@2 ~@4 eb4@2 [eb4,g4] ~@5, ~@10 eb4 ~@5 c4 ~@7",
  AH: "[g4,bb4] ~@2 [g4,bb4]@3 ~@6", AI: "~@4 [ab4,b4]@2 ~@6 [ab4,b4]@3 ~@9",
  AJ: "~@6 [b3,e4]@3 ~ db4@2 [db4,g4]@4 [b3,e4] ~ [db4,g4]@3 gb4 g4@2, ~@10 g4 ~@13", AK: "e4 ~@11",
  AL: "~@4 [eb4,ab4]@3 ~@3 [eb4,ab4] ~ [eb4,ab4]@3 ~@3 [eb4,ab4]@2 ~@4", // Ab5
  AM: "~@6 [b3,f4]@4 [eb4,ab4] ~ [eb4,ab4]@4 [b3,f4] ~ [eb4,ab4]@3 ~ ab4@2", AN: "gb4 ~@11",
  AO: "~@6 b4@4 b4 ~@5 b4 d5 e5@3 ~@3, ~@18 eb5 ~@5", AP: "~@21 ab4@2 a4", AQ: "bb4 b4@17 ~@6",
})).s("gm_alto_sax").gain(0.33).pan(0.3)

// chords · alto sax
const alto_sax_2 = note(`<
  A B C D E B C D A B C D F G H I@2 ~@3 J K L M A B C D F G H I@2 ~@3 J K L M ~@16 N O P Q R S T U V ~@3 W X ~@14 Y Z AA
  AB AC AD ~ AE ~@2 AF ~@11
>`.pickRestart({
  A: "[g3,eb4]@2 ~@8 [c4,eb4,bb4]@3 ~@11, bb3 ~@23", // Cm Cm7
  B: "~@2 g4 [eb3,bb3]@2 [f3,bb3] [g3,c4]@2 ab3 [bb3,eb4] ~@2, ~@4 c4 ~@11 d4 ~@7", C: "[ab3,eb4] ~@4 [ab3,eb4] ~@6",
  D: "~@4 [bb3,f4]@2 [c3,ab3]@3 ~ [d3,ab3]@2 [eb3,bb3]@4 [f3,c4]@2 [g3,d4]@2 ~@4", // Bb5 Fm Ddim Eb5 F5 G5
  E: "[bb3,eb4] ~@4 [c4,eb4,bb4] ~@6, g3 ~@23", F: "[g3,db4] ~@4 bb4 ~@6, ~@10 f4 ~@13",
  G: "~@4 f4 ~ bb3@4 c4@2 db4@4 e4@2 g4@2 ~@4", H: "[eb4,f4] ~@4 [f4,ab4] ~@6",
  I: "[~@6 [d3,c4]@4 [bb3,ab4]@4 [c4,bb4] [bb3,ab4] [d3,c4]@2 [bb3,ab4]@4 [db4,g4]@14 ~ [e4,f4] ~ [c4,d4] ~ b3 a3 g3 ~ f3 e3 ~]/2", // D7 Bb7 C7 Bb7 D7 Bb7 Dbdim Fmaj7 …
  J: "~@2 [db4,e4]", K: "~ [c4,eb4]@2 ~@14 b3@7, ~@16 d4@7 ~", L: "[bb3,c4] ~@7 [g3,a3]@4", M: "[ab3,bb3] ~@11",
  N: "~@6 [bb2,d3,g3]@4 [g3,bb3]@5 [a3,e4] ~ f3 ~ g3@2 ~@3, ~@10 f4@4 ~ eb4@2 bb3@2 ~@5, ~@8 [d3,ab3] [eb3,c4] ~@2", // Gm A5 Ddim Cm
  O: "[c3,eb3]@3 ~ [eb3,g3]@2 [g3,bb3]@4 c4@2 ~@4 g3@2 [eb3,g3]@3 ~@3, ~@10 eb4 ~@5 bb3 ~@7", // Cm Eb Gm Eb
  P: "~@7 c4@3 [c4,f4]@2 [bb3,eb4]@4 ~ db4 [ab3,eb4]@3 ~@3, ~@6 f4@2 ~@8 [eb3,ab3]@2 d4 ~@5", // F5 Eb5 Ab5
  Q: "[f3,c4]@3 ~ d4@2 [c4,f4]@4 ab4@2 ~@4 c4@2 ~@6, ~@4 ab3 ~@5 d4 ~@5 f4 ~@7", // F5
  R: "~@6 [f3,bb3]@4 ~@4 gb4 f4 bb3@2 ~ f3 ~@4, ~@5 g4@2 ~@5, ~@11 d4@5 f3 ~ b3@2 ~@4", // Bb5
  S: "[g3,db4]@3 ~ bb3@2 [db4,g4]@3 ~ bb4@2 ~@4 db4@2 ~@6, ~@4 e4 ~@5 e4 ~@5 g4 ~@7", T: "f3@5 ~@11 [g3,db4]@8, c4 ~@7",
  U: "[ab3,eb4]@3 ~@5 [ab3,d4]@4", V: "[g3,db4] ~@5",
  W: "~@6 [f3,bb3]@4 [g3,c4]@2 [c4,f4]@3 ~ bb3@2 [g3,c4]@4 [c4,f4] ~, ~@16 f3 ~@7", // Bb5 C5 F5 C5 F5
  X: "[f3,bb3]@4 [g3,c4]@2 [c4,f4]@3 ~ bb3@2 [g3,c4]@4 c4@2 [f3,bb3]@4 [g3,c4] ~, ~@10 f3 ~@5 f4 ~@7", // Bb5 C5 F5 C5 Bb5 C5
  Y: "~@6 [f3,ab3]@3 ~ [ab3,c4]@2 ~@4 [f3,ab3] ~ [ab3,c4]@2 ~@4", Z: "[bb3,d4]@2 ~@4 [bb3,d4]@5 ~@13",
  AA: "~@2 [e4,gb4] ~@3 [e4,gb4] ~@5", // Esus2
  AB: "~@6 [ab3,db4]@4 [b3,e4] ~ [b3,e4]@4 ab3@2 [b3,e4]@3 ~ [b3,e4] ~, ~@16 db4 ~@7", AC: "[gb3,db4] ~@7",
  AD: "~@2 [a3,db4] ~@2 db4 [a3,db4] ~@2 [a3,db4] ~@2, ~@10 a3 ~@13", // A
  AE: "~@6 [ab3,eb4]@4 [b3,f4] ~ [b3,f4]@4 eb4@2 [b3,f4]@3 ~@3, ~@16 ab3 ~@7", // Ab5 Bdim
  AF: "~@6 [d4,gb4]@3 ~ [d4,gb4]@2 ~@4 [d4,gb4]@2 [ab4,db5]@4 ~@2", // D Db5
})).s("gm_alto_sax").gain(0.33).pan(0.2)

// other · french horn · "FR.HORN"
const french_horn = note(`<
  ~@39 A B C D E F G H@2 I J K L M N O@2 ~@13 P Q R S I T U V@2 I J K L M N W X Y@2 Z D K L AA AB AC AD ~@2 AE AF AG AH
  ~@2 AI AJ
>`.pickRestart({
  A: "~@3 bb3@2 c4 d4@2 c4 d4@2 f4", B: "ab4 gb4", C: "f4@12 e4@11 ~", D: "eb4", E: "d4", F: "db4", G: "c4",
  H: "[b3@43 ~@5]/2", I: "ab4", J: "g4", K: "gb4", L: "f4@23 ~", M: "f4 eb4", N: "d4 eb4", O: "g4/2", P: "~@23 ab4",
  Q: "a4 bb4@6 ~@4 ab4 bb4@5 ~@5 ab4 ~, ~@12 a4 ~@11", R: "bb4@6 ~@4 ab4 a4 bb4@5 ~@5 ab4 a4, a4 ~@23",
  S: "bb4@2 ~@4 db5@10 a4 bb4 b4@6", T: "f4 ~@5 ab4@9 gb4@8 ~", U: "f4@12 gb4@10 [db5,d5] ~", V: "[eb5@47 ~]/2",
  W: "g4 ~", X: "~@6 bb3@4 c4@2 d4@3 ~ f4@2 g4@4 bb4@2", Y: "[b4@47 ~]/2", Z: "e4@11 ~", AA: "gb4@6 ab4@5 ~ a4@6 ab4@6",
  AB: "gb4 ab4 a4 b4", AC: "db5", AD: "~@2 c5 ~@3 c5@6", AE: "~ b3 eb4@2", AF: "db4@2 e4 gb4", AG: "eb4 b3",
  AH: "db4 ab4", AI: "~ b3 db4 e4 gb4 ab4 b4 db5", AJ: "e5@3 ~",
})).s("gm_french_horn").gain(0.38).pan(0.7)

// other · brass section · "BRASS 1"
const brass_section = note(`<
  ~@20 A B C D ~@12 A B C D ~@6 E F ~@6 G H ~@8 I J ~@4 K L M N O P Q R S ~@5 G T U V W X ~ Y Z ~ AA AB ~@10
>`.pickRestart({
  A: "~@2 ab4", B: "f4 ~@7 gb4@4", C: "eb4 ~@15 db4@8", D: "d4 ~@11", E: "~@6 eb5@3 ~@2 gb5@3 ~@2 eb5@2 ~ gb5@3 ~@2",
  F: "~@7 f5@3 ~ ab5 ~ ab5@4 f5@2 ab5@3 ~@2", G: "~@3 eb5@2 g5 ~@2 eb5 g5 ~@2",
  H: "bb5@2 ~@4 bb5@5 ~ [g5,ab5,a5] f5 [d5,e5] c5 [a4,b4] [f4,g4] e4 [c4,d4] b3 a3 ~@2", // Dsus2 Asus2 Fsus2 Csus2
  I: "~@6 g5@4 bb5 ~ bb5@3 ~ g5 ~ bb5@3 ~ bb5@2", J: "g5@3 ~@7 bb5@2 ~@12", K: "~@2 ab5 ~@5 gb5 ~@3",
  L: "~@4 f5@2 ~@10 e5 ~@7", M: "~@5 eb5 ~@6", N: "~@6 d5@3 ~ f5 ~ f5@3 ~ d5 ~ f5@3 ~ f5@2", O: "db5 ~@4 gb5 ~@6",
  P: "~@4 db5@2 ~@4 db5 ~ d5@3 ~@3 d5@3 ~@3",
  Q: "[eb4,eb5]@4 [gb4,gb5]@2 [bb4,bb5]@3 ~ [bb4,bb5]@5 a5 [a4,ab5] ab4 [eb4,eb5]@4 [gb4,gb5]@2", // Eb Gb Bb Amaj7 Eb Gb
  R: "[bb4,bb5]@4 [b4,b5]@2 [bb4,bb5]@3 ~ [bb4,bb5]@3 ~@3 [b4,f6]@5 [d6,e6] c6 [a5,b5], ~@16 [eb6,e6] ~@7", // Bb B Bb Bdim Dsus2 Asus2 Emaj7
  S: "[f5,g5] e5 ~@22", T: "bb5@2 ~@4 bb5@5 ~@13", U: "~@4 [b4,b5]@3 ~@5 [b4,b5]@3 ~@9",
  V: "~@6 e5@4 g5 ~ g5@4 e5@2 g5@3 ~ g5@2, ~@22 gb5 ~", W: "e5 ~@11",
  X: "~@4 [eb4,eb5]@3 ~@3 [eb4,eb5] ~ [eb4,eb5]@2 ~@4 [eb4,eb5]@2 ~@4", Y: "~@3 f5@2 ab5 ab5@2 f5 ab5@2 ab5",
  Z: "gb5 ~@7", AA: "~@6 b5@3 ~ b5@2 ~@4 b5@2 e6@5 ~", AB: "~@4 e5 ~@7 e5@9 ~@3",
})).s("gm_brass_section").gain(0.44)

// chords · trumpet
const trumpet = note(`<
  ~@16 A B ~@14 A B ~@9 C D ~ E F ~@3 G D ~ H I ~@14 J K L M N O P Q R ~@2 G D ~ H S T U V W ~ X Y ~ Z AA ~@10
>`.pickRestart({
  A: "~@6 [bb3,g4]@4 bb4@2 ~ db4@3 [bb3,g4] ~ [db4,bb4]@3 ~ [db4,bb4]@2, ~@6 gb4 ~@3 db4 ~ bb4@3 ~@9", // Eb Gb
  B: "bb3 ~@4 [db4,bb4] ~@6, g4 ~@23", C: "~@6 d4@3 ~ f4 ~ f4@3 ~ d4 ~ f4@3 ~ f4 ~, ~@6 db4 ~@17", D: "db4 ~@7",
  E: "~@6 eb5@3 ~@2 gb5@2 ~@3 eb5@2 ~ gb5@3 ~@2", F: "~@7 f5@3 ab5 ~@2 ab5@4 f5@2 ab5@3 ~@2",
  G: "~@6 d4@3 ~ f4 ~ f4@3 ~ d4 ~ f4@3 ~ f4@2", H: "~@3 [c5,eb5] ~ [eb5,g5] ~@2 [c5,eb5] [eb5,g5] ~@2",
  I: "bb5@2 ~@4 [g5,bb5]@5 a5 [e5,f5,g5] d5 [c5,d5,e5] [a4,b4,c5] [g4,b4] [f4,a4] [d4,e4,f4,g4] [c4,e4] d4 [b3,c4] ~@2, g5 ~@12 f5@2 ~@9", // Gm Em C Am G F Em7 C …
  J: "~@2 ab5 ~@5 gb5 ~@3", K: "~@2 f5 ~@5 e5 ~@3", L: "~@5 eb5 ~@6", M: "~@6 d5@3 ~ f5 ~ f5@3 ~ d5@2 f5@3 ~ f5 ~",
  N: "db5@3 ~@7 gb5@2 ~@12", O: "~@4 db5 ~@5 db5 ~ d5@3 ~@3 d5@3 ~@3",
  P: "eb5@4 gb5@2 bb5@3 ~ bb5@5 b5 ~@2 eb5@4 gb5@2, ~@17 bb5@2 ~@5",
  Q: "bb5@4 ~ bb5@3 ~@2 bb5@3 ~@3 eb6 f6@5 [d6,e6] [b5,c6], ~@2 b5 ~@5 e6 ~@3", R: "a5 [f5,g5] e5 ~@21",
  S: "bb5@2 ~@4 [g5,bb5]@5 ~@13, g5 ~@23", T: "~@4 [ab5,b5]@2 ~@6 [ab5,b5]@3 ~@9",
  U: "~@6 [db5,e5]@3 ~ [e5,g5] ~ [e5,g5]@4 [db5,e5] ~ [e5,g5]@3 ~ [e5,gb5] ~, ~@11 g5", V: "[db5,e5] ~@7",
  W: "~@4 [b4,eb5]@2 ~@4 [b4,eb5] ~ [b4,eb5]@2 ~@4 [b4,eb5]@2 ~@4", X: "~@6 f5@4 ab5 ~ ab5@4 f5 ~ ab5@3 ~ ab5@2",
  Y: "gb5 ~@11", Z: "~@6 [db5,gb5]@3 ~ [db5,gb5]@2 ~@4 db5@2 [db5,gb5]@3 ~@3, ~@16 gb5 ~@7",
  AA: "~@2 [g4,e5] ~@3 [g4,e5]@5 ~", // C
})).s("gm_trumpet").gain(0.44).pan(0.7)

// chords · muted trumpet · "MT TRUMPET"
const muted_trumpet = note("<A@2 B@2 C@2 D@2 ~@56 E F ~@32 G@2 H@2 ~@4>".pickRestart({
  A: "[~@18 [g4,c5,eb5,bb5]@19 ~@11]/2", B: "[~@3 [ab4,c5,f5,bb5]@4 ~]/2", C: "[~@18 [c4,eb4,f4,g4,bb4]@23 ~@7]/2",
  D: "[~@6 [c4,eb4,f4,ab4,bb4]@9 ~]/2", // Fm7
  E: "~@6 [bb4,db5,f5,g5]@4 [db5,f5,g5,bb5] ~ [db5,f5,g5,bb5]@4 [bb4,db5,f5,g5] ~ [db5,f5,g5,bb5]@3 ~ [db5,f5,g5] ~, ~@11 bb5", // Gm7b5
  F: "[bb4,db5,f5,g5]@3 ~@7 [db5,f5,g5,bb5]@4 ~@10", // Gm7b5
  G: "[~@4 gb4 b3@2 ~@5 [eb4,e4,ab4,b4]@32 ~@4, ~@2 [eb4,ab4] ~@21]/2", // Emaj7 Ab5
  H: "[~@4 [gb4,ab4,b4] ~@7 [eb4,e4,ab4,b4]@26 ~@10, ~@2 eb5 ~@21]/2", // Abm7 Emaj7
})).s("gm_muted_trumpet").gain(0.33).pan(0.8)

// other · trombone
// … 111 more lines

More by Sinatra