Strudelify

Ride Like the Wind

East Side Beat

KeyC minorTempo120 bpm
0:00/0:00
// Ride Like the Wind — East Side Beat
// 120 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · "A.PIANO 3"
const piano = note(`<
  ~@7 A@8 B C D E F G H I J K F L M G N@2 O P@8 Q@8 R@2 L S G T U V ~@11 W@8 X@7 Y@2 Z@2 L M G T U V AA@2 L AB G AC@2 AD
  AE@2 L AB G H U V R@2 L M G AF U AG ~@2
>`.pickRestart({
  A: "[~@10 f2@2 [g1,g2] ~ [ab1,ab2]@15 ~ [g1,g2]@16 [f1,f2]@15 ~ [g1,g2]@16 [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [c2,c3]@16 [bb1,bb2]@2, ~@10 f1 ~@117]/8", // G Ab G F G Ab Bb C …
  B: "~@10 [g1,g2] ~ bb1@2 [c2,c3]@2, ~@12 bb2 ~@3", // G C
  C: "~@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,g4] g3 [f3,bb3,d4,f4] [f3,bb3,d4,f4]@2", // Cm Bb
  D: "bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 bb2 ~ [f3,c4,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Dm7 Bb
  E: "c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [g3,c4,eb4,g4] ~ [f3,bb3,d4,f4] [bb3,d4,f4]@2, ~@14 f3 ~", // Cm Bb
  F: "bb2@2 [bb3,d4,f4]@2 d4 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 bb2 ~ [f3,c4,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Dm7 Bb
  G: "ab2@2 [ab3,c4,eb4,g4]@2 ab2 [ab3,c4,eb4,g4] ~ ab2 [ab3,c4,eb4,g4]!2 ab2 [c4,eb4,g4] ab3 [ab3,bb3,eb4,f4] [ab3,c4,eb4,f4]@2", // Abmaj7 Cm Absus2 Fm7
  H: "bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 bb2 ~ [f3,bb3,c4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Fsus4 Bb
  I: "c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [g3,c4,eb4,f4] ~ c3 [c4,eb4,g4]@2, ~@14 g3 ~", // Cm
  J: "bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 bb2 ~ [g3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Gm7 Bb
  K: "c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,g4] g3 [f3,bb3,d4,f4] [f3,bb3,d4,f4]@2", // Cm Bb
  L: "c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,g4] g3 [f3,bb3,d4,f4] [bb3,d4,f4]@2, ~@14 f3 ~", // Cm Bb
  M: "bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4] [bb3,d4,f4] [bb2,f3] ~ [f3,c4,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Bb5 Dm7 Bb
  N: "[bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ d4 [f3,bb3,d4,f4]!2 ~@2 [f3,bb3,c4,f4] ~ [f3,bb3,f4] ~ c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,f4] g3 c3 [c4,eb4,g4]@2, ~@2 f3 ~@7 d4@4 d4@4 ~@12 g3 ~]/2", // Bb Fsus4 Bb5 Cm F7 Cm
  O: "bb2@2 [bb3,d4,f4]@2 d4 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4] [bb3,d4,f4] d4@2 [g3,bb3,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@7 f3 ~ d4@2 ~@2", // Bb Gm7 Bb
  P: "[[c2,c3]@14 [bb1,bb2]@15 ~ [c2,c3]@15 ~ [bb1,bb2]@15 ~ [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [c2,c3]@16 [bb1,bb2]@15 ~ [ab1,ab2]@2]/8", // C Bb C Bb Ab Bb C Bb …
  Q: "[~@14 [g1,g2]@15 ~ [f1,f2]@15 ~ [g1,g2]@15 ~ [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [c2,c3]@15 ~ [bb1,bb2]@18]/8", // G F G Ab Bb C Bb
  R: "[c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,g4] g3 [f3,bb3,d4,f4] ~@2 bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ d4 [f3,bb3,d4,f4]!2 bb2 ~ [f3,c4,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@7 [bb3,d4,f4] ~@8, ~@15 f3@2 ~ f3 ~@13]/2", // Cm Bb Dm7 Bb
  S: "bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ d4 [f3,bb3,d4,f4] [bb3,d4,f4] d4@2 [f3,c4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@7 f3 ~ d4@2 ~@2", // Bb F5 Bb
  T: "d4@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 bb2 ~ [f3,bb3,c4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Fsus4 Bb
  U: "c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,f4] g3 c3 [c4,eb4,g4]@2, ~@14 g3 ~", // Cm F7 Cm
  V: "bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4] [bb3,d4,f4] [bb2,f3] ~ [g3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Bb5 Gm7 Bb
  W: "[~@14 [c2,c3]@16 [bb1,bb2]@15 ~ [c2,c3]@15 ~ [bb1,bb2]@15 ~ [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [c2,c3]@16 [bb1,bb2]@2]/8", // C Bb C Bb Ab Bb C Bb
  X: "[~@14 [ab1,ab2]@15 ~ [g1,g2]@15 ~ [f1,f2]@15 ~ [g1,g2]@15 ~ [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [c2,c3]@2]/7", // Ab G F G Ab Bb C
  Y: "[~@7 [bb1,bb2]@9]/2", // Bb
  Z: "[c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,g4] g3 [f3,bb3,d4,f4] ~@2 bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 bb2 ~ [f3,c4,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@7 [bb3,d4,f4] ~@8, ~@15 f3@2 ~ f3 ~@13]/2", // Cm Bb Dm7 Bb
  AA: "[c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,g4] g3 [f3,bb3,d4,f4] ~@2 d4@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ d4 [f3,bb3,d4,f4]!2 d4@2 [f3,c4,f4] ~ [f3,bb3,d4,f4] ~, ~@7 [bb3,d4,f4] ~@6 d4 ~, ~@15 f3@2 ~ f3 ~@13]/2", // Cm Bb F5 Bb
  AB: "d4@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4] [bb3,d4,f4] [bb2,f3] ~ [f3,c4,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Bb5 Dm7 Bb
  AC: "[bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 ~@2 [f3,bb3,c4,f4] ~ [f3,bb3,f4] ~ c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,f4] g3 c3 [c4,eb4,g4]@2, ~@2 f3 ~@7 d4@4 d4@4 ~@12 g3 ~]/2", // Bb Fsus4 Bb5 Cm F7 Cm
  AD: "d4@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4] [bb3,d4,f4] [bb2,f3] ~ [g3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Bb5 Gm7 Bb
  AE: "[c3@2 [g3,c4,eb4,g4]@2 c3 [g3,c4,eb4,g4] ~ c3 [g3,c4,eb4,g4]!2 c3 [c4,eb4,g4] g3 [f3,bb3,d4,f4] ~@2 bb2@2 [bb3,d4,f4]@2 bb2 [f3,bb3,d4,f4] ~ d4 [f3,bb3,d4,f4]!2 d4@2 [f3,c4,f4] ~ [f3,bb3,d4,f4] ~, ~@7 [bb3,d4,f4] ~@6 d4 ~, ~@15 f3@2 ~ f3 ~@13]/2", // Cm Bb F5 Bb
  AF: "bb2@2 [bb3,d4,f4]@2 d4 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 bb2 ~ [f3,bb3,c4,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@13", // Bb Fsus4 Bb
  AG: "d4@2 ~ f3 d4 [bb3,d4,f4] f3 bb2 [bb3,d4,f4] [f3,bb3,d4,f4] [bb2,f3] ~ [bb3,d4,f4] g3 [bb3,d4,f4] f3, ~ [bb3,d4,f4] ~@6", // Bb Bb5 Bb
})).s("gm_piano").gain(0.8).pan(0.4)

// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
  ~@32 A B A B C B A B C D E D C B A B A B A B C B A B A B A B A B A B C B A B A B A B C B A B C D E D C B A B A B A B C
  B A B A B A B C B A B A B A B C B A B A B A B C B A B ~@2
>`.pickRestart({
  A: "c2 ~ c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~", B: "bb1 ~ bb1 ~@2 bb1 ~@2 bb1 ~@2 bb1 ~@2 bb1 ~",
  C: "ab1 ~ ab1 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~", D: "g1 ~ g1 ~@2 g1 ~@2 g1 ~@2 g1 ~@2 g1 ~",
  E: "f1 ~ f1 ~@2 f1 ~@2 f1 ~@2 f1 ~@2 f1 ~",
})).s("gm_synth_bass_2").gain(0.8)

// other · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note(`<
  ~@13 A B C D@4 E F G H D@4 E F G I ~@9 J K L@4 M@5 E F G H N@2 E O ~@17 J K L@4 M@5 E F G H D@4 E F G I D@4 E F G H
  D@4 E F G H P ~
>`.pickRestart({
  A: "~@11 c5@3 bb4@2", B: "c5 ~@10 c5@3 bb4@2",
  C: "c5@2 bb4@2 c5@2 bb4@2 eb4 c4 d4 eb4 f4 g4 [ab4,bb4] bb4, ~@4 c5 bb4 c5 ~", D: "[c5@60 eb5 d5 c5 bb4]/4",
  E: "c5@10 g4 bb4 c5!3 bb4", F: "c5@12 eb5 d5 c5 bb4", G: "c5@9 ~ g4 bb4 c5!3 bb4",
  H: "c5@7 [f4,g4,bb4] [c4,eb4] d4 eb4 f4 g4 ab4 bb4@2", I: "c5@7 [eb4,f4,g4,bb4] c4 d4 eb4 f4 g4 ab4 bb4@2",
  J: "~@13 c5 bb4 ~", K: "~@4 c5 ~@3 c5 ~@3 c5 ~@3", L: "c5 ~@3 c5 ~@3 c5 ~@3 c5!2 bb4@2",
  M: "[c5@2 bb4@2 c5@2 bb4@2 eb4 c4 d4 eb4 ~ g4 [ab4,bb4] ~ c5@60 eb5 d5 c5 bb4, ~@8 c5@2 bb4@2 [f4,c5]@2 ~ bb4@2 ~@63]/5", // Absus2 F5
  N: "[c5@28 eb5 d5 c5 bb4]/2", O: "c5@7 [eb4,f4,g4,bb4] c4 d4 eb4 f4 g4 ab4 bb4 c5", P: "c5",
})).s("gm_synth_strings_1").gain(0.8).pan(0.3)

// other · shamisen
const shamisen = note(`<
  ~@4 A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A
  B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D ~@2
>`.pickRestart({
  A: "c4 ~ c5 ~ bb4 c5 c4!2 c5 ~ g4 ~ g5 ~ bb4 c5", B: "bb3!2 c5 ~ bb4 c5 bb4 f4 bb4 ~@2 c5 ~ bb4 c5 bb4",
  C: "c4 ~ c5 ~ bb4 c5 bb4 c4 c5 ~ g4 g5 ~ g4 bb4 c5", D: "bb3!2 c5 ~ bb4 c5 bb4 f4!2 ~@2 c5 ~ bb4 c5 bb4",
})).s("gm_shamisen").gain(0.64).pan(0.2)

// other · shamisen
const shamisen_2 = note(`<
  ~@4 A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A
  B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D ~@2
>`.pickRestart({
  A: "c5 bb4 c5 ~ c4 c5 bb4 c5 ~ c4!3 g5 ~ g5 ~", B: "bb4 c5!2 ~ c5!2 bb4 c5 ~ f4 bb4 c5 ~ c5 ~ bb4",
  C: "c5 bb4 c5 ~ c4 c5 bb4 c5 ~ c4!2 g5 ~ g5 ~ g4", D: "bb4 c5!2 ~ f4!2 bb4 c5 ~ f4 bb4 c5 ~ c5 ~ bb4",
})).s("gm_shamisen").gain(0.64).pan(0.9)

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

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@23 A@8 B ~@15 C@8 D E F G@6 H I J K L M N@2 H M O P Q M Q M R S@2 T@8 U@8 V@7 W@7 X@3 Y Z
>`.pickRestart({
  A: "[~@16 [c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4] [c3,g3,eb4,g4] ~ [d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [c4,eb4,g4]@2 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4] [c3,g3,eb4,g4] ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [ab2,c4,eb4,g4]@2 [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]!2 ~ [ab2,ab3,c4,eb4,g4] ~ [ab2,ab3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 f3, ~@15 [c3,g3]@2 ~@13 c4@17 [c3,g3]@2 ~ g4 ~@2 g4 ~@8 c4@3 ~@45 d4@18, ~@63 f3@2 ~@14 ab3@2 ~@14 f3@2 ~@14 g3@2 ~@15]/8", // Cm Dm Bb Bbmaj7 Bb Cm Bb Bbmaj7 …
  B: "[bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4]@3 [f3,bb3,d4]@3 [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~, ~@2 f4 ~@2 [bb2,f4] ~@8 d4@2", // Bb Bbmaj7 Bb Bb5
  C: "[~@16 [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4]@3 [f3,bb3,d4]@3 [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [ab2,c4,eb4,g4]@2 [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]!2 ~ [ab2,ab3,c4,eb4,g4] ~ [ab2,ab3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 f3, ~@15 g3@2 ~@14 f3@2 ~@13 d4@18 ~@2 f4 ~@11 d4@3 ~@47, ~@47 g3@2 ~@14 f3@2 ~@4 [bb2,f4] ~@9 ab3@2 ~@14 f3@2 ~@14 g3@2 ~@15]/8", // Cm Bb Bbmaj7 Bb Bb5 Cm Bb Bbmaj7 …
  D: "[bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~", // Bb Bbmaj7 Bb
  E: "~@2 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4] [g3,eb4] [g3,c4,eb4,g4] ~@2 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4]!3", // Cm
  F: "~@2 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!3 ~@2 [f3,bb3,d4,f4]!2 eb3 [d3,f3,bb3,d4,f4] [eb3,f3,bb3,d4,f4] [d3,f3,bb3,d4,f4]", // Bb
  G: "[~@2 [g3,c4,eb4,g4]!2 ~ [g3,eb4] [g3,c4,eb4,g4] [g3,c4,eb4,g4]@3 [g3,c4,eb4,g4] [g3,c4,eb4,g4]@2 [c4,eb4,g4] [g3,c4,eb4,g4] ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!3 ~@2 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!3 ~@2 [g3,c4,eb4,g4] [g3,c4,eb4,g4]@2 [g3,c4,eb4,g4] [g3,eb4] [eb4,g4]@3 [g3,c4,eb4,g4] [g3,c4,eb4,g4]@2 [g3,c4,eb4,g4]!2 ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!3 ~@2 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!3 ~@2 [g3,c4,eb4,g4] [g3,c4,eb4,g4]@2 [g3,c4,eb4,g4]!2 [g3,eb4,g4]@3 [g3,c4,eb4,g4] [g3,c4,eb4,g4]@2 [g3,c4,eb4,g4]!2 c4 ~@2 [f3,bb3,d4,f4]!2 ~@2 [f3,bb3,d4,f4]!2 ~@2 [f3,bb3,d4,f4]!2 ~@2 [f3,g3,bb3,c4,d4,eb4,f4,g4] ~, c3@15 [eb4,g4]@19 ~@5 [g3,c4] ~@7 [g3,eb4,g4]@19 ~@5 c4 ~@7 [g3,eb4,g4]@6 ~@11]/6", // Cm Bb Cm Eb Cm Bb Cm Bb …
  H: "~@2 [ab3,c4,eb4,g4]!2 ~ [ab3,c4,eb4,g4] [ab3,eb4] ~@3 [ab3,c4,eb4,g4]!2 ~ [ab3,c4,eb4,g4]!2 ~", // Abmaj7 Ab5 Abmaj7
  I: "~@2 [f3,bb3,d4,f4] [f3,d4,f4] ~ [f3,bb3,d4,f4]!2 ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~", // Bb Dm Bb
  J: "~@2 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4] [g3,eb4] ~@3 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4]!2 ~", // Cm
  K: "~@2 [bb3,d4,f4] [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4]!2 ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~", // Bb
  L: "~@2 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4] [c4,eb4,g4] ~@3 [g3,c4,eb4,g4]!2 ~ [g3,c4,g4] [g3,c4,eb4,g4] ~", // Cm C5 Cm
  M: "~@2 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~", // Bb
  N: "[~@2 [g3,c4,eb4,g4]!2 ~ [c4,g4]!2 ~@3 [g3,c4,eb4,g4]!2 ~ [c4,eb4,g4] [g3,c4,eb4,g4] ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~, ~@5 ab3@8 ab3@8 ~@11, ~@5 eb4@2 ~@25]/2", // Cm C5 Cm Bb
  O: "~@2 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4] g3@4 [g3,c4,eb4,g4] [g3,c4,eb4,g4]@2 [g3,c4,eb4,g4]!2 ~, ~@5 g4@5 ~@6, ~@6 eb4 ~@9", // Cm
  P: "~@2 [f3,bb3,d4,f4]!2 ~ [f3,bb3,f4] [f3,bb3,d4,f4] ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~", // Bb Bb5 Bb
  Q: "~@2 [ab3,c4,eb4,g4]!2 ~ [ab3,c4,eb4,g4]!2 ~@3 [ab3,c4,eb4,g4]!2 ~ [ab3,c4,eb4,g4]!2 ~", // Abmaj7
  R: "~@2 [ab3,c4,eb4,g4]!2 ~ ab3 [ab3,c4,eb4] ~@3 [ab3,c4,eb4,g4]!2 ~ [ab3,c4,eb4,g4]!2 ~, ~@3 g4@2 ~@3", // Abmaj7 Ab Abmaj7
  S: "[~@2 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4] [bb3,d4,f4] ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~@3 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4] eb4@4 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4]!2 ~, ~@6 eb4@12 ~@4 g3 ~@9]/2", // Bb Cm
  T: "[~@2 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~@3 [f3,bb3,d4,f4]!2 ~ [f3,bb3,d4,f4]!2 ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [ab2,c4,eb4,g4]@2 [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]!2 ~ [ab2,ab3,c4,eb4,g4] ~ [ab2,ab3,c4,eb4,g4]!2 ~ [bb2,bb3,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 f3, ~@15 g3@2 ~@14 f3@2 ~@14 g3@2 ~@14 f3@2 ~@14 ab3@2 ~@14 f3@2 ~@14 g3@2 ~@15]/8", // Bb Cm Bb Bbmaj7 Bb Cm Bb Bbmaj7 …
  U: "[[bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [ab2,c4,eb4,g4]@2 [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]!2 ~ [ab2,ab3,c4,eb4,g4] ~ [ab2,ab3,c4,eb4,g4]!2 ~ [bb2,bb3,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 f3, ~@15 g3@2 ~@14 f3@2 ~@14 g3@2 ~@14 f3@2 ~@14 ab3@2 ~@14 f3@2 ~@13 d4@18, ~@111 g3@2 ~@15]/8", // Bb Bbmaj7 Bb Cm Bb Bbmaj7 Bb Cm …
  V: "[[bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4]@3 [f3,bb3,d4]@3 [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4]@3 [f3,bb3,d4]@3 [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [ab2,c4,eb4,g4]@2 [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]!2 ~ [ab2,ab3,c4,eb4,g4] ~ [ab2,ab3,c4,eb4,g4]!2 ~ [bb2,bb3,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] g3, ~@2 f4 ~@2 [bb2,f4] ~@8 d4@3 ~@29 d4@18 ~@2 f4 ~@11 d4@3 ~@31, ~@15 g3@2 ~@14 f3@2 ~@14 g3@2 ~@14 f3@2 ~@4 [bb2,f4] ~@9 ab3@2 ~@14 f3@2 ~@15]/7", // Bb Bbmaj7 Bb Bb5 Cm Bb Bbmaj7 Bb …
  W: "[[c3,c4,eb4,g4]@2 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4] [c3,g3,eb4,g4] ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,d4,f4] ~ [c3,eb4,g4]@2 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4] [c3,g3,eb4,g4] ~ [d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4]@3 [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4] [c3,g3,eb4,g4] ~ [bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4]@3 [f3,bb3,d4]@3 [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [ab2,c4,eb4,g4]@2 [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]@2 ~ [ab2,ab3,c4,eb4,g4]!2 ~ [ab2,ab3,c4,eb4,g4] ~ [ab2,ab3,c4,eb4,g4]!2 f3, ~@2 g4 ~@2 g4 ~@8 c4@20 g4 ~@2 g4 ~@24 d4@17 f3@2 ~@4 [bb2,f4] ~@9 ab3@2 ~@15, ~@31 g3@2 ~@13 c4@17 g3@2 ~ g4 ~@2 g4 ~@8 c4@3 ~ f4 ~@11 d4@3 ~@15]/7", // Cm Bb Bbmaj7 Bb Cm Dm Bb Bbmaj7 …
  X: "[[bb2,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]@2 ~ [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4,f4] ~ [bb2,f3,bb3,f4] ~ [c3,c4,eb4,g4]@2 [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]@2 ~ [c3,g3,c4,eb4,g4]!2 ~ [c3,g3,c4,eb4,g4] ~ [c3,g3,c4,eb4,g4]!2 ~ [bb2,bb3,d4,f4]@2 ~ f4 ~ [f3,bb3,d4]@3 [bb2,f3,bb3,d4,f4]!2 ~ [bb2,f3,a3,d4,f4] [bb2,f3,bb3,d4] f4 [bb2,f3,bb3,f4] ~, ~@7 d4@9 ~@7 d4, ~@15 g3@2 ~@14 f3@3 [bb2,f3,bb3,d4]@2 ~ [bb2,f4] ~@10]/3", // Bb Bbmaj7 Bb Bb5 Cm Bb Bbmaj7 Bb …
  Y: "~@2 [g3,c4,eb4,g4] ~@2 [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4]!2 ~ [g3,c4,eb4,g4] ~ [g3,c4,eb4,g4]!3", // Cm
  Z: "[g3,c4,eb4,g4]!2 ~@14", // Cm
})).s("gm_acoustic_guitar_steel").gain(0.6).pan(0.6)

// chords · piano · "A.PIANO 1"
const piano_2 = note("<~@24 A@8 ~@9 B ~@14 C@6 ~ D E@8 F@7 ~ G ~ H ~@6 I@16 J@5 ~@8>".pickRestart({
  A: "[~@8 bb2@5 ~@11 d4 ~@39, ~@15 f3@113, ~ bb3@7]/8", B: "d4@3 ~@13",
  C: "[~@6 [c4,g4]@34 ~@7 c4@23 [c4,g4]@9 c4@14 ~@3, ~@47 g3@33 ~@16]/6", D: "~@5 [f3,bb3,d4,f4] ~@10",
  E: "[~@19 bb3@4 ~@15 [c4,g4]@90, ~@3 [c4,g4]@16 ~@45]/8", F: "[~@3 [c4,g4]@16 [c4,g4]@32 ~@5]/7",
  G: "~@6 c4@5 ~@5, ~@6 g4 ~@9", H: "~@6 [c4,g4]@5 ~@5", I: "d4/8",
  J: "[~@31 f3@7 ~@10 c4@4 ~@12 [bb2,bb3]@7 ~@9, d4, ~@63 f3@7 ~@10]/5", // Bb
})).s("gm_piano").gain(0.46)

// drums · kick
const kick = s("bd").struct("<~@4 A@11 B ~@8 A@32 B ~@3 A@16 B ~@7 A@32 B ~>".pickRestart({
  A: "x ~@2 x!2 ~ x ~ x!2 ~@2 x ~@3", B: "x",
})).gain(0.8)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@4 A@11 ~@9 A@32 ~@4 A@16 ~@8 A@32 ~@2>".pickRestart({
  A: "~ x ~@6",
})).gain(0.48)

// drums · snare
const snare = s("sd").struct(`<
  ~@4 A@11 ~@9 A@7 B C@7 D C E C F C G C F C@3 H C@3 F ~@4 C I C J C@3 K C@7 D ~@7 L C@3 H C@3 F C@3 H C@3 F C I C M I@2
  C N C O C M C@3 P Q ~
>`.pickRestart({
  A: "~@2 x ~@2 x ~@2", B: "~@4 x ~@2 x ~@2 x ~ x!4", C: "~@4 x ~@5 x ~ x ~@2 x", D: "~@4 x ~@4 x!7",
  E: "~@4 x ~@4 x!4 ~ x!2", F: "~@4 x ~ x!10", G: "~@4 x ~@4 x!2 ~ x ~@2 x", H: "~@4 x ~@4 x!2 ~ x!4",
  I: "~@4 x ~@5 x ~ x ~ x!2", J: "~ x ~@2 x ~@2 x ~@2 x ~ x ~@2 x", K: "~@4 x ~@2 x ~ x!7", L: "~@15 x",
  M: "~@4 x ~@5 x!6", N: "~ x ~@2 x ~@2 x ~@2 x ~ x!4", O: "~@4 x ~@4 x!2 ~ x ~ x!2", P: "~ x!2 ~ x ~ x!10", Q: "x",
})).gain(0.64)

// drums · clap
const clap = s("cp").struct("<~@40 A@8 ~@9 B A@2 ~@22 A@10 ~@7 A ~@7 C ~ B D C ~ B D ~ A E>".pickRestart({
  A: "x!11 ~ x!4", B: "~@12 x!4", C: "~@4 x!7 ~ x!4", D: "x!3 ~@13", E: "x",
})).gain(0.56)

// drums · clap · soft notes
const clap_soft = s("cp").struct("<~@40 A@8 ~@10 A@2 ~@22 A@10 ~@7 A ~@7 A ~@3 A ~@4 A ~>".pickRestart({
  A: "~@11 x ~@4",
})).gain(0.32)

// drums · hihat
const hihat = s("hh").struct("<~@4 [x!2 ~ x!3 ~ x!3 ~ x!3 ~ x]!112 ~@2>").gain(0.8)

// drums · open hat
const open_hat = s("oh").struct("<~@4 [~ x ~ x ~ x ~ x]!51 [~ x ~ x ~@3 x] [~ x ~ x ~ x ~ x]!60 ~@2>").gain(0.8)

// drums · tambourine
const tambourine = s("tb").struct("<~@4 [~@6 x!2]!12 ~@16 [x!4]!84 ~@2>").gain(0.8)

// drums · congas
const congas = s("conga:13").struct("<~@55 [~@5 x ~@2] ~@62>").gain(2.56)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@8 [~@7 x]!8 ~@16 [~@7 x]!84 ~@2>").gain(4.06)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct("<~@4 A@10 ~@18 A@8 ~@8 A@28 ~@16 A@23 B ~@2>".pickRestart({
  A: "~ x ~@2", B: "~@5 x ~@10",
})).gain(1.04)

// drums · woodblocks · soft notes
const woodblocks_soft = s("woodblock:5").struct("<~@4 A@10 ~@18 A@8 ~@8 A@28 ~@16 A@24 ~@2>".pickRestart({
  A: "~@3 x ~@4",
// … 17 more lines

More by East Side Beat