Strudelify
Ride Like the Wind cover art

Ride Like the Wind

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.
// note: The whole transcription plays 23 ms behind the beat; the grid follows it, so its parts stay together.
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, A@4 for four bars: 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 E F E D G K@2 L M@8 N@8 E O E P G Q I J ~@11 R@8 S@6 T@3 E D E D G Q I J E U E V G W@2 X E P
  E V G H I J E O E D G Y I Z ~@2
>`.pickRestart({
  A: "[~@10 f2@2 [g1,g2] ~ [ab1,ab2]@15 ~ [g1,g2]@15 ~ [f1,f2]@15 ~ [g1,g2]@15 ~ [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 [g3,c4,eb4,g4] ~ [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 [ab3,c4,eb4,g4] ~ [ab3,bb3,eb4,f4] [ab3,c4,eb4,f4]@2", // Abmaj7 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: "[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 [g3,c4,eb4,f4] ~ c3 [c4,eb4,g4]@2, ~@2 f3 ~@7 d4@4 d4@4 ~@12 g3 ~]/2", // Bb Fsus4 Bb5 Cm
  L: "bb2@2 [bb3,d4,f4]@2 d4 [f3,bb3,d4,f4] ~ bb2 [f3,bb3,d4,f4]!2 d4@2 [g3,bb3,f4] ~ [f3,bb3,d4,f4] ~, ~@2 f3 ~@9 d4@2 ~@2", // Bb Gm7 Bb
  M: "[[c2,c3]@14 [bb1,bb2]@15 ~ [c2,c3]@16 [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 …
  N: "[~@14 [g1,g2]@15 ~ [f1,f2]@15 ~ [g1,g2]@15 ~ [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [c2,c3]@16 [bb1,bb2]@18]/8", // G F G Ab Bb C Bb
  O: "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] ~, ~@2 f3 ~@13", // Bb Dm7 Bb
  P: "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] ~, ~@2 f3 ~@9 d4@2 ~@2", // Bb F5 Bb
  Q: "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
  R: "[~@14 [c2,c3]@16 [bb1,bb2]@15 ~ [c2,c3]@16 [bb1,bb2]@15 ~ [ab1,ab2]@15 ~ [bb1,bb2]@15 ~ [c2,c3]@16 [bb1,bb2]@2]/8", // C Bb C Bb Ab Bb C Bb
  S: "[~@14 [ab1,ab2]@15 ~ [g1,g2]@15 ~ [f1,f2]@15 ~ [g1,g2]@15 ~ [ab1,ab2]@15 ~ [bb1,bb2]@2]/6", // Ab G F G Ab Bb
  T: "[~@7 [c2,c3]@8 [bb1,bb2]@9]/3", // C Bb
  U: "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] ~, ~@2 f3 ~@9 d4@2 ~@2", // Bb F5 Bb
  V: "d4@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
  W: "[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 [g3,c4,eb4,f4] ~ c3 [c4,eb4,g4]@2, ~@2 f3 ~@7 d4@4 d4@4 ~@12 g3 ~]/2", // Bb Fsus4 Bb5 Cm
  X: "d4@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
  Y: "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
  Z: "d4@2 ~ f3 d4 [bb3,d4,f4] f3 bb2 [bb3,d4,f4] [f3,bb3,d4,f4] [bb2,f3] ~ [g3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~, ~ [bb3,d4,f4] ~@6", // Bb Bb5 Gm7 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@5 E F@2 G@4 H I F@2 ~@9 J K L@4 M@5 H I F@2 N@2 H O ~@17 J K L@4 M@5 H I F@2 G@4 H I F@2 G@4 H I F@2 G@4
  H I P@2 Q ~
>`.pickRestart({
  A: "~@11 c5@3 ~ c5, ~@7 bb4", B: "~@11 c5@3 bb4@2",
  C: "c5@2 bb4@2 c5@2 bb4@2 eb4 c4 d4 eb4 f4 [g4,ab4] bb4!2, ~@4 c5 bb4 c5 ~", // Abmaj7
  D: "[c5@60 eb5 d5 [bb4,c5] c5@10 ~ g4 bb4 c5!3 bb4]/5", E: "c5@12 eb5 [c5,d5] bb4 ~",
  F: "[c5@9 ~ g4 bb4 c5!3 c5@7 bb4 [eb4,f4,g4] c4 d4 eb4 f4 g4 ab4 bb4@2, ~@15 bb4 ~@16]/2", // Eb
  G: "[c5@60 eb5 d5 c5 bb4]/4", H: "c5@10 g4 bb4 c5!3 bb4", I: "c5@12 eb5 [c5,d5] ~ bb4", 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@6 bb4 [eb4,f4,g4] c4 d4 eb4 f4 g4 ab4 bb4 c5",
  P: "[c5@9 ~ g4 bb4 c5!3 c5@7 ~ [f4,g4,bb4] [c4,eb4] d4 eb4 f4 g4 ab4 bb4@2, ~@15 bb4 ~@16]/2", Q: "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 B A B C D E B F G H I J@2 K L M L N O P Q K R S T U V ~@8 W ~ X Y F G Z I G Y X V W V X O AA AB AC AD ~@16 W
  V X Y F G Z I G Y X V W V X O G Y X V W V X O G Y X V W V X O G Y X V W V X O ~@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,g4]@7 ~",
  F: "ab4", G: "g4", H: "c5@15 ~", I: "d5", J: "[g4@13 ~ f4 f4@13 eb4 d4@3, ~@15 eb4 ~@16]/2", K: "eb4@14 f4 eb4",
  L: "d4@6 c4 d4", M: "c4@13 bb3 c4@2", N: "eb4@11 f4@3 eb4@2", O: "f4@6 g4 f4", P: "g4@13 f4!2 eb4",
  Q: "f4@11 eb4@3 d4@2", R: "~@6 c4 d4", S: "c4@13 eb4 ab4@2", T: "d4@6 c4 d4, f4", U: "eb4@10 c4 eb4 g4@4", V: "d4",
  W: "c4", X: "eb4", Y: "f4", Z: "c5", AA: "c4@11 ~@2 f4!2 eb4, g4@13 ~@3, ~@11 g3@5", AB: "f4@12 eb4 d4@3, bb3",
  AC: "[c4,eb4]@11 ~ f4@2 eb4@2, ~@11 g3@5", AD: "bb3@7 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 M P M Q M R S@2 T@8 U@8 V@6 W@8 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] ~ [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] ~ [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 ~@30 f3@2 ~@13 d4@18, ~@63 f3@2 ~@14 [ab2,ab3]@2 ~@30 [c3,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 [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] ~ [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] ~ [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] ~ [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 ~@14 f3@2 ~@13 d4@18 ~@2 f4 ~@11 d4@3 ~@14 f3@2 ~@31, ~@47 [c3,g3]@2 ~@14 f3@2 ~@4 [bb2,f4] ~@9 [ab2,ab3]@2 ~@30 [c3,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,c4,eb4,g4]!2 [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,f4] d4 [f3,bb3,d4,f4]!2 ~@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 ~ [g3,c4,eb4,g4] [f3,bb3,d4,f4] ~, 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 Bb5 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 [ab3,c4,eb4,g4]!2 ~ [ab3,c4,eb4,g4]!2 ~@3 [ab3,c4,eb4,g4]!2 ab3 [c4,eb4,g4] [ab3,c4,eb4,g4] ~", // Abmaj7 Cm Abmaj7
  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,c4,eb4] [ab3,eb4] ~@3 [ab3,c4,eb4,g4]!2 ~ [ab3,c4,eb4,g4]!2 ~, ~@5 g4@5 ~@6", // Abmaj7 Ab Ab5 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 ~ [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] ~ [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] ~ [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] ~ [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 ~@14 f3@2 ~@14 [c3,g3]@2 ~@14 f3@2 ~@14 [ab2,ab3]@2 ~@14 f3@2 ~@14 [c3,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] ~ [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] ~ [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] ~ [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] ~ [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 ~@14 f3@2 ~@14 [c3,g3]@2 ~@14 f3@2 ~@14 [ab2,ab3]@2 ~@14 f3@2 ~@13 d4@18, ~@111 [c3,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] ~ [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] ~ [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] ~ [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 f4 ~@2 [bb2,f4] ~@8 d4@3 ~@29 d4@18 ~@2 f4 ~@11 d4@3 ~@15, ~@15 [c3,g3]@2 ~@14 f3@2 ~@14 [c3,g3]@2 ~@14 f3@2 ~@4 [bb2,f4] ~@9 [ab2,ab3]@2 ~@15]/6", // Bb Bbmaj7 Bb Bb5 Cm Bb Bbmaj7 Bb …
  W: "[[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] ~ [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] ~ [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] ~ [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] ~ [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, ~@15 [c3,g3]@2 ~ g4 ~@2 g4 ~@8 c4@20 g4 ~@2 g4 ~@8 c4@17 [c3,g3]@2 ~ g4 ~@2 g4 ~@8 c4@3 ~ f4 ~@11 d4@3 ~@15, ~@47 [c3,g3]@2 ~@29 d4@17 f3@2 ~@4 [bb2,f4] ~@9 [ab2,ab3]@2 ~@15]/8", // Bb5 Bb Bbmaj7 Bb Cm Bb Bbmaj7 Bb …
  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] ~ [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] ~, ~@14 d4@18 ~@2 f4 ~@11 d4@2, ~@15 [c3,g3]@2 ~@14 f3@2 ~@4 [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 c4 [g3,eb4,g4] [g3,c4,g4] [g3,c4,eb4,g4]!3", // Cm C5 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 ~@7",
  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 ~@2
>`.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",
})).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@24 ~@2>".pickRestart({
  A: "~ x ~@2",
})).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",
})).gain(0.46)

// drums · woodblocks
const woodblocks_2 = s("woodblock:4").struct("<~@4 A@10 ~@18 A@8 ~@8 A@28 ~@16 A@24 ~@2>".pickRestart({
  A: "~@7 x ~@8",
// … 12 more lines

More by East Side Beat