Strudelify

Some Kind Of Lover

Jody Watley

KeyA minorTempo118 bpm
0:00/0:00
// Some Kind Of Lover — Jody Watley
// 118 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 6 "SLAPBASS 2" slap bass 2 (copy of ch 7 "SYN BASS 2" synth bass 2)
// note: Full arrangement: all 131 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(118/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 · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
  ~@9 A B C D E B F@2 G H I J K L I M N ~ O@2 ~@2 P@2 ~@16 Q H I J R H I S T U I J G H I V W ~ X@2 ~@2 Y@2 ~@16 Z AA I
  AB AC U I J ~@16 AD AE I AF G U I AG G AH I AI AJ H I J AK AL
>`.pickRestart({
  A: "[e5,g5,a5,c6]@2 ~ [e5,f#5,a5,c6] ~@10 g4 a4", // Am7 F#m7b5
  B: "[e5,g5,a5,c6]@2 ~ [e5,f#5,a5,c6] ~@2 [e5,f#5,a5,c6] ~@5 [e5,f#5,a5,c6] [e5,g5,a5,c6] ~ [e5,g5,a5,c6]", // Am7 F#m7b5 Am7
  C: "~@12 e5 g5 g5@2, ~@14 a5 ~", D: "~@2 a5 ~@10 [a3,b3] [c4,d4] [e4,f4]",
  E: "[e5,g5,a5,c6]@2 ~ [e5,f#5,a5,c6] ~@10 g4 a4, g4 ~@15", F: "[~@9 [e5,g5,a5,c6]@11 ~@12]/2",
  G: "[a4,c5,e5]@2 ~ [a4,c5,e5] ~ [a4,c5,e5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5] ~@5", // Am F
  H: "[f4,a4,d5]@2 ~ [f4,a4,d5] ~ [f4,a4,d5]!2 ~ [b4,c5,e5] ~ [f4,a4,c5]@4 ~@2", I: "~@4 d5@3 c5 ~@8",
  J: "d5 ~@3 d5@3 c5 ~@8", K: "[e5,g5,a5,c6]@3 [a4,c5,e5] ~ [a4,c5,e5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5] ~@5, [a4,c5] ~@7",
  L: "[f4,a4,d5]@2 ~ [f4,d5] ~ [f4,a4,d5]!2 ~ [b4,c5,e5] ~ [f4,a4,c5]@4 ~@2, ~@3 a4@2 ~@11", // Dm Cmaj7 F
  M: "d5 ~@3 d5@3 c5 ~@4 [c3,d3] [e3,f3] [g3,a3,b3] [c4,d4]", N: "[e5,g5,a5,c6]@3 ~@13, e4 ~@15",
  O: "[[g3,a3] [b3,c4] [d4,e4] [f4,g4] [a4,e5,g5,a5,c6] ~@7 [b4,e5] [d5,g5] [e5,a5] [f5,c6]@3 [e5,a5] ~@5 [e5,g5] [f5,a5] ~ [f5,a5] ~@4]/2", // Gsus2 Cmaj7 Dsus2 Fsus2 Am7 E5 G5 A5 …
  P: "[a3 [b3,c4] [d4,e4] [f4,g4] [e5,g5,a5,c6]@2 ~@6 [b4,e5] [d5,g5] [e5,a5] [f5,c6]@3 [e5,a5] ~@5 [e5,g5] [f5,a5] ~ [f5,a5] ~@4]/2", // Cmaj7 Dsus2 Fsus2 Am7 E5 G5 A5 F5 …
  Q: "~@3 [a4,c5,e5] ~ [a4,c5,e5] [a4,c5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~@5", // Am F
  R: "[a4,c5,e5]@3 [a4,c5] ~ [a4,c5,e5] [c5,e5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~@5, [g5,a5,c6]@5 ~@11, ~@3 e5@2 ~@11", // Am C F Am7
  S: "d5 ~@3 d5@3 c5 ~@5 [e3,f3] [g3,a3] [b3,c4]", // Fmaj7 Gsus2 Cmaj7
  T: "[a4,c5,e5]@2 ~ [a4,c5,e5] ~ [a4,c5,e5] c5 ~ [a4,c5,f5] ~ [a4,c5,f5] ~@5", // Am F
  U: "[f4,a4,d5]@2 ~ [f4,a4,d5] ~ [f4,a4,d5]!2 ~ [c5,e5] ~ [f4,a4,c5]@4 ~@2", // Dm C F
  V: "d5 ~@3 d5@3 [c5,d5] ~@4 [d3,e3] [f3,g3,a3] [b3,c4] [d4,e4,f4]", W: "[e5,g5,a5,c6] ~@3, g4 ~@15",
  X: "[[f3,g3,a3] [b3,c4] [d4,e4] [f4,g4,a4] [e5,g5,a5,c6]@2 ~@6 [b4,e5] [d5,g5] [e5,a5] [f5,c6]@2 a5 e5 ~@5 [d5,g5] [e5,a5] ~ [e5,a5] ~@4, ~@4 b4 ~@27]/2", // F Cmaj7 Dsus2 F Am7 E5 G5 A5 …
  Y: "[[f3,g3] [a3,b3] [c4,d4] [e4,f4] [e5,g5,a5,c6]@2 ~@6 [b4,e5] [d5,g5] [e5,a5] [f5,c6]@2 a5 e5 ~@5 [d5,g5] [e5,a5] ~ [e5,a5] ~@4, ~@4 [g4,a4] ~@27]/2", // Fsus2 Asus2 Csus2 Fmaj7 Am7 E5 G5 A5 …
  Z: "a4@2 ~ [a4,c5,e5] ~ [a4,c5,e5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5] ~@5", // Am F
  AA: "[f4,a4,d5]@2 ~ [a4,d5]@2 [f4,a4,d5]!2 ~ [c5,e5,f5] ~ [f4,a4,c5]@4 ~@2, ~@3 f4 ~@12", // Dm D5 Dm Fmaj7 F
  AB: "d5 ~@3 d5@3 c5 ~@4 d3 [e3,f3] [g3,a3] [b3,c4]", // Fmaj7 Gsus2 Cmaj7
  AC: "[a4,c5,e5]@2 ~ [a4,c5,e5] ~ [a4,c5,e5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5] ~@5, d4 ~@15", // Am F
  AD: "d#5 ~@2 [a4,c5,e5] ~ [a4,c5,e5] ~@2 [a4,c5,f5] ~ [a4,c5,f5] ~@5", // Am F
  AE: "[f4,a4,d5]@2 ~ [f4,a4,d5] ~ [f4,a4,d5]!2 ~ [g4,c5,e5] ~ [f4,a4,c5]@4 ~@2", AF: "d5 ~@3 d5@2 ~ c5 ~@8",
  AG: "d5 ~@3 d5@3 [c5,d5] ~@8", AH: "[f4,a4,d5]@2 ~ [f4,a4,d5] ~ [f4,a4,d5]!2 ~ [b4,c5,e5] ~ [f4,a4,c5]@3 ~@3",
  AI: "d5 ~@3 d5@3 c5 ~@4 d3 [e3,f3] [g3,a3,b3] [c4,d4]", // Fmaj7 G Csus2
  AJ: "[a4,c5,e5]@2 ~ [a4,c5,e5] ~ [a4,c5,e5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5]@5 ~", // Am F
  AK: "~@2 [a3,a4] ~ [c4,c5] [a3,a4]@2 ~ [c4,c5] ~ [e4,e5] [c4,c5]@2 ~ [e4,e5] ~", // A C A C E C E
  AL: "[g4,g5] [e4,e5]@2 ~ [g4,g5] ~ [b4,b5] [a4,a5] e3 [f3,g3,a3,b3] [c4,d4] [e4,f4,g4] [e5,g5,a5,c6]@3 ~, ~@8 g4@2 ~@2 a4 ~@3", // G E G B A G7 Csus2 Em …
})).s("gm_synth_brass_1").gain(0.45)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@33 A B C@2 D@2 E@2 F B G@2 H@2 I J K ~@23 F L M@2 N@2 O@2 P Q M@2 R@2 S T U ~@7 F L M@2 N@2 O@2 P Q M@2 R@2 S T U
  ~@17
>`.pickRestart({
  A: "[a3,c4,e4]@15 ~", B: "~@4 f5 ~ g5 ~ a5@3 ~ g5@3 ~, [a3,c4,f4]@7 ~ [g3,b3,d4]@6 ~@2",
  C: "[[a3,c4,e4]@20 d5@2 e5 ~ [g3,b3,d4]@4 e5@3 ~, e5@19 ~@5 f5@3 ~@5]/2", // Am G
  D: "[[c4,f4]@14 ~@6 b4 ~ c5 ~ d5@3 ~ c5@3 ~, c5@19 ~@13, a3@6 ~ a3@7 ~@2, ~@15 c4@13 ~@4, ~@16 f4@11 ~@5]/2", // F5
  E: "[[a3,b3,e4]@12 ~@4 [g#3,b3,e4]@13 ~@3, b4@29 ~@3]/2", F: "[a3,c4,e4]@7 ~",
  G: "[[a3,c4,e4]@20 d5 ~ e5 ~ [g3,b3,d4]@4 e5@3 ~, e5@19 ~@5 f5@3 ~@5]/2", // Am G
  H: "[[a3,c5]@20 b4 ~ c5 ~ [f4,d5]@4 c5@3 ~, [c4,f4]@11 a3@3 ~@2, ~@23 c4@6 ~@3]/2", I: "[a3,b3,e4,b4]@13 ~ b4 c5",
  J: "[g#3,b3,e4]@3 ~, b4@7 ~", K: "[a4,c5,e5] ~@7", L: "~@4 f5@2 g5 ~ a5@3 ~ g5@4, [a3,c4,f4]@7 ~ [g3,b3,d4]@7 ~",
  M: "[[a3,c4,e4,e5]@20 d5 ~ e5 ~ [g3,b3,d4]@4 e5@3 ~, ~@24 f5@3 ~@5]/2", // Am G
  N: "[[c4,f4]@14 ~@6 b4 ~ c5 ~ d5@3 ~ c5@3 ~, c5@19 ~@13, a3@12 ~@2 a3@13 ~@5, ~@15 c4@12 ~@5, ~@16 f4@11 ~@5]/2", // F5
  O: "[[a3,b3,e4]@3 ~ [g#3,b3,e4]@3 ~, b4@27 ~@5]/2", P: "[a3,c4,e4]@13 ~@3",
  Q: "~@4 f5 ~ g5 ~ [g3,b3,d4]@4 g5@3 ~, [a3,c4,f4]@7 ~ a5@3 ~@5", // G F
  R: "[[c4,f4]@14 ~@6 b4 ~ c5 ~ d5@3 ~ c5@3 ~, c5@9 ~@7, a3@6 ~ a3@7 ~@2, ~@15 c4@13 ~@4, ~@4 f4@3 ~]/2", // F5
  S: "[a3,b3,e4,b4]@12 ~@2 b4 c5", T: "[g#3,b3,e4]@11 ~@5, b4@13 ~@3", U: "[c5,e5] ~@7",
})).s("gm_string_ensemble_1").gain(0.64)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~@9 A B C@2 D B E@2 F G H I J G H K L ~ M@2 ~@2 N@2 ~@16 O G H I P G H Q R S H I F G H T U ~ V@2 ~@2 W@2 ~@16 X Y H Z
  AA S H I ~@16 AB ~@17
>`.pickRestart({
  A: "[e4,g4,a4,c5]@2 ~ [e4,f#4,a4,c5] ~@10 g3 a3", // Am7 F#m7b5
  B: "[e4,g4,a4,c5]@2 ~ [e4,f#4,a4,c5] ~@2 [e4,f#4,a4,c5] ~@5 [e4,f#4,a4,c5] [e4,g4,a4,c5] ~ [e4,g4,a4,c5]", // Am7 F#m7b5 Am7
  C: "[~@12 e4 g4 a4 g4@3 a4 ~@10 [a2,b2] [c3,d3] [e3,f3]]/2", // Asus2 Csus2 Fmaj7
  D: "[e4,g4,a4,c5]@2 ~ [e4,f#4,a4,c5] ~@10 g3 a3, g3 ~@15", E: "[~@9 [e4,g4,a4,c5]@11 ~@12]/2",
  F: "[a3,c4,e4]@2 ~ [a3,c4,e4] ~ [a3,c4,e4]!2 ~ [a3,c4,f4] ~ [a3,c4,f4] ~@5", // Am F
  G: "[f3,a3,d4]@2 ~ [f3,a3,d4] ~ [f3,a3,d4]!2 ~ [b3,c4,e4] ~ [f3,a3,c4]@4 ~@2", H: "~@4 d4@3 c4 ~@8",
  I: "d4 ~@3 d4@3 c4 ~@8", J: "[e4,g4,a4,c5]@3 [a3,c4,e4] ~ [a3,c4,e4]!2 ~ [a3,c4,f4] ~ [a3,c4,f4] ~@5, [a3,c4] ~@7",
  K: "d4 ~@3 d4@3 c4 ~@4 [c2,d2] [e2,f2] [g2,a2,b2] [c3,d3]", L: "[e4,g4,a4,c5]@3 ~@13, e3 ~@15",
  M: "[[g2,a2] [b2,c3] [d3,e3] [f3,g3] [a3,e4,g4,a4,c5] ~@7 [b3,e4] [d4,g4] [e4,a4] [f4,c5]@3 [e4,a4] ~@5 [e4,g4] [f4,a4] ~ [f4,a4] ~@4]/2", // Gsus2 Cmaj7 Dsus2 Fsus2 Am7 E5 G5 A5 …
  N: "[a2 [b2,c3] [d3,e3] [f3,g3] [e4,g4,a4,c5]@2 ~@6 [b3,e4] [d4,g4] [e4,a4] [f4,c5]@3 [e4,a4] ~@5 [e4,g4] [f4,a4] ~ [f4,a4] ~@4]/2", // Cmaj7 Dsus2 Fsus2 Am7 E5 G5 A5 F5 …
  O: "~@3 [a3,c4,e4] ~ [a3,c4,e4] [a3,c4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~@5", // Am F
  P: "[a3,c4,e4]@3 [a3,c4,e4] ~ [a3,c4,e4] [c4,e4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~@5, [g4,a4,c5]@5 ~@11", // Am C F Am7
  Q: "d4 ~@3 d4@3 c4 ~@5 [e2,f2] [g2,a2] [b2,c3]", // Fmaj7 Gsus2 Cmaj7
  R: "[a3,c4,e4]@2 ~ [a3,c4,e4] ~ [a3,c4,e4] c4 ~ [a3,c4,f4] ~ [a3,c4,f4] ~@5", // Am F
  S: "[f3,a3,d4]@2 ~ [f3,a3,d4] ~ [f3,a3,d4]!2 ~ [c4,e4] ~ [f3,a3,c4]@4 ~@2", // Dm C F
  T: "d4 ~@3 d4@3 [c4,d4] ~@4 [d2,e2] [f2,g2,a2] [b2,c3] [d3,e3,f3]", U: "[e4,g4,a4,c5]@3 ~@13, g3 ~@15",
  V: "[[f2,g2,a2] [b2,c3] [d3,e3] [f3,g3,a3] [e4,g4,a4,c5]@2 ~@6 [b3,e4] [d4,g4] [e4,a4] [f4,c5]@2 a4 e4 ~@5 [d4,g4] [e4,a4] ~ [e4,a4] ~@4, ~@4 b3 ~@27]/2", // F Cmaj7 Dsus2 F Am7 E5 G5 A5 …
  W: "[[f2,g2] [a2,b2] [c3,d3] [e3,f3] [e4,g4,a4,c5]@2 ~@6 [b3,e4] [d4,g4] [e4,a4] [f4,c5]@2 a4 e4 ~@5 [d4,g4] [e4,a4] ~ [e4,a4] ~@4, ~@4 [g3,a3] ~@27]/2", // Fsus2 Asus2 Csus2 Fmaj7 Am7 E5 G5 A5 …
  X: "a3@2 ~ [a3,c4,e4] ~ [a3,c4,e4]!2 ~ [a3,c4,f4] ~ [a3,c4,f4] ~@5", // Am F
  Y: "[f3,a3,d4]@2 ~ [a3,d4]@2 [f3,a3,d4]!2 ~ [c4,e4,f4] ~ [f3,a3,c4]@4 ~@2, ~@3 f3 ~@12", // Dm D5 Dm Fmaj7 F
  Z: "d4 ~@3 d4@3 c4 ~@4 d2 [e2,f2] [g2,a2] [b2,c3]", // Fmaj7 Gsus2 Cmaj7
  AA: "[a3,c4,e4]@2 ~ [a3,c4,e4] ~ [a3,c4,e4]!2 ~ [a3,c4,f4] ~ [a3,c4,f4] ~@5, d3 ~@15", // Am F
  AB: "d#4 ~@2 [a3,c4,e4] ~ [a3,c4,e4] ~@2 [a3,c4,f4] ~ [a3,c4,f4] ~@5", // Am F
})).s("gm_brass_section").gain(0.72)

// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
  ~ A B A B A B A B A C A D A C A C A C A D A C A C A C A D A C A C E F G H I J K L E F G H I J K L A C A D A C A C A C
  A D A M N D A C A D A M N D O P Q R S T U V E F G H I J K L A C A D A C A C O P Q R S T U V E F G H I J K L A C A D A
  C A C A C A D A C A W X Y
>`.pickRestart({
  A: "a1 ~ a1 ~@3 a1 ~ c2!4 ~ c2!2 ~", B: "f1 ~ f1 ~@3 f1 ~ f1 ~@2 g1 ~@2 g1 ~", C: "f1 ~ f1 ~@3 f1!3 ~ f1 ~ g1 ~ g1 ~",
  D: "f1 ~ f1 ~@3 f1!3 ~ f1 ~ g1!3 ~", E: "a1@3 ~ a1 ~ a1 a2 a1 ~ a1@5 ~",
  F: "a1 ~ a1@2 a2 ~ a1 a2 g1 ~ g1 ~ g2 ~ g1 g2", G: "f1 ~ f1@2 f2@2 f1 f2 f1 ~ f1@3 ~ f1 f2",
  H: "f1 ~ f1@2 f2 ~ f1 f2 e1 ~ e1@2 e2@2 e1 e2", I: "d1 ~ d1@2 d2 ~ d1 d2 d1 ~ d1@3 ~ d1 d2",
  J: "d1 ~ d1@2 d2 ~ d1 d2 d1 ~ d1 ~ d1 d2 d1 ~", K: "e1 ~ e1 ~ e2 ~ e1 e2 e1 ~ e1@3 ~ e1 e2",
  L: "e1!4 e2@2 e1 e2 e1 ~ c2 d2 c2 a1 [e1,f1] g1", M: "f1 ~ f1 ~@3 f1!3 ~ f1 ~ g1!4",
  N: "a1 ~ a1 ~@2 a1!2 ~ c2!4 ~ c2!2 ~", O: "a1@3 ~ a1 ~ a1 a2 a1 ~ a1@3 ~ a1 a2",
  P: "a1@3 ~ a1 ~ a1 a2 g1 ~ g1@2 g2@2 g1 ~", Q: "f1@3 ~ f1 ~ f1 f2 f1 ~ f1@3 ~ f1 f2",
  R: "f1 ~ f1@2 f2@2 f1 ~ e1 ~ e1@2 e2@2 e1 ~", S: "d1@3 ~ d1 ~ d1 d2 d1 ~ d1@3 ~ d1 d2",
  T: "d1 ~ d1@2 d2@2 d1 ~ d1 ~ d1 ~ d2 ~ d1 d2", U: "e1 ~ e1 ~ e2 ~ e1 e2 e1 ~ e1@2 ~@2 e1 e2",
  V: "e1!4 e2@4 e1!2 e2 ~ g1 ~ g2!2", W: "f1 ~ f1@3 ~ f1!3 ~ f1 ~ g1!3 ~", X: "~@2 a1 ~ c2 a1 ~@2 c2 ~ e2 c2@2 ~ e2 ~",
  Y: "g2 e2@2 ~ g2 ~ b2 g2@3 ~@2 a1@3 ~",
})).s("gm_synth_bass_2").gain(0.8)

// other · electric guitar clean · "CLEAN GTR" · A C A C E C E G …
const electric_guitar_clean = note(`<
  ~@129
  [~@2 [a2,a3] ~ [c3,c4] [a2,a3]@2 ~ [c3,c4] ~ [e3,e4] [c3,c4]@2 ~ [e3,e4] ~]
  [[g3,g4] [e3,e4]@2 ~ [g3,g4] ~ [b3,b4] [a3,a4] ~ [f2,g2,a2,b2] [c3,d3] [e3,f3,g3] [e4,g4,a4,c5]@3 ~, ~@8 [e2,g3]@2 ~@2 a3 ~@3]
>`).s("gm_electric_guitar_clean").gain(0.72)

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

// drums · snare
const snare = s("sd").struct("<~@2 A ~ A ~ A ~ B C@120 D E>".pickRestart({
  A: "~@7 x", B: "~@2 x ~@2 x ~@2 x ~@7", C: "~ x ~ x", D: "~@2 x ~@2 x ~@2", E: "x ~@2 x ~@4",
})).gain(0.6)

// drums · clap
const clap = s("cp").struct("<~@9 [~ x ~ x]!120 ~@2>").gain(0.6)

// drums · low tom
const low_tom = s("lt").struct("<~@2 A ~ A ~ A ~ B ~@121 C>".pickRestart({
  A: "~@7 x", B: "~@4 x!2 ~ x", C: "~ x",
})).gain(0.6)

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

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@9 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 A B@7 ~@2
>`.pickRestart({
  A: "~ x ~@2 x!2 ~@2", B: "~@2 x ~@4 x ~@8",
})).gain(0.24)

// drums · mid tom
const mid_tom = s("mt").struct("<~@130 [~@7 x ~@8]>").gain(0.54)

// drums · high tom
const high_tom = s("ht").struct("<~@8 [~@12 x!2 ~@2] ~@121 [~@3 x ~@4]>").gain(0.6)

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

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@8 x ~@122>").gain(3.04)

stack(
  synth_brass_1, string_ensemble_1, brass_section, bass, electric_guitar_clean, kick, snare, clap, low_tom, hihat,
  hihat_soft, mid_tom, high_tom, crash, cabasa
)

More by Jody Watley