Strudelify

Splish Splash

Bobby Darin

KeyC majorTempo150 bpm
0:00/0:00
// Splish Splash — Darin Bobby
// 150 bpm, 4/4, key C 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 98 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(150/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.

// chords · piano
const piano = note(`<
  A B ~ C D E F G H I ~@6 J K L@3 M@2 L@2 N M L O B ~ C D E F G H P ~@6 J K L@3 M@2 L@2 N M L O B ~ C D E F G H I ~@6 J
  K L@3 M@2 L@2 N M L O K L@3 M@2 L@2 N M L O ~
>`.pickRestart({
  A: "~@5 g2 a2 b2", B: "c3 ~@7", C: "[c4,e4] g4 e4 ~ [c4,e4] ~ [c4,e4,g4] ~@2 e4!2 ~ [c4,e4,g4] ~ [c4,e4] ~",
  D: "[c4,e4,g4] ~ e4 ~ [e4,g4] ~ [c4,e4,g4] ~ e4 ~ [e4,g4] ~ [c4,e4,g4] ~ [c4,e4] ~", // C Em C Em C
  E: "[c4,e4,g4] ~ [c4,e4,g4] ~ [e4,g4] ~ [c4,e4,g4] ~ e4 ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4] ~", // C Em C
  F: "[c4,e4,g4] ~@3 [c4,e4,g4] ~ [c4,e4,g4] ~ e4 ~ [e4,g4] ~ [e4,g4] ~ [c4,e4,g4] ~", // C Em C
  G: "[c4,d4,f#4] ~ [d4,f#4] ~ d4 ~ [c4,d4,f#4] ~ [c4,d4,f#4] ~ [c4,d4,f#4] ~ [c4,d4,f#4] ~ [c4,d4,f#4] ~", // D7 D D7
  H: "[b3,d4,g4] ~ [d4,g4] ~ [b3,d4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,g4] ~", // G G5 Bm G Em
  I: "[b3,c4] ~@15", J: "~@15 d3, ~@8 d5@4 [b3,c4] [g3,a3] [e3,f3]@2, ~@9 [b4,c5]@7, ~@5 [g4,a4]@3, ~@11 [d4,e4,f4]@5",
  K: "[c3,d#3,c4,c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~", // C
  L: "[c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~", // C
  M: "[c5,d#5,a5] ~ [c5,d#5,a5] ~ [c5,d#5,a5] ~ [c5,d#5,a5] ~ [c5,d#5,a5] ~ [c5,d#5,a5] ~ [c5,d#5,a5] ~ [c5,d#5,a5] ~", // Adim
  N: "[b4,f5,a#5] ~ [b4,f5,a#5] ~ [b4,f5,a#5] ~ [b4,f5,a#5] ~ [b4,f5,a#5] ~ [b4,f5,a#5] ~ [b4,f5,a#5] ~ [f5,a#5] ~, ~@7 b4", // A# A#5
  O: "[c5,e5,g5] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [a2,a3] ~ [b2,b3] ~", P: "b3 ~@15",
})).s("gm_piano").gain(0.3).pan(0.8)

// chords · piano · soft notes
const piano_soft = note("<~@3 A B C D E F ~@22 A B C D E F ~@22 A B C D E F ~@33>".pickRestart({
  A: "~@2 [c4,g4] ~@2 g4 ~@3 [c4,g4]!2 ~@3 g4 ~", B: "~@2 [c4,g4] ~ c4 ~@3 [c4,g4] ~ c4 ~@3 g4 ~",
  C: "~@4 c4 ~@3 [c4,g4] ~@5 g4 ~", D: "~@2 [c4,e4] ~@5 c4 ~ c4 ~ c4 ~@3", E: "~@2 c4 ~ [c4,f#4] ~@11",
  F: "~@2 b3 ~ g4 ~@9 d4 ~",
})).s("gm_piano").gain(0.2).pan(0.8)

// chords · overdriven guitar · "Dist Guit"
const overdriven_guitar = note(`<
  A B A C@2 D E F G B ~@7 H I J K L M I N O P Q R B A C@2 D E F G B ~@7 H I J K L M I N O P Q R B A C@2 D E F G B ~@7 H
  I J K L M I N O S Q T ~ U ~@2 V ~ W ~ X Y ~ Z AA
>`.pickRestart({
  A: "~@5 g3 a3 b3", B: "c4 ~@7", C: "[c4 ~@5 e4@4 g4@2 a4@3 ~ c4 ~@5 e4@4 g4 ~ a4@2 g4@2, ~@15 g4@2 ~@15]/2",
  D: "c4 ~@5 e4@4 g4 ~ a4@2 g4 ~", E: "c4 ~@5 e4@3 ~ g4 ~ a4@2 g4@2", F: "d4 ~@5 f#4@4 a4 ~ b4@2 a4 ~",
  G: "g3 ~@5 b3@3 ~ d4 ~ e4@2 d4 ~", H: "[c3,g3,c4]@6 [c3,g3] ~@7 [c3,g3] ~", I: "[c3,g3]@6 [c3,g3] ~@7 [c3,g3] ~",
  J: "[c3,g3]@6 [c3,g3] ~@7 [c3,d3,g3] ~", K: "c3@6 [c3,g3] ~@7 [c3,g3] ~, g3 ~@15",
  L: "[c3,f3]@6 [c3,f3] ~@7 [f3,c4] ~", M: "[f3,c4]@6 [f3,c4] ~@7 [f3,c4] ~", N: "[c3,g3]@6 [c3,g3] ~@7 [g3,d4] ~",
  O: "[g3,d4]@6 [g3,d4] ~@7 [g3,d4] ~", P: "[f3,c4]@6 [f3,c4] ~@7 [c3,g3] ~", Q: "[c3,g3]@6 [c3,g3] ~@9",
  R: "~@2 g3 ~ g3 ~ g3 ~ g3 ~ g3@2 a3@2 b3@2", S: "~@3 a2@3 [f3,c4] ~@7 [c3,g3] ~, [f3,c4]@3 ~@5",
  T: "~@2 g2 ~ g2 ~ g2 ~ g2 ~ g2@2 a2@2 b2@2",
  U: "[f#3,g3,c4]@2 [g3,c4]@2 [g3,c4]@2 ~ g3 [g3,c4]@2 [g3,c4]@2 [f#3,g3,c4]@2 [g3,c4]@2, ~@3 [f#3,c4] ~@4", // C C5 C C5 F#dim
  V: "c4@2 a3 g3 c4 a3 c4 a3", W: "~ g3 a3 g3 c4 a3 g3@2", X: "~@2 b3 d4 b3!2 d4 b3", Y: "~@2 a3 c4 a3!2 c4 a3",
  Z: "~@2 g2 ~ g2 ~ g2 ~ g2 ~ g2@2 a2@2 b2 ~", AA: "c3 ~@7",
})).s("gm_overdriven_guitar").gain(0.35).pan(0.2)

// other · brass section · "Brass"
const brass_section = note(`<
  A B C D E F@2 G H I J K L M N O@2 P F Q R S T U V W X V Y ~ C D E F@2 G H I J K L M N O@2 P F Q R S T U V W X V Y ~ C
  D E F@2 G H I J K L M N O@2 P F Q R S T U V W X V Y Z@8 AA@5
>`.pickRestart({
  A: "~@5 g4 a4 b4", B: "c5 ~@7", C: "~@5 [g3,g4] [a3,a4] b4, ~@14 b3 ~",
  D: "[c4,c5,d5] ~@5 [e4,e5]@4 [g4,g5]@2 [a4,a5]@2 [g4,g5]@2", // Csus2 E G A G
  E: "[c4,c5] ~@5 [e4,e5]@3 [g4,g5]@2 ~ [a4,a5]@2 [g4,g5]@2", F: "[c4,c5] ~@5 [e4,e5]@4 [g4,g5]@2 [a4,a5]@2 [g4,g5]@2",
  G: "[d4,d5] ~@5 [f#4,f#5]@4 [a4,a5]@2 [b4,b5]@2 [a4,a5] ~", // D F# A B A
  H: "[g3,g4] ~@5 [b3,b4]@4 [d4,d5]@2 [e4,e5]@2 [d4,d5]@2, ~@6 c4 ~@9", I: "[c4,c5]@2 ~@10 [c4,c5]@2 ~ d5, ~@7 d4",
  J: "[e4,e5]@2 ~@10 [e4,e5]@3 ~, [d#4,d#5] ~@15", K: "[f4,f5]@2 ~@10 [f4,f5]@3 ~", L: "[f#4,f#5]@2 ~@10 [f#4,f#5]@3 ~",
  M: "[c5,c6]@2 [b4,b5] [d4,e4,f4,g4,a4] ~@8 [c4,c5]@4", N: "[g3,g4] ~@5 [g3,g4]@2",
  O: "[[c4,c5]@13 [g3,g4] [a3,a4] [b3,b4]]/2", P: "[c4,c5] ~@5 [e4,e5]@4 [g4,g5]@2 a5@2 [g4,g5]@2, ~@6 f4 ~@5 a4 ~@3",
  Q: "[c4,c5] ~@5 [e4,e5]@4 [g4,g5]@2 [a4,a5] ~ [g4,g5]@2", // C E G A G
  R: "[c4,c5] ~@5 [e4,e5]@4 [g4,g5]@2 a5@2 [g4,g5]@2, ~@12 a4 ~@3", // C E G
  S: "[f4,f5] ~@5 [a4,a5]@4 [c5,c6]@2 d6@2 [c5,c6]@2, ~@12 d5 ~@3", // F A C
  T: "[f4,f5] ~@5 [a4,a5]@4 [c5,c6]@2 [d5,d6]@2 [c5,c6] ~", // F A C D C
  U: "[b3,c4,c5] ~@7 e5@2 [g4,g5]@2 a5@2 [g4,g5]@2, ~@6 e4@4 ~@2 a4 ~@3", // Cmaj7 G
  V: "[c4,c5] ~@5 [e4,e5]@4 [g4,g5]@2 [a4,a5]@2 [g4,g5] ~", // C E G A G
  W: "[a#4,a#5] [b4,b5] [d5,d6] [a#4,a#5] [b4,b5] [d5,d6] [a#4,b4,a#5] b5, ~@4 e5 ~@11", // A# B D A# B D Bmaj7
  X: "[g#4,g#5]@2 [a4,a5]@2 [c5,c6]@2 [g#4,g#5]@2 [a4,a5]@2 [c5,c6]@2 [g#4,g#5]@2 [a4,a5] ~", // G# A C G# A C G# A
  Y: "~@2 [g3,g4] ~ [g3,g4] ~ [g3,g4] ~ [g3,g4] ~ [g3,g4] ~ [a3,a4] ~ [b3,b4] ~", // G A B
  Z: "[[c4,c5] ~@5 e4@4 g5@2 [a4,a5]@2 g5@2 [b3,c4,c5] ~@5 e4@4 g5@2 [a4,a5]@2 g5@2 [c4,c5] ~@5 [e4,e5]@4 g5@2 [a4,a5]@2 g5@2 [c4,c5] ~@5 [e4,e5]@4 g5@2 [a4,a5]@2 g5@2 [f4,f5] ~@5 [a4,a5]@4 [c5,c6]@2 [d5,d6]@2 [c5,c6]@2 [f4,f5] ~@5 [a4,a5]@4 [c5,c6]@2 [d5,d6]@2 [c5,c6] ~ [c4,c5,d5] ~@5 [e4,e5]@4 g5@2 [a4,a5]@2 g5@2 [c4,c5] ~@5 [e4,e5]@4 g5@2 ~ g5 ~ c#4, ~@3 e5@10 ~@49 [a4,a5] ~, ~@5 g4@2 g4@8 g4@6 g4@2 g4@6 g4@2 g4@22 g4@2 g4@6 g4@3]/8", // C A Cmaj7 A C E A C …
  AA: "[g3 ~@5 [b3,b4]@4 [d4,d5]@2 [e4,e5]@2 [d4,d5] ~ [f3,f4] ~@5 [a3,a4]@4 [c4,c5]@2 [d4,d5]@2 [c4,c5] ~ [c4,c5,d5] ~@5 [e4,e5]@4 g5@2 [a4,a5]@2 g4@4 [g3,a3] ~ g4@2 g4@2 g4@2 g3@2 [a3,a4]@2 [b3,b4]@2 [c4,c5]@2 [a4,b4] [d4,e4,f4] [b3,c4] ~@11, g4@42 g4@4 g5 ~@3 g4@2 g3 ~ g3 ~ g3 ~ g4@9 g4@6 ~@7, ~@64 d5 ~@15]/5", // B D E D F A C D …
})).s("gm_brass_section").gain(0.45).pan(0.7)

// other · baritone sax · "Bariton S"
const baritone_sax = note(`<
  A B A C@2 D C E F G H I J K L B M C N@3 O P Q R S T Q U V A C@2 D C E F W H I J K L B M C N@3 O P Q R X Y Q U Z AA AB
  C D C E F W H I J K L B AC C N@3 O P Q R X Y Q U AD ~ AE AF ~@3 AG ~@3 AH AI
>`.pickRestart({
  A: "~@5 g2 a2 b2", B: "c3 ~@7", C: "c3 ~@5 e3@4 g3@2 a3@2 g3@2", D: "c3 ~@5 e3@4 g3@2 a3@2 g3 ~",
  E: "d3 ~@5 f#3@4 a3@2 b3@2 a3@2", F: "g2 ~@5 b2@4 d3@2 e3@2 d3@2", G: "c3@2 ~@10 c3@2 d2 d#3", H: "e3@2 ~@10 e3@3 ~",
  I: "f3 ~@5 f3@2", J: "f#3 ~@5 f#3@2", K: "c3 ~@5 c3@2", L: "g2@2 ~@10 g2@3 ~", M: "~@5 [g2,g3] [a2,a3] b2, ~@14 b3 ~",
  N: "c3 ~@5 e3@3 ~ g3@2 a3@2 g3@2", O: "f3 ~@2 a3@2 c4 d4 c4", P: "f3@2 ~@4 a3@4 c4@2 d4@2 c4 a3",
  Q: "c3@2 ~@4 e3@3 ~ g3@2 a3@2 g3@2", R: "c3 ~@5 e3@4 g3@2 a3@2 f3@2", S: "g3 ~@2 b3@2 d3 e3 d3",
  T: "f3 ~@5 a3@4 c4@2 d3@2 c4@2", U: "~@2 g2 ~ g2 ~ g2 ~ g2 ~ g2@2 a2@2 b2@2", V: "c3 ~@15",
  W: "c3@2 ~@10 c3@2 d3 d#3", X: "g3 ~@2 b3@2 d4 e4 d4", Y: "f3 ~@5 a3@4 c4@2 d4@2 c4@2", Z: "c4 ~@7, c3 ~@15",
  AA: "~@9 g2@2 a2@2 b2@2 c3", AB: "~@3 e3@2 g3 a3 g3", AC: "~@10 [g2,g3]@2 [a2,a3]@2 b3 ~",
  AD: "c3 [c2,c3] ~@4 e3@4 g3@2 a3@2 g3@2", AE: "~@2 [e3,e4] ~ [g3,g4]@2 [e3,e4] ~ [g3,g4]@2 [e3,e4] ~@3 [e3,e4] ~",
  AF: "[d#3,d#4]@2 [d3,d4]@2 [c3,c4] ~ [a2,a3] ~@9", AG: "~@2 a3@2 ~@2 g3 ~ c4@2 a3@2 g3@2 ~@2",
  AH: "~@2 [g2,g3] ~ [g2,g3] ~ [g2,g3] ~ [g2,b3] ~ [g2,b3]@2 [a2,c4]@2 [b2,d4]@2", AI: "[c3,e4] ~@7",
})).s("gm_baritone_sax").gain(0.5).pan(0.9)

// other · alto sax · "Tenor SAX"
const alto_sax = note(`<
  A B A C@2 D C E F G H I J K L B M C N@3 O P Q R S T Q U V A C@2 D C E F W H I J K L B M C N@3 O P Q R X Y Q U Z AA AB
  C D C E F W H I J K L B AC C N@3 O P Q R X Y Q U V ~@4 AD ~ AE ~@3 AF AG
>`.pickRestart({
  A: "~@5 g3 a3 b3", B: "c4 ~@7", C: "c4 ~@5 e4@4 g4@2 a4@2 g4@2", D: "c4 ~@5 e4@4 g4@2 a4@2 g4 ~",
  E: "d4 ~@5 f#4@4 a4@2 b4@2 a4@2", F: "g3 ~@5 b3@4 d4@2 e4@2 d4@2", G: "c4@2 ~@10 c4@2 d3 d#4", H: "e4@2 ~@10 e4@3 ~",
  I: "f4 ~@5 f4@2", J: "f#4 ~@5 f#4@2", K: "c4 ~@5 c4@2", L: "g3@2 ~@10 g3@3 ~", M: "~@5 [g3,g4] [a3,a4] b3, ~@14 b4 ~",
  N: "c4 ~@5 e4@3 ~ g4@2 a4@2 g4@2", O: "f4 ~@2 a4@2 c5 d5 c5", P: "f4@2 ~@4 a4@4 c5@2 d5@2 c5 a4",
  Q: "c4@2 ~@4 e4@3 ~ g4@2 a4@2 g4@2", R: "c4 ~@5 e4@4 g4@2 a4@2 f4@2", S: "g4 ~@2 b4@2 d4 e4 d4",
  T: "f4 ~@5 a4@4 c5@2 d4@2 c5@2", U: "~@2 g3 ~ g3 ~ g3 ~ g3 ~ g3@2 a3@2 b3@2", V: "c4 ~@15",
  W: "c4@2 ~@10 c4@2 d4 d#4", X: "g4 ~@2 b4@2 d5 e5 d5", Y: "f4 ~@5 a4@4 c5@2 d5@2 c5@2", Z: "c5 ~@7, c4 ~@15",
  AA: "~@9 g3@2 a3@2 b3@2 c4", AB: "~@3 e4@2 g4 a4 g4", AC: "~@10 [g3,g4]@2 [a3,a4]@2 b4 ~",
  AD: "~@4 c5@2 a4 ~ c5@2 a4 ~ c5@2 a4@2", AE: "~@2 a4@2 ~@2 g4 ~ c5@2 a4@2 g4@2 ~@2",
  AF: "~@2 [g3,g4] ~ [g3,g4] ~ [g3,g4] ~ [g3,b4] ~ [g3,b4]@2 [a3,c5]@2 [b3,d5]@2", AG: "[c4,e5] ~@7",
})).s("gm_alto_sax").gain(0.5).pan(0.2)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B A C D@2 C E F G H I J G K L M C N@3 O P Q R S T Q U V A C D@2 C E F G H I J G K L M C N@3 O P Q R S T Q U V A C
  D@2 C E F G H I J G K L M C N@3 O P Q R S T Q U W N@3 O P Q R S T Q U X
>`.pickRestart({
  A: "~@5 g1 a1 b1", B: "c2 ~@7", C: "c2 ~@5 e2@4 g2@2 a2@2 g2@2", D: "c2 ~@5 e2@4 g2@2 a2@2 g2 ~",
  E: "d2 ~@5 f#2@4 a2@2 b2@2 a2 ~", F: "g1 ~@5 b1@4 d2@2 e2@2 d2@2", G: "c2 ~@5 c2 ~", H: "e2 ~@5 e2 ~",
  I: "f2 ~@5 f2 ~", J: "f#2@3 ~@9 f#2@2 ~@2", K: "g1@3 ~@9 g1@2 ~@2", L: "c2 ~@2 c2 ~@2 c2 ~",
  M: "~@2 c2 ~@3 c2 ~ c2@2 g1@2 a1@2 b1 ~", N: "c2 ~@5 e2@3 ~ g2@2 a2@2 g2@2", O: "f2 ~@2 a2@2 c3 d3 c3",
  P: "f2@2 ~@4 a2@4 c3@2 d3@2 c3 a2", Q: "c2@2 ~@4 e2@3 ~ g2@2 a2@2 g2@2", R: "c2 ~@5 e2@4 g2@2 a2@2 f2@2",
  S: "g2 ~@2 b2@2 d3 e3 d3", T: "f2 ~@5 a2@4 c3@2 d3@2 c3@2", U: "~@2 g2 ~ g2 ~ g2 ~ g2 ~ g2@2 a2@2 b2@2",
  V: "c2 ~@7, c3 ~@15", W: "[c2,c3] ~@5 e2@4 g2@2 a2@2 g2@2", X: "c3 ~@15",
})).s("gm_electric_bass_finger").gain(0.5)

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

// drums · snare
const snare = s("sd").struct(`<
  A ~ B C@6 D@6 E F C@3 G C H C I C@3 J ~ B C@6 D@6 E F C@3 G C H C I C@3 J ~ B C@6 D@6 E F C@3 G C H C I C@3 J C@3 G C
  H C I C@3 J ~
>`.pickRestart({
  A: "~@5 x!3", B: "~@10 x!3 ~ x ~", C: "~@3 x ~@2 x ~", D: "~@3 x", E: "~ x", F: "~ x ~ x!2 ~@3", G: "~@3 x ~ x!3",
  H: "~@3 x ~ x!2 ~", I: "~@2 x ~ x ~@2 x", J: "~ x!4 ~ x!2",
})).gain(0.72)

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

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  ~ A B ~@6 A@2 C A C@2 D ~@13 A B ~@6 A@2 C A C@2 D ~@13 A B ~@6 A@2 C A C@2 D ~@26
>`.pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~ x!2 ~", D: "~ x",
})).gain(0.72)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@8 A ~@2 B ~ C ~@2 D ~@3 A ~@3 E ~@3 B ~@7 A ~@2 B ~ C ~@2 D ~@3 A ~@3 E ~@3 B ~@7 A ~@2 B ~ C ~@2 D ~@3 A ~@3 E ~@3
  B ~@3 A ~@3 E ~@3 B ~
>`.pickRestart({
  A: "~@7 x", B: "~@3 x", C: "~@11 x ~@4", D: "~ x ~@4 x ~", E: "~ x",
})).gain(0.72)

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

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~ A ~@3 A@9 ~ A ~ A ~ B ~ A C A ~ B ~ A ~ A ~@3 A@9 ~ A ~ A ~ B ~ A C A ~ B ~ A ~ A ~@3 A@9 ~ A ~ A ~ B ~ A C A ~
  B ~ A ~ A ~ B ~ A C A ~ B ~ A
>`.pickRestart({
  A: "x", B: "x ~@6 x", C: "~@3 x",
})).gain(0.72)

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

// drums · bongos
const bongos = s("bongo:4").struct("<x ~@97>").gain(0.42)

stack(
  piano, piano_soft, overdriven_guitar, brass_section, baritone_sax, alto_sax, bass, kick, snare, low_tom, pedal_hat,
  mid_tom, high_tom, crash, ride, bongos
)

More by Bobby Darin