Strudelify
Up Where We Belong cover art

Up Where We Belong

Joe Cocker

KeyF majorTempo120 bpm
0:00/0:00
// Up Where We Belong — Joe Cocker
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 126 bars on a 24-step grid, each part at one level. 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.

// bass · acoustic bass
const bass = note(`<
  ~@14 A@5 B@8 C@7 D@3 E F@4 G H@5 I J@4 K@5 L@6 M@3 N O@6 P@3 Q R@4 S T U@4 V W@3 X Y@4 Z AA@4 AB AC@4 AD AE@4 X AF@4
  AG@2 AH@7
>`.pickRestart({
  A: "[~@2 f2@40 f2@18 ~@2 f2@15 c2@5 f2@30 a2@8]/5",
  B: "[~@2 bb2@15 ~@3 f2 ~ bb1@10 a2@9 ~ g2@35 g1@5 c2@40 f2@20 a2@20 bb2@15 c3@5 d3@10]/8",
  C: "[d2@10 eb2@19 ~ eb2@10 d2@10 c2@20 c3@15 c2@5 f2@14 ~ f2@5 a2@19 ~ bb2@16 ~ f2 ~@2 bb1@10 d2@8]/7",
  D: "[~@2 g2@13 ~@2 g2@5 a2@20 eb2@14 ~ eb2@5 bb2@10]/3", E: "c3@5 c2@5 f2@13 ~",
  F: "[~ f2@4 ~ a2@10 a1@10 bb1@16 ~ f2 ~@2 bb2@10 a2@10 g2@20 a2@10]/4", G: "a1@10 db2 ~@4 db2@9",
  H: "[~ d2@15 bb1@10 f2@35 c2@5 f2@37 ~@3 f2@13 ~]/5", I: "~ f2 ~@4 f2@18",
  J: "[~@2 f2@13 ~@2 f2 ~@4 f2@15 bb1@2 c2@3 f2@13 ~@2 f2 ~@4 f2@17 ~@3 f2@12 ~@2]/4",
  K: "[~ f2 ~@4 f2@10 c3@10 f2@14 ~ f2 ~@4 f2@18 ~@2 f2@14 ~ f2 ~@4 f2@15 bb1@2 c2@3 f2@13 ~]/5",
  L: "[~ f2 ~@4 f2@10 a2@10 bb2@15 f2@5 bb1@10 a1@10 g1@35 g2@5 c2@30 g2@5 c3@3]/6",
  M: "[~@2 f2@17 g2 ~@2 a2@20 bb2@15 c3@5 d3@10]/3", N: "d2@5 eb2@7",
  O: "[~ eb2 ~@4 eb2@10 d2@10 c2@17 g2@2 ~ c3@10 c2@10 f2@13 ~@2 f2 ~@4 a2@20 bb2@16 ~ f2 ~@2 bb1@10 a2@8]/6",
  P: "[~@2 g2@14 ~ g2@5 a2@20 eb2@11 ~@4 eb2@5 bb2@5 bb1@5]/3", Q: "c2@5 f2@7",
  R: "[~ f2@2 ~@3 a2@20 bb2@14 ~ f2 ~@4 bb1@10 a2@9 ~ g2@15 a2@15]/4", S: "a1@5 c2@7", T: "~ c3@19 ~@4",
  U: "[~@2 ab2@14 ~ ab2@5 g2@17 ~@3 gb2@14 ~ gb2@2 ~@3 f2@17 ~@3 e2@14]/4", V: "~ e2@2 ~@3 eb2@17 ~",
  W: "[~@2 db2@15 ab2@5 db3@9 ~ db2@7 gb2@13 ~@5 gb2@5 bb2@10]/3", X: "bb1@10 b1@11 ~@3",
  Y: "[~ b1 ~@4 b1@10 eb2@10 ab2@18 ~@2 bb2@10 bb1@10 e2@10 ~@5 e2@5 b2@5 b1@5]/4", Z: "db2@5 gb2@5 ~@2",
  AA: "[~ gb2@2 ~@3 bb2@10 bb1@10 b1@11 ~@4 b1@2 ~@3 b1@10 eb2@10 ab2@11 ~@4 ab2@5 bb2@10]/4", AB: "bb1@5 d2@7",
  AC: "[~ eb2@15 b1@5 db2@5 gb2@11 ~@4 gb2@2 ~@3 bb2@17 ~@3 b2@15 b1@2 ~@3 b1@10]/4", AD: "eb2@10 ab2@11 ~@3",
  AE: "[~ ab2 ~@4 bb2@10 bb1@10 e2@11 ~@4 e2@2 ~@3 b1@5 b2@5 db2@10 gb2@11 ~@4 gb2@2 ~@3 bb2@10]/4",
  AF: "[~ b1@2 ~@3 b1@10 eb2@10 ab1@10 ab2@10 bb2@10 bb1@10 d2@15 eb2@15]/4", AG: "[b1@5 gb2@19]/2",
  AH: "[~@2 gb2@38 ~@2 gb2@39 ~ gb2@40 ~@10 gb1@35 ~]/7",
})).s("gm_acoustic_bass").gain(0.27)

// chords · epiano2
const epiano2 = note(`<
  ~@14 A@5 B@5 C@8 D@2 E F@2 G@6 H I@4 J@6 K@6 L@4 M@5 N@8 O@6 ~@6 P@8 Q@5 R S@4 T@2 U@8 V@3 ~@6
>`.pickRestart({
  A: "[~@2 [c4,f4,a4]@15 [d4,f4,bb4]@5 [e4,f4,c5]@20 [d4,f4,bb4]@20 [db4,f4,g4]@20 [c4,f4,a4]@25 [d5,f5]@2 ~ [db5,e5]@2 [a3,c5,eb5]@8]/5", // F Bb Fmaj7 Bb Gm7b5 F Dm Dbm …
  B: "[~@2 [f4,bb4,d5]@20 d4@5 ~@3 f4@2 ~@7 a4@2 ~@6 a3@3 ~@4 f4@7 ~@6 f5@14 ~ e4@5 ~@8 c5@7 ~@5 c6@10 ~@3, ~@22 bb3@10 [a3,f4]@9 ~ g3@39 ~@6 d4@15 ~@18, ~@27 e4@5 ~@5 g4@4 ~ bb4@20 a4@19 ~ g4@8 e4@12 ~@3 e5@13 ~@2, ~@42 g4@12 ~@11 bb4@17 ~@20 d5@15 ~@3, ~@25 bb3@16 c4@10 ~@9]/5", // Bb Dm
  C: "[~@2 [c4,f4,g4]@20 g4@10 f4@10 ~@20 [d4,f4,d5]@20 [f4,g4,bb4]@20 [eb4,g4,bb4]@10 [c4,f4,a4]@10 [c4,e4,g4]@20 [d4,f4,bb4]@10 [e4,g4,c5]@10 f4@10 ~@5 c4@5 [f4,a4]@10, ~@22 c4@20 [bb3,d4]@20 ~@100 c4@15 ~@15, ~@57 bb4@25 ~@80 a4@20 ~@10, ~@86 f4@5 ~@5]/8", // Csus4 Dm Gm7 Eb F C Bb C …
  D: "[~@5 c4@5 [d4,f4]@10 [d4,f4]@20 [c4,f4,a4]@8, [f4,a4]@5 bb4@15 ~@4]/2", // Dm F
  E: "~@2 d4@10 ~@5 [f4,a4]@6 ~, ~ [bb3,g4]@10 ~, ~@6 d4@5 ~", // F Eb
  F: "[~@13 a4@5 eb4@10 eb4@10 [d4,f4,bb4]@10, ~ c4@5 ~@10, ~@4 c5@5 [g4,bb4]@10 ~@5]/2", // Bb Gm
  G: "[[c4,e4,g4]@10 [f4,a4]@10 ~@10 [f4,a4]@10 ~@5 c4@5 [d4,f4]@20 [d4,f4]@10 ~@5 g4@5 [d4,g4,bb4]@20 ~@15 c4@4 ~ [db4,e4,a4] ~@4 [db4,e4,g4]@9, ~@10 c4@15 c4@18 ~@37 [c4,a4]@10 ~@20 f4@10 f4@9 ~@15, ~@20 [f4,a4]@10 ~@10 [f4,a4]@10 bb4@30 ~@30 c5@19 ~@15, ~@115 a4@14 ~@15]/6", // C F Dm Gm A Dbdim F
  H: "~ [d4,f4,a4]@15 bb4@8", I: "[~@2 [c4,f4,a4]@15 [d4,f4]@5 [e4,f4]@20 [d4,f4]@20 [db4,f4]@20 [f4,a4]@5 ~@9]/4",
  J: "[~ c4@5 ~@5 c4@5 ~@5 c4@5 ~@5 d4@5 ~@5 d4@5 ~@5 db4@5 ~@5 db4@5 ~@10 [f4,a4]@5 [d4,bb4]@5 e4@4 ~@11 f4@5 ~@15 f4@4 ~@16 db5@3, ~@6 [f4,a4]@10 [f4,a4]@10 [f4,bb4]@10 [f4,bb4]@10 [f4,bb4]@10 [f4,bb4]@10 [f4,a4]@9 ~@11 c5@20 bb4@19 ~ bb4@18, ~@71 c4@10 ~@10 f4@10 ~@10 f4@10 ~@10 f4@13, ~@96 e4@10 d4@10 d4@9 ~ db4@10 db4@8]/6", // F Gm F Bb5 F
  K: "[~@2 g4@5 a4@5 ~@5 a4@5 ~@15 g4@5 d4@5 ~@10 bb4@5 db4@3 ~@14 g4@3 [f4,a4]@10 [f4,a4]@10 [f4,a4]@10 [eb4,a4,c5]@10 [d4,f4]@10 [d4,f4]@10 d4@2, ~@2 c5@20 c5@20 bb4@15 ~@5 bb4@20 ~@40 bb4@20 ~@2, ~@12 f4@10 g4@15 ~@40 a4@5 ~@62, ~@11 e4@5 e4@5 f4@5 f4@5 f4@5 f4@5 ~@31, ~@27 c4@15 ~@5 d4@15 ~@5 db4@15 c4@21 ~@41]/6", // F Adim Dm
  L: "[~@5 f4@2 ~ f4@5 g4@2 a4@2 ~ [g4,bb4]@20 ~@5 f5@15 ~@5 d4@15 ~@5 c6@13, ~@3 e4@5 ~@30 a4@20 [e4,g4]@20 ~@2 e5@16, ~@20 bb4@9 ~@10 d5@9]/4", // Gm Em
  M: "[~@2 [c4,f4,a4]@19 ~ [c4,f4,c5]@20 [c4,d4,f4]@20 bb4@15 a4@5 [f4,g4,bb4]@30 [c4,f4,a4]@8, ~@31 [c4,f4]@10 ~@19]/5", // F F5 Dm7 Gm7 F F5
  N: "[~@2 [c4,e4,g4]@20 [d4,f4,bb4]@10 [e4,g4,c5]@10 f4@15 ~@2 g4@2 ~ f4@15 f4@5 [d4,f4,bb4]@19 ~@6 f4@5 ~@5 g4@5 [bb3,d4,g4]@15 f4@10 ~@10 c5@5 g4@15 g4@5 [f4,bb4,d5]@10, ~@42 [a4,c5]@20 ~@85 f4@15 [bb4,eb5]@20 ~@10, ~@57 f4@5 [c4,a4]@20 ~@20 d4@9 ~ [c4,f4,a4]@10 ~@15 [c4,a4]@25 ~@30, ~@76 f5@5 ~@15]/8", // C Bb C Bb Gm Bb Am Eb5 …
  O: "[[e4,g4,c5]@10 [c4,f4,a4]@10 [c4,f4,a4]@10 [c4,f4,a4]@10 [c4,f4,a4]@10 [d4,f4,bb4]@10 [d4,f4,bb4]@10 [d4,f4,bb4]@10 [c4,f4,a4,bb4]@9 ~ [g4,bb4]@10 [g4,bb4]@5 f4@10 ~@10 [f4,c5]@5 ~@14, ~@90 d4@15 c5@20 ~@19, ~@105 a4@15 [a4,f5]@10 ~@14, ~@115 f4@10 ~@19]/6", // C F Bb F Gm F5 Dm
  P: "[~@22 [db3,eb4,gb4,b4]@10 [db3,f4,ab4,db5]@7 gb4@18 gb4@2 ab4@3 db4@15 ~@5 [b3,eb4,gb4]@30 [db4,gb4,bb4]@10 [b3,eb4,ab4]@14 ~ db4@20 ~@2 gb4@2 ~ [e4,ab4]@14 ~ [b3,eb4,gb4]@15, ~@39 [gb3,db4,bb4]@22 ~ [bb3,gb4,bb4]@20 ~@55 bb3@24 ~ b3@3 ~@27, ~@77 db4@34 ~@26 gb4@22 ~@33, ~@157 db4@4 ~@31]/8", // B Db B Gb Abm E B Gb …
  Q: "[~@5 b4@5 bb4@15 ~@15 db5@7 [b4,eb5]@28 db5@5 ~@5 ab4@5 [eb4,ab4,b4]@14 ~ [db4,gb4,bb4]@15, [f4,ab4,db5]@10 [gb4,db5]@20 gb4@17 gb4@42 ~@31, ~@25 bb4@22 ~@33 b4@10 ~@30]/5", // B Abm Gb Db Gb5
  R: "~@7 db4 ~@2 [d4,f4,bb4] ~@4 [d4,f4,ab4]@9, db5@3 ~@5, ~ bb4@3 ~@8, ~@5 gb4@4 ~@15", // Bb Ddim
  S: "[~ [eb4,gb4,bb4]@14 ~ [b3,eb4,gb4]@10 [bb3,db4,gb4]@20 ~@5 b4@5 [bb4,db5]@10 [gb4,b4,eb5]@30, ~@23 [db4,gb4]@10 ~@15, ~@23 bb4@5 ~@20]/4", // Ebm B Gb Bbm B Gb5
  T: "[[gb4,bb4,db5]@10 [ab4,b4,eb5]@15 gb4@20 gb4@2 bb4, ~@25 [bb4,db5]@23]/2", // Gb Abm Bbm
  U: "[~@2 [e4,ab4,b4]@15 eb4@10 ~@2 gb4@2 ~@26 db5@5 ~@5 db5@5 ~@5 [db4,bb4]@5 ~@37 gb4@2 ~ [eb4,ab4,b4]@15 ~@20 bb4@4 ~ [d4,f4,bb4] ~@4 [d4,f4,ab4]@10 [eb4,gb4,bb4]@15, ~@17 b4@15 ~@5 db5@20 ~@5 gb5@20 ~@27 gb4@10 ~@73, ~@17 gb4@12 ~@3 [f4,ab4]@9 ~ [gb4,bb4]@19 ~ bb4@15 ~@30 f4@15 ~@15 [db4,gb4]@24 ~@31, ~@27 eb4@5 ~@40 [gb4,db5]@10 [eb4,gb4,b4]@28 ~@2 bb4@5 bb4@5 ~@15 bb4@20 ~@35, ~@114 eb5@7 ~@31 db5@9 ~@31]/8", // E Gb Abm Bb Ddim Ebm Fm Gb …
  V: "[[b3,eb4,gb4]@5 [gb3,bb3,db4,gb4]@20 ~@11]/3", // B Gb
})).s("gm_epiano2").gain(0.24).pan(0.6)

// chords · piano
const piano = note(`<
  A@4 B@3 C@7 D@5 E@5 F@5 G@8 H@6 I J@3 K@7 L@5 M@5 N@5 O@8 P@6 Q R@8 S@5 T@6 U V@5 W@8 X@6 Y@3
>`.pickRestart({
  A: "[~@18 [c4,f4,a4]@15 [d4,f4,bb4]@5 [e4,f4,c5]@7 c5 d5@7 [f4,c5]@4 ~@18 f5@3 ~@8 [c4,a4]@2 [bb3,g4]@7 a4, ~@18 [f2,f3]@77 ~, ~@45 f4@7 ~@6 [d4,f4,bb4]@20 [db4,bb4]@10 ~@8, ~@71 f5@4 ~@21, ~@73 e5@5 ~@18]/4", // F Bb Fmaj7 F5 F Eb F Bb …
  B: "[~ bb4 ~@15 [d4,f4,bb4]@5 [e4,f4,c5]@8 [d4,f4,bb4]@7 [c4,a4]@5 a4 ~@17 f5@2 ~@8 [a4,c5]@2, ~ [f2,f3]@20 [f2,f3]@15, ~ [c4,a4]@10 ~@10 d4@10 [f4,db5]@5, ~@43 bb4@19 ~@10, ~@55 f5@2 e5@5 ~@10]/3", // Bb Fmaj7 Bb F Am F Db
  C: "[~ [g4,bb4]@9 [f3,c4,f4,a4]@15 [f3,d4,f4,bb4]@5 [f3,e4,f4,c5]@20 ~@18 bb4@2 ~@17 g4@3 [c4,f4,a4]@15 [f3,d4,f4,bb4]@5 ~@18 f5@2 ~@17 f6@2 ~@9 [a5,c6]@2 [g5,bb5]@8, ~@10 f2@75 a4@5 ~@35 e5@5 ~@13 f6@4 ~@21, ~@50 [f3,d4,f4]@20 f3@35 ~@5 [f3,e4,f4,c5]@20 f3@38, ~@50 bb4@18 ~@2 g4@17 ~@43 [d4,bb4,f5]@20 db4@18, ~@65 a4@5 [db4,f4]@20 f2@40 ~@15 e6@5 [bb5,db6]@10 ~@8]/7", // Gm F Bb Fmaj7 F Bb Am Gm …
  D: "[~@5 g5 ~@11 [f2,f3,d4,bb4]@5 [f3,e4,f4,c5]@20 ~@18 bb4@2 [f3,db4,g4,bb4]@20 g4 ~@27 [db5,e5]@2 [a2,f4,c5,eb5]@8, ~@2 [f2,c3,a3,c5,a5]@15 ~@5 f2@53 ~@7 [f2,f3,c4]@30 ~@8, ~@42 [f3,d4]@20 ~@45 [d5,f5]@5 ~@8, ~@42 bb4@18 ~@45 f4@7 ~@8, ~@57 a4@5 ~@22 a4@28 ~@8]/5", // Bb Fmaj7 Gm7b5 Dbm F7 F F5 Dm
  E: "[~@2 f4@15 ~@3 f3@2 ~@8 f4@2 ~@7 a4@2 ~@26 f5@14 ~@36 c2@3, ~@2 [bb2,bb4,d5]@20 [bb2,f3,bb3,d4]@10 [a2,f3,c4,f4]@9 ~ g2@23 bb4@16 ~@6 d4@8 c5@7 d5@18, ~@17 f4@5 ~@5 e4@5 ~@5 g4@4 ~ [d4,bb4]@8 ~@4 f4@8 a4@19 ~ e4@8 e4@15 e5@15, ~@45 d3@5 [f3,bb3]@31 ~ c2@30 c3@8, ~@47 a3@34 ~ [c3,g3,c4]@25 c6@13]/5", // Bb F Gm Bb5 C5
  F: "[~@17 bb4@3 c5@2 ~@15 f4@5 ~@17 f5@3 bb4@10 ~@5 [a4,a5]@5 ~@17 eb4@3 [eb3,bb3,g4]@10 [d3,bb3,d4,f4]@8, ~@2 [f2,c4,a4]@19 ~ [a2,e4,c5]@20 [bb2,bb3,d4,f4,d5]@20 [d3,d4,f4,f5]@20 [eb3,g5]@15 g4@5 ~@18, ~@7 f4@14 ~ f4@7 g4@13 ~@15 e5@5 ~@10 [bb4,bb5]@10 g4@13 bb4@8 ~@17, ~@9 a3@12 ~@3 a3@18 ~@40 eb5@7 bb3@13 ~@18, ~@27 c4@15 ~@40 bb4@10 eb5@10 ~@18]/5", // A Eb Bb F Am Bb Dm Eb …
  G: "[~@20 f4@2 ~@5 f3@5 g3@5 ~@2 c3@2 ~ [f3,a3]@10 ~@5 c4@5 c4@10 ~@5 a3@5 [f3,bb3,d4,f4]@10 ~@2 f4 d5@2 [f4,a4,c5] ~@11 bb2@2 ~ c4@5 ~@2 d3@3 d4@10 ~@7 g2@2 ~ f4@10 ~@7 f3@2 ~ [g3,bb3,eb4]@10 [g3,bb3,eb4]@10 ~@7 g2@2 ~, ~@2 [c3,c4,g4]@20 c2@12 ~@3 g3@5 ~@10 [f3,a3]@10 ~@10 [c4,a4]@10 ~@13 bb4 ~@3 [bb4,d5]@12 ~@11 bb4@20 ~@10 f3@5 a3@5 ~@25 f3@5, ~@2 e4@15 e4@5 ~@10 [c4,e4,g4]@10 c4@15 ~@5 a3@15 ~@15 bb3@20 ~@5 c4@5 ~@10 d4@10 c4@12 c4@8 ~@30, ~@12 g3@10 [c3,bb3,d4,f4]@10 c3@7 ~@3 [f2,f4,a4]@20 [a2,f4]@20 bb2@17 f4@8 f4@5 ~@10 f4@15 f4@5 ~@10 f4@10 ~@30, ~@102 bb2@7 ~@3 [a2,a3,f4,c5]@10 g2@17 ~@3 [a2,a4]@20 [eb2,eb3]@20 [bb1,bb2,bb3,d4,f4]@10]/8", // F Bb F Eb C5 F Bb C …
  H: "[~@5 [g3,c4,e4]@3 c3@2 f3@10 ~@5 f2@4 ~@11 [f4,a4]@10 ~@27 f3@2 ~ c4@5 c4@5 [d4,f4,bb4]@10 d4@5 ~@2 g2@2 ~ c4@10 ~@7 a2@2 ~ [db2,db3,a3,e4,a4] ~@4 [db2,db3,a3,e4,g4]@9, [c2,c3,f3,bb3,d4]@9 ~ [c4,f4]@19 ~@6 c4@15 ~@10 c4@9 ~@36 d4@5 f4@15 f4@5 ~@14, ~@10 f2@15 ~@5 [a2,a3]@20 bb2@20 [bb2,bb3,f4,bb4]@10 [a2,a3,f4,a4]@10 g2@17 ~@3 a2@17 ~@17, ~@10 a3 ~@9 f3@9 ~@26 f3@12 f3@10 ~@43 [c4,c5]@10 ~@14, ~@65 d4@10 d4@5 ~@20 [f4,bb4]@10 a4@20 ~@14]/6", // C F Bb A A7 Bb F5 A …
  I: "~ a3@10 ~@2 d3@2 ~ [bb2,f3,ab3,db4,f4]@8, ~ [d2,d4,f4,a4]@14 ~@9, ~ d3@12 ~@11, ~@11 a3@4 ~@9", // Bbm7 Dm
  J: "[~@2 [c4,f4,a4]@15 [d4,f4,bb4]@5 [e4,f4,c5]@7 c5 ~@7 c5@5 ~@17 f6@2 c6 db6@2 ~@5 ab5@2 ~, ~ f2@35, ~@2 f3@39 ~ f3@30, ~@30 [f4,d5]@12 [d4,f4,bb4]@19 ~@6 bb5@5, ~@54 f6@3 e6@5 ~@2 c6@8]/3", // F Bb Fmaj7 Dm Bb
  K: "[~@7 db5@2 ~ c4@5 ~@12 f2@2 ~ f3@10 ~@7 a4@2 ~@18 bb4@2 ~@8 [c4,a4]@3 bb3@5 ~@2 c3@3 [f2,f3,c4,f4,a4]@15 [d4,f4,bb4,f5]@5 f4@10 ~@7 f5@3 f3@10 ~@7 e6@2 ~ f6@3 db6@7 bb5@2 ~@3 g5@2 f5, g5@10 f3@7 f4@5 c4@7 ~ e4@12 e4@3 bb4@5 bb4@15 a4@5 ~@40 e4@20 f2@38, ~@2 f5@7 ~ f2@15 [d4,f4,bb4]@5 [f4,c5]@20 [d4,f4]@20 ~@15 bb3@5 ~@20 f5@17 ~@18 f6@5 ~@3 c6 ~@8 a5@6, ~@5 eb5@5 [a4,c5]@20 ~@10 f3@20 f3@10 [f3,db4,f4,bb4]@10 [f3,g4]@10 ~@20 c5@15 c5@5 ~@10 f3@10 g3@10 f3@8, ~@10 f4@5 c4@5 f3@10 f2@40 f2@20 ~@20 d4 ~@9 f4@10 [f4,bb4,d5,f5]@20 ~@18]/7", // F Bb F5 Dm Am Bbm Fsus2 Bb
  L: "[~@14 f4@2 ~@3 f4@2 ~ f3@10 ~@7 e5@3 f4@15 ~@2 c3@3 f3@4 ~ g3@2 f3 ~@9 c3@3 f4@15 ~@2 c3@3 ~@2 f5@3 [f5,d6,f6]@5 [a2,f3,eb5,eb6]@8, ~@2 f2@41 ~@29 c3@7 ~@3 f2@30 ~@8, ~@2 a5@10 f3@10 ~@10 f3@11 ~@19 f4@15 f4@5 [f3,a4,c5,f5]@20 f3@10 ~@8, ~@2 f3@7 c5@7 ~@21 f5@5 [f1,bb4,d5,f5]@21 ~@57, ~@7 c4@9 ~ [d4,bb4]@5 [e4,f4,c5]@21 ~@14 f4@5 [bb4,db5,f5]@20 ~@15 f4@5 ~@18]/5", // Dm F7 F Bb Gm Fmaj7 Bbm
  M: "[~@17 c4@5 ~@7 f4@2 ~@8 a4@2 ~@26 f5@14 ~@36 c2@3, ~@2 [bb2,f3,bb3,d5,bb5,d6]@20 [bb2,f3,bb3,d4]@10 [a2,f3,c4,f4]@9 ~ [g2,d4]@12 f4@8 a4@2 bb4@17 ~ e4@5 d4@15 d5@2 e5@3 c6@5 c3@8, ~@27 e4@5 ~@5 g4@4 ~ bb4@7 bb3@32 ~ c3@7 e4@31, ~@42 f4@5 a3@34 ~ [g3,c4]@38, ~@44 f3@37 ~ c2@12 c5@26]/5", // Bb F G5 C5
  N: "[~@18 c5@4 a3@11 a3@9 c5 ~@16 f5@3 ~@17 [c5,a5]@3 ~@17 f4@3 [eb2,eb3,bb3,eb4,g4]@10 [d2,d3,bb3,d4,f4]@8, ~@2 [f2,c4,f4,a4]@20 [a2,e4,f4,c5]@20 [bb2,f3,bb3,f4]@20 [d3,d4,f4,f5]@21 ~@37, ~@15 d5@7 ~@21 d5@19 c5@17 ~@3 [eb2,eb3,bb4,eb5,g5]@20 ~@18, ~@57 [g4,e5]@5 ~@10 [d5,bb5]@10 ~@15 eb4@5 ~@18]/5", // F Eb Bb F Fmaj7 Bb5 Dm Eb …
  O: "[~@19 g3@2 ~ f3@5 ~@2 c3@3 g3@5 ~@2 c3@3 c4@5 c4@5 ~@10 f4@10 ~@7 f3@2 ~ [bb3,d4,f4]@10 ~@2 [f4,bb4] ~@2 [f4,a4,c5] ~@14 c4@5 ~@2 f3@2 ~ [d4,f4,bb4]@10 d4@5 ~@2 g2@3 a4@10 ~@5 c4@5 [eb2,eb3,g3,bb3,eb4,f4]@10 ~@5 f3@5 f3@3 ~@4 bb1@2 ~, ~@2 [c2,c3]@20 c2@20 [f2,a3]@20 [a2,a3]@20 bb2@16 ~ f4@3 bb2@7 f3@10 ~@3 g3@20 ~@10 a4@10 ~@30, ~@2 g3@15 c4@5 [bb3,d4,f4]@10 [c4,e4,g4]@10 f4@15 f4@5 a4 ~@9 [f4,a4,c5]@10 ~@12 d5@2 ~@3 [bb4,d5]@12 ~@21 [f4,bb4]@10 f4@12 f4@8 ~@25 f3@5, ~@2 c4@12 e4@7 ~ c3@7 ~@3 c3@7 ~@13 f3@7 f3@20 ~@3 f3@25 f4@5 ~@5 c4@5 ~@15 d4@5 c4@15 ~@25 bb1@7 ~@3, ~@2 e4@10 g4@10 ~@5 f3@5 ~@5 g3@5 f3@10 c4@10 c4@15 c4@5 ~@10 bb3@20 [a2,a3,f4,a4,c5]@10 g2@17 ~@3 a2@20 ~@10 [eb2,eb3,bb3,eb4]@10 [bb2,bb3,d4]@10]/8", // Bb Bb5 F Bb Eb C F A …
  P: "[g3@5 ~@2 c3@2 ~ f3@10 ~@7 bb4@3 [a3,f4,a4]@10 ~@5 c4@5 bb2@10 ~@2 [f4,bb4] ~@2 [f4,a4,c5] ~@14 [a2,a3,c4,f4,a4,c5]@10 [d4,f4,bb4]@10 d4@5 ~@2 g2@3 [c4,f4,a4]@10 c4@5 c4@5 [c2,c3,bb3,d4] ~@4 [c2,c3,f3,bb3,d4]@9, [c2,c4,e4]@10 [f2,a3,c4,f4]@20 [a2,c5]@20 bb1@17 f4@8 f4@5 ~@20 [f4,bb4]@10 ~@10 [f4,a4]@10 f4@2 ~@12, c3@7 ~@18 a4@5 ~@10 [a3,f4,a4]@10 [bb3,d4,f4]@12 d5@2 ~@3 [bb4,d5]@10 f3@13 g3@20 ~@34, ~@5 g3@5 ~@10 f3@10 c4@15 ~@15 bb2@20 ~@10 g2@17 ~@3 a2@20 ~@14, ~@70 bb1@10 ~@25 d4@5 ~@34]/6", // Dm Bb5 F Bb F Gm Bb C …
  Q: "~ [c2,c3,g3,c4,e4]@15 c5 d5 e5 ~ f5 g5 a5 bb5", // C
  R: "[~ b5 ~@17 ab3@3 ~@17 [f3,ab5]@2 ~@18 gb3@2 ~@13 eb5@3 ~@2 [eb3,gb5]@2 ~@18 e3@3 ~@15 gb5@5 ~@15 f4@5 b3@5 b3@5 ~@5 db3@2 db4@8 db4@5 ~@7 ab2@2 ~@6 bb4@5, ~@2 ab3@17 ~@3 [g3,bb5]@20 gb3@15 [ab3,gb5]@5 [f3,ab5]@15 [db3,f5]@5 e3@15 [gb3,e5]@5 eb3@20 [db3,f5]@20 db2@11 ~@6 gb2@22 ~ [bb2,gb3,db4,gb4]@10, ~@2 c6@15 [bb3,c6]@5 ~@12 f5@3 [eb3,g5]@5 ~@10 db5@10 ~@10 db5@5 ~@15 b4@10 ~@10 b4@10 ~@5 db5@15 ~@12 db4@5 ~@33, ~@7 c5@15 ~@5 bb4@15 ~@5 bb4@15 ~@5 ab4@10 ~@10 ab4@15 ~@5 gb4@15 ~@5 f4@10 ~@5 [db3,eb4,gb4]@9 ~ db3@5 ~@2 [gb3,bb3,gb4]@13 [gb3,db4]@10 ~@10, ~@12 eb5@10 ~@10 eb5@10 bb5@20 ~@20 ab5@20 gb5@15 ~@15 ab4@10 ~@10 [f4,ab4]@7 ~@18 gb4@5 ~@10]/8", // Fm Ebm Gm Ab7 Fm Db Gb7 Db …
  S: "[~@5 db4@2 ~@15 [gb4,b4,eb5] ~@2 [gb4,bb4,db5] ~ [gb4,b4,eb5]@12 ~@6 gb4@2 gb4@2 ~ [gb3,b3,eb4,ab4]@10 [gb3,b3,bb4]@5 ~@22 gb4@3 [e3,b3,e4]@10 [e3,b3,e4,bb4]@5 eb4@5 ~@7 f4@2 ~, [gb3,gb4,bb4]@7 eb4@16 ~@37 eb4@2 ~@3 gb4@22 ~@28 eb4@5, ~@7 b3@12 ~ b3@20 [gb3,eb4]@10 ~@15 db4@15 db4@10 ~@15 [b3,gb4]@15, ~@2 [b2,gb3]@6 ~@2 ab2@3 ~ bb2@4 [e2,ab4]@3 ~ [b1,b2]@2, ~@5 gb3 ~@2]/5", // B Gb B Abm7 Bmaj7 E5 E Gb …
  T: "[~@7 db3@2 ~ db4@5 db4@5 ~@7 gb2@2 ~@6 bb4@5 ~@5 db4@2 ~@15 [b4,eb5]@2 ~ [gb4,bb4,db5] ~@9 gb4@5 ~@3 gb4@4 ~ ab4@2 [gb3,b3,eb4,ab4]@10 [gb3,b3,eb4,bb4]@5 ~@10 gb3@5 ~@7 ab4@2 ~ [d3,bb3,f4,bb4] ~@4 [d3,bb3,f4,ab4]@9, [db2,b3,eb4,gb4]@9 ~ gb2@17 ~@3 bb2@17 b3@13 b3@20 eb4@10 ~@15 db4@24 ~@15, db3@7 ~@3 [gb3,bb3,gb4]@10 [gb3,bb3,db4]@10 [gb3,db4,gb4]@10 [gb3,gb4,bb4]@8 ~@2 gb3@30 ~@40 gb3@9 ~@15, ~@5 ab4@4 ~@16 gb4@5 ~@17 eb4@15 gb4 ~@4 [b4,eb5]@13 ~@7 gb4@3 ~@15 gb4@20 gb4@4 ~@15, ~@50 b2@15 ~@2 gb4@3 b2@10 ~@10 ab2@15 ~@5 bb2@19 ~@15]/6", // B Gb Abm7 Bmaj7 Bb Bb7 B Gb …
  U: "~ eb4@10 ~@2 eb3@2 ~@6 gb4@3, ~ [gb4,bb4]@15 ~@8, ~ eb3@12 ~@3 [ab2,eb4,ab4]@8, ~@11 eb4@5 ~@8", // Gb Ab5
  V: "[~@2 gb4@2 ~@3 [gb4,bb4,db5,gb5]@5 ~@5 [bb4,bb5]@5 [db4,bb4,db5,gb5,bb5]@10 [bb4,bb5] ~@6 [f4,f5]@3 gb3@10 ~@2 [gb4,eb5] ~@2 [gb4,bb4,db5] ~@21 gb5@2 ~@18 bb5@2 ~@16 ab5@3, ~@2 [gb3,bb3]@20 [gb3,bb3]@20 b2@15 ~@2 gb4@3 b2@15 f5@5 ab5@15 ab5@5 ~@5 db6@13, ~@2 db4@10 [db4,ab4,ab5]@10 ~@10 db4@10 [b3,eb4,gb4,b4,eb5]@13 ~@4 eb5@8 gb4@15 ab4@10 [ab4,eb5]@10 ~@18, ~@34 [ab4,ab5]@8 ~@12 b4@2 ~@3 b4@13 eb5@10 ~@5 b4@15 [bb4,db5,bb5]@10 [bb4,db5,bb5]@8, ~@37 [gb4,gb5]@5 ~@10 gb3@30 [ab3,eb4]@20 [bb3,gb4,gb5]@18]/5", // Gb Bb Gb Bb F Ebm Gb Db5 …
  W: "[~@2 e4@10 ~@7 bb5@2 ~ b4@5 b4@5 ~@5 f5@5 [gb4,db5,gb5]@10 ~@5 [eb5,eb6]@5 ~@12 [db5,db6]@5 [db5,db6]@3 ~@7 [b4,b5]@2 ~ gb5@7 gb5@3 eb5@7 eb5@3 [gb4,b4,eb5]@10 [ab3,eb4,gb4,b4,eb5]@10 [ab3,eb4,gb4,b4,eb5,bb5]@5 db5@10 ~@2 bb4@2 ~ db4@2 ~@5 db4@2 ~ [d3,bb3,gb4,bb4] ~@4 [d3,bb3,f4,ab4]@10 [eb3,eb4,gb4,bb4]@15, ~@2 [e3,b3,b4,e5]@20 ~@10 [db3,db4,gb5]@10 [gb3,db4,bb4]@20 [bb3,gb5,bb5]@20 b3@20 [b3,gb5]@20 ~@15 bb3@24 ~@31, ~@2 ab5@15 ab5@5 ~@40 [db5,db6]@12 ~@18 [gb4,b4,eb5,b5]@11 ~@34 [gb4,gb5]@15 ~@2 bb4@7 ~@31, ~@12 e4@10 [b3,gb4,eb5,gb5]@11 ~@19 [gb4,db5,gb5,bb5,db6]@10 gb4@10 gb4@10 [gb4,db5,gb5,bb5,db6]@11 ~@9 [gb4,b4]@10 ~@25 bb4@12 ~@3 db5@9 ~@31, ~@14 bb5@5 ~@48 [eb5,eb6]@15 ~@40 ab5@15 ~@10 [db4,db5]@5 ~@5 gb4@4 ~@31]/8", // Gb5 Eb Db B Abm7 Daug Bb7 Ebm …
  X: "[~@10 [db4,gb4,bb4]@15 [eb4,gb4,b4]@5 [f4,gb4,db5]@8 db5 ~@6 db5@5 gb3@10 ~@7 gb5@2 ~@8 bb4@3 ~@7 bb4@2 ~ [gb3,db4,gb4,bb4]@15 [gb3,eb4,gb4,b4]@5 [f4,gb4,db5]@7 db5 ~@6 db5@5 ~ [gb3,eb4,gb4,b4]@13 gb5, ~@10 gb2@77 ~@3 gb2@54, ~@5 gb3@20 ~@5 gb3@5 gb3@10 ~@10 gb3@10 ~@7, ~@38 [gb4,eb5]@12 [eb4,gb4,b4]@20 [d4,gb4,b4]@10 [d4,gb4,ab4]@10 ~@27 gb4@12 ~@15, ~@62 gb5@3 f5@5 ~@19 b4@2 ~@27 eb5@12 ~@14]/6", // Gb B Gbmaj7 Gb B Gbmaj7 B Ebm …
  Y: "[~@4 gb5@3 ~@8 bb4@3 ~@13 b4@5 [gb1,gb2,db4,gb4]@34 ~@2, ~@2 f5@5 gb2@29 ~@36, ~@7 [gb3,d4,gb4,b4]@11 [gb3,d4,gb4,ab4]@18 [bb3,bb4]@32 ~@4, ~@7 bb4@2 ~@9]/3", // Gb5 Bm Abm7b5 Bb
})).s("gm_piano").gain(0.5).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@20 A ~ B ~ C A D E F C A D B F C A G B F C H D I J K ~@2 B L C M G B N O A G B L C P Q B ~ R A G B L R P G B S C H T
  B L R M U V J ~@6 W X B Y C H X B F R H D Z AA R A D B F R AB D AC L C P AD B ~@6 AE ~
>`.pickRestart({
  A: "~@3 x", B: "~@5 x ~@6", C: "~@2 x ~@14 x ~@4 x ~", D: "~@9 x ~@4 x ~@9", E: "~@4 x!2 ~@6", F: "~ x ~@4 x ~@17",
  G: "~@9 x ~@4 x ~@6 x ~@2", H: "~@5 x ~@12 x ~@5", I: "~@7 x ~@7 x ~@8", J: "~ x ~@22", K: "~ x ~@10",
  L: "~ x ~@4 x ~@6 x ~@10", M: "~@5 x ~@9 x ~@2 x ~@5", N: "~ x ~@4 x ~@16 x", O: "~@2 x ~@6 x ~@7 x ~@4 x ~",
  P: "~@5 x!2 ~", Q: "~@11 x ~@12", R: "~@2 x ~@16 x ~@2 x ~", S: "~ x ~@4 x ~@6 x ~@7 x ~@2", T: "~ x ~@9 x ~@2 x ~@9",
  U: "~ x ~@7 x ~@4 x ~@6 x ~@2", V: "~@7 x ~@16", W: "~@5 x ~@2", X: "~@11 x ~@2 x ~@9", Y: "~@3 x ~@2 x ~@6 x ~@10",
  Z: "~@7 x ~@2 x ~@6 x ~@6", AA: "~ x ~@6", AB: "~@3 x ~ x ~@4 x ~@7 x ~@5", AC: "~@5 x ~@4 x ~@13", AD: "~@3 x ~@4",
  AE: "~ x",
})).gain(0.26).pan(0.6)

// drums · snare
const snare = s("sd").struct(`<
  ~@37 A ~@4 B ~@4 C D E F G H I E F G H D E F ~@9 J G H D E F K L D E F G M N ~@6 J G H D E F O P D E F G H Q E F K H D
  E R G H S E T U ~@9
>`.pickRestart({
  A: "x", B: "~@5 x ~@6", C: "~@5 x", D: "~@2 x", E: "~ x", F: "~ x ~", G: "~ x ~@4", H: "x ~@4 x",
  I: "~@13 x ~@2 x ~@7", J: "x!2 ~@6", K: "~@4 x ~@16 x ~@2", L: "~@7 x ~@12 x ~@3", M: "x ~@9 x ~@4 x ~@8",
  N: "~@8 x ~@2 x ~@12", O: "~@4 x ~@11 x ~@2 x ~@4", P: "~@2 x ~@2 x ~@14 x ~@3", Q: "~@6 x ~@4 x ~@4 x ~@7",
  R: "x ~@7 x ~@4 x ~ x ~@8", S: "~@16 x ~@4 x ~ x", T: "~@8 x ~@14 x", U: "~@4 x ~@14 x ~@4",
})).gain(0.37).pan(0.6)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A B C D E A F C D E A B C D E A B ~ D ~ A B C D E A B C D G H I J K L H M J K L H N ~ D E O P Q K R H S Q K T H I Q
  U V W X C K L H I J D ~@14 D E A B C ~ G H Y J K R Z M AA K L H S AB AC ~@14 D E A B ~@3
>`.pickRestart({
  A: "~ x ~@4", B: "x ~@4 x", C: "~@2 x", D: "~ x", E: "~ x ~", F: "x ~@4 x ~@4 x ~", G: "~@23 x",
  H: "~@4 x ~@4 x ~@4 x ~@4 x ~@4", I: "x ~@9 x ~@4 x ~@4 x ~@3", J: "~ x ~@4 x ~@4 x ~@4 x ~@7",
  K: "~@2 x ~@4 x ~@4 x ~@4 x ~@4 x ~", L: "~@3 x ~@4 x ~@9 x ~@4 x", M: "x ~@14 x ~@4 x ~@3", N: "x ~@4 x ~@18",
  O: "~@4 x ~@16 x ~@2", P: "~@10 x ~@4 x ~@4 x ~@3", Q: "~ x ~@4 x ~@4 x ~@4 x ~@4 x ~@2",
  R: "~@3 x ~@4 x ~@4 x ~@4 x ~@4 x", S: "x ~@4 x ~@4 x ~@4 x ~@4 x ~@3", T: "~@3 x ~@4 x ~@4 x ~ x ~@2 x ~@4 x",
  U: "~@2 x ~@4 x ~@4 x ~@4 x ~@6", V: "~@3 x ~ x ~@2 x ~@14 x", W: "~ x ~@22", X: "~@5 x ~@4 x ~@11 x ~",
  Y: "x ~@4 x ~ x ~@2 x ~@4 x ~@4 x ~@3", Z: "~@4 x ~@4 x ~@4 x ~@6 x ~@2", AA: "~ x ~ x ~@2 x ~@4 x ~ x ~@2 x ~@7",
  AB: "~ x ~@4 x ~@4 x ~@12", AC: "~@7 x ~@16",
})).gain(0.18).pan(0.6)

// drums · mid tom
const mid_tom = s("mt").struct("<~@30 A ~@6 B ~@32 C ~@6 D ~@4 E F ~@6 C ~@12 G H ~@2 I ~@9 J ~@5 K L ~>".pickRestart({
  A: "~@11 x ~ x ~@10", B: "~@5 x ~ x ~@16", C: "~@10 x ~@2 x ~@10", D: "x ~ x ~@2 x ~@18", E: "~@10 x ~@6 x ~@2 x ~@3",
  F: "~@7 x", G: "~@11 x", H: "x", I: "~@5 x ~@18", J: "x ~@4 x ~@18", K: "~@19 x ~@4", L: "~ x ~@10",
})).gain(0.26).pan(0.6)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@7 A ~@11 B C ~@2 D ~@3 A ~ B ~@2 A D ~ E ~@2 D ~ E ~ F ~@4 G ~@2 H ~@2 I ~@3 A ~@2 E J K D ~ E ~ A D L ~@10 M ~@8 N
  ~@3 D ~@3 K D ~ E ~@25
>`.pickRestart({
  A: "~@5 x ~@18", B: "~@11 x", C: "~ x ~", D: "~@7 x", E: "~@13 x ~@10", F: "~@10 x ~@4 x ~@8", G: "x", H: "~@5 x ~@6",
  I: "~@3 x", J: "~ x ~@2", K: "~@7 x ~@16", L: "~@2 x ~@9 x ~@4 x ~@4 x ~", M: "~@10 x ~@2 x ~@10",
  N: "~@7 x ~@9 x ~@6",
})).gain(0.18).pan(0.6)

// drums · high tom
const high_tom = s("ht").struct("<~@30 A ~@39 B ~@5 C ~@6 D ~@6 B ~@12 E ~@3 F ~@8 G ~@6 H ~@2>".pickRestart({
  A: "~ x ~@6", B: "~@5 x ~@2 x ~@15", C: "~@16 x ~@2 x ~@4", D: "~@13 x ~@2 x ~@7", E: "~@3 x", F: "~ x ~@10",
  G: "~@7 x", H: "~@13 x ~@10",
})).gain(0.26).pan(0.6)

// drums · crash
const crash = s("cr").struct(`<
  ~@30 A ~@6 B ~@32 A ~ B ~@4 B ~@5 C ~@6 D ~@6 B ~@6 E ~@2 B ~@2 A ~@3 E ~ F B ~@8
>`.pickRestart({
  A: "~@3 x", B: "~@5 x ~@6", C: "~ x ~@22", D: "~@5 x ~@2", E: "~ x ~@10", F: "~@3 x ~@4",
})).gain(0.22).pan(0.6)

// drums · ride
const ride = s("rd").struct(`<
  A ~ B C D A ~@8 D A ~ E F D ~@3 G ~@5 D ~@13 H I J ~@13 K A L M N ~@6 O P Q R S T U V R S W P X ~ Y Z AA AB R AC ~@14
  AD Z P AE AF S AG AH AI AJ AK T AL ~ AM D AN AO B ~ AP ~
>`.pickRestart({
  A: "~@3 x", B: "~@5 x ~@6", C: "~@7 x", D: "~ x ~@10", E: "~@5 x ~@4 x ~@13", F: "~@11 x ~@4 x ~@7",
  G: "~@6 x ~@2 x ~ x ~@12", H: "~@16 x ~@4 x ~ x", I: "~@2 x ~@14 x ~@4 x ~", J: "~@5 x ~@7 x ~@4 x ~@5", K: "~@11 x",
  L: "~@14 x ~ x ~@2 x ~@4", M: "~@5 x ~@2", N: "~@6 x ~ x ~@2 x ~@12", O: "~@23 x", P: "~@4 x ~@4 x ~@4 x ~@4 x ~@4",
  Q: "x ~@4 x ~@9 x ~@4 x ~@3", R: "~ x ~@4 x ~@4 x ~@4 x ~@4 x ~@2", S: "~@2 x ~@4 x ~@4 x ~@4 x ~@4 x ~",
  T: "~@3 x ~@4 x ~@4 x ~@4 x ~@4 x", U: "~@4 x ~@4 x ~@14", V: "~@15 x ~@4 x ~@3", W: "~@3 x ~@4 x ~@9 x ~@4 x",
  X: "x ~@4 x ~@18", Y: "~@2 x ~@4 x ~ x ~@2 x ~@4 x ~@4 x ~", Z: "~@3 x ~@4 x ~@4 x ~ x ~@2 x ~@4 x",
  AA: "~@4 x ~@4 x ~@4 x ~@4 x ~ x ~@2", AB: "x ~ x ~@2 x ~@4 x ~@4 x ~@4 x ~@3", AC: "~@2 x ~@9 x ~@4 x ~@4 x ~",
  AD: "~@12 x ~@4 x ~@4 x ~", AE: "x ~@14 x ~@4 x ~@3", AF: "~ x ~@4 x ~@4 x ~ x ~@2 x ~@4 x ~@2",
  AG: "x ~@7 x ~@4 x ~@9 x", AH: "~@4 x ~@4 x ~ x ~@2 x ~@4 x ~@4", AI: "x ~@4 x ~@4 x ~@4 x ~@4 x ~@3",
  AJ: "~ x ~ x ~@2 x ~@4 x ~@4 x ~@4 x ~@2", AK: "~@7 x ~@4 x ~@4 x ~ x ~@2 x ~", AL: "~ x ~@4",
  AM: "~ x ~@4 x ~@7 x ~@6 x ~@2", AN: "~@13 x ~ x ~@2 x ~@5", AO: "~@9 x ~@3 x ~@10", AP: "~ x",
})).gain(0.26).pan(0.6)

stack(bass, epiano2, piano, kick, snare, hihat, mid_tom, open_hat, high_tom, crash, ride)

More by Joe Cocker