Strudelify
Something Stupid cover art

1994 · True Love and Other Famous Duets

Something Stupid

Frank Sinatra

KeyD majorTempo103 bpm
0:00/0:00
// Something Stupid — Frank Sinatra
// 103 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 69 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: The whole transcription plays 11 ms ahead of the beat; the grid follows it, so its parts stay together.
setcpm(103/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.

// other · pad new age
const pad_new_age = note("<~@30 A@2 B@4 A@2 ~@8 A@2 B@4 A@2 ~@15>".pickRestart({
  A: "d6 ~@3 a5 ~@3 b5 ~@7", B: "d6 ~@3 b5 ~@3 c#6 ~@7",
})).s("gm_pad_new_age").gain(0.5).pan(0.6)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@2 A B@8 C@8 D@6 E@8 F@2 G@8 H@8 G@8 I@8 J@2>".pickRestart({
  A: "[e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 [e3,g3,b3]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2", // Em A
  B: "[[e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [a3,c#4]@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 [f#3,a3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]!4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 f#3@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]!2 [f#3,a3,c#4]@2 [f#3,c#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,c#4]@2 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]!2 [e3,g3,b3,d4]@2 [e3,d4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,c#4]@2 [e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2, ~@3 g3@37 ~@3 [g3,b3]@5 ~@3 [g3,b3]@5 ~@3 [g3,b3]@5, ~@3 b3@9 ~@3 b3@13 ~@3 b3@5 ~@28, ~@7 e3@33 ~@24, ~@27 a3@5 ~@3 a3@9 ~@3 a3@5 ~@3 a3@5 ~@4]/8", // Em A F#m B5 F#m B5 F#m F#5 …
  C: "[[e3,g3,b3,d4]@2 [e3,g3,b3,d4] [e3,g3,b3] [e3,g3,b3,d4]@2 [e3,d4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [a3,c#4]@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 f#3@2 [g#2,f#3,b3] ~ [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,c#4]@2 [f#3,c#4]!2 [f#3,c#4]@2 [f#3,c#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3,c4,d4] ~ [f#3,a3,c4,d4] [f#3,a3,c4] [f#3,a3,c4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 ~ [f#3,a3] [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,c4,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]!2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 d4@2 [f3,a#3,d4]@2 [f3,a#3,d4]!2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]!2 [e3,b3,d4]@2 [e3,d4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2, ~@3 g3@37 ~@7 [g3,b3]@9 ~@2 g3@6, ~@3 b3@9 ~@3 b3@5 ~@3 b3@17 ~@19 b3@5, ~@7 e3@49 ~@8, ~@22 a3@26 ~@3 d4@3 ~@12 [f#3,a3,c4,d4]@2 ~@10 a3@42 ~@8]/8", // Em7 Em Em7 E7 A F#m G#m7 B5 …
  D: "[[e3,g3,b3,d4]@2 [e3,g3,b3,d4] [e3,g3,b3] [e3,g3,b3]@2 [e3,d4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [a3,c#4]@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 f#3@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]!2 [f#3,a3,c#4]@2 [f#3,c#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [g#3,d4,e4] ~ [f#3,a3,c4,d4] [f#3,a3,c4] [f#3,a3,c4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 ~ [f#3,a3] [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,c4,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]!2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2, ~@3 d4@3 g3@74 ~@16, ~@3 b3@9 ~@3 b3@5 ~@4 b3@16 ~@8, ~@7 e3@41, ~@22 a3@10 ~@6 a3@12 ~ d4@3 ~@12 [f#3,a3,c4,d4]@2 ~@10 a3@18]/6", // Em7 Em E7 A F#m B5 F#m F#5 …
  E: "[[g3,b3,d4]@2 [g3,b3,d4]!2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [b3,d4]@2 [g#3,b3,d4,e4] ~ [g#3,b3,d4,e4] [g#3,b3,d4] [g#3,b3,d4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 ~ [g#3,b3] [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]!2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]!2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 a3@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 f#3@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]!2 [f#3,a3,c#4]@2 [f#3,c#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2, ~@7 g3@49 ~@3 [g3,b3]@5, ~@19 e4@3 ~@12 [g#3,b3,d4,e4]@2 ~@10 d4@82, ~@23 b3@20 a3@5 ~@3 a3@9 ~@4, ~@39 [c#4,e4]@5 ~@3 b3@5 ~@12]/8", // G Bm E7 G#dim E7 G#m E7 C#m …
  F: "[[e3,g3,b3,d4]@2 [e3,g3,b3,d4]!2 [e3,g3,b3,d4]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,c#4]@2 [e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2, ~@3 d4@13, ~@3 [g3,b3]@5 ~@3 [g3,b3]@5, ~@7 a3@5 ~@4]/2", // Em7 A C#m Em A G
  G: "[[e3,g3,b3,d4]@2 [e3,g3,b3,d4] [e3,g3,b3] [e3,g3,b3,d4]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [a3,c#4]@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 f#3@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,c#4]@2 [f#3,c#4]!2 [f#3,c#4]@2 [f#3,c#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4] [f#3,a3,c4] [f#3,a3,c4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 ~ [f#3,a3] [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4,d4]@2 [f#3,c4,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]!2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 d4@2 [f3,a#3,d4]@2 [f3,a#3,d4]!2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]!2 [e3,b3,d4]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2, ~@3 g3@37 ~@7 [g3,b3]@9 ~@2 g3@6, ~@3 d4@12 b3@5 ~@3 b3@17 ~@19 [b3,d4]@5, ~@6 b3@16 a3@26 ~@3 d4@3 ~@12 [f#3,a3,c4,d4]@2 ~@10 a3@42 ~@8, ~@7 e3@49 ~@8]/8", // Em7 Em Em7 A F#m B5 F#5 B5 …
  H: "[[e3,g3,b3,d4]@2 [e3,g3,b3,d4] [e3,g3,b3] [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [a3,c#4]@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 f#3@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]!2 [f#3,a3,c#4]@2 [f#3,c#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 f#3@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]!2 [f#3,a3,c#4]@2 [f#3,c#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,c#4]@2 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]!2 [e3,g3,b3,d4]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,c#4]@2 [e3,g3,b3]@2 [e3,g3,b3]!2 [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2, ~@3 d4@3 d4@90 ~@6 d4@26, ~@3 g3@37 ~@3 [g3,b3]@5 ~@3 [g3,b3]@5 ~@3 [g3,b3]@5, ~@3 b3@8 a3@4 b3@4 a3@4 b3@4 a3@4 b3@4 a3@9 ~@3 a3@5 ~@3 a3@5 ~@4, ~@7 e3@33 ~@24]/8", // Em7 Em A F#m B5 F#m F#5 B5 …
  I: "[[e3,g3,b3,d4]@2 [e3,g3,b3,d4] [e3,g3,b3] [e3,g3,b3]@2 e3@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [a3,c#4]@2 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 ~@2 [f3,a#3]@16 [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 f#3 ~ [f3,a#3]@2 [f3,a#3]!2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3] ~ [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 f#3 ~ [f3,a#3]@2 [f3,a#3]!2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3] ~ [f#3,a3]@2 [f#3,a3]!2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 a3@2, ~@3 d4@3 [g3,b3,d4]@122, ~@7 e3@57, ~@30 [f#3,a3]@18 ~@14 a3@18 ~@14 a3@18 ~@14 f#3 ~]/8", // Em7 Em A F#m A#5 F#m A#5 F#m …
  J: "[[f3,a#3]@2 [f3,a#3]!2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [c#3,e3,a3]@2 a3@2 [a3,d4]@16, ~@7 e3@9, ~@14 c#3 ~ f#3 ~@15]/2", // A#5 A D5
})).s("gm_acoustic_guitar_steel").gain(0.5).pan(0.3)

// other · music box
const music_box = note(`<
  ~@5 A@3 B ~ C@2 D E@2 F G H I@2 J K L@2 M N O P Q ~ R@2 B ~ C@2 D K L@2 S T@3 J ~@8 K L@2 S T@3 J U J U J U J ~@2
>`.pickRestart({
  A: "[~@7 f#3@17]/3", B: "g3@2 b3 a3@5", C: "g3/2", D: "f#3", E: "[~@7 f#3@5 a3@4]/2", F: "c4", G: "b3@3 ~",
  H: "~@13 f#3@3", I: "[g3@15 a3]/2", J: "g3@3 f#3@5", K: "~@7 f#3", L: "[a3 c4@3]/2", M: "b3@7 ~", N: "~@7 g#3",
  O: "b3 d4", P: "e4", Q: "d4@3 c#4@5", R: "f#3/2", S: "b3", T: "[~@7 g3@16 a3]/3", U: "~@3 a3",
})).s("gm_music_box").gain(0.5)

// chords · orchestral harp
const orchestral_harp = note("<~ A@2 B C@8 D E@6 F@7 G@8 ~@2 D E@6 H@8 ~ D E@6 I@7 J@3>".pickRestart({
  A: "[~@3 d4@2 ~@3 f#4@3 g4@2 a4@3 ~@2 g4@3 f#4 g4 e4@8 ~, ~@5 d4@27, ~ a4, ~@23 f#4 ~@8]/2",
  B: "~ g4 f#4 g4 e4@2 ~@2 c#4@2 a3@2 b3@2 c#4@2, a4, ~@3 d4@5",
  C: "[d4@5 c#4 e4 [f4,f#4,g4] ~@6 g4 f#4 f#4@2 ~@2 a3@2 g3@2 f#3@2 d3@2 a2@2 g2@2 ~@38 g4 f#4 e4@2 g4@2 ~@2 g4 f#4 b3@2 a3 b3@2 [a3,b3] ~@2 [c#4,e4]@2 [e4,g4]@4 ~@34, ~@3 d4@6 d4@55, ~@7 a4@121, ~@16 g4 ~@63 a3 ~@47]/8", // Asus2 C#m Em
  D: "~@6 c#4 b3 c#4 ~@2 f#4 g4@2 a4@2, ~@9 d4@7, ~@5 e4 ~@2",
  E: "[[f#4,a4]@3 [f#4,a4]@3 [f4,f#4] ~ [f4,f#4] ~ a4@4 ~ f#4 ~@64 [g4,b4,d5] ~@5 [e4,c#5] ~@9, f4 ~@2 f4 ~@2 a4@2 a4@2 f#4 ~@3 a4@72 a4@10, ~ d4@5]/6", // F#m F#maj7 G C#m
  F: "[[g4,b4,d5] ~@5 [e4,c#5] ~@41 d4@64, ~@3 a4@53]/7", // G C#m
  G: "[~@102 g4 f#4 e4@2 g4@2 ~@2 g4 f#4 b3@2 ~ b3@2 b3 ~@2 [c#4,e4]@2 [e4,g4]@4 ~@2, d4]/8", // C#m Em
  H: "[[g4,b4,d5] ~@5 [e4,c#5] ~@79 g4 f#4 e4@2 g4@2 ~@2 g4 f#4 b3@2 a3 b3@2 [a3,b3] ~@2 [c#4,e4]@2 [e4,g4]@4 ~@18, ~@3 a4@61, ~@96 a3 ~@31]/8", // G C#m Asus2 C#m Em
  I: "[[g4,b4,d5] ~@5 [e4,c#5] ~@46 f#3 g3 a3 [b3,c#4] ~@25 [f#3,g3] ~ [a3,b3] c#4 ~@10 a#3@10 ~@6, ~@3 a4@53, ~@57 d4@28 d4@27]/7", // G C#m Bsus2 Gmaj7 Asus2
  J: "[~ f#3 g3 a3 [b3,c#4] ~@8 [b3,c#4] a3 ~ f3@12 ~@20, ~@5 d4@43]/3", // Bsus2
})).s("gm_orchestral_harp").gain(0.5).pan(0.7)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@2 A@2 B C D@2 E@4 D@2 F@2 G H A@2 B I F@2 G J K@2 L M D@2 E@4 D@2 N@2 G O A@2 B P D@2 E@4 D@2 N@2 G O A@2 Q R Q R Q
  R Q S T
>`.pickRestart({
  A: "[e3,g3,b3,d4] [e3,a3,c#4]", B: "[d3,f#3,a3] [d3,f#3,b3]", C: "[d3,f#3,a3,d4]", D: "[a3 b3 c#4 b3, [d3,f#3]]/2",
  E: "[b3 c#4 d4 c#4, [e3,g3]]/2", F: "[d4,f#4,a4,c5,d5]/2", G: "[d4,g4,b4]", H: "[f4,a#4,d5] [d4,f4,a#4]",
  I: "[d3,f#3,c#4] [d3,f#3,b3]", J: "[b3,d4,g4]", K: "[e4,g#4,b4,d5]/2", L: "[e4,a4,c#5]", M: "[c#4,e4,a4]",
  N: "[d4,f#4,a4,c5]/2", O: "[f4,a#4,d5] [d4,f4,a#4], f5", P: "[d3,f#3,c#4] ~", Q: "[d3,f#3,a3]", R: "[d3,f3,a#3]",
  S: "[d3,f3,a#3]@3 [c#3,e3,a3]", T: "[f#3,a3,d4] ~@3",
})).s("gm_string_ensemble_2").gain(0.18)

// chords · string ensemble 1
const string_ensemble_1 = note("<~@17 A ~@2 B C ~@2 D E F@2 G H@8 I@8 J@6 K L@8 M@6 N@3>".pickRestart({
  A: "[d4,f4,a#4,d5]", B: "~@6 [f#4,a4] [d5,f#5]", C: "[a4,c#5]@2 [a#4,c5,d5,e5] [c#5,f5] [d5,f#5]@10 ~@2",
  D: "~@5 [g4,g5] [f#4,f#5] [g4,g5]", E: "[d4,f#4,f#5] [d4,d5] [b3,b4] [e4,e5]@5, b3 ~@3",
  F: "[[g#4,b4,d5]@31 ~, e4@17 ~@15]/2", G: "~@8 [b4,b5] ~ [a4,a5]@3 ~ [a4,a5] [e4,e5], [e4,c#5], a4@5 ~@3",
  H: "[a4@8 [a3,a4]@2 [c#4,c#5]@2 [f4,f5]@2 [a4,a5]@2 [a4,a5]@9 ~@103, e4, c#4@5 ~@59, a5@3 ~@61]/8", // A C# F A
  I: "[~@12 [d4,d5,e5] [f#4,f#5] [g4,a4,g5,a5] [b4,b5] [c5,c6]@10 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [a4,a5]@10 [g4,g5]@2 [f#4,f#5]@2 [g4,g5]@2 [b4,d5,f#5]@3 e5@2 ~ [b4,e5]@10 [f4,a#4,d5]@7 ~ [d4,f4,a#4]@8 [e3,g3,b3,d4]@7 ~ [e3,a3,c#4]@7 ~ [e3,g3,b3,d4]@7 ~ [e3,a3,c#4]@7 ~ [d3,f#3,a3]@7 ~@5 [f#4,a4]@2 [d5,f#5]@2, ~@3 e4@29, ~@3 g4@5, ~@48 d4@15 ~@65, ~@51 b4 ~@12 f5@16 ~@48]/8", // Dsus2 F# Gsus2 B C B A G …
  J: "[[a4,c#5]@2 [a#4,c5,d5,e5] [c#5,f5] ~@8 [a3,b3,a4,b4] [c#4,c#5] [d4,d5,e5] [f#4,f#5,g5] a5@4 a5@2 [a4,a5]@2 [b4,b5]@4 [b4,b5]@2 ~@2 [c#5,c#6]@4 [c#5,c#6]@2 ~@2 [d5,d6] ~ [d5,d6]@2 ~@2 [a4,a5]@2 ~@4 [d5,d6]@2 ~@24 [a4,a5]@2 [b4,b5]@4 [b4,b5]@2 ~@2 [c#5,c#6]@4 [c#5,c#6]@2 [c#5,c#6]@2, ~@2 [d5,f#5]@5 e4@41, ~@5 g4@27, ~@20 a4 ~@9 [b4,b5]@18 [b4,b5]@32 ~@6 [b4,b5]@10, ~@19 [c#5,c#6]@3 [c#5,c#6]@5 [c#5,c#6]@17 ~@4]/6", // A C7 C# Asus2 C# Dsus2 Gmaj7 A …
  K: "[d5,d6]@2 [d5,d6] ~@4 [a4,a5], ~@3 [d5,d6]@2 [d5,d6]@3, ~@2 [c#5,c#6]!2", // D A D C#
  L: "[~@28 [d4,e5] [f#4,f#5] [a4,g5,a5] ~ [c5,c6]@10 ~@2 [a4,a5]@2 g5@2 [a4,a5]@10 g5@2 [f#4,f#5]@2 [g4,g5]@2 [b4,f#5]@3 b4@3 e5@10 [f4,a#4]@7 ~ [d4,f4,a#4]@8 [e3,g3,b3,d4]@7 ~ [e3,a3,c#4]@7 ~ [e3,g3,b3,d4]@8 [e3,a3,c#4]@6 ~@2, [b4,b5]@6 [b4,b5]@24 g4 [b4,b5]@11 b5@22 [d4,d5]@3 e5 ~@2 b4@10 [d5,f5]@48, ~ [c#5,c#6]@31, ~@7 e4@25, ~@14 d5@7 b4@2 g4@6 g4@2 ~ g4@32]/8", // Dsus2 F# A7 C A F# G B5 …
  M: "[[d3,f#3,a3]@7 ~@3 [a4,a5]@2 [f#4,f#5] ~ [d4,a4] ~ [a#3,f4,a#4]@8 ~@18 [a4,a5]@2 [f#4,f#5] ~ [d4,a4] ~ [a#3,f4,a#4]@8 ~@18 [a4,a5]@2 [f#4,f#5] ~ [d4,a4] ~ [a#3,f4,a#4]@8 ~@8, ~@10 f#5 ~ d5@2 d5@30 d5@2 d5@30 d5@2 d5@18, ~@42 f#5 ~@31 f#5 ~@21]/6", // D A F# D5 A#5 A F# D5 …
  N: "[~@10 [a4,a5]@2 [f#4,f#5] ~ [d4,a4] ~ [a#3,f4,a#4]@12 [c#4,a4]@4 [a4,d5]@16, ~@10 f#5 ~ d5@2 d5@18 f#4@4 ~@12, ~@7 e4@5]/3", // A F# D5 A#5 F#m D5
})).s("gm_string_ensemble_1").gain(0.45).pan(0.6)

// chords · brass section
const brass_section = note("<~@40 A B ~@4 C@2 D@2 E F G@4 H@8 I@5>".pickRestart({
  A: "~@5 [f#4,f#5] [d4,d5] [b3,b4]", B: "[f4,f5] [d4,d5] [g4,g5] [f4,f5]@5",
  C: "[a4@2 a4!2 b4@2 b4 ~ c#5@2 c#5!2 d5 ~ c#5 a4, ~@7 b4@9, ~@13 d5@3]/2", D: "[~@3 c#5@4 ~@8 a4, b4, ~ d5@7]/2",
  E: "b4@2 b4 ~ c#5@2 c#5!2, ~@3 b4@5", F: "d5@2 d5 ~@4 a4, ~@3 d5@2 d5@3, ~@2 c#5!2",
  G: "[~@3 b4@29, b4@3 ~@29, ~ c#5@15]/4",
  H: "[~@5 [f#5,f#6] d6 b5 [f5,f6] d6 [g5,g6] [f5,f6]@4 ~@22 [a4,d5] f#5 a5 [f5,a#5]@5 ~@8 [a4,d5] f#5 a5 [f5,a#5]@5 ~@3, ~@6 d5@3 d5@28 ~ d5@15 ~ d5@10, ~@7 b4@57, ~@39 f#5@15 ~ f#5@9]/8", // F# F G F D5 A#5 D5 A#5
  I: "[~@5 [a4,d5] f#5 a5 [f5,a#5]@5 ~@8 [a4,d5] f#5 a5 [f5,a#5]@6 [e5,a5]@2 a5@8, ~@6 d5@15 ~ d5@18, ~@7 f#5@15 ~ f#5@17, ~@16 d6 ~@3]/5", // D5 A#5 D5 A#5 A5
})).s("gm_brass_section").gain(0.24)

// other · trombone
const trombone = note("<~@46 A B C D E F G ~@16>".pickRestart({
  A: "a2@2 a2!2 b2@2 b2!2", B: "c#3@2 c#3!2 d3!2 c#3 a2", C: "b2@2 d3 c#3@4 ~", D: "~@7 a2", E: "b2@2 b2!2 c#3@2 c#3!2",
  F: "d3@2 d3!2 c#3 d3 c#3 a2", G: "b2@2 c#3 b2@5",
})).s("gm_trombone").gain(0.74).pan(0.6)

// bass · electric bass finger
const bass = note(`<
  ~@2 A@2 B@2 C@2 D@4 C@3 E F G D H C I J K L@2 M N O@2 C@2 D@4 C@3 E F G D H C I C@2 D@4 C@3 E F G D H P Q P R P R P S
  T
>`.pickRestart({
  A: "e2@5 ~ e2 ~ a2@3 ~ a1@3 ~", B: "d2@5 ~ d2 ~ a2@3 ~ f#2@4", C: "d2@4 ~@2 d2 ~ a1@4 ~@2 a1 ~",
  D: "e2@4 ~@2 e2 ~ a1@4 ~@2 a1 ~", E: "d2@4 ~@2 d2 ~ a1@3 ~ a1 ~ d2 ~", F: "g1@4 ~@2 d2 ~ d2@3 ~ g1@3 ~",
  G: "a#1@4 ~@2 f2 ~ f2@3 ~ f2 ~ d2 ~", H: "e2@4 ~@2 e2 ~ a1@3 ~ c#2@3 ~", I: "d2@4 ~@2 d2 ~ a1@4 a1@2 a1 ~",
  J: "d2 ~ d2 ~@3 d2 ~ a1 ~ a1 ~@3 a1 ~", K: "d2 ~ d2 ~@3 d2 ~ d2 ~ d2 ~ e2 ~ f#2 ~",
  L: "g2 ~ g2 ~@3 g2 ~ d2 ~ d2 ~@3 d2 ~", M: "e2 ~ e2 ~@3 e2 ~ b1 ~ b1 ~@3 b1 ~",
  N: "e2 ~ e2 ~@3 e2 ~ e2 ~ e2 ~ f#2 ~ g#2 ~", O: "a2 ~ a2 ~@3 a2 ~ e2 ~ e2 ~@3 e2 ~",
  P: "d2@4 ~@2 d2 ~ a1@3 ~ d2 ~ a1 ~", Q: "a#1@8 ~@2 a#2 f2 d2@2 a#1 ~", R: "a#1@12 f2 ~ e2 ~",
  S: "a#1@4 ~@2 a#1 ~ a#1@3 ~ a1 ~@3", T: "d2 ~@15",
})).s("gm_electric_bass_finger").gain(0.78)

// drums · kick
const kick = s("bd").struct("<~@2 [x ~@2 x!2 ~@3]!59 x [x ~@2 x!2 ~@3]!6 x>").gain(0.51)

// drums · rim
const rim = s("rim").struct("<A@2 B@3 C B@7 C B@47 D B@6 ~>".pickRestart({
  A: "x!4", B: "~ x ~ x", C: "~ x ~@2", D: "x",
})).gain(0.51)

// drums · low tom
const low_tom = s("lt").struct("<~@6 x ~@61 x>").gain(0.51)

// drums · hihat
const hihat = s("hh").struct("<~@2 [x!8]!59 x [x!8]!5 [x!7 ~] x>").gain(0.36)

// drums · mid tom
const mid_tom = s("mt").struct("<~@5 A ~@7 B ~@7 A ~@23 A ~@21 B ~>".pickRestart({
  A: "~@7 x", B: "~@6 x!2",
})).gain(0.51)

// drums · high tom
const high_tom = s("ht").struct("<~@5 A ~@7 B ~@7 C ~@23 D ~@21 B ~>".pickRestart({
  A: "~@10 x!3 ~@3", B: "~@10 x!2 ~@4", C: "~@5 x!2 ~", D: "~@11 x!2 ~@3",
})).gain(0.51)

// drums · crash
const crash = s("cr").struct("<~@21 [~ x] ~@23 [~ x] ~@15 x ~@6 x>").gain(0.46)

// drums · ride
const ride = s("rd").struct("<~@2 [x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~]!59 ~ [x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~]!6 ~>").gain(0.36)

stack(
  pad_new_age, acoustic_guitar_steel, music_box, orchestral_harp, string_ensemble_2, string_ensemble_1, brass_section,
  trombone, bass, kick, rim, low_tom, hihat, mid_tom, high_tom, crash, ride
)

More by Frank Sinatra