Strudelify
Walking by Myself cover art

1992 · Still Got The Blues

Walking by Myself

Gary Moore

KeyE majorTempo129 bpm
0:00/0:00
// Walking by Myself — Gary Moore
// 129 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 94 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(129/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 · "KN2000 94"
const piano = note(`<
  A@10 B C ~ D E F G H I J K L M N O P Q@2 R@2 A@4 B S T U V W X Y@4 Z AA AB AC AD AE AF AG AH AI AJ AK AL@3 AM@2 A@4 B
  S AN AO AP AQ AR AS AT@2 AU AV AW AX AY AZ@3 BA BB BC BD BE@6
>`.pickRestart({
  A: "[~@16 [b2,b3]@2 [d3,d4] ~ [b2,b3] ~ [d3,d4] [e3,b3,e4]@3 ~@22]/2", B: "~@16 [b1,b2]@2 [a1,a2]@3 ~ [g1,g2]@2",
  C: "[e1,e2] ~@8 [e1,e2,g#4,d5] ~ [e1,e2,g#4,d5]", // E E7
  D: "[e2,b2]@3 ~ b2@2 [e2,c#3]@3 ~ c#3@2 [e2,b2]@3 ~ [e2,b2] ~ [e2,c#3]@3 ~ [e2,c#3] ~, ~@4 e2 ~@5 e2 ~@13", // E5 C#m E5 C#m
  E: "[e2,b2]@2 ~@2 [g#3,d4]@2 [e2,c#3]@2 ~@2 c#3@2 [e2,b2]@2 ~@2 [e2,b2] ~ [e2,c#3]@2 ~@2 [e2,c#3] ~, ~@4 [e2,b2] ~@5 e2 ~ [g#3,d4]@11 ~", // E5 G#dim C#m E5 C#m E5 G#dim
  F: "[e2,b2]@2 ~@2 [e2,b2,g#3,d4] ~ [e2,c#3]@2 ~@2 c#3@2 [e2,b2,g#3,d4]@2 ~@2 [e2,b2] ~ [e2,c#3]@2 ~@2 c#3@2, ~@10 e2 ~@11 e2 ~", // E5 E7 C#m E7 E5 C#m
  G: "[e2,b2]@2 ~@2 [d4,g#4,b4] ~ f#2@3 ~ e2@2 [g2,d4,g#4,b4]@3 ~ e2@2 [g#2,d4,g#4,b4]@3 ~ [e2,a4,c#5]@2, ~@2 e2 ~@9", // E5 G#dim G G#dim A
  H: "[a2,e3]@3 ~ [a2,e3] ~ [a2,f#3,a3,c#4]@3 ~ [a2,f#3] ~ [a2,e3]@3 ~ [a2,e3] ~ [a2,f#3,a3,c#4]@3 ~ [a2,e3] ~", // A5 F#m D A5 F#m A5
  I: "[b2,f#3]@2 ~@2 [b2,f#3,a3,d#4] ~ [b2,g#3]@3 ~ g#3@2 [b2,f#3,a3,d#4]@2 ~@2 [b2,f#3,b3] ~ [b2,g#3,b3,b4]@3 ~ g#3@2, ~@10 b2 ~@11 b2 ~", // B5 B7 E B7 B5 E
  J: "[e2,b2]@2 ~@2 e2@2 [g#2,g#3,e4]@3 e3 e2@2 [a2,a3,e4]@3 ~ e3 ~ [a#2,a#3]@3 e3 e2 ~, ~@4 e3 ~@11 e2@2 ~@6, ~@17 e4@4 ~@3", // E5 C#m A5 A#
  K: "[b2,b3]@3 ~ b2@2 [d3,d4]@3 ~ [b2,b3]@13 ~, ~@4 b3 ~@19", // B D B
  L: "[e2,b2]@3 ~ [e2,b2,d4,g#4] ~ [e2,c#3]@3 ~ c#3@2 [e2,b2,d4,g#4]@3 ~ [e2,b2] ~ [e2,c#3]@3 ~ [e2,c#3] ~, ~@10 e2 ~@13", // E5 E7 C#m E7 E5 C#m
  M: "[e2,b2]@2 ~@2 [e2,b2,d4,g#4] ~ [e2,c#3]@2 ~@2 c#3@2 [e2,b2,d4,g#4]@3 ~ [e2,b2,d4,g#4] ~ [e2,c#3]@2 ~@2 [e2,c#3] ~, ~@10 e2 ~@13", // E5 E7 C#m E7 C#m
  N: "[e2,b2]@2 ~@2 [e2,b2,d4,g#4] ~ [e2,c#3]@2 ~@2 c#3@2 [e2,b2,d4,g#4]@3 ~ [e2,b2,d4,g#4] ~ [e2,c#3]@3 ~ c#3@2, ~@10 e2 ~@11 e2 ~", // E5 E7 C#m E7 C#m
  O: "[e2,b2]@2 [d4,g#4] ~ e2@2 f#2@3 ~ [e2,d4,g#4] ~ g2@3 ~ [d4,g#4] ~ g#2@3 ~ [d4,g#4] ~, ~@8 e2 ~@2 e2", // E5 Ddim E7 Ddim
  P: "[a2,e3]@2 ~@2 [a2,e3,g4,c#5] ~ [a2,f#3]@3 ~ [a2,f#3] ~ [a2,e3,g4,c#5]@3 ~ [a2,e3,g4,c#5] ~ [a2,f#3]@3 ~ [a2,e3,c#4] ~", // A5 A7 D A7 D A
  Q: "[[b2,f#3,a3,d#4]@3 ~ [b2,f#3,a3,d#4] ~ [b2,g#3]@3 ~ g#3@2 [b2,f#3,a3,d#4]@3 ~ [b2,f#3,a3,d#4] ~ [b2,g#3]@2 ~@2 f#3@2 [e2,b2]@2 ~@2 e2@2 [g#2,g#3,e4]@2 e3@2 [e2,g#3]@2 [a2,a3]@4 e2@2 [a#2,a#3,e4]@3 e3 e2 ~, ~@10 b2 ~@11 [b3,e4]@6 ~@6 e4@5 ~@9, ~@22 b2 ~@5 e3 ~@11 e3 ~@7]/2", // B7 E B7 E E5 C#m E A …
  R: "[[b2,b3]@3 ~ [b2,b3] ~ [d3,d4]@3 ~ [b2,b3]@5 ~ [b2,b3]@2 [d3,d4]@2 [b2,b3] ~ [d3,d4] [e3,b3,e4]@3 ~@22]/2", // B D B D B D E5
  S: "[e1,e2] ~@8 [e1,e2,d4,g#4] ~ [e1,e2,d4,g#4]", T: "~@22 [b3,b4] ~",
  U: "[e2,b2]@3 ~ [e2,b2] ~ [e2,c#3]@3 ~ c#3@2 [e2,b2]@3 ~ [e2,b2] ~ [e2,c#3]@3 ~ [e2,c#3] ~, ~@10 e2 ~@13", // E5 C#m E5 C#m
  V: "[e2,b2]@2 ~@2 [e2,b2,g#3,d4] ~ [e2,c#3]@2 ~@2 c#3@2 [e2,b2,g#3,d4]@2 ~@2 [e2,b2,e4] ~ [e2,c#3,g4,c#5]@2 ~@2 [e2,c#3] ~, ~@10 e2 ~@11 b3@2", // E5 E7 C#m E7 E5 C#dim C#m
  W: "[e2,b2,d4,g#4]@3 ~ [e2,b2] ~ [e2,c#3]@2 ~@2 c#3@2 [e2,b2]@2 ~@2 [e2,b2] ~ [e2,c#3]@3 ~ c#3@2, ~@10 e2 ~@11 e2 ~", // E7 E5 C#m E5 C#m
  X: "[e2,b2]@2 ~@2 [e2,b3]@2 [f#2,d4,g#4]@3 ~ [e2,b3]@2 [g2,d4,g#4]@3 ~ [e2,b3]@2 [g#2,d4,g#4]@4 [e2,b3]@2", // E5 G#m7b5 E5 G E5 G#dim E5
  Y: "[[a2,e3,g4,c#5,e5]@2 ~@2 [a2,e3] ~ [a2,f#3]@3 ~ [a2,f#3] ~ [a2,e3]@3 ~ [a2,e3] ~ [a2,c#5]@4 [a2,e3] ~ [b2,f#3,f#4]@3 ~ [b2,f#3,a3,d#4,f#4] ~ [b2,g#3]@3 ~ g#3@2 [b2,f#3]@2 ~@2 [b2,f#3,a3,d#4,f#4] ~ [b2,g#3]@2 ~@2 g#3@2 [e2,b2,e4,g#4]@2 ~@2 e2@2 [g#2,g#3,e4]@4 e2@2 [a2,a3,e4]@3 ~ [e2,e3]@2 [a#2,a#3,e4]@4 e2 ~ [b2,b3,e4]@3 ~ b2@2 [d3,d4]@3 ~ [b2,b3]@13 ~, ~@16 a4@5 ~@2 [a3,d#4]@3 ~@8 b2 ~@11 b2 ~@5 e3 ~@5 e3 ~@11 e3@4 ~@22, ~@16 c5@2 f#3@2 ~@2 c#4@2 ~@22 b3@4 ~@26 b3 ~@19]/4", // A7 A5 D A5 A A5 B5 B7 …
  Z: "[e2,b2]@3 ~ [b2,b3,d4,g#4]@2 [e2,c#3]@2 ~@2 [e2,c#3,b3,d4,g#4] ~ [e2,b2,b3,d4,g#4]@3 ~ [e2,b2,e4] ~ [e2,c#3,e4,g4,c#5]@3 ~ [e2,c#3] ~, ~@4 e2 ~@19", // E5 G#dim C#m E7 E5 C#dim C#m
  AA: "[e2,b2,b3]@3 ~ [b3,d4,g#4]@2 [e2,c#3]@3 ~ [e2,b3,d4,g#4] ~ [e2,b2,b3,d4,g#4]@2 ~@2 [e2,b2,e4] ~ [e2,c#3,e4,g4,c#5]@3 ~ [e2,c#3] ~, ~@4 [e2,b2] ~@5 c#3@2 ~@12", // E5 G#dim C#m E7 E5 C#dim C#m E5
  AB: "[e2,b2]@2 ~@2 [b3,d4,g#4]@2 [e2,c#3]@2 ~@2 [e2,b3,d4,g#4] ~ [e2,b2,b3,d4,g#4]@2 ~@2 [e2,b2,e4] ~ [e2,c#3,e4,g4,c#5]@3 ~ c#3@2, ~@4 [e2,b2] ~@5 c#3@2 ~@10 e2 ~", // E5 G#dim C#m E7 E5 C#dim E5
  AC: "[e2,b2]@2 ~@2 [e2,d4,g#4,e5]@2 f#2@3 ~ e2@2 [g2,d4,g#4]@4 e2@2 [g#2,d4,g#4]@4 e2@2, ~@10 b3@4 ~@2 b3 ~@5 b3 ~", // E5 E7 G G#dim
  AD: "[a2,e3]@3 ~ [a2,e3,e4,g4] ~ [a2,f#3]@3 ~ f#3@2 [a2,e3]@3 ~ [a2,e3] ~ [a2,f#3]@3 ~ [a2,e3,c#4] ~, ~@4 c#5@2 ~@4 a2 ~ [e4,g4,c#5]@9 ~@3", // A5 A7 D A5 D A C#dim
  AE: "[b2,f#3,a3,d#4,f#4]@3 ~ [b2,f#3,a3,d#4,f#4] ~ [b2,g#3]@3 ~ g#3@2 [b2,f#3,a3,d#4]@3 ~ [b2,f#3,b3] ~ [b2,g#3,b3,b4]@3 ~ [b2,g#3,b3,e4] ~, ~@10 b2 ~@13", // B7 E B7 B5 E
  AF: "[e2,b2,e3]@3 ~ e2@2 [g#2,g#3,e4]@3 e3 e2@2 [a2,a3,e4]@3 e3 ~@2 a#2@3 e3 e2 ~, ~@4 e3 ~@11 e2@2 ~@6, ~@17 [a#3,e4]@4 ~@3", // E5 C#m A5 A#dim
  AG: "[b2,b3]@3 ~ b2@2 [d3,d4]@3 ~ [b2,b3]@12 b3@2, ~@4 b3 ~@19", // B D B
  AH: "[d4,g#4]@4 [e2,b2,b3] ~ [d4,g#4]@4 [e2,c#3] ~ [d4,g#4]@4 [e2,b2,b3] ~ [e2,d4,g#4]@4 [e2,c#3,b3] ~, [e2,b2] ~@2 [e2,c#3] ~ b3 [e2,b2] ~@2 c#3 ~@2", // Ddim E5 Ddim C#m Ddim E5 E7 C#m7 …
  AI: "[e2,b2,d4,g#4]@3 ~ [e2,b2,d4,g#4,b4] ~ [e2,c#3]@3 ~ [e2,c#3] ~ [e2,b2]@2 ~@2 [e2,b2] e4 [e2,c#3,c#5]@3 ~ [e2,c#3] ~, ~@5 [d4,g#4,b4]@3 ~ g4@2 b4", // E7 C#m E5 C#m G#dim
  AJ: "[e2,b2]@2 ~@2 [e2,b2,b3] ~ [d4,g#4]@4 [e2,c#3,b3] ~ [e2,b2,d4,g#4]@3 ~ [e2,b2,b3] ~ [d4,g#4]@4 [e2,c#3,b3] ~, ~@3 [e2,c#3] ~@5 [e2,c#3] ~@2", // E5 Ddim C#m7 E7 E5 Ddim C#m7 C#m
  AK: "[e2,b2,d4,g#4]@3 ~ [e2,e4,e5]@2 f#2@4 [e2,e4,e5]@2 g2@4 [e2,e4,e5]@2 g#2@3 ~ [e2,e4,e5]@2", // E7 E
  AL: "[[a2,e3]@2 ~@2 [e4,g4,a4,c#5]@2 [a2,f#3]@3 ~ [a2,f#3] ~ [a2,e3,e4,g4,a4,c#5]@3 ~ [a2,e3,e4,g4,a4,c#5] ~ [a2,f#3]@3 ~ [a2,e3] ~ [b2,f#3]@2 ~@2 [b2,f#3,b4] ~ [b2,g#3]@3 ~ [b2,b3] ~ [a3,d#4,f#4]@4 [b2,f#3,b3] ~ [d#4,f#4]@4 f#3@2 [e2,b2]@2 ~@2 [e2,e3,e4]@2 [g#2,e5]@2 e3@2 [e2,e5]@2 a2@2 ~ e3 e2@2 e4 ~ g4 e3 a4@2, ~@4 [a2,e3] ~@17 a3@5 ~@7 g#3@2 [b2,f#3]@2 ~@4 [b2,g#3]@2 ~@2 b2 ~@15 a4@2 ~@8, ~@22 d4@2 d#4@4 ~@13 a3@3 ~@2 [b3,e4]@6 ~@4 e4 ~@3 e4@5 ~ a#2@4 e2 ~, ~@63 e5@2 ~@7]/3", // A5 A7 D A7 D A5 B5 E …
  AM: "[[b2,b3]@2 g#4@2 [b2,d4]@2 [d3,a3,f#4]@3 ~ [b2,b3,f#4]@6 [b2,b3]@2 [d3,d4]@2 [b2,b3] ~ [d3,d4] [e3,b3,e4]@3 ~@22]/2", // B Bm D B5 B D B D …
  AN: "~@11 b4, ~@22 d4 ~",
  AO: "[e2,d4,g#4]@4 b2@2 [e2,c#3,g4,c#5]@3 ~ [e2,g4,c#5] ~ [e2,b2,d4,g#4]@3 ~ [e2,b2] ~ [e2,d4,g#4]@4 [e2,c#3,b3] ~, b2@2 ~@2 e2 ~@5 c#3@2 ~@4 b3@2 c#3@2 ~@4", // E7 C#dim E7 E5 E7 C#m7
  AP: "[e2,b2,d4,g#4]@3 ~ [d4,g#4]@2 [e2,c#3]@2 ~@2 [e2,c#3] ~ [e2,b2]@2 ~@2 [e2,b2,b3] ~ [e2,c#3,d4,g#4]@3 ~ [e2,c#3,d4] ~, ~@4 [e2,b2] ~@5 [d4,g#4]@7 ~@5 b4@2", // E7 Ddim C#m E5 C#m E5 Ddim
  AQ: "[e2,b2,d4,g#4]@3 ~ [e2,b2,e4] ~ [g4,c#5]@4 [e2,c#3,d4] ~ [g#4,e5]@4 [e2,b2,e4] ~ [c#3,g4,c#5]@3 b3 [e2,c#3] ~, ~@3 [e2,c#3] ~@2 [e2,b2] ~@2 e2 ~@2", // E7 E5 Gdim C#m E5 C#dim C#m E5
  AR: "[e2,b2,d4,g#4]@3 ~ [e2,d4,g#4]@2 f#2@3 ~ [e2,d4,g#4]@2 g2@3 ~ [e2,d4,g#4]@2 g#2@3 ~ [e2,d4,g#4]@2", // E7
  AS: "[a2,e3,e4,g4,a4,c#5]@3 ~ [a2,e3,e4,g4,a4,c#5] ~ [a2,f#3]@3 ~ [a2,f#3] ~ [a2,e3]@3 ~ [a2,e3] ~ [a2,f#3,e4,g4,a4,c#5]@3 ~ [a2,e3] ~", // A7 D A5 A7 A5
  AT: "[[b2,f#3,a3,d#4,g#4]@3 ~ [b2,f#3,a3,d#4,g#4] ~ [b2,g#3]@2 ~@2 [b2,g#3,a3,d#4,g#4] ~ [b2,f#3]@2 ~@2 [b2,f#3,a3] ~ [b2,g#3,d#4,g#4]@3 ~ g#3@2 [e2,b2]@2 ~@2 [e2,e4]@2 [g#2,e5]@2 e4 ~ [e2,g#4]@2 [a2,a4]@2 e4@2 e2@2 a#2@2 a#4@2 [e2,e4] ~, ~@17 a3@3 ~@2 [b3,e4]@6 ~@12 a4 ~ e4 ~@5, ~@22 b2 ~@25]/2", // B7 E G#m B5 B7 G#m E5 E …
  AU: "[b2,b4]@3 ~ b2@2 [d3,d#4,f#4]@3 d4 [b2,d#4,f#4]@13 ~, ~@4 a3@4 ~ a3@12 ~@3", // B D B
  AV: "[e2,b2]@3 ~ [b3,d4,g#4]@2 [e2,c#3]@3 ~ [e2,c#3,b3] ~ [e2,b2,b3,d4,g#4]@3 ~ [e2,b2,b3] ~ [e2,c#3,d4,g#4]@3 ~ [e2,c#3,d4] ~, ~@4 [e2,b2] ~@17 g#4@2", // E5 G#dim C#m C#m7 E7 E5 C#m E5
  AW: "[e2,b2]@2 ~@2 [b3,d4,g#4]@2 [e2,c#3]@2 ~@2 c#3@2 [e2,b2,b3,d4,g#4]@2 ~@2 [e2,b2,b3] ~ [e2,c#3,b3,d4,g#4]@3 ~ [e2,c#3,b3,d4,g#4] ~, ~@4 [e2,b2] ~@5 e2 ~@13", // E5 G#dim C#m E7 E5 E7 E5
  AX: "[e2,b2]@2 ~ [b3,d4] [e2,b2] ~ [e2,c#3]@2 ~@2 [e2,b3] ~ [e2,b2,b3,d4,g#4]@3 ~ [e2,b2,b3,d4,g#4] ~ [e2,c#3]@3 ~ [e2,c#3,b3,d4,g#4] ~, ~@3 g#4@2 ~@5 c#3@2 ~@12", // E5 Bm E5 C#m E5 E7 C#m E7
  AY: "[e2,b2]@2 ~@2 [b3,d4,g#4] ~ f#2@3 ~ [b3,d4,g#4] ~ g2@3 ~ [b3,d4,g#4] ~ g#2@3 ~ [e2,g#4]@2, ~@4 e2@2 ~@4 e2@2 ~@4 e2@2 ~@4 [b3,d4] ~", // E5 G#dim E Bm
  AZ: "[[a2,e3,g4,c#5]@3 ~ [a2,e3,g4,c#5] ~ [a2,f#3]@3 [g4,c#5] [a2,f#3] ~ [a2,e3]@3 ~ [a2,e3,e4] ~ [a2,f#3,g4,c#5]@3 e4 [a2,e3] ~ [b2,f#3,b3,d#4,f#4]@3 [d#4,g#4] [b2,f#3,b3,f#4] ~ [b2,g#3]@3 ~ [b2,b3] ~ [d#4,f#4,g#4]@4 [b2,f#3,b3] ~ [d#4,f#4]@4 [b2,g#3] ~ [a2,e3,c#5]@3 e4 [a2,e3,g4,c#5] ~ [a2,f#3]@3 ~ [a2,f#3] ~ [a2,e3,c#5]@3 ~ [a2,e3] ~ [a2,f#3,g4,c#5]@3 ~ [a2,e3,a3] ~, ~@23 g#4@3 ~@8 g#3@2 [b2,f#3,b3]@2 ~@3 [b3,g#4]@5 ~ [e4,g4]@3 ~@10 [e4,g4] ~@11, ~@21 [b2,g#3] ~@14]/3", // A7 D Gdim D A5 F#m A5 B …
  BA: "[b2,f#3,a3,d#4,f#4]@3 a3 [b2,f#3,d#4,f#4] ~ [b2,g#3]@3 ~ [b2,a3] ~ [b2,f#3,a3,d#4,f#4]@2 ~@2 [b2,f#3] ~ [b2,g#3,a3,d#4,f#4]@2 ~@2 g#3@2, ~@10 g#3@2 ~@10 b2 ~", // B7 B E B7 B5 B7
  BB: "[a2,e3,e4,g4,a4,c#5]@3 ~ [a2,e3,e4,g4,a4,c#5] ~ [a2,f#3]@3 ~ [a2,f#3,e4,g4,a4,c#5] ~ [a2,e3]@3 ~ [g4,a4,c#5]@2 [a2,f#3]@3 ~ [a2,e3] ~, ~@16 [a2,e3] ~ e4 ~@5", // A7 D A7 A5 A7 D A5
  BC: "[b2,f#3,a3,d#4,f#4] ~@7", BD: "~@2 c4@2 [g#1,g#2,g#3,g#4]@7 ~ [a1,a2,a3,a4]@3 ~@3 [a#1,a#2,a#3,a#4]@3 ~@3",
  BE: "[[b1,b2,b3,b4]@3 ~@3 [f1,f2,d#4,a4,c5]@3 [g#4,b4]@6 d4 g#4@2 [d4,b4] g#4@2 d4 ~@2 d4 ~ [g#4,b4] d4 ~ b4 d4 g#4 b4 d4 ~@2 d4 ~ b4 d4 g#4 b4 d4 ~ b4 d4 g#4@2 ~ d4 g#4 ~ g#4@4 e4@2 ~@2 e4 g#4 d5 e4 g#4 [e4,d5] g#4 ~@2 g#4@35 ~@16 e1@9 ~@15, ~@9 [e1,e2]@59 e4@35 ~@41, ~@9 d4@4 ~@8 b4@2 b4@2 ~@10 b4@2 ~@11 b4@2 ~ b4@56 ~@37, ~@22 g#4@2 ~@4 g#4@2 ~@4 g#4@2 ~ g#4@2 ~@4 g#4@2 ~@7 d4@54 ~@13 [e2,d4,f#4,b4]@9 ~@16, ~@58 g#4 d5@2 ~@6 d5@36 ~@41]/6", // B F7 G#m G G#m E7 E Bm
})).s("gm_piano").gain(0.23).pan(0.3)

// bass · electric bass finger
const bass = note(`<
  A@10 B C D E F G H I J K L E M F N I O K P@2 A@4 B C Q E F@2 H I O K R F@2 S T U V W X F G F T Y O K Z@2 AA@4 B C AB E
  AC F H I O AD R F@3 AE I AF I AG I AH AI AJ@5 AK
>`.pickRestart({
  A: "[~@16 b1 ~ d2 ~ b1 ~ d2 e2@3 ~@22]/2", B: "~@16 b1 ~ a1@3 ~ g1 ~", C: "e1 ~@8 e1 ~ e1",
  D: "~@12 b1@2 d2@2 b1 ~ d2@2 b1 ~ d2 ~", E: "e1@2 ~@2 e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~",
  F: "e1@2 ~@2 e1 ~ e1@3 ~ e1 ~ e1@2 ~@2 e1 ~ e1@3 ~ e1 ~", G: "e1@2 ~@2 e1 ~ e1@3 ~ e1 ~ e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~",
  H: "e1@2 ~@2 e1 ~ f#1@3 ~ e1 ~ g1@3 ~ e1 ~ g#1@3 ~ e1@2", I: "a1@2 ~@2 a1 ~ a1@3 ~ a1 ~ a1@2 ~@2 a1 ~ a1@3 ~ a1 ~",
  J: "b1@2 ~@2 b1 ~ b1@3 ~ b1 ~ b1@2 ~@2 b1 ~ b1@3 ~ a1@2", K: "e1@2 ~@2 e1 ~ g#1@3 ~ e1 ~ a1@3 ~ e1 ~ a#1@3 ~ e1 ~",
  L: "b1@3 ~ b1 ~ d2@3 ~ b1@4 ~@2 b1 ~ b1 ~ a1 ~ e1@2", M: "e1@2 ~@2 e1 ~ e1@3 ~ e1 ~ e1@2 ~@2 e1 ~ b1@3 ~ a1 ~",
  N: "e1@2 ~@2 e1 ~ f#1@2 ~@2 e1 ~ g1@3 ~ e1 ~ g#1@3 ~ e1 ~", O: "b1@2 ~@2 b1 ~ b1@3 ~ b1 ~ b1@2 ~@2 b1 ~ b1@3 ~ e1@2",
  P: "[b1@2 ~@2 b1 ~ d2@3 ~ b1@4 ~@2 b1 ~ d2 ~ b1 ~ d2 e2@3 ~@22]/2", Q: "~@16 g1 ~ g1@5 ~",
  R: "b1@3 ~ b1 ~ d2@3 ~ b1@4 ~@2 b1 ~ b1 ~ a1 ~ e1 ~", S: "e1@2 ~@2 e1 ~ e1@3 ~ e1 ~ e1@2 ~@2 e1 ~ e1@3 ~ e1@2",
  T: "e1@2 ~@2 e1 ~ f#1@3 ~ e1 ~ g1@3 ~ e1@2 g#1@3 ~ e1@2", U: "a1@2 ~@2 a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~",
  V: "b1@2 ~@2 b1 ~ b1@3 ~ b1 ~ b1@2 ~@2 b1 ~ b1@3 ~ e1 ~", W: "e1@3 ~ e1 ~ g#1@3 ~ e1 ~ a1@3 ~ e1 ~ a#1@3 ~ e1@2",
  X: "b1@2 ~@2 b1@2 d2@3 ~ b1@4 ~@2 b1 ~ a1@3 ~ g1@2", Y: "a1@2 ~@2 a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~ a1@2 ~@2 a1 ~",
  Z: "[b1@2 ~@2 b1@2 d2@3 ~ b1@4 ~@2 b1 ~ d2 ~ b1 d2 ~ e2@3 ~@22]/2", AA: "[~@16 b1 ~ d2 ~ b1 d2 ~ e2@3 ~@22]/2",
  AB: "~@16 b1 ~ b1@3 a#1 a1 [g1,g#1]", AC: "e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~ e1@2 ~@2 e1 ~ e1@3 ~ e1 ~",
  AD: "e1@2 ~@2 e1 ~ g#1@3 ~ e1 ~ a1@3 ~ e1 ~ a#1@3 ~ e1@2", AE: "e1@2 ~@2 e1 ~ f#1@3 ~ e1 ~ g1@3 ~ e1 ~ g#1@3 ~ e1 ~",
  AF: "b1@2 ~@2 b1 ~ b1@3 ~ b1 ~ b1@2 ~@2 b1 ~ b1@3 ~ b1 ~", AG: "b1@2 ~@2 b1 ~ b1@3 ~ b1 ~ b1@2 ~@2 b1 ~ b1@3 ~ b1@2",
  AH: "b1 ~@11", AI: "~@4 g#1@6 ~@2 a1@3 ~@3 a#1@3 ~@3", AJ: "[b1@3 ~@3 f1@3 ~ e1@94 ~@16]/5", AK: "e1 ~@7",
})).s("gm_electric_bass_finger").gain(0.45)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  A@4 B@2 C@2 D@2 E F G@2 H I J K L@4 H I J K M@4 C@2 D@2 E F N@2 O P Q R S@3 T U V W@2 X Y@2 Z AA AB AC AD AE@2 AF@2
  C@2 AG@2 AH AI AJ@2 AK AL AM R AN@6 AO R AP R AP AQ@2 AR@4 AS@3
>`.pickRestart({
  A: "[~@15 a2 b2 ~ [d3,b3] b2@2 d3 ~ [e3,b3,g4]@3 ~@2 [c#3,g#3,a3] [b2,c3,g3,d#4,e4] [b3,d4] ~@17, ~@13 d#3 ~@10, ~@27 [d3,a#3,f#4]@2 ~@19]/2", // G Em Amaj7 Cmaj7 Bm Daug
  B: "[[e4,g#4]@15 a2 b2 ~ [d3,b3] b2@2 d3 ~ [e3,b3]@2 ~@23]/2", C: "[~@15 a2 b2 ~ [d3,b3] b2@2 d3 ~ [e3,b3]@2 ~@23]/2",
  D: "[~@11 [b3,c4] [g3,g#3,a3,a#3] [d#3,e3,f3,f#3] [b2,c3,c#3,d3] [a2,a#2] b2 ~ [d3,b3] b2@2 d3 ~ [e3,b3]@2 ~@23]/2", // Cmaj7 A#maj7 G E5
  E: "~@16 b2@2 a2@3 ~ g2@2", F: "e2@3 ~@15 [e4,g#4,d5]@2 ~@2 [e4,g#4,d5]@2",
  G: "[~@14 d5@2 ~ d5@6 ~ b2@6 ~@4 [e2,b2] b2 e2 ~@3 [e2,b2] e2 b2 ~@3 [e2,b2] b2, ~@12 e4@11 e2@6 ~@19, ~@12 a4@4 a4@7 ~@25]/2", // E5
  H: "e2 ~@3 [e2,b2] e2 b2 ~@3 [e2,b2] b2 e2 ~@3 [e2,b2] ~ [b2,g#3]@3 ~@2 b2, ~@11 [b3,e4]", // E5 E E5
  I: "e2 ~@3 [e2,b2] e2 b2 ~@3 [e2,b2] b2 e2 ~@3 [e2,b2] e2 b2 ~@3 [e2,b2] b2", // E5
  J: "e2 ~@4 f#2@3 ~@2 e2 g2@3 ~@3 g#2@5 ~ e3, ~@2 e2 ~@5 e2 ~@3",
  K: "a2 ~@3 [a2,e3] a2 e3 ~@3 [a2,e3] e3 a3 ~@3 [a2,e3] a3 e3 ~@3 [a2,e3] f#3", // A5
  L: "[b2 ~@3 [b2,f#3] b2 f#3 ~@3 [b2,f#3] b2 f#3 ~@3 [b2,f#3] ~ b2@3 ~@2 e2@4 ~ e2@2 g#2@4 ~ a2@3 ~@2 e2@2 a#2@3 ~@2 b2@4 ~ b2@2 d3@4 b2@7 ~@2 a#2@2 a2@2 ~ b2@4 [b3,e4] ~@5 [e2,b2] b2 e2 ~@3 [e2,b2] e2 b2 ~@3 [e2,b2] b2, ~@17 g#3@3 ~@2 [b2,g#3]@2 ~@10 e2@2 ~@10 e2@2 ~@18 b2@2 ~@3 e2@4 ~@21]/4", // B5 E5 E
  M: "[b2 ~@3 [b2,f#3] b2 f#3 ~@3 [b2,f#3] b2 f#3 ~@3 [b2,f#3] ~ b2@3 ~@2 e2@4 ~ e4@2 g4@2 e4 ~ [b3,e4] a3@2 a#3 g3@2 e3 ~ [e3,a3]@3 ~@2 g#3@3 ~@3 b2@4 ~ b2@5 a2 b2 ~ [d3,b3] b2@2 d3 ~ [e3,b3]@2 ~@23, ~@17 g#3@3 ~@2 [b2,g#3]@2 ~@22 e3@2 ~@4 e3@2 ~@42]/4", // B5 E5 A5 G E5 E
  N: "[~@11 [d6,d#6] [a#5,b5,c6,c#6] [g5,g#5,a5] [e5,f5,f#5] d#5 ~ f#3 [d#3,e3,f3] [b2,c3,c#3,d3] [g#2,a2,a#2] [f#2,g2] f2 ~ b2@4 [b3,e4]@2 ~@4 [e2,b2] b2 e2 ~@3 [e2,b2] e2 c#3 ~@3 [e2,c#3] b2, ~@23 e2@4 ~@21]/2", // D#maj7 Gmaj7 E5 C#m
  O: "e2 ~@3 [e2,b2] e2 c#3 ~@3 [e2,c#3] b2 e2 ~@3 [e2,b2] ~ [b2,g#3]@3 ~@2 b2, ~@11 [b3,e4]", // E5 C#m E5 E E5
  P: "e2 ~@3 [e2,b2] e2 c#3 ~@3 [e2,c#3] b2 e2 ~@3 [e2,b2] e2 c#3 ~@3 [e2,c#3] b2", // E5 C#m E5 C#m
  Q: "e2 ~@4 f#2@3 ~@2 e2 g2@3 ~@3 g#2@5 ~ [a2,e3], ~@2 e2 ~@5 e2 ~@3", // A5
  R: "~@4 [a2,e3] [a2,f#3] ~@4 [a2,f#3] [a2,e3] ~@4 [a2,e3] [a2,f#3] ~@4 [a2,f#3] [b2,f#3]", // A5 D A5 D B5
  S: "[~@4 [b2,f#3] [b2,g#3] ~@4 [b2,g#3] [b2,f#3] ~@4 [b2,f#3] [b2,g#3]@3 ~@3 e2@4 ~@2 g#2@3 ~@3 a2@3 ~@3 a#2@3 ~@3 b2@4 ~@2 d3@4 ~ b2@6 [b3,e4]@2 [e3,b3,e4]@6, ~@11 [b2,g#3] ~@2 [e2,g#3,e4] ~@2 e2 ~@2 e2 ~@2 e2 ~@2 b2 ~@9]/3", // B5 E B5 E E5 E
  T: "b4 ~ b4@2 b4@2 g4 ~ g4@2 a4@2 e4@4 ~@2 f#4@5 ~",
  U: "a4@3 ~ a4 ~ g4@3 ~ a4@2 g4 e4@4 ~ [c#4,d4] c4 e2 [f2,f#2,g2] [g#2,a2,c#3] [d#3,f3,f#3], ~@17 d#4@2 ~@5", // Dmaj7 Amaj7 D#m
  V: "[d4,f#6] ~ b3 ~ a#3 ~ a3@2 [d4,d6]@2 b3 ~ a#3@2 a3 ~ [d4,d6]@2 b3@2 a#3@2 a3@2", // D
  W: "[[d4,d6]@2 b3 ~ a#3 ~ a3@2 g3@2 ~ a#3 a3@2 g3@2 a3@2 g3 ~ e3@2 ~ e3@5 ~@2 g3@4 e3 ~ g3@9 [f3,f#3]@2 e3, ~@5 a3 ~@5 d3 ~@12]/2", // D F#maj7
  X: "~@2 b3 d#4 b3 d#4 b3 ~ b3 ~ b3 d#4 b3 ~ b3 ~ b3 e4 b3 [b3,f#4] ~ b3 ~@2, b3 ~@11, ~ d#4@2 ~@4 d#4@2 d#4@2 ~@2 e4@2 e4@2 ~@3 f#4@3 ~", // B5
  Y: "[e2@5 ~ [b4,e5]@2 [b4,e5]@2 [b4,e5]@2 ~ a#4 g4@2 ~ [a4,a6]@5 ~ g4@4 ~ e4@2 b3@12 [g#3,a3] [f#3,g3] [d#3,e3,f3] [c3,c#3,d3] [a#2,b2] a2, ~@6 a4 ~ e4 ~@2 e4 ~@12]/2", // E5 A Amaj7 Gmaj7 Bmaj7
  Z: "[g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5]@2 [g4,b4,d5]@2 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5]@2 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5]@2 [g4,b4,d5]@2 [g4,b4,d5] ~", // G
  AA: "g4@3 e4@12 ~ [b2,c3,d3] [e3,f3,g3] [f3,f#3,g3,g#3,a3] [c#3,d3,d#3,e3] [a2,a#2,b2,c3] [f#2,g2,g#2] [e2,f2] ~", // Bm Em Fmaj7
  AB: "[g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5]@2 [g4,b4,d5]@2 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5]@2 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5]@2 [g4,b4,d5]@2 [g4,b4,d5] [d3,d#3,e3]", // G
  AC: "[a#2,b2,c3,c#3] a2 [c4,c#4,d4,d#4] [e4,f4,f#4] d6@10 b5@2 ~@2 d6@2 ~ b5@2 ~, ~@4 g4 ~@19",
  AD: "d6@4 b5 a#5 ~ b5 ~ g5 e5 d5 a5@2 ~ a5@3 g5 [c5,d5,e5,f5] [f4,g4,a4,b4] [b3,c4,d4,e4] [f3,g3,a3] e3, ~@3 a5!2 ~@7", // Dm7 G7 Cmaj7 F
  AE: "[a5@4 [e5,g5] ~ g5 [d5,e5] b4 [b4,d5] a4 e5 f#5 e5 d5 b4 [b4,d5] a4 b4 a4 [b4,d5] ~ e5@7 d#5 e5 ~ d5 ~ b4 ~ [a4,a#4]@2 g4@2 e4@2 a4@2 e4 ~ [e4,g4]@2]/2", // Em Dsus2 Bm A#maj7 Em
  AF: "[e4@2 d4@2 b3@2 a3 ~ a#3@2 b3@5 a2 b2 ~ [d3,b3] b2@2 d3 ~ [e3,b3]@2 ~@23]/2", // G E5
  AG: "[d4 e4 d4 [d4,e4] e4 d4 e4 d4 e4 [d4,e4] d4 [b3,c4] [g3,g#3,a3,a#3] [d3,d#3,e3,f3,f#3] [b2,c3,c#3] [a2,a#2] b2 ~ [d3,b3] b2@2 d3 ~ [e3,b3]@2 ~@23]/2", // Dsus2 Cmaj7 A#maj7 G E5
  AH: "[c#5,d5,d#5,e5,f5] [a4,a#4,b4,c5] [f4,f#4,g4,g#4] ~@3 [a#3,b3,c4,c#4,d4] [f#3,g3,g#3,a3] [e3,f3] ~@2 e3 [b2,c3,c#3,d3,d#3] [f#2,g2,g#2,a2,a#2] [e2,f2] ~ b2@2 a2@3 ~ g2@2", // Fmaj7
  AI: "e2@3 ~@15 [d5,g#5]@2 ~@2 [d5,g#5]@2", // Ddim
  AJ: "[~@24 b2@3 [b3,e4]@2 ~@5 [e2,b2]!2 ~@4 [e2,b2] [e2,c#3] ~@4 [e2,c#3] [e2,b2], ~@23 e2@4 ~@21]/2", // E5 C#m E5
  AK: "~@4 [e2,b2] [e2,c#3] ~@4 [e2,c#3] [e2,b2] ~@4 [e2,b2] ~ g#3@3 ~@2 [e2,b2], ~@17 b2@3 ~@2 [b3,e4]@2", // E5 C#m E5
  AL: "~@4 [e2,b2] [e2,c#3] ~@4 [e2,c#3] [e2,b2] ~@4 [e2,b2] [e2,c#3] ~@4 [e2,c#3] [e2,b2]", // E5 C#m E5 C#m E5
  AM: "~@5 f#2@3 ~@2 e2 g2@3 ~@3 g#2@5 ~ [a2,e3], ~@2 e2 ~@5 e2 ~@3", // A5
  AN: "[~@4 [b2,f#3] [b2,g#3] ~@4 [b2,g#3] [b2,f#3] ~@4 [b2,f#3] [b2,g#3]@3 ~@3 e2@4 ~@2 g#2@3 e2 ~@2 a2@3 e2 ~@2 a#2@3 e2@2 ~ b2@4 ~ b2 d3@4 ~ b2@7 ~@2 a#2@2 a2@2 ~ b2@4 [b3,e4] ~@5 [e2,b2] [b3,e4]@4 ~ [e2,b2] ~ [e3,a3]@3 ~ [d3,g#3]@4 ~@2 [b3,e4] [e2,b2] ~@4 [e2,b2] [b3,e4]@4 ~ [e2,b2] ~ [e3,a3]@3 ~ [d3,g#3]@4 ~@2 [b3,e4] [e2,b2] ~@4 [e2,b2] [b3,e4]@4 ~ [e2,b2] ~ [e3,a3]@3 ~ [e2,b2]!2, ~@22 [b2,g#3]@2 ~@4 e2@2 ~@4 e2@2 ~@4 e2@2 ~@4 e2@2 ~@18 b2@2 ~@3 e2@4 ~@69]/6", // B5 E B5 E E5 A5 Ddim E5 …
  AO: "~@5 f#2@3 ~@2 e2 g2@3 ~@3 g#2@5 ~ [a2,e3], ~@2 e2 ~@5 e2 ~@2 a3", // A5
  AP: "~@4 [b2,f#3] [b2,g#3] ~@4 [b2,g#3] [b2,f#3] ~@4 [b2,f#3] [b2,g#3]@3 ~@2 [b2,g#3] [a2,e3]", // B5 E B5 E A5
  AQ: "[~@4 [a2,e3] [a2,f#3] ~@4 [a2,f#3] [a2,e3] ~@4 [a2,e3] [a2,e3]@3 ~@3 [b2,f#3]@2 ~@23, ~@11 [a2,e3] ~@12]/2", // A5 D A5 B5 A5
  AR: "[[e3,b3]@4 g5@2 e5@2 d5 b4 ~ a4 ~ g#4@2 ~ g4 a4@2 b4@2 g4@2 e4@3 ~@4 [f3,a3,d#4]@3 ~ [g#3,d4]@11 ~@2 [g#3,d4] [g#3,d4] d4 g#3 [g#3,d4]!21 [g#3,d4]!24, a#3 ~@9 e5@2 ~@15 e3@2 [f2,c3]@4 ~ e2@7 ~@55, ~@28 b2@2 ~@4 [b2,e3]@59 ~@3]/4", // E5 F7 G#dim F5 E5
  AS: "[~@5 d6@12 a5@16 ~ [b3,c4,d4] [e3,f3,g3,a3] [a2,b2,c3,d3] [e2,f2,g2] [c2,d2] ~@8 [d4,g4]@10 ~@15, ~@22 e2@5 ~@9, ~@45 [b2,d3]@10 ~@17, ~@23 g#3@5 ~@8]/3", // Bm Fmaj7 D7 Em Csus2 G5 Bm
})).s("gm_overdriven_guitar").gain(0.56)

// other · fretless bass
const fretless_bass = note(`<
  ~@5 A B C D E F G H I J K@2 L M N ~ I J K@2 L M N ~ A B C D E F O H I J K@2 L M P ~@17 A B C D Q@2 G H I J K@2 L M N ~
  I J R@2 L M L M S T U ~@6
>`.pickRestart({
  A: "~@5 g4@4 ~ g4@8 c#4@4 b3 ~", B: "e4@9 ~ g4@11 ~@3", C: "~@6 g4@3 ~ g4@7 ~ e4@3 ~@3", D: "e4 ~",
  E: "~@6 g4@4 e4 ~ g4@6 c#4@4 b3 ~", F: "e4@7 ~@2 g4@12 ~@3", G: "~@3 g4 ~ g4@4 ~@3", H: "~@4 g3 ~ b3@4 ~@2 a3@6 ~@6",
  I: "g#3@3 ~ b3@4 ~@16", J: "d4@2 ~ b3@2 ~ a3@2 ~ a3@2 ~", K: "[g#3@4 ~@2 b3@4 ~@2 b3@4 ~@2 c#4@3 ~ d4@18 ~@8]/2",
  L: "c#4@4 ~@2 e4@4 ~@2 g4@4 ~@6 d4 ~", M: "e4@4 ~@2 d4@4 ~@2 a3@4 ~@2 b3@5 ~", N: "~ e3@10 ~@13, g3 ~@11",
  O: "~@6 g4@2 ~@2 g4@7 ~@7", P: "g3 e3@9 ~@14", Q: "[~@6 g4@4 e4 g4@6 ~ c#4@4 b3 e4@7 ~@3 g4@11 ~@4]/2",
  R: "[g#3@5 ~ b3@4 ~@2 b3@4 ~@2 c#4@3 ~ d4@19 ~@7]/2", S: "c#4@4 ~@2 e4@4 ~@2 g4@4 ~@6 e4 ~",
  T: "b4@5 ~ a4@4 ~@2 a4@3 e4@5 ~@4", U: "g4 e4@5 ~@6",
})).s("gm_fretless_bass").gain(0.64)

// drums · kick
const kick = s("bd").struct("<~@10 A B ~ C@16 ~@5 A B ~ C@24 D ~@4 A B ~ C@16 E A F G ~@4 D>".pickRestart({
  A: "~@11 x", B: "~@9 x ~ x", C: "x!2", D: "x", E: "x ~@5 x ~@4 x", F: "~@2 x ~@3 x ~@2 x ~@2", G: "~@3 x ~ x ~@6",
})).gain(0.64)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@13 A@16 ~@8 A@24 ~@8 A@17 ~@4 B C ~@2>".pickRestart({
  A: "~@5 x ~@6", B: "~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x", C: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
})).gain(0.32)

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

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  A ~ A ~ A ~ A ~ A ~@11 B ~@9 A ~ A ~@11 B ~@3 C ~ C ~ B ~@3 C ~@3 D ~ A ~ A ~@11 B ~@13 E F G ~
>`.pickRestart({
  A: "~@2 x", B: "~@7 x!2 ~@3", C: "~@21 x!3", D: "~@7 x ~@4", E: "~ x!7", F: "x!8", G: "x",
})).gain(0.24)

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

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@90
  [~@4 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~]
  [~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~]
  [~@23 x]
  ~
// … 27 more lines

More by Gary Moore