Strudelify
I Believe in You cover art

1964 · It Might As Well Be Swing

I Believe in You

Sinatra

KeyB minorTempo191 bpm
0:00/0:00
// I Believe in You — Sinatra
// 191 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 108 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(191/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 · piano · "A.PIANO 1" · C5 C#dim G5
const piano = note("<~@10 [d#5 e5@14 ~, a5@15 ~] ~@93 [~@8 [c6,g6]@7 ~] [[c#6,g6]@6 ~ [d6,g6]@2 ~@7] ~@2>")
  .s("gm_piano").gain(0.38)

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

// chords · alto sax
const alto_sax = note(`<
  A@2 B@2 C@4 D E ~@2 F@2 ~@2 G H I ~ J@2 K L M N O ~ D E P Q R@2 D@2 G H I ~ J@2 K L M N S ~ T U V W X Y Z ~ AA AB AC
  AD AE@2 AF@2 AG AH P AI AJ@2 D@2 AK@2 AL@2 AM AN J@2 K L M N AO@2 AP AQ@3 AR@2 AS@2 AT@2 AU AV AW@2 AX@2 AY@2 ~ AZ@3
>`.pickRestart({
  A: "[~@3 [e4,g4,b4]@8 [f4,g4,g#4,c5] [d#4,f#4,a#4]@2 ~ [e4,g4,b4]@2 ~@2 d4@13, ~@12 [e4,b4] ~@19]/2", // Em Fm D#m Em E5
  B: "[~@4 [e4,g4,b4]@6 ~ [e4,f4,a4,b4,c5] [d#4,f#4,a#4]@2 ~ [g4,b4]@2 ~@2 d4@13, ~@12 g4 ~@2 e4 ~@16]/2", // Em Fmaj7 D#m G
  C: "[~@7 [e4,f#4,a4,c#5]@5 [d#4,f4,g#4,c5]@3 [e4,f#4,a4,c#5]@2 ~@2 [e4,f#4,a4,d5] ~@3 [e4,f#4,a4,d5]@5 [d#4,f4,g#4,c#5]@2 ~ [e4,f#4,d5] ~@3 [e4,f#4,a4,c#5]@4 [g4,d5] [f#4,a4,c#5,e5]@6 ~ [d4,g4,a#4,c5]@3 ~@14, ~@31 a4@2 ~@7 [g#4,d#5] ~@23]/4", // F#m7 Fm7 F#m7 D C# D F#m7 G5 …
  D: "~@7 [c4,e4,g4,b4]@3 ~@6", E: "~@7 [b3,e4,g#4,b4]@4 ~@5",
  F: "[~@8 [f#4,a4,c#5]@6 ~ [f4,g#4,c5]@2 ~@15, ~@8 c5 ~@23]/2", G: "~ [c#4,e4,g4]@3", H: "[d4,e4,a4]",
  I: "[c#4,d#4,f#4,a#4]@15 ~", // D#m7
  J: "[~@3 [e4,g4,b4] ~@3 [e4,g4,b4]@3 [d4,a4] f#4 [c4,e4,g4]@3 [f#4,a4] ~@16, ~@15 d4@2 ~@15]/2", // Em D5 C F#m
  K: "~@4 [d4,f#4,a4]@2 ~ [d4,f#4,a4]@2 ~@2 [c#4,e4,g#4] [b3,d4]@2 ~@2, ~@12 f#4 ~@3", // D C#m Bm
  L: "[d4,f#4,a4]@6 ~ [d4,f4,g#4]@8 ~", M: "~ [e4,g4,b4] [e4,g4,d5]@2",
  N: "[d#4,f#4,b4] [d#4,f#4,a4,d5]@2 [d#4,f#4,b4]", O: "[d4,f#4,a4] ~", P: "~@8 c4@7 ~", Q: "c#4@7 a#3@9",
  R: "[a3@6 ~ [a#4,b4] [d4,f#4,a4,c#5]@6 ~ [d4,f4,g#4,c5]@2 ~@15, ~@8 c5 ~@23]/2", S: "[b3,d4,e4] ~",
  T: "[a#3,c4,d#4,g4] [g#3,c4,f4]", U: "[c#4,f4,g#4,c5]@7 [c#4,f4,g4,a#4]@7 ~@2",
  V: "~@3 [a#4,c5,c#5,d5] [g4,a#4,c5,d#5]@10 a#4 [e4,f4,g4,g#4], ~@4 b4 ~@11", // Cm7
  W: "[a3,c#4,d#4,f#4]@8 [a3,c#4,d#4,f4]@5 ~@3", X: "[g#3,c4,c#4,f4]", Y: "[a#3,c#4,f4,g4]", Z: "[c4,d#4,g4,a#4]",
  AA: "~@3 [a3,c4]@5 [g3,a#3]@8, ~@3 [d4,f4]@13", AB: "[a#3,g4]@6 ~ g4@5 [c4,f4]@4, d#4, d4@3 ~, ~@7 a3@9",
  AC: "~ [a4,c5,d5,f5]@3", AD: "[c4,d4,f4,a4]@7 [d4,f4,g4,a#4]@9",
  AE: "[~@8 [d4,a4,c5]@2 ~@2 [d4,f4,a4,c5]@2 ~ [a#3,d4,e4,a4]@14 ~@3, ~@8 f4 ~@23]/2", // D7 Dm7 A#maj7
  AF: "[~@3 [g4,b4,c5,e5]@5 [g4,b4,c5,e5]@3 [g4,b4,c5,e5]@2 ~@2 [g4,b4,c5,d5]@5 ~ b4@2 ~@9, ~@20 [f#4,c5,d5]@3 ~@9]/2", // Cmaj7 G D7
  AG: "~@7 [c4,e4,g4,b4]@5 ~@4", AH: "~@7 [b3,e4,g#4,b4]@5 ~@4", AI: "b3@7 ~ a#3@8",
  AJ: "[a3@6 ~ [d#4,e4,f#4,g4,a4,b4] [d4,f#4,a4,c#5]@6 ~ [d4,f4,g#4]@2 ~@15, ~@8 [f4,g#4,c5] ~@6 c5 ~@16]/2", // B7 Dmaj7 Ddim Fm
  AK: "[~@4 [b3,c#4,e4,g4]@8 [b3,c#4,e4,g4]@3 [a#3,d4,e4,a4]@7 ~ [e4,a4]@2 ~@7, ~@23 [a#3,d4] ~@8]/2", // C#m7b5 A#maj7 A5 A#
  AL: "[~@3 [c#4,d#4,f#4,a#4]@5 [c#4,d#4,f#4,g#4]@6 ~ [c#4,d#4,f#4,a#4]@5 [c#4,d#4,f#4,g#4]@5 ~@2 [c#4,d#4,f#4,a#4]@4 ~]/2", // D#m7 C#sus4 D#m7 C#sus4 D#m7
  AM: "[d4,a4]@2 ~ [d4,a4,b4] ~@3 [d4,f#4,a4,b4]@4 ~ [d4,f#4,a4,b4]@2 ~ [d4,f#4,a4,b4], [f#4,b4] ~@2 f#4@2 ~@11", // D5 Bm7 B5
  AN: "[c4,f4,g#4,a#4]@2 ~ [c4,g#4,a#4]@2 ~@11, ~@3 f4 ~@12", AO: "[[a3,b3,d4,e4]@15 ~]/2",
  AP: "~@3 [b3,e4,f#4,a4,c#5]@5 [a3,d4,e4,g4,b4]@3 [b3,e4,f#4,a4,c#5] ~@3 [a#3,e4,f#4,a4,d5]", // F#m7 Em7 F#m7 D
  AQ: "[~@3 [a#3,e4,f#4,a4,d5]@5 [a#3,e4,g4,c5]@3 [e4,a4,d5] ~@3 [c#4,d#4,f#4,a#4]@18 ~@3 [f#4,a#4,c#5]@8 [d#4,g4,c5]@2 ~@2, ~@11 [a#3,f#4]@2 ~@35]/3", // D C7 Dsus2 D#m7 F# Cm D#m
  AR: "[[c#4,f#4,b4]@8 [c4,e4,a4]@7 [b3,d4,g4]@2 ~@3 [b3,d4,f#4,a4,c#5]@8 [b3,d4,g#4] ~@3, ~@14 [f4,c5] ~]/2", // F#sus4 Am G Bm7 G#dim F5
  AS: "[[c4,e4,g4,b4]@7 ~ [c4,e4,f#4,b4]@6 ~ [b3,d4,g4] ~@4 g#4@8 g4@2 ~@2, ~@8 a#4 ~@6 e4@2 ~@3 [d4,e4,b4]@11 ~]/2", // Cmaj7 G E7
  AT: "[~@3 [b3,c4,e4] ~@3 [b3,c4,e4,g4]@4 [f#3,f#4] [e3,e4]@3 [e3,e4]@8 [d#3,d#4]@8 ~, ~@3 g4@2 ~@27]/2", // Cmaj7 F# E D#
  AU: "~@4 f#4@2 ~ g4 f#4@3 d4 b3@2 ~ d4", AV: "f#4@2 ~ d4 b3@2 ~ d4 ~@8",
  AW: "[[c#4,e4,g4,b4]@2 ~ [e4,b4]@2 ~@2 [c#4,e4,g4,b4]@5 [c#4,e4,g4,b4]@2 ~ [d#4,g4,d5] ~@3 [d#4,g4,b4,d5]@5 [d#4,g4,b4,d5]@2 ~ [d#4,g4,b4,d5] ~@4, ~@3 [g4,c#5] ~@11 b4@2 ~@15]/2", // C#m7b5 E5 C#m7b5 D#maj7 G Gdim
  AX: "[~@4 [d4,f#4,a4,c#5]@2 ~ [d4,f#4,a4,c#5] [d4,f#4,a4,c#5]@2 ~ [d4,f#4,a4] ~@3 [c4,d4,g4,a#4,d5]@13 ~@4, ~@11 c#5@2 ~@19]/2", // Dmaj7 D Gm
  AY: "[~@6 a#4 [b4,c5] [f4,g4,a#4,d5]@7 [a3,c4,e4,g4]@17]/2", AZ: "[~@2 [e4,f#4,a4,b4,c#5]@5 ~]/3",
})).s("gm_alto_sax").gain(0.29)

// other · tenor sax
const tenor_sax = note(`<
  A@2 B@2 C@2 D@2 E F ~@6 G H I ~ J@2 K L M N O ~ E F ~@4 E@2 G H I ~ J@2 K L M N P ~ Q R S T ~@4 U V W X Y@2 ~@2 E F Z
  AA P ~ E@2 ~@6 J@2 K L M N AB AC ~ AD@3 ~@18
>`.pickRestart({
  A: "[~@3 d4@9 c#4@2 ~ d4@2 ~@2 d4@13]/2", B: "[~@4 c4@6 ~ [c4,d4] b3@2 ~ c4@2 ~@2 d4@13]/2",
  C: "[~@7 b3@5 a#3@3 b3@2 ~@2 b3 ~@3 b3@5 a#3@2 ~ b3]/2", D: "[~@3 a3@3 b3 c4 c#4@6 ~ g#3@3 ~@14]/2",
  E: "~@7 g3@2 ~@7", F: "~@7 f3@2 ~@7", G: "~ [e3,b3]@3", H: "[f#3,a#3]", I: "[f#3,a#3]@7 ~",
  J: "[~@3 c4 ~@3 c4@4 a3 c4@2 ~ [a3,d4]@2 ~@15]/2", K: "~@4 [a3,c#4]@2 ~ a3@2 ~@2 [g#3,b3] [f#3,a3] ~@3, ~@7 c#4 ~@8",
  L: "[a3,c#4]@5 ~@2 [g#3,c4]@8 ~", M: "~ c4 c4@2", N: "c4 c4@2 c4", O: "b3 ~", P: "a3 ~", Q: "d#3@7 ~ f3@7 ~",
  R: "g#3@6 ~ a#3@8 ~", S: "~@4 c4@10 f#3 [e3,f3]", T: "d#3@2 d#3 ~", U: "~@3 a3@5 g3@7 ~", V: "a#3@7 a3@9",
  W: "~ d4@3", X: "a3@7 a#3@9", Y: "[~@4 d4 ~ d4 c4@7 ~@2]/2", Z: "~ c4", AA: "b3@7 ~ a#3@8",
  AB: "b3@3 ~ d4@3 b3 d4@3 b3 g3@3 b3", AC: "d4@2 ~ b3 d4@2 ~ b3 g3@3 b3 d4@3 b3", AD: "[~@5 c#4@6 ~@5]/3",
})).s("gm_tenor_sax").gain(0.2).pan(0.4)

// chords · brass section · "BRASS 1"
const brass_section = note("<A@2 B C D@2 E@2 ~@52 F@2 G@2 ~@22 H I@3 J ~@14 K@3>".pickRestart({
  A: "[~@3 g5@7 g#5 g5 [c#5,f#5]@2 ~ d5@2 ~@2 d5@13, ~@3 d5@9 ~@3 g5 ~@16]/2", // F#5
  B: "~@4 [c5,g5]@7 a5 [b4,f#5]@2 ~ [c5,g5], ~@12 g5 ~@3", C: "~@3 d5@11 ~@2",
  D: "[~@7 [c#5,a5]@5 [c5,g#5]@2 ~ [c#5,a5]@2 ~@2 a5@2 ~@2 d5@5 [c#5,g#5]@3 [d5,a5], ~@19 d5 ~@2 a5@5 ~@5]/2", // F#m Fm F#m C#5 D5
  E: "[~@3 f#5@4 c#6 e6@6 ~ [g5,a#5]@2 ~@15, ~@8 d6 ~@23]/2", F: "[~@4 e5 ~ e5 c5@7 ~@2]/2",
  G: "[~@3 g5@5 f#5@3 a5@2 ~@2 d5@5 f#5@2 ~@10]/2", H: "~@3 a5@5 g5@2 ~ a5@2 ~@2 a5",
  I: "[~@3 a5@5 g5@3 a5 ~@3 a#5@18 ~@3 c#6@8 c6 ~@3]/3", J: "b5@8 a5@6 ~ g5", K: "[~@2 [f#5,b5,e6]@5 ~]/3",
})).s("gm_brass_section").gain(0.46).pan(0.7)

// chords · trumpet
const trumpet = note(`<
  A@2 B C D@2 E@2 F G ~@44 H I ~@4 J@2 K@2 F G ~@2 L ~ M N ~@2 O@2 P Q ~@6 R S@4 T U ~@2 V ~@4 W X Y@2 Z@2 ~ AA@3
>`.pickRestart({
  A: "[~@3 e5@9 d#5@2 ~ e5@2 ~@2 d5@13]/2", B: "~@4 e5@6 f5 e5 d#5@2 ~ e5", C: "~@3 d5@13",
  D: "[~@7 f#5@5 f5@2 ~ f#5@2 ~@2 f#5@2 ~@2 f#5@5 f5@2 ~ f#5]/2",
  E: "[~@3 f#5@4 [c#6,d6] e6@6 ~ c6@3 ~@14, ~@8 d#6 ~@23]/2", F: "~@7 b4@4 ~@5", G: "~@7 e5@4 ~@5",
  H: "~@4 [a#4,c5,f5]@2 ~ [a#4,c5,f5] [a#4,c5,f5]@2 ~ [a#4,c5,f5] ~@4", // A#sus2
  I: "[a#4,d5] ~@6 [b4,d#5,f5]@5 [d5,f5]@2 ~@2, f5@2 ~@10 b4 ~@3", J: "[~@4 e5 ~ e5 c5@7 ~@2]/2",
  K: "[~@3 g5@5 f#5@3 a5@2 ~@2 d5@5 f#5@2 ~@10]/2", L: "~@8 a4@5 ~@2 g#4", M: "~@7 [g4,b4,c5,e5]@3 ~@6",
  N: "~@7 [b4,c5,e5,g5]@3 ~@6", O: "[~@3 [c#5,f#5]@5 [c#5,f#5]@5 ~@2 [c#5,f#5]@5 [c#5,f#5]@6 ~ [c#5,f#5]@5]/2",
  P: "[c#5,e5]@2 ~ [c#5,e5]@2 ~@2 [c#5,e5]@5 [c#5,e5]@2 ~ [c#5,e5]", Q: "[d5,e5]@2 ~ e5@2 ~@11, ~@3 d5 ~@12",
  R: "~@4 f#5@2 ~ g5 e5@2 ~ d5 b4@2 ~ d5",
  S: "[f#5@2 ~ g5 f#5@2 ~ d5 b4@3 d5 f#5@2 ~ e5@2 ~@2 a5@5 [e5,g5]@3 [f#5,a5] ~@3 a5@2 ~@2 a5@5 [e5,g5]@2 ~ [f#5,a5] ~@3 [f#5,a#5]@17, ~@18 f#5@5 ~@8 f#5 ~@2 f#5@5 ~@25]/4", // Em F#m Em F#m F#
  T: "~@2 [f#5,a#5,c#6]@4 [e5,g5,c6] ~", U: "[d#5,f#5,b5]@7 ~ [c5,e5,a5]@5 ~@2 [b4,d5,g5]", V: "~@2 e5@5 ~",
  W: "e5@2 ~ f#5@2 ~@2 e5@5 e5@2 ~ f5", X: "~@3 f5@5 f5@2 ~ f5@2 ~@3",
  Y: "[~@4 f#5@2 ~ f#5 f#5@2 ~ f#5 ~@3 g5@13 ~@4]/2", Z: "[~@8 d5@6 ~ g4@16 ~]/2", AA: "[~@12 d6@7 c#6@23 ~@6]/3",
})).s("gm_trumpet").gain(0.44).pan(0.7)

// chords · muted trumpet · "MT TRUMPET"
const muted_trumpet = note(`<
  ~@11 A B ~@5 C D E@2 F G ~@2 H I J K ~@4 L M ~@2 C D E@2 F G ~@2 H N O P Q R@4 ~@15 S T ~@2 U@2 V W E@2 F G ~@2 X Y ~
  Z@3 ~@4 AA@2 AB AC AD ~ AE@2 ~@6
>`.pickRestart({
  A: "e4@5 ~@11", B: "~@4 d4@3 d4", C: "~@4 [a#4,d#5]@2 ~ [c#5,f#5]@5 a#4@2 ~@2, ~@12 d#5 ~@3",
  D: "[c#5,f#5]@6 ~ [c#5,f5]@8 ~", E: "[~@3 [c5,g5] ~@3 [c5,g5]@4 [a4,f#5] [c5,e5]@2 ~ a4@2 ~@15, ~@15 f#5 ~@16]/2",
  F: "~@4 [d5,f#5]@2 ~ [d5,f#5]@2 ~@2 [c#5,e5] [b4,d5]@2 ~@2", G: "[c#5,f#5]@6 ~ [c5,f5]@7 ~@2",
  H: "~@7 d5 [b4,d5,e5]@2 ~ f#5 [b4,e5]@2 ~ d5, ~@12 d5 ~@3", I: "[b4,d5,e5]@2 ~ [b4,d5,e5] ~@12",
  J: "~@7 [g4,b4]@3 ~@6", K: "~@7 [g#4,e5]@4 ~@5", L: "~@7 [g4,b4,c5,e5]@3 ~@6", M: "~@7 [b4,c5,e5,g5]@3 ~@6",
  N: "[c5,g5]@2 ~@2 g5@2 ~ [c5,g5]@4 f#5 [c5,d#5,f5] ~@3, ~@4 c5 ~@11", O: "d#5@2 ~@2 f5@2 ~@2 g#5@3 ~ a#5@2 ~@2",
  P: "g#5@2 ~@2 e5@2 ~ d#5@3 ~ c5 ~ b4@2 g4, ~@3 f5@2 ~@11", Q: "~ a#4@2 c5 ~ g#4@2 ~ a#4@5 ~@3",
  R: "[~@15 e5@2 ~@2 f5@3 ~ d#5 e5@2 ~ f5 e5@2 ~ d#5@2 ~@2 d#5@2 ~@3 c5@3 ~ g4@2 ~ a#4@8 ~@9, ~@40 b4 ~@6 a4 ~@16]/4",
  S: "~@7 e5@3 ~@6", T: "~@7 g5@2 ~@7", U: "[~@3 f#5@5 f#5@6 ~ f#5@5 f#5@6 ~ f#5@5]/2",
  V: "e5@2 ~ e5 ~@3 e5@5 e5@2 ~ e5", W: "e5@2 ~ e5@2 ~@11", X: "~@4 f#5@2 ~ g5 e5@2 ~ d5 b4@2 ~ d5",
  Y: "f#5@2 ~ g5 f#5@2 ~ d5 b4@2 ~ d5 f#5@2 ~ e5", Z: "[~@15 d#5@19 ~@14]/3",
  AA: "[~@3 a5@8 ~ g5@2 ~@2 f5@2 ~@2 d5@2 c#5@2 c5@2 ~ d5 b4@2 ~ a#4, ~@15 f#5@2 ~@2 d#5@2 ~@11]/2", AB: "a4@3 ~@5",
  AC: "~@4 a#5@7 ~ a5@2 g#5@2", AD: "g5@2 ~@2 f5@2 ~ e5 d#5@2 ~ d5 c5 ~@3, ~@3 f#5@2 ~@11",
  AE: "[~@4 c#5@2 ~ c#5 c#5@2 ~ c#5 ~@3 d5@13 ~@4]/2",
})).s("gm_muted_trumpet").gain(0.28).pan(0.6)

// chords · trombone
const trombone = note(`<
  A@2 B@2 ~@2 C@2 D E ~ F ~@2 G@2 ~@2 H I J@2 K L ~@2 M N D E ~ O P@2 D Q ~@2 H I J@2 K L ~@2 R S ~@6 T U ~@4 V@2 W@2 X
  Y ~ Z AA@2 D Q AB@2 ~@4 J@2 K L ~@2 AC AD AE AF AG AH AI@2 AJ@2 ~@2 AK AL AM AN AO@2 AP@2 ~ AQ@3
>`.pickRestart({
  A: "[~@3 a3@8 [a3,b3] g#3@2 ~ a3@2 ~@6 [b3,d4,f4,a#4]@5 ~@4]/2", // Asus2 A#
  B: "[~@4 b3@6 ~ [b3,c#4] a#3@2 ~ b3@2 ~@6 [c4,e4,g4,b4]@6 ~@3]/2", C: "[~@3 a3@5 c#4@5 ~@2 c4@3 ~@14]/2",
  D: "~@7 [g3,b3,c4,e4]@3 ~@6", E: "~@7 [f3,b3,c#4,e4]@3 ~@6", F: "~ b3@7 ~@8, [c#3,g3]@7 ~@9",
  G: "~@3 c4 d4@3 a3 c4@2 ~ d4 ~@4", H: "~@7 [a#3,c#4,d#4,f#4]@5 [c#4,f#4]@2 ~@2, ~@12 [a#3,d#4] ~@3",
  I: "[a3,c#4,d4,f#4]@6 ~ [g#3,c#4,d4,f4]@9", // Dmaj7 C#
  J: "[~@3 [g3,e4] ~@3 [g3,e4]@3 ~ [e3,d4] [g3,c4]@2 ~ [f#3,c4,d4]@2 ~@15]/2", // C E7 C5 D7
  K: "~@4 [c#4,d4]@2 ~ [a3,d4]@2 ~@2 [g#3,b3,c#4] [f#3,b3]@2 ~@2, ~@4 a3 ~@2 c#4 ~@4 a3 ~@3", // Dmaj7 D5 C#7 B5
  L: "[a3,c#4,d4]@6 ~ [g#3,c4,d4]@8 ~", M: "~@7 [b3,d4,f#4]@3 [a#3,c#4,e4] [a3,d#4] [g3,b3,d4]@2 ~@2, ~@12 c4 ~@3",
  N: "[f3,b3,d4] ~@2 [f3,b3,d4]@2 ~@11", O: "[g3,b3,e4]@6 ~ [g3,a#3,d4]@2 ~@7",
  P: "[~@8 [f#3,b3,d4]@5 ~@2 [f3,g#3,d4]@2 ~@15]/2", Q: "~@7 [b3,d4,e4,g4]@3 ~@6",
  R: "~@7 [g3,b3,d4] [a3,c4,e4]@2 ~ [b3,d4,f#4] [a3,c4,e4]@2 ~ [g3,b3,d4]", // G Am Bm Am G
  S: "[g#3,a#3,c#4,f4]@2 ~@2 [g#3,a#3,c#4]@2 ~ [g#3,a#3,c#4,f4]@4 [e4,f4] [a#3,c#4,d#4] ~@3, ~@4 f4 ~@7 g3@2 ~@2", // A#m7 Fmaj7 D#7
  T: "~@4 [d#3,g3,a#3,c4]@3 [d#3,g3,a#3,c4] [d#3,g3,a#3,c4]@2 ~ [g3,a#3,c4] ~@4, ~@11 d#3@2 ~@3", // Cm7 C7
  U: "[d#3,g3,a#3,d4]@2 ~@5 [f#3,a3,b3,d#4]@5 [f#3,a3,d4] ~@3, ~@6 b3 ~", // D#maj7 B7 D
  V: "[~@8 [f3,a#3,d4]@2 ~@2 [f3,a#3,d4]@2 ~ [e3,a#3,c4]@14 ~@3]/2", // A# C7
  W: "[~@3 [g3,b3,c4,e4]@5 [g3,b3,c4,d4]@3 [g3,b3,c4,f#4]@2 ~@2 [f#3,b3,c4,d4]@5 [f#3,b3,c4,f#4]@2 ~@10]/2", // Cmaj7 G Gmaj7 Bm B
  X: "~@7 [g3,b3,c4,e4]@5 ~@4", Y: "~@7 [f3,b3,c#4,e4]@5 ~@4", Z: "[g3,e4]@6 ~ [f#3,d4]@2 ~@7",
  AA: "[~@8 [a3,c#4,f#4]@6 ~ g#3@2 ~@15, ~@7 f4 ~@8, ~@15 c4 ~@16]/2", // F#m
  AB: "[~@4 [g3,e4]@8 [g3,e4]@2 ~ [f#3,d4]@7 ~ [f#3,d4]@2 ~@7]/2", AC: "~@4 f#4@2 ~ g4 f#4@2 ~ d4 b3@2 ~ d4",
  AD: "f#4@2 ~ g4 f#4@2 ~ d4 b3@2 ~ d4 f#4@2 ~ e4", AE: "~@3 b3@5 a3@2 ~ b3 ~@3 a#3", AF: "~@3 a#3@5 ~ a#3@2 a#3@2 ~@3",
  AG: "c#4@4 d#4@2 ~ c#4@9", AH: "~@2 [c#4,d#4,f#4,a#4]@4 [a3,c#4,g4] ~, ~@12 d#4 ~@3",
  AI: "[[g3,b3,c#4,f#4]@8 [f#3,a3,c4,e4]@6 ~ [a3,b3]@2 ~@3 [a3,b3,d4,f#4]@8 [b3,d4,f4]@2 ~@2, ~@15 [f#3,d4] ~@12 g#3 ~@3]/2", // Gmaj7 F#m7b5 Asus2 Bm7 Bdim D
  AJ: "[[g3,b3,c4,e4]@7 ~ [f#3,b3,c4,e4]@6 ~ [a3,b3,d4]@2 ~@3 [f3,b3,e4]@11 ~, ~@15 e3 ~@16]/2", // Cmaj7 Esus2 Bm7 E
  AK: "~@4 f#3@2 ~ g3 f#3@3 d3 b2@2 ~ d3", AL: "f#3@2 ~ d3 b2@2 ~ d3 ~@8",
  AM: "[g3,b3,c#4,e4]@2 ~ [b3,c#4,e4,f#4]@2 ~@2 [g3,b3,c#4,e4]@5 [g3,b3,c#4,e4]@2 ~ [a3,c4,d#4,f4]", // C#m7b5 Bsus4 C#m7b5 F7
  AN: "~@3 [a3,c4,d#4,f4]@5 [a3,c4,d#4,f4]@2 ~ [a3,d#4]@2 ~@3, ~@11 [c4,f4] ~@4", // F7 Adim F5
  AO: "[~@4 [a3,d4,f#4]@2 ~ [a3,d4,f#4] [a3,d4,f#4]@2 ~ [a3,d4,f#4] ~@3 [g#3,a#3,d4,g4]@13 ~@4]/2", // D Gm
  AP: "[~@8 [d#3,g3,a#3,d4,f4]@7 [d3,g3,c4,e4]@17]/2", AQ: "[~@2 [a3,b3,d4,f#4]@5 ~]/3",
})).s("gm_trombone").gain(0.36).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A ~ B ~@2 C ~@18 D@2 ~@4 D@2 ~@13 E ~@4 D ~@2 E ~@6 D@2 ~@4 F@2 ~@2 B G ~ B G ~@14 H ~@11 C ~ I
>`.pickRestart({
  A: "~@7 x ~@4 x ~@3", B: "~@15 x", C: "~@3 x", D: "x ~@6 x ~@8", E: "x ~@6 x ~@4 x ~@3", F: "~@7 x ~@8", G: "x",
  H: "~ x ~@2", I: "~@5 x ~@2",
})).gain(0.46)

// drums · rim
// … 36 more lines

More by Sinatra