Strudelify
Miss You Like Crazy cover art

1991 · Good To Be Back

Miss You Like Crazy

Natalie Cole

KeyD majorTempo64 bpm
0:00/0:00
// Miss You Like Crazy — Natalie Cole
// 64 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 70 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(64/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 · fretless bass · "bass"
const bass = note(`<
  A B C D E F G D E F G H I J K L M N K L M N K L O P Q R S P Q R T Q U A B V W A B V W X Y Z AA AB AC AD AE AF AG AH AE
  AF AG AH AE AF AG AH AE AF AG AI ~@2 AJ ~
>`.pickRestart({
  A: "d3@6 ~ d3 c#3@5 ~ c#3 a2", B: "b2@6 ~ b2 a2@6 e2 f#2", C: "g2@6 ~ g2 a2@4 a1@4", D: "d3@7 a2 d3@5 ~ d3 c#3",
  E: "b2@6 ~ b2 b2@5 ~ d2 d#2", F: "e2@7 e2 e2@6 f#2 g2", G: "a2@6 ~ a2 a2@6 c#3 a2", H: "f#2@6 ~ f#2 b2@5 ~ d2 d#2",
  I: "e2@7 e2 a2@7 ~", J: "a2@7 ~ d3@6 ~ d3", K: "c#3@5 ~ c#3 a2 b2@6 ~ b2", L: "a2@6 e2 f#2 g2@6 ~ g2",
  M: "f#2@4 ~@2 f#2 ~ e2@7 ~", N: "e2 f#2 g2 ~ a2 ~ a2 ~ d3@6 ~ d3", O: "a2@4 a1@4 d3@7 a2",
  P: "d3@5 ~ d3 c#3 b2@6 ~ b2", Q: "b2@5 ~ d2 d#2 e2@7 e2", R: "e2@6 f#2 g2 a2@6 ~ a2", S: "a2@6 c#3 a2 d3@7 a2",
  T: "a2@6 c#3 a2 f#2@6 ~ f#2", U: "a2@7 ~ a2@7 ~", V: "g2@6 ~ g2 f#2@4 ~@2 f#2 ~", W: "e2@7 ~ e2 f#2 g2 ~ a2 ~ a2 ~",
  X: "d3@7 d2 e2@4 f#2@4", Y: "g2@7 g2 f#2@4 f#2@4", Z: "e2@4 a2@4 d2@6 d3 c3",
  AA: "a#2@6 ~ a#2 a2 d3 c3 a2 f2 e2 f2 f#2", AB: "g2@6 ~ g2 a2@6 a2@2",
  AC: "a#2 ~ a#2 ~ a#2 ~ a#2 ~ a#2 ~ a#2 ~ a#2 ~ a#2 ~", AD: "d#3@6 d#3@2 ~ d3@5 d3 a#2", AE: "c3@6 ~ c3 a#2@6 f2 g2",
  AF: "g#2@6 ~ g#2 g2@4 ~@2 g2 ~", AG: "f2@7 ~ f2 g2 g#2 ~ a#2 ~ a#2 ~", AH: "d#3@6 ~ d#3 d3@5 ~ d3 a#2", AI: "d#2 ~",
  AJ: "d#2",
})).s("gm_fretless_bass").gain(0.64)

// other · orchestral harp · "harfe"
const orchestral_harp = note(`<
  ~@2 A B ~@9 C D E ~ F D E ~@4 G ~@9 H I ~ J ~ K ~ J ~@7 L ~ M ~ N ~ M ~ N ~ M ~ N ~ M ~@2 O P Q ~
>`.pickRestart({
  A: "~@14 [a3,b3,c#4] [d4,e4,f#4,g4,a4,b4]", B: "[c#5,d5,e5,f#5,g5] ~@15",
  C: "~@6 [a3,b3,c#4,d4] [e4,f#4,g4,a4,b4,c#5] [d5,e5,f#5,g5,a5] ~@3 d4 ~ a3 b3", D: "d4!2 b3 a3 ~ a3 b3 a3 ~@8",
  E: "~@8 d4 ~ a3 b3 d4!2 e4 d4", F: "~@12 d4 ~ a3 b3",
  G: "~@6 [a3,b3,c#4] [d4,e4,f#4,g4,a4,b4] [c#5,d5,e5,f#5,g5] ~@7", H: "~@14 [a3,b3,c#4,d4] [e4,f#4,g4,a4,b4,c#5]",
  I: "[d5,e5,f#5,g5,a5] ~@3 d4 ~ a3 b3 d4!2 b3 a3 ~ a3 b3 a3", J: "d4 ~ a3 b3 d4!2 e4 d4 ~@8",
  K: "~@4 d4 ~ a3 b3 d4!2 b3 a3 ~ a3 b3 a3", L: "d#4 ~ a#3 c4 d#4!2 c4 a#3 ~ a#3 c4 a#3 ~@4",
  M: "d#4 ~ a#3 c4 d#4!2 f4 d#4 ~@8", N: "~@4 d#4 ~ a#3 c4 d#4!2 c4 a#3 ~ a#3 c4 a#3", O: "~@8 g3 ~ a#3 ~ d#4 ~ a#3 ~",
  P: "g#3 ~ c4 ~ d#4 ~ c4 ~ g#3 ~ a#3 ~ d4 ~ f4 ~", Q: "[g3,a#3,d#4] ~@15",
})).s("gm_orchestral_harp").gain(0.48).pan(0.7)

// chords · string ensemble 1 · "strings"
const string_ensemble_1 = note(`<
  A B@2 C ~@7 D@3 E@2 F G H@3 I J K@2 ~@7 L M@2 N O P Q N R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AB AC AD AE AF AG
  AH AJ AK@2 AL ~
>`.pickRestart({
  A: "[d4,f#4,a4]@2 [c#4,e4,b4] [c#4,e4,a4]", // D C#m7 A
  B: "[[b3,d4,a4] [b3,d4,g4] [a3,f#4]@2 [b3,g4]@3 [c#4,e4,a4], ~@2 d4@5 ~]/2", C: "[a3,d4,f#4]@3 ~@5",
  D: "[e4@4 d4@16 f#5@3 b5, ~@5 [d4,e4,f#4,a4]]/3", // D
  E: "[a5@6 e5@2 [d4,g4,b4]@8 ~@6 f#5 e5 [a3,b3,d4,g4,d5]@8, [c#4,e4,a4]@4 d5@7 ~@5, ~@2 [d4,f#4,a4] ~]/2", // G A D
  F: "[a3,d4,f#4] [b3,d4,e4,g4]", // D Em7
  G: "g3 [a3,a4] [b3,b4]@2 [b3,d4,g4,b4]@2 [c#4,e4,a4,c#5]@2 f#5@6 b5@2, [d4,g4] ~ [d4,e4,f#4,a4]@2, b3 ~@7", // A B G A G5 D
  H: "[a5@6 e5@2 [d4,g4,b4]@8 ~@6 f#5 a5 [a3,b3,d4,g4]@8 [a3,d4,f#4]@8 [b3,d4,e4,g4]@8, [c#4,e4,a4]@4 d5@7 ~ d6@8 ~@4, ~@2 [d4,f#4,a4] ~@3]/3", // G D Em7 A D
  I: "g5 [a4,a5] [b4,b5]@2 [b3,d4,g4,b4,b5]@2 [c#4,e4,a4,c#5,c#6]@2 [d4,f#4,a4,d5,d6]@8, [b3,d4,g4] ~@3", // A B G A D G
  J: "[c#4,e4,b4] [c#4,e4,a4] [b3,d4,a4] [b3,d4,g4]", // C#m7 A Bm7 G
  K: "[[a3,f#4]@4 [b3,g4]@6 [c#4,e4,a4]@2 [a3,d4,f#4]@3 ~, d4@5 ~@3]/2", L: "~ e4", M: "d4/2",
  N: "f#5@3 b5 a5@3 e5, [d4,e4,f#4,a4] [c#4,e4,a4]", O: "[d4,g4,b4]@8 ~@6 f#5 e5, d5@7 ~, ~ [d4,f#4,a4]",
  P: "[a3,b3,d4,g4,d5] [a3,d4,f#4]", // G D
  Q: "[b3,d4,e4,g4]@8 g3 [a3,a4] [b3,b4]@2 [b3,d4,g4,b4]@2 [c#4,e4,a4,c#5]@2, ~@2 [d4,g4] ~, ~@4 b3 ~@3", // Em7 A B G A G5
  R: "[d4,g4,b4]@8 ~@6 f#5 a5, d5@7 ~, ~ [d4,f#4,a4]", S: "[a3,b3,d4,g4] [a3,d4,f#4], d6",
  T: "[b3,d4,e4,g4]@8 g5 [a4,a5] [b4,b5]@2 [b3,d4,g4,b4,b5]@2 [c#4,e4,a4,c#5,c#6]@2, ~@2 [b3,d4,g4] ~", // Em7 A B G A G
  U: "[d4,f#4,a4,d5]@4 b5 a5 f#5 e5, ~@2 [d4,e4,g4,b4] [d4,f#4,a4]", V: "[d4,g4,a4,b4,d5] [c#4,f#4,a4]",
  W: "[d4,e4,g4,b4] [d4,e4,f#4,a4]", X: "[d4,f4,a#4,f6]@8 ~ e6 d6 c6 a5 g5 f5 d5, ~ [c4,f4,a4]",
  Y: "[b3,d4,g4,a4]!2, a5", Z: "a#4!8, [c4,d#4,g#4,a#5]",
  AA: "[d#4,f4,g4,a#4,g5]@6 c6 ~@2 a#5@3 f5@4, ~@9 [d4,f4,a#4]@7", // D# A#
  AB: "[d#4,g#4,c5]@8 ~@6 g5 f5, d#5@7 ~, ~ [d#4,g4,a#4]", AC: "[a#3,c4,d#4,g#4,d#5] [a#3,d#4,g4]",
  AD: "[c4,d#4,f4,g#4]@8 g#3 [a#3,a#4] [c4,c5]@2 [c4,d#4,g#4,c5]@2 [d4,f4,a#4,d5]@2, ~@2 [d#4,g#4] ~, ~@4 c4 ~@3", // Fm7 A# C G# A# G#5
  AE: "g5@3 c6 a#5@3 f5, [d#4,f4,g4,a#4] [d4,f4,a#4]", AF: "[d#4,g#4,c5]@8 ~@6 g5 a#5, d#5@7 ~, ~ [d#4,g4,a#4]",
  AG: "[a#3,c4,d#4,g#4] [a#3,d#4,g4], d#6", // G# D#
  AH: "[c4,d#4,f4,g#4]@8 g#5 [a#4,a#5] [c5,c6]@2 [c4,d#4,g#4,c5,c6]@2 [d5,d6] [d#5,f5,g5], ~@4 [c4,d#4,g#4]@2 ~ [d4,f4,a#4]", // Fm7 A# C G# D D# G# A#
  AI: "[g#5,a#5,c6,d6] ~@5 c6@2 a#5@6 f5@2, [d#4,f4,g4,a#4] [d4,f4,a#4], g5@3 ~@5", // A#7 D# A#
  AJ: "[d#4,g4,a#4,d#6]@2 [d4,f4,c5] [d4,f4,a#4], [g#5,a#5,c6,d6] ~@15", // D# Dm7 A# A#7
  AK: "[[c4,d#4,a#4] [c4,d#4,g#4] [a#3,g4]@2 [c4,g#4]@3 [d4,f4,a#4], ~@2 d#4@5 ~]/2", AL: "[d#3,d#4,f4,g4,a#4,d#5]",
})).s("gm_string_ensemble_1").gain(0.48).pan(0.3)

// chords · epiano2 · "rhodes"
const epiano2 = note(`<
  A B C D E F G D E F G H I@2 J K L M J K L N O P Q@8 R S T U V W X U V W X Y Z AA AB AC AD AE AF AG AH AI AF AG AH AI
  AF AG AH AI AF AG AH AJ AK AL AM ~
>`.pickRestart({
  A: "[d3,a3,d4,f#4]@2 [b3,c#4,e4] [a3,c#4,e4], ~ c#3", B: "[a3,b3,d4] [g3,b3,d4] [f#3,a3,d4]!2, b2 a2",
  C: "[g3,b3,d4]!3 [a3,c#4,e4], g2 a2", D: "[d4,e4,f#4,a4]@6 [e4,f#4,a4] [a3,d4,f#4]@7 [a3,d4,f#4]@2, d3",
  E: "[a3,c#4,e4] [a3,b3,d4,f#4], b2", F: "[b3,d4,e4,g4]!2, e3", G: "[g3,b3,d4]@2 [g3,b3,d4] [a3,c#4,e4], a2",
  H: "[f#2,a3,c#4,f#4] [b2,a3,b3,d4,f#4]", // F#m Bm7
  I: "[[e3,b3,d4,e4,g4] [b3,d4,g4,a4] [b3,d4,g4,a4] [d3,a3,d4,e4,f#4], ~ a2@2 ~]/2", J: "[c#3,a3,c#4,e4] [b2,b3,d4,g4]",
  K: "[a2,a3,d4,f#4] [g2,g3,a3,b3,d4]", L: "[f#2,f#3,a3,d4] [e2,g3,b3,d4,e4]",
  M: "e2 f#2 g2@2 [g3,b3,d4]@2 [a3,c#4,e4]@2 [d3,a3,d4,e4,f#4]@8, [g3,b3,d4,e4] a2 ~@2", // G A D Em7
  N: "e2 f#2 g2@2 [g3,b3,d4]@2 [a3,c#4,e4]@2 [d3,a3,d4,f#4]@8, [g3,b3,d4,e4] a2 ~@2", // G A D Em7
  O: "[b3,c#4,e4] [a3,c#4,e4] [a3,b3,d4] [g3,b3,d4], c#3 b2", P: "[f#3,a3,d4]!2 [g3,b3,d4]!2, a2 g2",
  Q: "[[g3,b3,d4]@4 [a3,c#4,e4]@4 [d4,e4,f#4,a4]@6 [e4,f#4,a4] [a3,d4,f#4]@7 [a3,d4,f#4]@2 [a3,c#4,e4]@8 [a3,b3,d4,f#4]@8 [b3,d4,e4,g4]@8 [b3,d4,e4,g4]@8 [g3,b3,d4]@8 [g3,b3,d4]@4 [a3,c#4,e4]@4 [d4,e4,f#4,a4]@6 [e4,f#4,a4] [a3,d4,f#4]@7 [a3,d4,f#4]@2 [a3,c#4,e4]@8 [a3,b3,d4,f#4]@8 [b3,d4,e4,g4]@8 [b3,d4,e4,g4]@8 [a2,g3,b3,d4]@8, a2 d3@2 b2@2 e3@2 a2@2 d3@2 b2@2 e3@2 ~]/8", // G A D F#m7 D A Bm7 Em7 …
  R: "[g3,b3,d4] [a3,c#4,e4] [f#2,a3,c#4,f#4]@2", S: "[b2,a3,b3,d4,f#4] [e3,b3,d4,e4,g4]", T: "[b3,d4,g4,a4]!2, a2",
  U: "[d3,a3,d4,e4,f#4] [c#3,a3,c#4,e4]", V: "[b2,b3,d4,g4] [a2,a3,d4,f#4]", W: "[g2,g3,a3,b3,d4] [f#2,f#3,a3,d4]",
  X: "[e2,g3,b3,d4,e4]@8 e2 f#2 g2@2 [g3,b3,d4]@2 [a3,c#4,e4]@2, ~@2 [g3,b3,d4,e4] a2", // Em7 G A Em7
  Y: "[a3,d4,f#4]!2 [e3,b3,d4,e4,g4] [f#3,a3,d4,f#4], d3 ~", Z: "[g3,a3,b3,d4]!2 [a3,c#4,e4]!2, g2 f#2",
  AA: "[e2,b3,d4,e4,g4] [a2,b3,d4,e4,g4] [a3,d4,f#4]!2, ~ d3", AB: "[a#3,d4,f4]!2 [a3,c4,f4]!2, a#2 a2",
  AC: "[g3,a3,b3,d4]!4, g2 a2", AD: "[g#3,a#3,c4,d#4]!4, a#2", AE: "[d#3,a#3,d#4,f4,g4]@6 ~@3 [d3,a#3,d4,f4]@7",
  AF: "[c3,c4,d#4,g#4] [a#2,a#3,d#4,g4]", AG: "[g#2,g#3,a#3,c4,d#4] [g2,g3,a#3,d#4]",
  AH: "[f2,g#3,c4,d#4,f4]@8 f2 g2 g#2@2 [g#3,c4,d#4]@2 [a#3,d4,f4]@2, ~@2 [g#3,c4,d#4,f4] a#2", // Fm7 G# A# Fm7
  AI: "[d#3,a#3,d#4,f4,g4] [d3,a#3,d4,f4]", AJ: "[d#3,a#3,d#4,g4]@2 [c4,d4,f4] [a#3,d4,f4], ~ d3",
  AK: "[a#3,c4,d#4] [g#3,c4,d#4] [g3,a#3,d#4]!2, c3 a#2", AL: "[g#3,c4,d#4]!3 [a#3,d4,f4], g#2 a#2",
  AM: "d#4@2 ~@3 d#5@3, [d#2,d#3,g3,a#3]@9 a#4@7, ~ d#4@3, ~@3 f4@5, ~@7 g4@9", // D#
})).s("gm_epiano2").gain(0.56).pan(0.4)

// chords · music box · "bells"
const music_box = note(`<
  A B C D ~@3 E F ~@2 G H I J K@2 L J K@2 M N O P ~@3 Q R S T U V W X Y Z ~ X Y Z ~ AA AB ~@4 AC AD AE ~ AF AD AE ~ AF
  AD AE ~ AF AD AE ~ AG AH AI AJ ~
>`.pickRestart({
  A: "~@4 f#5 g5 a5@2 b5@4 a5@4", B: "~@4 f#5 e5 d5 c#5", C: "d5@6 ~ e5 d5@4 c#5@4", D: "a6 ~@3", E: "~@4 a5 f#5 e5 d5",
  F: "c#5@6 ~ d5 d5@5 ~@3",
  G: "[f#4,a4,c#5] ~ [f#4,a4,c#5] ~ [f#4,a4,c#5] ~ [f#4,a4,c#5] ~ [f#4,b4,d5] ~ [f#4,b4,d5] ~ [f#4,b4,d5] ~ [f#4,b4,d5] ~", // F#m Bm
  H: "[g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~", // G
  I: "[b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ f#5@6 b5@2", J: "a5@5 ~ e5@2 d5@8",
  K: "[~@6 f#5 e5 d5@16 ~@8]/2", L: "~@4 f#5@3 b5", M: "~@12 f#5 g5 a5@2", N: "b5 a5 ~@2",
  O: "f#5@2 e5@2 d5@2 c#5@2 d5@6 ~ e5", P: "d5 c#5 a6 ~",
  Q: "~@8 [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~", // D
  R: "[a4,a5]@2 [f#4,f#5]@2 [f#4,a4,d5] ~ [d4,d5]@2 [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4,c#5] [d4,d5], [f#4,d5] ~ [a4,d5] ~ [e4,e5]@2 [f#4,a4] ~ c#4@6 ~@2, ~@4 c#5!3 ~", // A F# D A5 A D D5 E …
  S: "[f#4,a4] ~ [f#4,a4] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~ [g4,b4] ~ [g4,b4,e5] ~ [g4,b4,e5] ~ [g4,b4,e5] ~, d4@5 ~@11, d5!2 ~@6", // F#m D G Em
  T: "[g4,b4,e5] ~ [g4,b4,e5] ~ [g4,b4,e5] ~ [g4,b4,e5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~", // Em G
  U: "[g4,b4,d5] ~ [g4,b4,d5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [f#4,a4,c#5] ~ [f#4,a4,c#5] ~ [f#4,a4,c#5] ~ [f#4,a4,c#5] ~", // G A F#m
  V: "[f#4,b4,d5] ~ [f#4,b4,d5] ~ [f#4,b4,d5] ~ [f#4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~", // Bm G
  W: "[g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~", // G
  X: "f#5@6 b5@2 a5@5 ~ e5@2", Y: "d5@8 ~@6 f#5 e5", Z: "d5", AA: "~@4 b5 a5 f#5 a5", AB: "d5@3 ~",
  AC: "g5@6 c6 ~@2 a#5@3 f5@4", AD: "d#5@8 ~@6 g5 f5", AE: "d#5", AF: "g5@6 c6@2 a#5@5 ~ f5@2",
  AG: "~@4 g5 g#5 a#5@2 c6@4 a#5@4", AH: "~@4 g5 f5 d#5 d5", AI: "d#5@6 ~ f5 d#5@4 d5@4", AJ: "a#5@11 ~@5",
})).s("gm_music_box").gain(0.16).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A@8 B@4 C B C B C B C A B D@8 B@4 E B E B E B E B E B@2 E B F E B E B E B E B E B E B E B E G ~@4
>`.pickRestart({
  A: "x ~@6 x!2 ~@7", B: "x!2", C: "x ~@2 x!2 ~@3", D: "x ~@7 x ~@6 x", E: "x ~@3 x ~@2 x", F: "x ~@8 x ~@5 x", G: "x",
})).gain(0.64)

// drums · rim
const rim = s("rim").struct("<~@11 [~ x ~ x]!2 ~@11 [~@3 x] [~ x ~ x]!9 [~ x ~@2] ~@35>").gain(0.64)

// drums · snare
const snare = s("sd").struct("<~@13 [~@6 x!2 ~@4 x ~@3] [~ x ~ x]!7 [~ x ~@2] ~@12 [~@14 x!2] [~ x ~ x]!30 ~@5>")
  .gain(0.72)

// drums · hihat
const hihat = s("hh").struct("<[~ x ~ x]!11 [x!8]!10 [x!4 ~@2 x ~] [~ x ~ x]!2 [~@2 x ~ x!4] [x!8]!40 [~ x ~ x]!3 ~@2>")
  .gain(0.48)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@13 A B C B C B C B D ~@13 B E B E B E B E B E B@2 E B@2 E B E B E B E B E B E B E B E ~@5
>`.pickRestart({
  A: "~@9 x ~ x ~ x ~ x", B: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", C: "~ x ~ x ~ x ~@3 x ~ x ~ x ~ x",
  D: "~ x ~ x ~ x ~@10", E: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@2",
})).gain(0.16)

// drums · low tom
const low_tom = s("lt").struct("<~@13 A ~@20 B ~@13 C ~@3 D ~@3 D ~@3 D ~@9>".pickRestart({
  A: "~@3 x!2 ~@11", B: "~@11 x!2 ~@3", C: "~@13 x ~@2", D: "~@15 x",
})).gain(0.72)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@12 A B ~ B ~ B ~ B ~ B ~@4 B ~ B ~ B ~ B ~ C ~ A ~ A ~ A ~ A ~ A ~@2 A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@5
>`.pickRestart({
  A: "~@15 x", B: "~@7 x ~@8", C: "~@7 x ~@7 x",
})).gain(0.48)

// drums · crash
const crash = s("cr").struct(`<
  ~@13 A ~@3 A ~@3 B ~@13 C ~@3 C ~@2 D E C ~ C ~ D F G H ~ I ~@3 J G H ~ I ~@8
>`.pickRestart({
  A: "~ x", B: "~@7 x!2 ~@7", C: "x", D: "~@15 x", E: "x ~@14 x", F: "x ~@8 x ~@2 x ~@3", G: "~ x ~ x", H: "~ x ~@2",
  I: "x!2 ~@2", J: "x!2 ~ x",
})).gain(0.64)

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

// drums · cabasa
const cabasa = s("cabasa:4").struct("<[~ x ~ x]!13 [~@3 x] [~ x ~ x]!20 [~ x ~@2] [~ x ~ x]!33 ~@2>").gain(2.43)

stack(
  bass, orchestral_harp, string_ensemble_1, epiano2, music_box, kick, rim, snare, hihat, hihat_soft, low_tom, open_hat,
  crash, high_tom, cabasa
)

More by Natalie Cole