Strudelify

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 32-step grid, each part at one level. Source detail keeps the original performance.
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: edit a riff to change every repeat.

// other · pad new age
const pad_new_age = note("<~@30 A B C D E F A G ~@8 A G C D E F A B ~@15>".pickRestart({
  A: "d6 ~@7 a5 ~@7 b5 ~@15", B: "d6 ~@7 a5 ~@7 b5@2 ~@14", C: "d6@2 ~@6 b5@2 ~@6 c#6 ~@15",
  D: "d6@2 ~@6 b5 ~@7 c#6 ~@15", E: "d6 ~@7 b5 ~@7 c#6 ~@15", F: "d6@2 ~@6 b5 ~@7 c#6@2 ~@14",
  G: "d6@2 ~@6 a5 ~@7 b5@2 ~@14",
})).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 I@8 J@8 K@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]@4 [e3,g3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [a3,c#4]@4 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 [f#3,a3]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 f#3@4 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 [f#3,a3]@3 ~ [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 f#3@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 f#3@4 [f#3,a3,c#4]@4 [f#3,a3,c#4]@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]@4 [f#3,c#4]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 [e3,g3,b3]@4 [e3,g3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,c#4]@4 [e3,g3,b3,d4]@4 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]@4 [e3,d4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,c#4]@4 [e3,g3,b3]@4 [e3,g3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4, ~@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]@2 [e3,g3,b3]!2 [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 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,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]!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,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, d4 ~ d4@2 ~@2 g3@74 ~@14 [g3,b3]@18 ~@4 g3@12, ~@12 b3@36 g#2 ~@11 b3@20 ~@12 b3@68 ~@76 b3@20, ~@7 e3@49 ~@8, ~@16 f#3 ~@5 a3@26 a3@2 ~ d4@3 ~@12 [c4,d4]@2 ~@10 a3@42 ~@8]/8", // Em Em7 E7 A F#m B5 F#5 B5 …
  D: "[[e3,g3,b3,d4]@4 [e3,g3,b3,d4]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 [e3,d4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [a3,c#4]@4 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 f#3@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 f#3@3 [f#3,a3,c#4]@5 [f#3,a3,c#4]@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]@4 [f#3,c#4]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 [g#3,d4,e4]@2 ~@2 [f#3,a3,c4,d4]@2 [f#3,a3,c4]@2 [f#3,a3,c4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,a3,c4,d4]@4 [f#3,c4,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4, ~@3 d4@3 g3@74 ~@16, ~@3 b3@9 ~@3 b3@5 ~@4 b3@16 ~@8, ~@7 e3@41, ~@44 a3@19 ~@13 a3@24 ~@2 d4@6 ~@24 [c4,d4]@4 ~@20 a3@36]/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 [b3,d4]@2 [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]!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,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, ~@16 [g#3,e4] ~@2 e4@3 ~@12 [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]!2 [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 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 [a3,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]!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,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, ~ d4 ~ g3@37 ~@7 [g3,b3]@9 ~@2 g3@6, ~@3 d4@12 b3@5 ~@3 b3@17 ~@19 [b3,d4]@5, ~@6 b3@10 f#3 ~@5 a3@26 [f#3,c4] ~@2 d4@3 ~@12 [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]@4 [e3,g3,b3,d4]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [a3,c#4]@4 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 f#3@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 f#3@3 [f#3,a3,c#4]@5 [f#3,a3,c#4]@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]@4 [f#3,c#4]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 f#3@4 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 f#3@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 f#3@4 [f#3,a3,c#4]@4 [f#3,a3,c#4]@2 [f#3,a3,c#4]@2 [f#3,a3,c#4]@4 [f#3,c#4]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 [f#3,b3]@4 [e3,g3,b3]@4 [e3,g3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,c#4]@4 [e3,g3,b3,d4]@4 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,c#4]@4 [e3,g3,b3]@4 [e3,g3,b3]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4, ~@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]!2 [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 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 b3@2 [f#3,b3]@2 [f#3,b3]@2 f#3@2 [a3,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]!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,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, ~ d4 ~ g3@37 ~@7 [g3,b3]@9 ~@2 g3@6, ~@6 d4@24 b3@10 f#3 ~@5 b3@34 ~@38 [b3,d4]@10, ~@6 b3@10 f#3 ~@5 a3@26 [f#3,c4] ~@2 d4@3 ~@12 [c4,d4]@2 ~@10 a3@42 ~@8, ~@7 e3@49 ~@8]/8", // Em7 Em Em7 A F#m B5 F#5 B5 …
  J: "[[e3,g3,b3,d4]@4 [e3,g3,b3,d4]@2 [e3,g3,b3]@2 [e3,g3,b3]@4 e3@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [e3,a3,c#4]@4 [a3,c#4]@4 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 ~@4 [f3,a#3]@32 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 f#3@2 ~@2 [f3,a#3]@4 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@3 ~ [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 f#3@2 ~@2 [f3,a#3]@4 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@4 [f3,a#3]@2 ~@2 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3]@2 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 [f#3,a3]@4 a3@4, ~@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 …
  K: "[[f3,a#3]@2 [f3,a#3]!2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [e3,a3]@2 a3@2 [a3,d4]@16, ~@24 c#3 ~@3 e3@36, ~@14 c#3 ~ f#3 ~@15]/2", // A#5 A5 D5
})).s("gm_acoustic_guitar_steel").gain(0.5).pan(0.3)

// other · music box
const music_box = note(`<
  ~@5 A@4 ~ B@3 C@2 D E F G@2 H I J@3 K L M N ~ O@2 P ~ B@3 I Q@3 R@3 H ~@8 I S@2 T R@3 H U H U H U H ~@2
>`.pickRestart({
  A: "[~@7 f#3@17 g3@2 b3 a3@5]/4", B: "[g3@2 f#3]/3", C: "[~@7 f#3@5 a3@4]/2", D: "c4", E: "b3@25 ~@7",
  F: "~@13 f#3@3", G: "[g3@15 a3]/2", H: "g3@3 f#3@5", I: "~@7 f#3", J: "[a3@16 c4@48 b3@27 ~@5]/3", K: "~@7 g#3",
  L: "b3 d4", M: "e4", N: "d4@3 c#4@5", O: "f#3/2", P: "g3@8 b3@4 a3@19 ~", Q: "[a3 c4@3 b3@2]/3",
  R: "[~@7 g3@16 a3]/3", S: "[a3 c4@3]/2", T: "b3", 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 H I@6 J@8 ~ H K@6 L@7 M@3>".pickRestart({
  A: "[~@5 d4@5 ~@6 f#4@5 g4@5 a4@5 ~@6 g4@6 f#4 g4 f#4@2 e4@17, ~@5 d4@27, ~ a4]/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@9 c#4@2 ~ e4 [f4,f#4] g4 ~@12 g4@3 f#4 g4 f#4@4 ~@4 a3@4 g3@4 f#3@4 d3@4 a2@4 g2@4 ~@76 g4@2 f#4@2 e4@4 g4@4 ~@4 g4@2 f#4 a3 b3@3 ~@2 b3@4 ~ a3 b3@2 ~@3 [c#4,e4]@4 [e4,g4]@7 ~@69, ~@11 d4@25 d4@220, ~@15 a4@241, ~@165 a3 ~@90]/8", // F#maj7 C#m Em
  D: "~@12 c#4@2 b3@2 c#4@2 ~@4 f#4@2 g4@3 ~ a4@3 f4, ~@9 d4@7, ~@5 e4 ~@2",
  E: "[[f#4,a4]@5 f4 [f#4,a4]@5 f4 [f#4,a4]@3 f4 [f#4,a4]@4 a4@8 ~@2 f#4@2 ~@128 [g4,b4,d5] ~@11 [e4,c#5] ~@19, ~@10 f#4 ~@3 a4@72 a4@10, ~ d4@5]/6", // F#m G C#m
  F: "[[g4,b4,d5] ~@11 [e4,c#5] ~@83 d4@128, ~@3 a4@53]/7", // G C#m
  G: "[~@204 g4@2 f#4@2 e4@4 g4@4 ~@4 g4@2 f#4 ~ b3@3 ~@2 b3@4 ~ b3@2 ~@4 [c#4,e4]@4 [e4,g4]@7 ~@5, d4]/8", // C#m Em
  H: "~@12 c#4@2 b3@2 c#4@2 ~@4 f#4@2 g4@3 ~ a4@4, ~@9 d4@7, ~@5 e4 ~@2",
  I: "[[f#4,a4]@5 f4 [f#4,a4]@5 f4 [f#4,a4]@3 f4 [f#4,a4]@4 a4@8 ~@2 f#4@2 ~@128 [g4,b4,d5] ~@11 [e4,c#5] ~@19, f4 ~@19 f#4@2 ~@6 a4@144 a4@20, ~ d4@5]/6", // F#m G C#m
  J: "[[g4,b4,d5] ~@11 [e4,c#5] ~@159 g4@2 f#4@2 e4@4 g4@4 ~@4 g4@2 f#4 ~ b3@3 ~@2 b3@4 ~ b3@2 ~@4 [c#4,e4]@4 [e4,g4]@7 ~@37, ~@3 a4@61, ~@192 a3 ~@4 a3 ~@4 a3 ~@53]/8", // G C#m Em
  K: "[[f#4,a4]@5 f4 [f#4,a4]@5 f4 [f#4,a4]@3 f4 [f#4,a4]@4 a4@8 ~@2 f#4@2 ~@128 [g4,b4,d5] ~@11 [e4,c#5] ~@19, f4 ~@9 f#4 ~@3 a4@72 a4@10, ~ d4@5]/6", // F#m G C#m
  L: "[[g4,b4,d5] ~@11 [e4,c#5] ~@93 f#3@2 g3@2 ~@2 c#4@2 ~@49 f#3@2 g3@2 ~@2 c#4@2 ~@20 a#3@19 ~@14, ~@3 a4@53, ~@110 a3@2 ~@55 a3@2 ~@55, ~@111 b3@2 ~ d4@57 d4@53, ~@168 b3@3 ~@53]/7", // G C#m
  M: "[~@3 f#3@2 ~@3 c#4@2 ~@15 c#4@2 [a3,b3] ~@4 f3@24 ~@40, ~@5 g3@2 b3@2 ~ d4@86, ~@3 a3 ~@44]/3", // Asus2
})).s("gm_orchestral_harp").gain(0.5).pan(0.7)

// chords · string ensemble 2
const string_ensemble_2 = note("<~ A@3 B@7 C@6 D@4 E@8 F@8 G@8 F@8 H@6 I@8 J@2>".pickRestart({
  A: "[~@31 [e3,g3,b3,d4]@16 [e3,a3,c#4]@16 [e3,g3,b3,d4]@16 [e3,a3,c#4]@16 [d3,f#3,a3]]/3", // Em7 A Em7 A D
  B: "[~@15 [d3,f#3,b3]@16 [d3,f#3,a3,d4]@32 a3@16 b3@16 c#4@16 b3@16 b3@16 c#4@16 d4@16 c#4@16 b3@16 c#4@16 d4, ~@63 [d3,f#3]@64 [e3,g3]@64 [e3,g3]@33]/7", // Bm D Em
  C: "[~@15 c#4@16 a3@16 b3@16 c#4@16 b3@16 [d4,f#4,a4,c5,d5]@64 [d4,g4,b4]@32 [f4,a#4,d5], ~@31 [d3,f#3]@64 ~@97]/6", // D7 G A# D
  D: "[~@15 [d4,f4,a#4]@16 [e3,g3,b3,d4]@16 [e3,a3,c#4]@16 [e3,g3,b3,d4]@16 [e3,a3,c#4]@16 [d3,f#3,a3]@16 [d3,f#3,b3]@16 [d3,f#3,c#4]]/4", // A# Em7 A Em7 A D Bm Dmaj7
  E: "[~@15 [d3,f#3,b3]@16 [d4,f#4,a4,c5,d5]@64 [d4,g4,b4]@32 [b3,d4,g4]@32 [e4,g#4,b4,d5]@64 [e4,a4,c#5]@32 [c#4,e4,a4]]/8", // Bm D7 G E7 A
  F: "[~@31 a3@16 b3@16 c#4@16 b3@16 b3@16 c#4@16 d4@16 c#4@16 b3@16 c#4@16 d4@16 c#4@16 a3@16 b3@16 c#4, ~@31 [d3,f#3]@64 [e3,g3]@64 [e3,g3]@64 [d3,f#3]@33]/8", // D Em D
  G: "[~@15 b3@16 [d4,f#4,a4,c5]@64 [d4,g4,b4]@32 [f4,a#4,d5]@16 [d4,f4,a#4]@16 [e3,g3,b3,d4]@16 [e3,a3,c#4]@16 [e3,g3,b3,d4]@16 [e3,a3,c#4]@16 [d3,f#3,a3]@16 [d3,f#3,b3]@16 [d3,f#3,c#4], ~@127 f5@32 ~@97]/8", // D7 G A# Em7 A Em7 A D …
  H: "[~@15 b3@16 [d4,f#4,a4,c5]@64 [d4,g4,b4]@32 [f4,a#4,d5]@16 [d4,f4,a#4]@16 [e3,g3,b3,d4]@16 [e3,a3,c#4]@16 [e3,g3,b3,d4], ~@127 f5@32 ~@33]/6", // D7 G A# Em7 A Em7
  I: "[~@15 [e3,a3,c#4]@16 [d3,f#3,a3]@32 [d3,f3,a#3]@32 [d3,f#3,a3]@32 [d3,f3,a#3]@32 [d3,f#3,a3]@32 [d3,f3,a#3]@32 [d3,f#3,a3]@32 [d3,f3,a#3]]/8", // A D A# D A# D A# D …
  J: "[~@23 [c#3,e3,a3]@8 [f#3,a3,d4]@8 ~@25]/2", // A D
})).s("gm_string_ensemble_2").gain(0.18)

// chords · string ensemble 1
const string_ensemble_1 = note("<~@16 A@2 ~@2 B@2 ~@2 C D@3 E@8 ~ F@8 G@6 H I@8 J@6 K@3>".pickRestart({
  A: "[~@31 [d4,f4,a#4,d5]@32 ~]/2", // A#
  B: "[~@23 [f#4,a4]@4 [d5,f#5]@3 ~ [a4,c#5]@4 d5@2 [c5,e5] ~ [d5,f#5]@21 ~@4, ~@35 a#4 ~@2 [c#5,f5]@2 ~@24]/2", // F#m D A C D C#
  C: "~@19 [g4,g5]@3 ~ [f#4,f#5]@4 [g4,g5]@4 [b3,d4,f#4,f#5]", // G F# G Bm
  D: "[~@3 [d4,d5]@4 [b3,b4]@4 [e4,e5]@20 [g#4,b4,d5]@62 ~@2 [e4,a4,c#5], ~@31 e4@33 ~@32]/3", // D B E G#dim A
  E: "[~@15 [b4,b5]@2 ~@2 [a4,a5]@7 ~ [a4,a5]@2 [e4,e5]@2 a4@16 [a3,a4]@4 [c#4,c#5]@4 [f4,f5]@4 [a4,a5]@3 ~ [a4,a5]@18 ~@175, ~@31 e4@225, ~@31 c#4@20 ~@205, ~@31 a5@12 ~@213]/8", // B A E A C# F A
  F: "[~@23 [d4,d5]@2 ~@2 [g4,g5]@2 ~@2 [c5,c6]@20 [b4,b5]@4 [a4,a5]@4 [g4,g5]@4 [a4,a5]@20 [g4,g5]@4 [f#4,f#5]@4 [g4,g5]@4 [b4,d5,f#5]@6 [b4,e5]@3 ~@3 [b4,e5]@20 [f4,a#4,d5]@14 ~@2 [d4,f4,a#4]@16 [e3,g3,b3,d4]@13 ~@3 [e3,a3,c#4]@14 ~@2 [e3,g3,b3,d4]@15 ~ [e3,a3,c#4]@13 ~@3 [d3,f#3,a3]@15 ~@9 [f#4,a4]@4 [d5,f#5]@4 [a4,c#5], ~@25 e4@231, ~@25 e5@2 ~@3 [b4,b5]@2 ~@63 d4@30 ~@2 f5@32 ~@97, ~@26 [f#4,f#5]@2 ~ [a4,a5]@2 ~@64 g4@161]/8", // D G C B A G A G …
  G: "[~@3 [a#4,d5]@2 ~@18 [a3,a4]@2 ~@6 a5@8 [a4,a5]@3 ~ [a4,a5]@4 [b4,b5]@8 [b4,b5]@4 ~@4 [c#5,c#6]@8 [c#5,c#6]@4 ~@4 [d5,d6]@2 ~@2 [d5,d6]@3 ~@5 [a4,a5]@3 ~@9 [d5,d6]@4 ~@48 [a4,a5]@4 [b4,b5]@8 [b4,b5]@4 ~@4 [c#5,c#6]@8 [c#5,c#6]@4 [c#5,c#6]@4 [d5,d6], ~@5 [c5,e5]@2 [d5,f#5]@19 [c#4,c#5]@2 e4@164, ~@6 [c#5,f5]@2 ~@17 [b3,b4]@2 [d4,d5]@2 [f#4,f#5]@2 ~@28 [b4,b5]@36 [b4,b5]@64 ~@12 [b4,b5]@21, ~@14 e5 g4@81, ~@30 g5@2 ~@43 [c#5,c#6]@12 [c#5,c#6]@20 [c#5,c#6]@68 ~@17]/6", // A# A B C# D A D A …
  H: "~@7 [d5,d6]@4 ~@16 [a4,a5]@3 ~ [b4,b5], ~@11 [d5,d6]@8 [d5,d6]@13, ~@15 [c#5,c#6]@8 [c#5,c#6]@9", // D A B D C#
  I: "[~@55 d4@2 ~@2 g5@2 ~@2 [c5,c6]@20 ~@4 [a4,a5]@4 g5@4 [a4,a5]@20 g5@4 [f#4,f#5]@4 [g4,g5]@4 [b4,f#5]@6 b4@6 e5@20 [f4,a#4]@14 ~@2 [d4,f4,a#4]@16 [e3,b3,d4]@13 ~@3 [e3,a3,c#4]@14 ~@2 [e3,g3,b3,d4]@15 ~ [e3,a3,c#4]@11 ~@5 [d3,f#3,a3], ~@7 [c#5,c#6]@120 [d4,d5]@6 e5@3 ~@3 b4@20 [d5,f5]@32 g3@10 ~@55, ~@11 [b4,b5]@46 e5 [f#4,f#5] g4@2 [a4,a5] [b4,b5]@21 b5@173, ~@55 d5@28 b4@8 g4@24 g4@8 ~@4 g4@129, ~@57 e4@199]/8", // C A F# G B5 A#5 A# E7 …
  J: "[~@19 [a4,f#5,a5]@4 [f#4,d5,f#5]@4 [d4,a4]@2 ~@2 [a#3,f4,a#4]@16 ~@36 [a4,f#5,a5]@3 ~ [f#4,d5,f#5]@4 [d4,a4]@3 ~ [a#3,f4,a#4]@15 ~@37 [a4,f#5,a5]@3 ~ [f#4,f#5]@2 ~@2 [d4,a4]@2 ~@2 [a#3,f4,a#4]@17 ~@16, ~@27 d5@60 ~@4 d5@60 d5@4 d5@37]/6", // D D5 A#5 D D5 A#5 D F# …
  K: "[~@19 [a4,f#5,a5]@3 ~ [f#4,f#5]@2 ~@2 [d4,a4]@2 ~@2 [a#3,f4,a#4]@23 ~ [c#4,a4]@8 [a4,d5]@33, ~@23 d5@4 d5@36 f#4@8 ~@25, ~@55 e4@41]/3", // D 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 B C D E F G@2 H G I@2 F J K L M N O P Q R S@2 T U V@2 E F G@2 H G F I F J W L M N O P E F G X Y G F I F J W L M
  N Z AA AB AC AD AC AD AE AF
>`.pickRestart({
  A: "e2@10 ~@2 e2@3 ~ a2@7 ~ a1@7 ~", B: "e2@9 ~@3 e2@3 ~ a2@6 ~@2 a1@6 ~@2", C: "d2@9 ~@3 d2@2 ~@2 a2@7 ~ f#2@7 ~",
  D: "d2@9 ~@3 d2@2 ~@2 a2@6 ~@2 f#2@6 ~@2", E: "d2@7 ~@5 d2@2 ~@2 a1@9 ~@3 a1@2 ~@2",
  F: "d2@8 ~@4 d2@2 ~@2 a1@9 ~@3 a1@2 ~@2", G: "e2@8 ~@4 e2@2 ~@2 a1@9 ~@3 a1@2 ~@2", H: "e2@4 ~@2 e2 ~ a1@5 ~ a1 ~",
  I: "d2@4 ~@2 d2 ~ a1@4 ~@2 a1 ~", J: "d2@4 ~@2 d2 ~ a1@3 ~ a1 ~ d2 ~", K: "g1@4 ~@2 d2 ~ d2@3 ~ g1@3 ~",
  L: "a#1@9 ~@3 f2@3 ~ f2@6 ~@2 f2@3 ~ d2@3 ~", M: "e2@9 ~@3 e2@2 ~@2 a1@9 ~@3 a1@3 ~",
  N: "e2@9 ~@3 e2@3 ~ a1@5 ~@3 c#2@6 ~@2", O: "d2@9 ~@3 d2@2 ~@2 a1@9 ~@3 a1@2 ~@2",
  P: "d2@9 ~@3 d2@2 ~@2 a1@8 a1@3 ~ a1@3 ~", Q: "d2 ~ d2 ~@3 d2 ~ a1 ~ a1 ~@3 a1 ~",
  R: "d2@2 ~@2 d2@3 ~@5 d2@2 ~@2 d2@2 ~@2 d2@3 ~ e2@2 ~@2 f#2@2 ~@2", S: "g2 ~ g2 ~@3 g2 ~ d2 ~ d2 ~@3 d2 ~",
  T: "e2 ~ e2 ~@3 e2 ~ b1 ~ b1 ~@3 b1 ~", U: "e2@2 ~@2 e2@3 ~@5 e2@2 ~@2 e2@2 ~@2 e2@3 ~ f#2@2 ~@2 g#2@2 ~@2",
  V: "a2 ~ a2 ~@3 a2 ~ e2 ~ e2 ~@3 e2 ~", W: "g1@8 ~@4 d2@2 ~@2 d2@6 ~@2 g1@5 ~@3",
  X: "e2@9 ~@3 e2@2 ~@2 a1@9 ~@3 a1@2 ~@2", Y: "e2@9 ~@3 e2@2 ~@2 a1@10 ~@2 a1@2 ~@2",
  Z: "d2@9 ~@3 d2@2 ~@2 a1@7 ~ d2@2 ~@2 a1@2 ~@2", AA: "a#1@16 ~@4 a#2@2 f2@2 d2@3 ~ a#1@2 ~@2",
  AB: "d2@9 ~@3 d2@2 ~@2 a1@6 ~@2 d2@2 ~@2 a1@2 ~@2", AC: "a#1@12 f2 ~ e2 ~",
  AD: "d2@8 ~@4 d2@3 ~ a1@6 ~@2 d2@2 ~@2 a1@2 ~@2", AE: "a#1@8 ~@4 a#1@3 ~ a#1@6 ~@2 a1@2 ~@6", AF: "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