Strudelify

Beyond the Sea

Bobby Darin

KeyF♯ majorTempo140 bpm
0:00/0:00
// Beyond the Sea — Darin Bobby
// 140 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 99 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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.

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~ A B A B A B A B C D E F G H I J A B A B C D E F G H I K L M L M N O P Q P Q R S A B A B C D E F G H I T ~ U V@2 W ~
  E F G H I T ~ X Y@2 Z ~ P Q P Q R S A B A B C D E F G H I A B A B A B A B A B AA
>`.pickRestart({
  A: "f#2@5 ~ f2@6 d#2@5 ~ c#2@5 ~", B: "g#2@6 b2@5 ~ c#3@6 c#2@5 ~", C: "f#2@5 ~ f#2@5 ~ a#1@5 ~ a#1@5 ~",
  D: "d#2@5 ~ d#2@3 ~ c#2@5 ~ c#2@2 g#1@4 c#2@2", E: "a#2@5 ~ f#2@6 d#2@6 f#2@5 ~", F: "b2@6 f#2@6 a#2@6 d#2@5 ~",
  G: "g#2@6 c#3@6 d#3@6 d#2@5 ~", H: "f#2@6 f2@5 ~ d#2@5 ~ c#2@5 ~", I: "b2@6 f#2@6 d#2@6 b1@5 ~",
  J: "c#2@5 ~ b1@6 a#1@6 g#1@5 ~", K: "f#2@6 c#2@5 ~ f2@6 ~@6", L: "a#1@5 ~ a1@6 g1@5 ~ f1@5 ~",
  M: "c2@6 d#2@5 ~ f2@6 f1@5 ~", N: "a#1@3 a1@3 g1@3 f1@2 ~", O: "a#1@5 ~ a1@4 ~@2 g#2@6 g#1@4 ~@2",
  P: "c#2@5 ~ c2@6 a#1@5 ~ g#1@5 ~", Q: "d#2@6 f#2@5 ~ g#2@6 g#1@5 ~", R: "c#2@3 c2@3 a#1@3 g#1@2 ~",
  S: "g#1@4 ~@2 g#1@5 ~ c#2@5 ~ c#2@3 ~@3", T: "f#2 ~@11", U: "~@4 c#2@8 d#2@3 ~@3 f2@4 ~@2",
  V: "[f#2@6 f2@6 d#2@6 c#2@3 ~ g#2@5 ~ g#2@2 f2@5 ~ d#2@6 c#2@5 ~]/2", W: "f#2@3 ~@3 f#2@10 ~@2 f#2@4 f#1@2",
  X: "~@4 f1@8 g1@3 ~@3 a1@4 ~@2", Y: "[a#1@6 a1@6 g1@6 f1@3 ~ c2@5 ~ c2@2 a1@5 ~ g1@6 f1@5 ~]/2",
  Z: "a#1@3 ~@3 a#1@10 ~@2 a#1@4 g#1@2", AA: "f#2@4 f#1@3 ~@17",
})).s("gm_acoustic_bass").gain(0.5)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  ~ A ~ B ~ A ~ B ~ C@2 D@2 E F G H A ~ B ~ C@2 D@2 E F G I J ~ K ~ L M N ~ O ~ P Q A ~ B ~ C@2 D@2 E F G R ~ S T@2 U ~
  D@2 E F G V ~ W X@2 ~ Y N ~ O ~ P Q A ~ B ~ C@2 D@2 E F G A ~ B ~ A ~ B ~ B ~ Z
>`.pickRestart({
  A: "f#3@4 [a#4,c#5,d#5,f#5]@3 ~@5 [c#5,d#5,f#5]@3 ~@3 [f#5,g#5] ~@5, ~@9 a#4 ~@2", // D#m7 F#sus2
  B: "~@4 [f#3,a#4,c#5,d#5,f#5] ~@7 [c#5,d#5,f#5] ~@11, ~@6 [f#3,a#4] ~@5", // D#m7 F#
  C: "[[f#3,c#4,f#4,a#4]@3 ~@3 [f#3,c#4]@3 ~@3 [a#3,d4,f4]@3 ~@3 [a#3,d4,f4]@3 ~@3 [a#3,d#4,f#4]@5 ~ [d#4,f#4]@2 ~@2 [c#4,f4]@6 ~@2 [c#4,f4]@3 ~@3, ~@6 [f#4,a#4] ~@15 [d#3,f#3]@12 g#3@4 ~@2 g#3@4 ~@4]/2", // F# F#5 A# D#m C# F# D#m
  D: "[[f#3,a#3,c#4]@4 ~@2 [f#3,a#3,c#4]@2 ~@4 [f#3,a#3,c#4] ~@3 [f#3,a#3] ~ f#3@2 ~@4 [f#3,b3]@2 ~@4 [f#3,b3,d#4]@2 ~@2 d#4 ~ [g3,a#3,d#4]@3 ~ [g3,a#3]@5 ~ g#3 ~, f#2@6 ~@10 c#4@2 a#3 ~@3 b2@5 ~@21, ~@24 d#4 ~@15 d#4@6 ~@2]/2", // F# B5 B D# Gm
  E: "[g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@4 [d#3,g#3,c#4,f4] ~@3 f4 ~ c#3@2 [g#3,c#4,f4]@3 ~@3, g#2@3 ~@5", // G#m C#
  F: "[f#3,a#3,c#4]@2 ~@4 [f#3,a#3,c#4]@3 ~@3 [d#3,f#3,a#3]@4 d#3 ~ [f#3,a#3]@2 ~@4", // F# D#m F#
  G: "~@4 [g#3,b3,d#4] ~ g#2 ~@5 [g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@2 ~@2 [c#3,g#3] ~", // G#m C#5
  H: "~@4 [c#3,g#3] ~ [d#4,f#4,g#4]@3 ~ [c#4,f4,g#4]@6 [c#3,g#3] ~ [f#4,g#4]@2 ~@4, ~@18 d#4 ~@5", // C#5 G#7 C# C#5 F#sus2
  I: "[f#3,a#3,c#4]@5 ~ [f#3,a#3,c#4]@2 ~@4 [f2,a3,c4,d#4,f4]@4 ~@8, f#2 ~@2", // F# F7
  J: "a#3@4 [d5,f5,g5,a#5]@3 ~@5 [f5,g5,a#5]@3 ~@3 [a#5,c6] ~@5, ~@9 d5 ~@2", // Gm7 A#sus2
  K: "~@4 [a#3,d5,f5,g5,a#5] ~@7 [f5,g5,a#5] ~@11, ~@6 [a#3,d5] ~@5", // Gm7 A#
  L: "~@4 [a#3,d4,f4,g4,a#4] ~@7 [d4,f4,a#4] ~@5 [a#3,d4,f4,g4,a#4] ~@5, ~@6 [a#3,g4] ~@5", // Gm7 A# Gm7 D#
  M: "~@3 [g#3,c4,d#4,f#4,g#4] ~@2", N: "c#4@4 [f5,g#5,a#5,c#6]@3 ~@5 [g#5,a#5,c#6]@3 ~@3 [c#6,d#6] ~@5, ~@9 f5 ~@2",
  O: "~@4 [c#4,f5,g#5,a#5,c#6] ~@7 [g#5,a#5,c#6] ~@11, ~@6 [c#4,f5] ~@5", // A#m7 C#
  P: "[g#3,c#4,f4]@5 ~ [g#3,c#4,f4]@3 ~ [c#3,f3] ~ [g#3,c#4,f4] ~@3 [g#3,c#4,f4]@2 ~@2 f4@2 [c#3,f3] ~, [c#3,f3] ~@2", // C#
  Q: "[b3,d#4,f#4]@5 ~ [b3,d#4,f#4]@4 ~@2 [c#2,c#3,g#3,b3,f4]@10 ~@2, [g#2,d#3,g#3]@11 ~@13", // B C#7 G#5
  R: "[f#2,f#3,a#3,c#4] ~@11", // F#
  S: "~@4 [c#3,g#3,b3,f4,g#4]@7 ~ [b3,f4,g#4]@2 ~@4 [c#3,g#3,b3,f4,g#4]@2 ~@4, ~@12 [c#3,g#3] ~@11", // C#7 Fdim C#7 C#5
  T: "[[f#3,a#3,c#4]@4 ~@2 [f#3,a#3,c#4]@4 c#3 ~ [f#3,a#3,c#4]@4 [f#2,c#3] ~ [f#3,a#3,c#4] ~@3 [g#3,b3,d#4]@7 ~ [g#3,b3,d#4] ~@3 b2 ~ [g#3,b3,d#4]@2 ~@2 b2 ~ [g#3,b3,d#4]@2 ~@4, ~@4 f#2@7 ~@37]/2", // F# F#5 F# G#m
  U: "~@3 [f#2,c#3,f#3,a#3,c#4]@7 ~ [f#2,c#3,f#3,a#3,c#4], ~@22 a#2 ~", V: "[f#2,f#3,a#3,c#4] ~@23",
  W: "~@4 [f3,c4,d#4,a4,c5]@7 ~ [d#4,a4,c5]@2 ~@4 [f3,c4,d#4,a4,c5]@2 ~@4, ~@12 [f3,c4] ~@11", // F7 Adim F7 F5
  X: "[[a#3,d4,f4]@4 ~@2 [a#3,d4,f4]@4 f3 ~ [a#3,d4,f4]@4 [a#2,f3] ~ [a#3,d4,f4] ~@3 [c4,d#4,g4]@7 ~ [c4,d#4,g4] ~@3 d#3 ~ [c4,d#4,g4]@2 ~@2 d#3 ~ [c4,d#4,g4]@2 ~@4, ~@4 a#2@7 ~@37]/2", // A# A#5 A# Cm
  Y: "[g#2,d#3,f#3,c4,d#4,g#4] ~@5", Z: "[f#2,f#3,f#4,g#4,a#4,c#5] ~ [f#2,c#3,f#3,f#4,g#4,a#4,c#5] ~@9, c#3 ~@23",
})).s("gm_piano").gain(0.56)

// chords · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
  ~ A B C D E F G H I J K@2 L M N@2 E F G H I J K@2 L M O P Q R S T U V W X Y Z AA ~ E F G H I J K@2 L M O AB ~ AC AD@2
  AE ~ AF AG AH AI AJ AK ~ AL AM@2 AN AO W AP Y Z AA ~ E F G H I J K@2 L M O E AQ G H E F G H G H ~
>`.pickRestart({
  A: "[f#3,a#3,c#4]@2 ~@4 [f#3,a#3,c#4]@3 ~@3 [d#3,f#3,a#3]@2 ~@4 [d#3,f#3,a#3]@2 ~@4", // F# D#m
  B: "[b2,d#3,f#3]@8 ~@2 [f3,g#3]@6 c#3@2 [f3,g#3]@4 c#3 ~, ~@5 c#3@2 ~@5", // B Fm
  C: "[f#3,a#3,c#4] ~@5 [f#3,a#3,c#4] ~@5 [d#3,f#3,a#3] ~@5 [d#3,f#3,a#3]@2 ~@4", // F# D#m
  D: "[b2,d#3,f#3]@7 ~@3 [c#3,f3,g#3] ~@5 [c#3,f3,g#3] ~@5 [c#3,f3,g#3] ~", // B C#
  E: "[f#3,a#3,c#4] ~@2 [f#3,a#3,c#4] ~@2 [d#3,f#3,a#3] ~@2 [d#3,f#3,a#3] ~@2", // F# D#m
  F: "[b2,d#3,f#3]@5 ~ [b2,d#3,f#3]@2 ~@2 [f3,g#3]@6 c#3@2 [f3,g#3]@3 ~@3, ~@5 c#3@2 ~@5", // B Fm
  G: "[f#3,a#3,c#4]@2 ~@4 [f#3,a#3,c#4]@2 ~@4 [d#3,f#3,a#3]@3 ~@3 [d#3,f#3,a#3]@2 ~@4", // F# D#m
  H: "[b2,d#3,f#3]@7 ~@3 [f3,g#3]@6 ~@2 [f3,g#3]@2 ~@4, ~@10 c#3@5 ~ c#3@4 ~@4", // B Fm
  I: "[f#3,a#3,c#4]@2 ~@4 [f#3,a#3,c#4]@2 ~@4 [a#3,d4,f4]@3 ~@3 [a#3,d4,f4]@2 ~@4", // F# A#
  J: "[d#3,f#3,a#3]@5 ~ [d#3,f#3,a#3] ~@3 [f3,g#3,c4]@2 ~@4 [f3,g#3,c#4] ~@7", // D#m Fm C#
  K: "[[f#3,a#3,c#4]@3 ~@3 [f#3,a#3,c#4]@3 ~@3 [a#3,c#4]@4 f#3 ~ [a#3,c#4]@4 ~@2 [b3,d#4]@3 ~@3 [f#3,d#4]@4 ~@2 [g3,a#3,d#4]@4 ~@2 [g3,a#3]@2 ~@4, ~@12 f#3@2 ~@4 f#3 ~@3 f#3@5 ~@3 b3@2 ~@10 d#4@5 ~]/2", // F# A#m B D#m D# Gm
  L: "[g#3,b3,d#4]@4 ~@2 [g#3,b3,d#4]@2 ~@4 [f3,g#3,c#4]@4 ~@2 [f3,g#3,c#4]@3 ~@3", // G#m C#
  M: "[f#3,a#3,c#4]@3 ~@3 [f#3,a#3,c#4]@3 ~@3 [d#3,f#3,a#3]@4 ~@2 [f#3,a#3]@3 ~@3, ~@18 d#3 ~@5", // F# D#m F#
  N: "[[g#3,b3,d#4]@3 ~@3 [g#3,b3,d#4]@3 ~@3 [b3,d#4]@4 g#3@2 [b3,d#4]@4 ~@2 [c#4,f4]@3 ~@3 [g#3,c#4,f4]@4 ~@2 [c#4,f4]@4 ~@2 [c#4,f4]@4 [g#3,c#4,f4] ~, ~@12 g#3@2 ~@8 g#3@5 ~@9 g#3@2 ~@2 g#3@5 ~@3]/2", // G#m B C#
  O: "[g#3,b3,d#4]@3 ~@3 [g#3,b3,d#4]@3 ~@3 [b3,d#4]@4 g#3@2 [b3,d#4]@4 g#3@2, ~@6 g#3 ~@5", // G#m B
  P: "[f#3,a#3,c#4]@3 ~@3 [f#3,a#3,c#4]@2 ~@4 [f3,a3,c4]@2 ~@10", // F# F
  Q: "[a#3,d4,f4] ~@2 [a#3,d4,f4] ~@2 [g3,a#3,d4] ~@2 [g3,a#3,d4] ~@2", // A# Gm
  R: "[d#3,g3,a#3]@5 ~ [d#3,g3,a#3]@2 ~@2 [a3,c4]@6 f3@2 [a3,c4]@3 ~@3, ~@5 f3@2 ~@5", // D# Am
  S: "[a#3,d4,f4]@2 ~@4 [a#3,d4,f4]@2 ~@4 [g3,a#3,d4]@3 ~@3 [g3,a#3,d4]@2 ~@4", // A# Gm
  T: "[d#3,g3,a#3]@7 ~@3 [a3,c4]@6 ~@2 [a3,c4]@2 ~@4, ~@10 f3@5 ~ f3@4 ~@4", // D# Am
  U: "~@4 [f3,a#3,d4] ~@7 [f3,a#3,d4] ~@5 [f3,a#3,d4] ~@5", V: "~@3 [g#3,c4,d#4,f#4,g#4] ~@2",
  W: "[c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [a#3,c#4,f4] ~@2 [a#3,c#4,f4] ~@2", // C# A#m
  X: "[f#3,a#3,c#4]@5 ~ [f#3,a#3,c#4] ~@3 [c4,d#4]@6 g#3@2 [c4,d#4]@3 ~@3, ~@5 g#3@2 ~@5", // F# Cm
  Y: "[c#4,f4,g#4]@2 ~@4 [c#4,f4,g#4]@2 ~@4 [a#3,c#4,f4]@3 ~@3 [a#3,c#4,f4]@2 ~@4", // C# A#m
  Z: "[f#3,a#3,c#4]@7 ~@3 [c4,d#4]@6 ~@2 [c4,d#4]@2 ~@4, ~@10 g#3@5 ~ g#3@4 ~@4", // F# Cm
  AA: "~@4 [g#3,c#4,f4] ~@7 [g#3,c#4,f4] ~@5 [g#3,c#4,f4] ~@5", AB: "[f#3,a#3,c#4] ~@11",
  AC: "~@4 [c#3,f3,g#3]@7 ~ [c#3,f3,g#3]@3 ~@3 [c#3,f3,g#3]@2 ~@4", // C#
  AD: "[[f#3,a#3,c#4]@5 ~ [f#3,a#3,c#4]@4 c#3@2 [f#3,a#3,c#4]@5 ~ [f#3,a#3,c#4]@2 ~@2 [g#3,b3,d#4]@7 ~ [g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@4 ~@2, f#2 ~@3, c#3 ~@5]/2", // F# G#m
  AE: "[f#2,c#3,f#3,a#3,c#4] ~@2 [f#2,c#3,f#3,a#3,c#4]@7 ~ [f#2,c#3,f#3,a#3,c#4]", AF: "~@10 a#4@2 g#4@5 ~ f#4@4 ~@2",
  AG: "d#5@5 ~", AH: "~@6 d#5@5 ~ c#5@4 a#4@4 g#4@3 ~", AI: "f#4@9 ~@3 d#4@5 ~ f#4@4 ~@2", AJ: "g#4@5 ~", AK: "f#4 ~@7",
  AL: "~@4 [f3,a3,c4]@7 ~ [f3,a3,c4]@3 ~@3 [f3,a3,c4]@2 ~@4", // F
  AM: "[[a#3,d4,f4]@5 ~ [a#3,d4,f4]@4 f3@2 [a#3,d4,f4]@5 ~ [a#3,d4,f4]@2 ~@2 [c4,d#4,g4]@7 ~ [c4,d#4,g4]@5 ~ [c4,d#4,g4]@5 ~ [c4,d#4,g4]@4 ~@2, a#2 ~@3, f3 ~@5]/2", // A# Cm
  AN: "[a#2,f3,a#3,d4,f4] ~@2 [a#2,f3,a#3,d4,f4]@7 ~@2", AO: "[g#2,d#3,g#3] ~@7",
  AP: "[f#3,a#3,c#4]@5 ~ [f#3,a#3,c#4]@2 ~@2 [c4,d#4]@6 g#3@2 [c4,d#4]@3 ~@3, ~@5 g#3@2 ~@5", // F# Cm
  AQ: "[b2,d#3,f#3]@5 ~ [b2,d#3,f#3] ~@3 [f3,g#3]@6 c#3@2 [f3,g#3]@3 ~@3, ~@5 c#3@2 ~@5", // B Fm
})).s("gm_acoustic_guitar_nylon").gain(0.38)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~ A B C D A B C E F G ~@4 H I A B C E F G J K ~@2 H L ~@4 M N O P Q R S T A B C E F G J U ~@2 H V W X Y@2 Z W ~@5 AA
  AB AC AD@2 AE AF O P Q R S T A B C E F G J K ~@2 AG A B C D A B C E C D AH
>`.pickRestart({
  A: "~@10 [a#3,c#4,f#4] ~ [c#4,f#4] ~@5 [a#3,d#4] ~@5, ~@6 a#3 ~@2 f#3 ~@2", // F# F#5 D#5
  B: "[b3,c#4,f#4]@8 ~@2 [b3,d#4,f#4,a#4] ~@13", C: "~@10 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 ~@4 [f#3,a#3,d#4]@2 ~@4",
  D: "[b3,c#4,f#4]@7 ~@3 [b3,a#4]@2 ~@12, ~@10 [d#4,f#4] ~@13", E: "[b3,c#4,f#4]@7 ~@3 [d#4,f#4,a#4] ~@13, ~@5 b3 ~@6",
  F: "~@10 [a#3,c#4,f#4] ~ [a#3,f4]@2 ~@4 [a#3,d4] ~@5, ~@12 d4 ~@5 f4@2 ~@4", // F# A#5 A#
  G: "[a#3,d#4,f#4]@6 ~@4 [g#3,c#4,f4]@2 ~@4 [g#3,c#4,f4] ~@7", // D#m C#
  H: "~@4 [c#3,c#4] ~ [d#3,d#4]@4 [f3,f4]@2 [f#3,f#4]@4 [g#3,g#4] ~@5 [f#3,f#4]@2", // C# D# F F# G# F#
  I: "~@3 [c#4,c#5]@2 [c#3,c#4] ~@2 [c#3,c#4] ~@3", J: "~@4 f#3@2 d#3@2 ~@4 f#3@4 ~@2 g#3@3 ~@3",
  K: "~@3 [g#3,b3,d#4] ~@2 [g3,a#3,d#4] ~ [g3,a#3,d#4] ~@3", L: "~@2 [f4,a4,d#5,f5] ~",
  M: "~@4 [a#3,d4,a#4,d5,f5] ~@7 [a#3,d4,f4,a#4,d5,f5]@2 ~@10, ~@2 f4 ~@9", N: "~@3 [g#4,c5,d#5,f#5,g#5] ~@2",
  O: "~@10 [f4,g#4,c#5] ~ [g#4,c#5] ~@5 [f4,a#4] ~@5, ~@6 f4 ~@2 c#4 ~@2", // C# C#5 A#5
  P: "[f#4,g#4,c#5]@8 ~@2 [f#4,a#4,c#5,f5] ~@13", Q: "~@10 [f4,g#4,c#5] ~ [f4,g#4,c#5]@2 ~@4 [c#4,f4,a#4]@2 ~@4",
  R: "[f#4,g#4,c#5]@7 ~@3 [a#4,c#5,f5] ~@13, ~@5 f#4 ~@6", // F#sus2 A#m
  S: "~@12 [c#4,c#5]@4 [f4,f5]@2 ~@4 [c#4,c#5] ~, ~@16 c#4 ~@7", // C# F C#
  T: "[d#4,f#4,f#5]@4 [c#4,c#5] ~ [d#4,f#4,f#5]@3 ~ [g#4,f5,g#5]@6 [f#4,f#5] ~ c#5 ~@5, ~@8 d#5 ~@3", // D#m C# D#m C# F#
  U: "~@3 [g#3,d#4] ~@2 [g3,a#3,d#4] ~ [g3,a#3,d#4] ~@3, ~@6 b3 ~@17", // G#5 D#
  V: "~@16 [c#4,d#4,f#4,a#4,c#5]!2 [c#4,c#5] [d#4,f#4,a#4] ~@2 [c#4,c#5] ~", W: "[f#4,a#4,c#5,d#5,f#5] ~@11",
  X: "~@4 [f4,g#4,c#5,f5]@8 [f#4,g#4,f#5] ~@5 [c#5,f5]@3 ~@3, ~@12 d#5@2 ~@4 [g#4,g#5] ~@5", // C# F#sus2 C# G#
  Y: "[[a#4,c#5,f#5,a#5]@10 ~@2 [f#4,a#4,f#5]@9 ~ [g#4,f5,g#5]@10 ~@2 [f4,f5]@2 ~@4 [d#4,d#5] ~ [c#4,c#5]@3 ~@3, ~@12 d#5@7 ~@3 c#5@8 ~@4 c#5 ~@13]/2", // F# C# F D# C#
  Z: "~@6 [f#4,a#4,c#5,d#5,f#5]@17 ~", AA: "~@16 [f4,g4,a#4,d5,f5]!2 [f4,f5] [g4,a#4,d5] ~@2 [f4,f5] ~",
  AB: "[a#4,d5,f5,g5,a#5] ~@11", AC: "~@4 [a4,c5,f5,a5]@8 [a#4,c5,a#5] ~@5 [f5,a5]@3 ~@3, ~@12 g5@2 ~@4 [c5,c6] ~@5",
  AD: "[[d5,f5,a#5,d6]@10 ~@2 [a#4,d5,a#5]@9 ~ [c5,a5,c6]@10 ~@2 [a4,a5]@2 ~@4 [g4,g5] ~ [f4,f5]@3 ~@3, ~@12 g5@7 ~@3 f5@8 ~@4 f5 ~@13]/2", // A# F A G F
  AE: "~@6 [a#4,d5,f5,g5,a#5]@17 ~", AF: "[c4,d#4,f#4,g#4] ~@7",
  AG: "~@4 [c#3,c#4] ~ [d#3,d#4]@4 [f3,f4]@2 [f#3,f#4]@4 [g#3,g#4] ~@7", AH: "[g#4,a#4,c#5,f#5,c#6] ~@7",
})).s("gm_brass_section").gain(0.72)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@17 A B A C D E F G H@2 I J K L K M N ~ O P O Q R S A B A C D E F G H@2 T ~@6 U F G H@2 T ~@7 O P O Q R S A B A C D E
  F G H@2 T ~@4 A B A C A C ~
>`.pickRestart({
  A: "[c#4,f#4,a#4]@23 ~", B: "[d#4,f#4,b4]@4 ~ [f4,g#4,c#5]@6 ~", C: "[d#4,f#4,b4]@4 ~ [f4,g#4,c#5]@5 ~@2",
  D: "[c#4,a#4]@11 ~ [a#3,d4,f4]@10 ~@2, f#4@3 ~@5", E: "[d#4,f#4,a#4]@4 ~ [f4,g#4]@5 ~@2, ~@5 c#5@6 ~",
  F: "[f#4,a#4,c#5]@23 ~", G: "[f#4,b4,d#5]@11 ~ [g4,d#5]@11 ~",
  H: "[[g#4,b4,d#5]@10 ~@2 [f4,g#4]@9 ~@3 [f#4,a#4]@23 ~, ~@12 c#5@35 ~]/2", I: "[f#4,b4,d#5]@19 ~@3 [f4,g#4,c#5]@2",
  J: "[f#3,c#4,f#4]@11 ~@13", K: "[f3,a#3,d4]@23 ~", L: "[g3,a#3,d#4]@4 ~ [a3,c4,f4]@6 ~",
  M: "[g3,a#3,d#4]@4 ~ [a3,c4,f4]@5 ~@2", N: "[a#2,f3,a#3,d4]@11 ~", O: "[g#3,c#4,f4]@23 ~",
  P: "[a#3,c#4,f#4]@4 ~ [c4,d#4,g#4]@6 ~", Q: "[a#3,c#4,f#4]@4 ~ [c4,d#4,g#4]@5 ~@2", R: "[c#3,g#3,c#4,f4]@11 ~",
  S: "[b4,d#5]@12 [c#5,f5]@11 ~", T: "[f#4,b4,d#5]@19 ~@5", U: "~@3 [f4,g#4] [f#4,a#4] [g#4,b4]",
})).s("gm_string_ensemble_2").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@4 B C D E B C B C D E A@2 B C D E B C B C D E A F D E B C B F A@2 B C D E D E B C B C D E A@2 B G H I D E J K A@5
  K H I D E J K A@4 L M D E B C B C D E A@2 B C B C B C B C B C A N
>`.pickRestart({
  A: "x!4", B: "x ~@2 x ~@2 x ~@2 x ~ x", C: "~@2 x ~@2 x ~@2 x ~@2 x", D: "x ~@4 x!2 ~ x ~@2 x",
  E: "x ~@4 x ~@2 x ~@2 x", F: "~@2 x ~@2 x!2 ~ x ~@2 x", G: "x", H: "x ~ x!2 ~ x!2 ~ x!4", I: "x ~ x ~@3 x ~@2 x ~@2",
  J: "x!2", K: "~ x ~@2", L: "x ~@2 x ~ x!2 ~ x ~@2 x", M: "x ~ x ~@2 x ~@3 x ~@2", N: "x!2 ~@4",
})).gain(0.58)

// drums · rim
const rim = s("rim").struct("<~ A@27 B A@5 B A@17 ~@7 A@4 C ~@7 A@5 C A@20 C ~>".pickRestart({
  A: "~ x ~ x", B: "~@3 x", C: "~ x ~@2",
})).gain(0.58)

// drums · snare
const snare = s("sd").struct("<~@28 A ~@5 A ~@18 B C D@3 C ~@4 E C B C D@3 F ~@5 G ~@20 H ~>".pickRestart({
  A: "~ x ~@2", B: "~ x ~@7 x ~ x", C: "x", D: "~ x ~ x", E: "~@8 x!4", F: "x ~@8 x!3", G: "~@10 x!2", H: "~@9 x!3",
})).gain(0.58)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@28 A ~@5 A ~@18 B ~ C ~@7 D ~ B ~ C ~@2 E ~@5 F ~@20 G ~>".pickRestart({
  A: "~ x ~@4", B: "~@2 x ~@2 x!2 ~ x ~@3", C: "~@2 x", D: "~@6 x!2 ~@4", E: "~@6 x!3 ~@3", F: "~@8 x!2 ~@2",
  G: "~@5 x!4 ~@3",
})).gain(0.17)

// drums · low tom
const low_tom = s("lt").struct("<~@53 A ~ B ~@9 A ~ B ~@29 A ~>".pickRestart({
  A: "~@11 x", B: "~@4 x!2 ~@6",
})).gain(0.58)

// drums · hihat
const hihat = s("hh").struct("<~ A@50 B C A D A@2 C D A@7 D A@2 C D A@27 ~>".pickRestart({
  A: "x!4", B: "x ~@2 x ~@2 x ~@3 x ~", C: "~ x ~ x", D: "~@2 x!2",
})).gain(0.52)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<A B@50 C ~@3 B@2 ~@2 B@5 ~@3 B@2 ~@2 B@27 ~>".pickRestart({
  A: "~@6 x!2 ~ x!2 ~", B: "~@5 x ~@5 x", C: "~@5 x ~@2 x!2 ~@2",
})).gain(0.12)

// drums · mid tom
const mid_tom = s("mt").struct("<~@53 A ~ B ~@9 A ~ B ~@29 C ~>".pickRestart({
  A: "~@4 x ~@2 x!4 ~", B: "~@2 x!2 ~@8", C: "~@9 x!2 ~",
})).gain(0.58)

// drums · open hat
const open_hat = s("oh").struct("<[~@8 x ~@2 x] ~@50 [~@11 x] ~@2 [~ x ~@4] ~@11 [~ x ~@4] ~@32>").gain(0.58)

// drums · high tom
const high_tom = s("ht").struct("<~@53 A ~ B ~@9 A ~ B ~@31>".pickRestart({
  A: "~ x ~@10", B: "x!2 ~@10",
})).gain(0.58)

// drums · crash
const crash = s("cr").struct("<~@28 A ~@5 A ~@19 B C ~ D ~@8 B C ~ D ~@6 C ~@21 E>".pickRestart({
// … 12 more lines

More by Bobby Darin