Strudelify
Love on the Rocks cover art

1996 · The Jazz Singer (Original Songs From The Motion Picture)

Love on the Rocks

Neil Diamond

KeyC minorTempo117 bpm
0:00/0:00
// Love on the Rocks — Neil Diamond
// 117 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 94 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(117/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 · slap bass 2 · "SLAP BASS"
const bass = note(`<
  A B C D E F G H G@2 I@2 J@2 K L M G I@2 N@2 O P Q G@2 R S J H T U M G V W E X G Y B G V S E Z G H G@2 AA I AB AC AD@2
  B G I@2 AE N AD AF Q AG AH AI AJ N Z B AK AL G AI S J X G M S AM AN B E X B M AO Z AP AQ
>`.pickRestart({
  A: "c2@2 c3 ~ c2 ~ c3 ~ c2@2 c3 ~ c2 ~ c3 ~", B: "c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2 ~ c3 ~",
  C: "ab1@2 ab2 ~ ab1 ~ ab2 ~ ab1@2 ab2 ~ ab1@2 ab2 ~", D: "ab1@2 ab2 ~ ab1 ~ ab2 ~ ab1@2 ab2 ~ ab1 ~ ab2 ~",
  E: "f1@2 f2 ~ f1@2 f2 ~ f1@2 f2 ~ f1 ~ f2 ~", F: "bb1@2 bb2 ~ bb1 ~ bb2 ~ bb1@2 bb2 ~ bb1@2 bb2 ~",
  G: "c2 ~ c3 ~ c2 ~ c3 ~ c2 ~ c3 ~ c2 ~ c3 ~", H: "bb1@2 bb2 ~ bb1 ~ bb2 ~ bb1 ~ bb2 ~ bb1 ~ bb2 ~",
  I: "eb1@2 eb2 ~ eb1@2 eb2 ~ eb1@2 eb2 ~ eb1@2 eb2 ~", J: "f1 ~ f2 ~ f1 ~ f2 ~ f1 ~ f2 ~ f1 ~ f2 ~",
  K: "g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2 ~", L: "g1 ~ g2 ~ g1 ~ g2 ~ g1@2 g2 ~ g1 ~ g2 ~",
  M: "c2@2 c3 ~ c2 ~ c3 ~ c2 ~ c3 ~ c2 ~ c3 ~", N: "f1@2 f2 ~ f1@2 f2 ~ f1@2 f2 ~ f1@2 f2 ~",
  O: "g1 ~ g2 ~ g1@2 g2 ~ g1 ~ g2 ~ g1 ~ g2 ~", P: "ab1@2 ab2 ~ ab1 ~ ab2 ~ bb1@2 bb2 ~ bb1 ~ bb2 ~",
  Q: "g1@2 g2 ~ f1@2 f2 ~ g1@2 ~@2 g1@2 ~@2", R: "ab1@2 ab2 ~ ab1 ~ ab2 ~ ab1 ~ ab2 ~ ab1 ~ ab2 ~",
  S: "ab1 ~ ab2 ~ ab1 ~ ab2 ~ ab1 ~ ab2 ~ ab1 ~ ab2 ~", T: "c2 ~ c3 ~ c2@2 c3 ~ c2@2 c3 ~ c2 ~ c3 ~",
  U: "g1@2 g2 ~ g1@2 g2 ~ g1@2 g2 ~ g1 ~ g2 ~", V: "ab1@2 ab2 ~ ab1 ~ ab2 ~ ab1 ~ ab2 ~ ab1@2 ab2 ~",
  W: "ab1 ~ ab2 ~ ab1 ~ ab2 ~ ab1@2 ab2 ~ ab1 ~ ab2 ~", X: "bb1@2 bb2 ~ bb1@2 bb2 ~ bb1@2 bb2 ~ bb1 ~ bb2 ~",
  Y: "bb1 ~ bb2 ~ bb1 ~ bb2 ~ bb1@2 bb2 ~ bb1 ~ bb2 ~", Z: "bb1@2 bb2 ~ bb1@2 bb2 ~ bb1@2 bb2 ~ bb1@2 bb2 ~",
  AA: "eb1 ~ eb2 ~ eb1 ~ eb2 ~ eb1 ~ eb2 ~ eb1@2 eb2 ~", AB: "f1 ~ f2 ~ f1@2 f2 ~ f1 ~ f2 ~ f1 ~ f2 ~",
  AC: "f1 ~ f2 ~ f1 ~ f2 ~ f1 ~ f2 ~ f1@2 f2 ~", AD: "g1@2 g2 ~ g1@2 g2 ~ g1@2 g2 ~ g1@2 g2 ~",
  AE: "f1@2 f2 ~ f1 ~ f2 ~ f1@2 f2 ~ f1@2 f2 ~", AF: "ab1@2 ab2 ~ ab1@2 ab2 ~ bb1@2 bb2 ~ bb1@2 bb2 ~",
  AG: "c2 ~ c3 ~ c2 ~ c3 ~ c2@2 c3 ~ c2 ~ c3 ~", AH: "c2 ~ c3 ~ c2@2 c3 ~ c2 ~ c3 ~ c2 ~ c3 ~",
  AI: "ab1@2 ab2 ~ ab1@2 ab2 ~ ab1@2 ab2 ~ ab1@2 ab2 ~", AJ: "ab1@2 ab2 ~ ab1@2 ab2 ~ ab1@2 ab2 ~ ab1 ~ ab2 ~",
  AK: "g1@2 g2 ~ g1@2 g2 ~ g1 ~ g2 ~ g1 ~ g2 ~", AL: "c2@2 c3 ~ c2@2 c3 ~ c2 ~ c3 ~ c2 ~ c3 ~",
  AM: "bb1 ~ bb2 ~ bb1@2 bb2 ~ bb1@2 bb2 ~ bb1 ~ bb2 ~", AN: "g1 ~ g2 ~ g1@2 g2 ~ g1 ~ g2 ~ g1@2 g2 ~",
  AO: "f1@2 f2 ~ f1@2 f2 ~ f1 ~ f2 ~ f1 ~ f2 ~", AP: "c2 ~ c3 ~ c2 ~ c3 ~ c2 ~ c3 ~ c2 ~ c3@2", AQ: "c2 ~@7",
})).s("gm_slap_bass_2").gain(0.51)

// chords · pad warm · "WARM PAD"
const pad_warm = note(`<
  A@6 B C@5 D@4 E@4 F@2 G H@2 I@6 J@8 K@2 L@6 M N@7 O@4 P@2 Q@2 R@2 S T@2 U@3 V W@2 X@6 Y@7 Z AA@3 Z AB@2
>`.pickRestart({
  A: "[[eb4,g4]@32 eb4@31 ~@16 [d4,bb4]@16 ~, c5@5 ~, ~@2 ab4@3 ~, ~@63 f4@31 ~@2]/6", B: "[eb4,c5], g4@7 ~",
  C: "[[d4,f4,bb4]@15 c4@31 ~ bb3@31 ~@2, ~@15 [eb4,g4]@64 ~]/5", D: "[[c4,f4,ab4]@31 [b3,d4,g4]@31 ~@2]/4",
  E: "[c4@31 ~ bb3@30 ~@2, [eb4,g4]]/4", F: "[[f4,ab4], c4@15 ~]/2", G: "[b3,d4,g4]",
  H: "[[c4,eb4,ab4]@7 ~ [d4,f4,bb4]@7 g4@5 f4@4 g4@6 ~@2]/2", // Ab Bb
  I: "[g4@2 ~@3 [d4,bb4], c4@13 ~@3, eb4@21 f4@11, ~@2 ab4@3 ~]/6", // Gm
  J: "[[eb4,c5]@15 [d4,bb4]@16 ~@81 [d4,bb4]@16, g4@31 ~ ab4@24 ~@8, ~@2 c5@5 ~, ~ eb4@2 f4]/8", // Cm Gm
  K: "[[eb4,g4,c5]@15 ~ f4@16, ~@15 bb4@16 ~, ~@8 d4@7 ~]/2", // Cm
  L: "[g4@31 ~@49 [d4,bb4]@16, c5@79 ~@17, eb4@64 f4@31 ~, ~@2 ab4@3 ~]/6", M: "[eb4,c5], g4@13 ~@3",
  N: "[[d4,f4]@14 ~@34 bb3@30 ~ [f4,ab4]@33, bb4@15 eb4@62 ~@35, ~@15 c4@30 ~@34 c4@30 ~@3, ~ g4@4 ~@2]/7", // Dm Fm
  O: "[[b3,d4]@32 [c4,eb4]@31 ~, g4@63 ~]/4", P: "[[bb3,eb4,g4]@31 ~]/2", Q: "[c4,f4,ab4]/2",
  R: "[[b3,d4,g4]@15 ~ c4@7 ~ [d4,f4,bb4]@7 ~, ~@15 [eb4,ab4]@8 ~@9]/2", S: "g4@4 f4@4 g4@5 ~@3",
  T: "[~ [c4,eb4,g4]@30 ~]/2", U: "[eb4@31 ~ f4@16, [c4,ab4]]/3", V: "[d4,f4,bb4]",
  W: "[[eb4,g4,c5]@15 ~ d4@14 ~@2, ~@15 [f4,bb4]@16 ~]/2", // Cm Bb5
  X: "[g4@15 ~@25 bb4@8, c5@79 ~@17, eb4@2 f4, ~@16 ab4@24 d4@7 ~]/6",
  Y: "[g4@30 ~ ab4@16 f4@16 ~@17 eb4@16 [f4,ab4]@15 ~, [eb4,c5]@47 bb4@32 ~ c5@32, ~@47 d4@30 ~@35, ~@63 g4@30 ~@19]/7", // Fm Cm
  Z: "[f4,bb4], d4@7 ~", AA: "[eb4@32 [f4,ab4]@15 ~, c5@47 ~, g4@5 ~@3]/3", AB: "[[eb4,g4,c5]@19 ~@13]/2",
})).s("gm_pad_warm").gain(0.41).pan(0.7)

// other · marimba
const marimba = note(`<
  A B C B C D ~ E ~ F ~ G ~ G ~ H ~ G ~ G ~ I ~@2 J ~@16 C B C B C D ~ K ~ G ~ G ~ G ~ H ~ G ~ G ~ G ~@2 J ~@22 L M ~@4
>`.pickRestart({
  A: "eb4 ~@3 c4 ~@3 bb3 ~ c4 ~@5", B: "~@2 g3 ~@3 bb3 ~@3 bb3 ~ c4 ~@3", C: "eb4 ~ eb4 ~ c4 ~@3 bb3 ~ c4 ~@5",
  D: "~@2 g3 ~@3 bb3 ~@3 c4 ~@3 c4 ~", E: "~@2 bb4 ~@3 ab4 ~ bb4 ~@7", F: "~@4 eb4 ~@5 eb4 ~@3 eb4 ~",
  G: "~@10 eb4 ~@3 eb4 ~", H: "~@4 g4 ~@5 g4 ~@3 g4 ~", I: "~@10 f4 ~@3 f4 ~", J: "g4 ~@3 f4 ~@3 g4 ~@7",
  K: "~@2 bb3 ~@3 ab3 ~ bb3 ~@7", L: "eb5 ~ eb5 ~ c5 ~@3 bb4 ~ c5 ~@5", M: "~@2 g4 ~@3 bb4 ~@5 c5 ~@3",
})).s("gm_marimba").gain(0.41).pan(0.6)

// other · clavinet
const clavinet = note(`<
  ~@8 A@2 B@2 C D E F G A B@2 H I J K L ~@15 M ~@8 N O P Q R S T U N O P Q R S ~ V W ~@16 X Y Z AA AB AC AD AE AF AG@2
  AH
>`.pickRestart({
  A: "~@10 c5 c4 bb4 g4 bb4 c5", B: "~@10 eb5 eb4 c5 bb4 c5 eb5", C: "~@10 f5 f4 eb5 c5 eb5 f5",
  D: "~@10 f5 f4 eb5 f4 c5 eb5", E: "~@10 g5 g4 ~ g4 g5 ~", F: "~@4 g5 g4 ~ g4 ~ g4 g5 ~ f5 g4 d5 g4",
  G: "[c4,g4,bb4,c5] ~@9 c5 c4 bb4 g4 bb4 c5", H: "~@10 f5 f4 eb5 [c5,d5] eb5 f5", I: "~@10 eb5 f4 c5 ~ c5 bb4",
  J: "~@4 g4 ~@11", K: "ab3 ~ ab4 ~@5 bb3@2 bb4 ~@5", L: "g4 ~ g3 ~ f4@2 f3 ~ [g3,g4] ~@3 [g3,g4]@2 ~@2",
  M: "~@10 bb4 bb3 ~ bb3 bb4!2", N: "~@12 c5 c4 bb4 g4", O: "bb4 c5 ~@10 c5 c4 bb4 g4", P: "bb4 c5 ~@10 eb5 eb4 c5 bb4",
  Q: "c5 eb5 ~@10 eb5 eb4 c5 bb4", R: "c5 eb5 ~@10 f5 f4 eb5 c5", S: "eb5 f5 ~@10 f5 f4 eb5 c5",
  T: "eb5 ~@10 g3 g4 g3 f4 g3", U: "f4 g4 ~@5 g3 f4 g4 ~@6", V: "ab3@2 ab4 ~@5 bb3@2 bb4 ~@5",
  W: "[g3,g4]@2 ~@2 f4@2 ~@2 g4 ~@7", X: "c4@2 c5 ~@2 bb4 ~ c4 c5 ~ c4 [bb4,eb5]@3 c5@2",
  Y: "c4@2 c5 ~@2 bb4 ~ c4 c5 ~ c4 [bb4,eb5]@2 ~ c5 ~", Z: "c4@2 c5 ~@2 bb4 ~ bb3 bb4 ~ bb3 c5@2 bb3 bb4 ~",
  AA: "~@2 c5 ~@2 bb4 ~ c4 c5 ~ c4 [bb4,eb5]@2 ~ c5 ~", AB: "~@2 c5 ~@2 bb4 ~ c4 c5 ~ c4 eb5@2 ~ c5 ~",
  AC: "~@2 c5 ~@2 c5 ~ c4 bb4 ~ c4 eb5@2 ~ c5 ~", AD: "~@2 c5 ~ c4 ~@3 bb3@2 [c4,c5] ~@5, ~@8 bb4 ~@7",
  AE: "~@2 g4 ~@3 bb4 ~@3 bb4 ~ c5 ~@3", AF: "c4 ~ eb5 ~ c4 c5 ~ c4 bb4 ~ c4 c5 ~ c4 bb4 ~",
  AG: "~@2 c5 ~@2 bb4 ~ c4 c5 ~ c4 bb4 ~ c4 c5 ~", AH: "c4 ~@15",
})).s("gm_clavinet").gain(0.41).pan(0.2)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@16 A B C D E F G H I ~@8 J K J L M N O P ~@16 Q R S T U V W X Y ~@7 Z AA AB M AB AC AD AE AF AG AH AG AI AJ AK AL AM
  AN AH AO AP
>`.pickRestart({
  A: "[c5,eb5] ~@2 [c5,eb5] ~@2 bb4 ~ c5 ~ g4 ~ bb4 ~@3", B: "[c5,eb5] ~@2 [c5,eb5] ~@2 bb4 ~ c5 ~ g4 ~ g4 bb4 c5 ~",
  C: "[bb4,eb5] ~@2 [bb4,eb5] ~@2 c5 ~ eb5 ~ bb4 ~ bb4 c5 eb5 ~", // Eb5
  D: "[bb4,eb5] ~@2 [bb4,eb5] ~@2 c5 ~ [bb4,eb5] ~ [bb4,eb5] ~ c5 ~ bb4 ~", E: "[d5,f5] ~@2 [c5,eb5] ~@8 bb4!2 c5 ~",
  F: "[d5,f5] ~@2 [c5,eb5] ~@2 [c5,eb5] ~@3 bb4 ~ c5 ~ eb5 ~", // Dm Cm
  G: "[d5,f5] ~@2 [d5,f5] ~@2 [d5,f5] ~@3 [d5,f5] ~@2 [d5,f5] ~@2", H: "ab5 ~@2 ab5 ~@6 bb5 ~ bb5!2 ~@2",
  I: "g5 ~@3 f5 ~@3 g5 ~@7", J: "[c5,eb5] ~@2 [c5,eb5] ~@2 [bb4,eb5] ~ [c5,eb5] ~@7",
  K: "[c5,eb5] ~@2 [c5,eb5] ~@2 [bb4,eb5] ~ [c5,eb5] ~ [bb4,eb5] ~ [c5,eb5] ~ [bb4,eb5] ~", // Cm Eb5 Cm Eb5 Cm Eb5
  L: "~@2 bb4 ~ [c5,eb5] ~ bb4 ~ [c5,eb5] ~ bb4 ~ [c5,eb5] ~ bb4 ~", M: "[c5,eb5] ~@2 [c5,eb5] ~@2 bb4 ~ [c5,eb5] ~@7",
  N: "~@2 [bb4,d5] ~@3 [bb4,d5] ~@5 [bb4,d5] ~ [bb4,d5] ~", O: "[c5,eb5] ~@2 [c5,eb5] ~@2 [bb4,d5] ~ [c5,eb5] ~@7",
  P: "~@2 [bb4,d5] ~@2 [bb4,d5] ~@2 [bb4,d5] ~@2 bb4 d5 ~ [bb4,d5] ~", // Bb
  Q: "[c5,eb5] ~@2 [c5,eb5] ~@2 bb4 ~ [bb4,c5,eb5] ~@3 bb4 ~ c5 ~", R: "[c5,eb5] ~@2 [c5,eb5] ~@2 c5 ~ [bb4,eb5] ~@7",
  S: "eb5 ~@2 [bb4,eb5] ~@2 c5 ~ [bb4,eb5] ~@5 bb4 ~", T: "[bb4,eb5] ~@2 [bb4,eb5] ~ [bb4,eb5] c5 ~ [bb4,eb5] ~@7",
  U: "[c5,f5] ~@2 [c5,f5] ~@2 [c5,eb5] ~ [c5,f5] ~ [d5,f5] ~@3 c5 ~", // F5 Cm F5 Dm
  V: "[d5,f5] ~@2 [d5,f5] ~@2 [c5,eb5] ~ [c5,eb5] ~@7", W: "[g4,g5] ~@2 [g4,g5] ~@2 [f4,f5]@2 [g4,g5] ~@5 [g4,g5] ~",
  X: "[ab4,ab5] ~@2 ab5 ~@2 ab5 ~ [bb4,bb5] ~@2 [bb4,bb5] ~@2 bb5 ~", Y: "[g4,g5] ~@3 f5 ~@3 g5 ~@7",
  Z: "~@2 g4 ~@2 g4 ~ g4!2 ~ g4!2 ~ g4 bb4 ~", AA: "~@2 [c5,eb5] ~@3 bb4 ~ [c5,eb5] ~@7",
  AB: "[c5,eb5] ~@2 [c5,eb5] ~ [c5,eb5] bb4 ~ [c5,eb5] ~@7", AC: "~@2 [c5,eb5] ~ [c5,eb5] bb4 ~ [c5,eb5] ~@8",
  AD: "~@3 [bb4,d5] ~@2 [bb4,d5] ~ [bb4,d5] ~@7", AE: "~@3 bb4 ~@2 c5 ~ c5 ~ bb4 ~ c5 bb4 c5 ~",
  AF: "~@3 bb4 ~@2 c5 ~ c5 bb4 ~ bb4 c5 ~ bb4 ~", AG: "c5 ~@2 c5 ~@2 bb4 ~ c5 ~@5 bb4 ~",
  AH: "c5 ~@2 c5 ~ c5 bb4 ~ c5 ~@3 g4 ~ bb4 ~", AI: "c5!2 ~ c5 ~ c5 bb4 ~ c5 ~@7", AJ: "c5 ~@2 c5 ~ c5 bb4 ~ c5 ~@7",
  AK: "c5 ~@2 bb4 ~@2 bb4 ~@7 bb4 ~", AL: "c5 ~@3 c5 ~@3 bb4 ~ c5 ~@5", AM: "~@2 g4 ~@3 bb4 ~@3 bb4 ~ c5 ~@3",
  AN: "eb5 ~@2 c5 ~@2 bb4 ~ c5 ~@5 bb4@2", AO: "c5 ~@2 c5 ~@2 bb4 ~ c5 ~@7", AP: "c5 ~@15",
})).s("gm_electric_guitar_muted").gain(0.41).pan(0.6)

// other · music box
const music_box = note(`<
  A B A B C D ~@19 E ~ E ~ E ~@3 F ~ E ~ E ~@3 C B C B C D ~@19 E ~ E ~ E ~@3 E ~ E ~ E ~@11 E ~@2 G
>`.pickRestart({
  A: "eb5 ~@3 c5 ~@3 bb4 ~ c5 ~@5", B: "~@2 g4 ~@3 bb4 ~@3 bb4 ~ c5 ~@3", C: "eb5 ~ eb5 ~ c5 ~@3 bb4 ~ c5 ~@5",
  D: "~@2 g4 ~@3 bb4 ~@3 c5 ~@3 c5 ~", E: "eb5 ~ c5 ~ c5 ~ bb4 ~ c5 ~@7", F: "eb5@2 c5 ~ c5 ~ bb4 ~ c5 ~@7",
  G: "[c4,c5] ~@15", // C
})).s("gm_music_box").gain(0.41).pan(0.7)

// drums · kick
const kick = s("bd").struct("<[x!4]!93 x>").gain(0.51)

// drums · snare
const snare = s("sd").struct("<A@7 B ~@17 A@23 C ~@17 A@15 D ~@4 A@7 ~>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@2 x ~@2 x!2 ~", D: "~@2 x ~@2 x ~@2",
})).gain(0.51)

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

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

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@7 A ~@7 B ~@8 C ~@7 D ~@7 B ~@6 E A ~@7 D ~@7 F G ~@7 B ~@7 H ~@3 B ~@2 I E ~@4
>`.pickRestart({
  A: "~@3 x ~@4", B: "~@5 x!2 ~", C: "~ x ~ x", D: "~@3 x", E: "~@5 x ~@2", F: "~@4 x!2 ~@2", G: "x ~@4 x!2 ~",
  H: "~@3 x!2 ~@3", I: "~ x",
})).gain(0.2)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@7 A ~@7 B ~@8 C ~@7 D ~@7 B ~@6 B A ~@7 D ~@7 E F ~@6 G H ~@6 G I ~@3 J ~@2 K E ~@4
>`.pickRestart({
  A: "~ x ~@6", B: "~ x ~ x!2 ~@3", C: "x ~@4 x ~@2", D: "~@5 x ~@2", E: "~ x ~ x ~@4", F: "~ x", G: "~@7 x",
  H: "x!2 ~ x!2 ~@3", I: "x!2 ~@6", J: "~@3 x!2 ~@3", K: "~@2 x ~@2 x ~@2",
})).gain(0.2)

// drums · crash
const crash = s("cr").struct(`<
  A ~@7 A ~@7 A ~@8 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A@2 ~@7 A ~@7 A ~@7 A ~@2 A
>`.pickRestart({
  A: "x",
})).gain(0.26)

stack(
  bass, pad_warm, marimba, clavinet, electric_guitar_muted, music_box, kick, snare, low_tom, hihat, mid_tom, high_tom,
  crash
)

More by Neil Diamond