Strudelify
Please Forgive Me cover art

Classic

Please Forgive Me

Bryan Adams

KeyA majorTempo66 bpm
0:00/0:00
// Please Forgive Me — Bryan Adams
// 66 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 21, 4/4 at bar 22, 2/4 at bar 25, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 101 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(66/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 · "PIANO1"
const piano = note(`<
  ~@3 A@2 B C D@2 E F G H I J K L@2 M N O P@3 Q R@2 S@2 T U V@2 W X Y Z@2 AA AB AC@3 AD AE AF AG AH@2 AI@3 AJ AK@4 AL
  AM@4 AN AO AP AQ@2 AR@3 AS@2 AT AU AV AW AX AY AZ BA@2 BB@2 BC BD BE BF@2 BG BH BI BJ BK BL BM@6 ~
>`.pickRestart({
  A: "[~@31 e3, ~@10 a5@4 a5@2 a2@11 c#4 a2@2 a4@2, ~@12 g#5@3 e5@17, ~@17 e3@12 a3@3, ~@18 a3 e4@13]/2",
  B: "e4@3 ~@4 e4, e2, b3@2 ~@4 e4@4 ~ g#4@5, ~@7 b4@9, ~@13 b3@3",
  C: "f#4@5 ~ a3@2 a3@2 ~@2 a3@2 a3@2, [f#2,c#4], a3@2 ~@3 f#4@11, ~ d4, ~@3 e4", // F#5
  D: "[[c#2,c#4,e4,g#4]@6 [d2,a3,d4,f#4]@9 ~ [e2,f#3]@16, [c#3,a3]@4 ~@11 [a3,d4,e4]@17]/2", // C#m D Esus2 F#m Asus4
  E: "[a3,c#4]@7 a2 [a2,a3]@3 ~ [a3,e4]@3 a2, e3@3 ~ d4@4, a2@4 ~@7 a2@4 ~", // A A5
  F: "e2@4 ~@3 e2 e3@2 ~ e2 [e2,b3]@4, g#3@4 ~ e3!2 ~, [e3,b3]@5 e3@3 [e2,a3]@4 ~@4, ~@2 e2 b3 ~@4", // E5 A5
  G: "f#3@3 f#3 [a3,d4]@2 f#3!2, [a3,c#4]@4 f#3 ~ [a3,e4]@2, f#2@4 ~@4 f#2@7 ~", // D5 A A5
  H: "e3@2 ~@2 c#3@3 c#3 f#3@3 ~@4 d3, [c#2,g#3,c#4] [d2,a3,d4], ~@11 d3@3 f#3@2, ~@13 f#4@3", // C#5 D5
  I: "[e3,c#4]@5 ~@2 a2 e3@2 ~ a2 e3@2 ~ a2, a3@4 ~ e3 ~ e3, a2@4 ~ e3@3 [a2,a3,d4]@4 [a2,a3,c#4]@4, ~@3 c#4 ~@4", // C#m D5 A
  J: "[e2,g#3]@3 ~@4 e3 ~ e3@2 ~@4 e2, b3@5 a3@7 a3@4, e3@2 ~ e2@5 [e2,e4]@8, ~@4 g#3@9 g#3@3, ~@3 b3@2 ~@2 e3", // E
  K: "[a2,e3]@3 ~@4 a2 [a2,a3]@2 ~@2 a3@2 ~ a2, [a3,c#4]@4 ~ a3 e4@2, ~@3 a2@4 ~@4 a2@4 ~, ~@2 e3!2 ~@3 a3, ~@5 e4@3 d4@8", // A5 A
  L: "[[g#3,b3,c#4,f4]@2 b3@2 b3 ~ b3 ~ [a3,c#4,f#4]@2 ~@5 c#4, c#2@16 f#2@4 c#4@4 f#4@2 a3 f#3 a4@4, c#3@6 ~@2 f#4@2 b3 c#3@21, ~ f4@7, ~ c#4@2 [g#1,g#4]@5]/2", // C#7 F#m G#
  M: "[c#4,f4,g#4]@4 g#3@2 ~ c#3 g#4@4 ~ g#4@3, [c#3,a3] [c#3,a3,c#4,f4], g#3 ~ [c#4,f4,g#4]@2 ~@4, ~@6 g#3@2 g#3 ~@3 g#3@2 ~@2", // C# F#m C#aug C#
  N: "[a3,c#4]@4 a3@3 a2 [a2,a3]@3 a2 a3@2 ~ a2, a2@7 ~@5 [a2,e4]@4, e3 ~ e3 ~ d4@4, ~@7 a3", // A A5
  O: "[g#3,b3]@4 e3@2 ~@2 e2@2 [e2,e3]@2 e3@2 ~ a2, e2@2 e4 ~, e3 ~ [g#3,b3]@4 ~ e3, ~@3 e3@2 ~ [a2,a3,c#4]@2", // G#m E G#m A
  P: "[f#3@2 ~ f#2 [a2,a3,c#4,e4]@4 ~@15 e4 b3@2 b3@2 b3@2 ~@2 b3@2 ~@5 e3 a3@2 a3@2 a3@2 ~ a2, [f#2,a3,c#4,f#4]@4 ~@4 d4@7 [d4,d5]@8 e5@17 ~@8, ~@2 f#3@2 e3@2 ~@2 [f#3,a3]@16 [e2,e4,g#4]@4 [e4,g#4]@2 b3@2 [e2,e4,g#4]@8 a2@7 ~, ~@10 [a4,a5]@4 [a4,a5]@4 [a4,a5]@2 g#4@2 [a4,a5]@9 e3@4 e3@3 b3@2 [c#4,e4]@4 [c#4,e4]@4, ~@12 [g#4,g#5]@8 g#5@12 ~@2 b3@2 b3 b4@3 ~@6 a3@2]/3", // A F#m D F#m E A C#m G#
  Q: "e3@2 ~ d4 e3@2 ~ a2 f#3@2 ~ f#2 e3@2 e3@2, [a2,a3,d4] [a2,a3,c#4] [f#2,a3,c#4,f#4] [a2,a3,c#4,e4], ~ e3 ~ e3 ~ f#3 ~@2", // D5 A F#m A
  R: "[~@15 e4 ~@11 b3!2 ~@2 a3, [f#3,a3]@15 e5@11 e3@2 [e4,g#4] b3 e3@2, d4@7 [d4,d5]@9 [e2,g#3]@16, ~@2 [a4,a5]@4 [a4,a5]@4 [a4,a5]@4 [a4,a5]@2 ~@3 e3@3 f#4@10, ~@4 [g#4,g#5]@8 [g#4,g#5]@4 [b3,e4]@5 e4@2 g#4 b4@8]/2", // F#m E D E A G# E5
  S: "[[f#3,a3]@2 ~@3 f#3 [d2,d3,f#3,a3,d4,f#4]@18 [a3,c#4]@4 e3@2 ~ a2, [f#2,c#4,f#4]@6 ~@18 a2@7 ~, ~ a3!2 ~@11 [a3,c#4]@2, ~@3 f#3@2 ~@19 e3@2 ~@4 e3@2]/2", // F#m D A F#5 A
  T: "e3@2 e3@2 e3@2 ~ a2 e3 ~@3 e3@2 ~ a2, a2@6 e3@2 [a2,a3,c#4]@3 a2@3 e3@2, [g#3,b3]@2 [g#3,b3]@2 ~ e3 [a3,c#4]@2", // A G#m A
  U: "f#3@2 f#3@2 f#3@2 ~ f#2 ~@6 e3@2, f#2@6 f#3@2 f#2@7 ~, [a3,c#4]!2 [f#3,g#3,b3]!2, ~@5 e3@2 ~", // A G#m7
  V: "[[f#2,a3,c#4]@4 e3@2 ~ f#2 [d4,f#4]@4 a3@2 ~@2 g#3@2 ~@2 g#3@2 ~ d3 a3@2 ~@2 a3@2 ~ d3, e3@2 ~@2 [f#2,a3,c#4]@4 [d2,d3]@7 d3@3 g#3@2 e4@6 a3@2 ~@2 a3@2, ~@6 e3@2 a3@2 ~@2 [d4,f#4]@4 [a3,d4,e4]@3 d3@3 g#3@5 d3@4 ~, ~@7 a3 d2@6 [d2,d4,f#4]@2, ~@5 [a3,d4] [d3,d4,f#4] ~]/2", // F#m D F#m D Asus4 D D5 D
  W: "[a3,c#4]@4 e3@2 ~ a2 [a2,g#3,b3]@3 a2 e3@2 ~ a2, a2@3 e3!2 ~ [a2,g#3,b3]@2, e3 ~ [a3,c#4]@2 ~@3 e3", // A E A
  X: "e3@2 e3@2 [c#2,c#3,e3,a3,c#4,e4]@4 b3@2 ~@2 b3@2 ~ e3, [a2,a3,c#4]@4 ~@4 [e2,e3,e4,g#4]@3 e3@3 b3@2, ~@5 b3 [e2,e4,g#4]@2", // A E
  Y: "[e3,b3,f#4]@2 a3 ~ [e2,b3,e4,g#4]@2 [d2,d3,f#3,a3,d4,f#4]@2, e2@7 e3@5 ~@4, a3 ~ [b3,e4,f#4]@2 ~@4, ~@3 a3 ~@4", // Esus2 E D Bsus4
  Z: "[a2@4 ~@3 a2 [e2,e3,g#3,b3]@16 [a3,c#4]@4 [a3,c#4]@3 a2, a3@4 ~@8 e3 ~ e3 ~, c#4@5 e3@3 ~@16 a2@7 ~, e3 ~ a2 c#4 ~@12]/2", // E A
  AA: "a3@2 ~ a2 a3@2 a3@2 [g#3,b3]@4 [g#3,b3]@3 e2, [a2,d4]@4 [a2,e4]@4 e2@7 ~, ~ a3 ~@2 e3 ~ e3 ~", // G#m D5 A5
  AB: "e3@2 e3@2 b3@3 e2 [a3,c#4]@4 f#3@2 ~ f#2, e2@7 ~ f#2@6 f#3@2, a3@2 e3 ~ f#3 ~ [a3,c#4]@2", // A
  AC: "[f#3@2 ~ f#2 f#3@2 ~ f#2 [e2,e3,f#3,a3,d4,e4]@32 [a3,c#4]@4 e3@2 ~ a2, [f#2,a3,d4]@2 [f#2,a3,e4]@2 ~@16 a2@3 e3, ~ f#3 ~ f#3 ~@16 e3 ~ [a3,c#4]@2]/3", // D A D F#m7 A
  AD: "e3@2 e3@2 [a3,e4]@3 a2 [g#3,b3]@4 e3@2 ~ e2, [a2,d4]@4 e2@3 e3, a3@2 e3 ~ e3 ~ [g#3,b3]@2", // A5 G#m D5 G#m
  AE: "e3@2 e3@2 [e2,b3]@4 [f#3,a3,c#4]@4 [f#3,a3,c#4]@3 f#2, [e2,a3]@4 e3@2 ~@2 f#2@7 ~", // E5 F#m A5
  AF: "[a3,d4]@4 f#3@2 f#3@2 [g#3,e4]@5 ~@2 c#3, [f#2,f#3]@3 ~ [f#2,a3,e4]@4 [c#2,a3,c#4]@8, ~@13 e4@3, ~@7 g#3", // D5 C#m F# F#m7 F#m
  AG: "f#3 ~@2 [d3,d4] [e3,a3,c#4]@2 ~ e4, [d2,a3] ~, d4@3 ~@3 [e3,a3,c#4]@2, ~@3 d3@3 ~@2 a2@7 ~, ~ f#4 ~@2", // D A D5 A
  AH: "[a3@2 ~ a2 [a2,c#4]@4 g#3@4 e3@2 ~ e2 ~@6 e3@2 [a3,c#4]@4 [a3,c#4]@3 a2, [a2,d4]@4 ~@4 e2@6 e3@6 [e2,e4]@4 a2@7 ~, ~ a3!2 ~@3 [g#3,b3]@2 g#3@4 e3 ~ e3 ~, ~@8 e2 b3@3 ~@4, ~@17 a3@7 ~@8]/2", // A D5 E G#m
  AI: "[e3@2 e3@2 e3@2 e3@2 [b3,c#4,f4]@4 [b3,c#4,f4]@3 ~ g#3@2 g#3@2 g#3@2 g#3@2 [c#4,f#4]@4 [c#4,f#4]@4 a3@2 ~@5 f#4 g#3@2 g#3@2 g#3@2 g#3@2, [a2,a3,d4]@2 [a2,a3,e4]@2 c#2@6 [f2,b3,c#4,g#4]@2 f#2@7 c#4 [b3,c#4,f4]@2 [b3,c#4,f4]@2, ~@8 c#3@7 c#3@5 ~@4 f#3@10 f#3@6 [c#3,a3]@8, ~@8 g#3@2 ~@2 g#3@2 ~@2 [b3,c#4,f#4]@4 ~@4 a3 ~@3 a3@2 ~@2 [c#4,f#4]@5 a3@3 ~@8, ~@35 a3 a4@4 ~@8]/3", // C#7 F#5 D5 A5 C#7 F#m Bsus2 F#5
  AJ: "[b3,c#4,f4]@2 [b3,c#4,f4]@2 [a3,c#4]@2 e3!2, [c#3,a3]@8 a2@7 ~, g#3 ~ g#3 ~ e3 ~ [a3,c#4]@2", // C#7 A F#m A
  AK: "[[a2,a3,d4]@3 a2 e3@2 ~ a2 [e2,e3]@3 ~@5 [e2,g#3,b3]@3 e2 e3@2 ~ a2 f#3@2 ~ f#2 e3@2 e3@2 ~@15 e4 [b3,e4,g#4]@4 b3@2 ~@9 e3, e3@2 ~@2 [a2,a3,c#4]@4 a3@4 b3@3 e4@5 ~@8 [c#4,e4]@18 [a4,a5]@2 ~@6 b3 e3@2 b3 e4 g#4 e4 b3 g#4@2, ~@6 e3@2 e4@6 e3@2 e3@2 ~@4 e3@2 ~@2 f#3@2 ~@4 [f#3,a3]@15 e5@17, ~@11 e2@5 ~@4 [a2,a3,c#4,e4]@4 [f#2,a3,c#4,f#4]@4 [a2,a3]@4 ~@2 [a4,a5]@2 [g#4,g#5]@6 [a4,a5]@2 [g#4,g#5]@4 ~@4 [e4,g#4]@4 b4@8, ~@13 a3@3 ~@16 d4@6 [a4,a5] [d4,d5]@9 e2@16]/4", // D5 E A C#m A F#m A F#m …
  AL: "a3@2 ~@2 a3@2 ~ a2 e3@2 ~ a2 e3 ~@2 a2, [a2,c#4,e4,a4]@3 a2@3 a3@2 [a2,a3,d4]@4 [a2,a3,c#4]@4, ~@2 a3@2 [c#4,e4,a4]@4 ~@2 e3@2 ~ e3@3, ~@7 e4", // A D5 A
  AM: "[f#3@2 ~ f#2 e3@2 e3@2 ~@15 e4 b3@2 b3@3 ~@10 e3 [f#3,a3]@2 ~@3 a4 [d2,d3,a3,d4,f#4,a4]@18, [f#2,a3,c#4,f#4]@4 [a2,a3,e4]@4 [f#3,a3]@14 [a4,a5]@2 e3@4 ~ b3@2 g#4@4 b4 e3 b3 b4@2 ~@3 f#3@3 ~@18, ~@2 f#3@2 c#4@19 e5@17 ~@24, ~@8 d4@6 [a4,a5] [d4,d5]@9 e2@16 [f#2,c#4,f#4,a4]@6 ~@18, ~@10 [a4,a5]@2 [g#4,g#5]@6 [a4,a5]@2 [g#4,g#5]@4 [e4,g#4]@6 e4@2 b4 b3 e4@6 g#2 ~ a3@2 a3@2 ~@18]/4", // F#m D F#m A5 F#m A D F#m …
  AN: "e3@2 e3@2 e3@2 ~ a2 e3@2 e3@2 ~@3 a2, a2@3 e3 a2@3 e4, [a3,c#4]!2 [g#3,b3] [e3,g#3,b3]", // A G#m E
  AO: "[a2,a3,c#4]@4 [a2,a3,c#4]@3 a2 [a3,c#4]@4 f#3@2 ~ f#2, e3 ~ e3 ~ f#2@3 f#3, ~@4 f#3 ~ [a3,c#4]@2", // A
  AP: "~@6 e3@2 f#3@2 ~ f#2 f#3@2 ~ f#2, f#2@7 ~ [f#2,a3,c#4]@4 [f#2,a3,c#4]@4, [f#3,g#3,b3]@2 [f#3,g#3,b3]@2 ~ f#3 ~ f#3, ~ e3@2 ~@5", // F#m G#m7
  AQ: "[a3@2 a3@2 ~@3 d4 [d3,a3,d4,e4]@3 ~ [a3,d4,e4]@3 ~ [d4,f#4]@3 ~ a3@2 [d3,a3]@2 e3@2 ~@2 [a3,c#4]@3 a2, d2@8 d2@8 d2@8 ~@3 a2@4 ~, d3@6 [d3,e4]@2 ~@3 d3@4 d3@4 d3@3 ~@2 [a2,a3,c#4]@4 ~@4, [d4,f#4]@2 [a3,d4,f#4]@2 g#3 ~ g#3 ~ a3 ~ [d4,f#4]@2 ~ e3!2 ~]/2", // Dsus2 Asus4 D D5 A Dsus2 A D
  AR: "[[a2,e3]@3 ~@4 b3 e3@2 e3@2 e3@2 e3@2 b3@2 b3@2 b3 ~@2 g#4 b3@2 ~@2 b3@2 ~@2 b3@2 ~ e3 ~@3 d4 [a2,e3]@4 ~@3 c#4, [g#3,b3]@6 g#3@2 ~@13 b3@3 [e3,e4,a4]@4 ~@2 b3@2 ~@2 b3@2 ~@4 [a3,c#4]@8, ~@3 a2@5 [a2,a3,c#4]@4 [c#2,a3,c#4]@12 ~@3 e3@4 e3@4 ~@9 a2@4, ~@4 e4@4 ~@8 [e4,g#4]@4 [e4,g#4]@2 e4@2 ~@2 b3@2 [e4,a4]@4 ~@6 e4@2 ~@5 e3@3, ~@5 e3@3 ~@4 c#3@4 [e2,e3]@8 e2@8 [e2,e4,g#4]@4 [d2,d3,a3,d4,f#4]@4 ~@6 b3@2]/3", // A5 G#m A5 A F#m E A5 E …
  AS: "[[e2,e3,g#3,b3]@12 [a3,f#4]@4 d3@2 ~@9 d4 ~@2 a4@2, ~@6 [f#2,c#4,a4]@7 [d3,e4] ~@2, ~@12 f#3 ~@3 d2@12 [f#2,a3,c#4,f#4]@4, ~@16 f#4@3 a3 d4 e4 a3@6 ~@4, ~@16 [a3,d4]@2 d3@5 d4 e4 f#4@3 ~@4]/2", // E D F#m Dsus2 F#m D5
  AT: "[e3,b3,e4,g#4]@3 ~ g#3@2 ~ e3 g#3 ~@2 a3 f#4@2 ~ a4, e2@3 [f#2,a3,c#4], ~@3 e3@3 g#3@2 e3@2 e3@2 ~@4, ~@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 ~ f#4, ~@9 g#3@3 ~@4", // E F#m E
  AU: "a3@2 ~@9 a3 a3@2 ~ f#2, d2@3 [f#2,c#4,f#4,a4], d4@5 a3 e4 a3@3 [d3,f#4]@2 ~@4, [d3,f#4]@3 d3@5 d4@4 ~@2 a3@2, ~@2 a3@2 f#4@5 e4@3 ~@4", // F#m D
  AV: "[a3,c#4]@2 ~@5 a2 e4@2 ~ a2 a3@2 ~ d3, a2@3 a3 [a2,a4,c#5]@2 [d2,d3,d4,f#4,a4]@2, [e4,a4]@2 e4@2 ~ e4 ~@2, ~@2 a3@3 a4@3 ~@8, ~@3 c#4@5 ~@6 a3@2", // A D A5
  AW: "b3@2 b3@2 b3@2 ~@5 g#4 [a3,d4,f#4]@2 ~ d3, e2@5 [e3,f#4] [d2,d3]@2, e3@6 e3@3 b3@3 ~@2 [a3,d4,f#4]@2, [e4,g#4] [e4,g#4]@2 ~, ~@7 b3 b4@4 ~@4", // D Esus2 D E
  AX: "a3@2 ~@2 c#4@2 ~@2 e4@2 ~@2 a4@2 ~ d5, a2@7 a3@4 d3@5, [c#4,e4] [e4,a4,c#5] [a2,a4,c#5,e5] [d2,d4,f#4,d5], ~ a3@2 c#4@3 ~@2, ~@5 e4 ~ a4", // C#m A D
  AY: "e4@2 ~@2 b3 ~@6 b3 ~@3 d4, [e2,b4,e5]@3 [d2,d3,a3,d4,f#4], [e3,g#4]@3 e3@4 f#4 g#4@4 ~@4, ~@2 e4@2 g#4@2 e4@3 f#4@3 ~@2 e4@2, ~@4 e4 b3@5 [e3,e4]@2 ~@4", // E5 D E
  AZ: "a3@2 a3@2 a3@2 ~ a2 a3@2 ~ a2 ~ e4 f#5 [g#4,g#5], a2@3 a3 [a2,c#4,e4,a4]@2 [d2,d3,a3,d4]@2, [c#4,e4]@2 [c#4,e4]@2 ~ a3 f#4 [e4,f#4], ~@13 e5@2 ~", // G# A D5 C#m Esus2
  BA: "[f#4@2 ~@2 c#4@2 ~@2 f#4@4 ~@4 [d4,f#4,a4]@4 ~@2 d3@2 ~@7 a3, a5@15 d3@7 ~@3 d3@4 f#4 a4@2, [f#2,f#5]@7 f#3@4 ~@2 f#4@3 ~@8 [f#4,a4]@3 d4@5, [f#3,a4,c#5]@3 f#3@3 c#4@2 [f#2,c#4,a4]@8 d2@16, ~ f#4 [f#4,a4,c#5]@2 a3 ~ a3!2 a3 ~ [a3,d4,f#4,a4]@2 [a3,d4] a3 e4@2]/2", // D F# F#m D D5
  BB: "[[b3,e4,g#4]!2 g#4@6, e2]/2", // E
  BC: "f#3@2 f#3@2 f#3@2 ~ b2 f#3@2 f#3@2 ~@3 b2, b2@3 f#3 b2@3 f#4, [b3,d#4]!2 [a#3,c#4] [f#3,a#3,c#4]", // B A#m F#
  BD: "[b2,b3,d#4]@4 [b2,b3,d#4]@3 b2 [b3,d#4]@4 g#3@2 ~ g#2, f#3 ~ f#3 ~ g#2@3 g#3, ~@4 g#3 ~ [b3,d#4]@2", // B
  BE: "~@6 f#3@2 g#3@2 ~ g#2 g#3@2 ~ g#2, g#2@7 ~ [g#2,b3,d#4]@4 [g#2,b3,d#4]@4, [g#3,a#3,c#4]@2 [g#3,a#3,c#4]@2 ~ g#3 ~ g#3, ~ f#3@2 ~@5", // G#m A#m7
  BF: "[b3@2 b3@2 ~@3 e4 [e3,b3,e4,f#4]@3 ~ [b3,e4,f#4]@3 ~ [e4,g#4]@3 ~ b3@2 [e3,b3]@2 f#3@2 ~@2 [b3,d#4]@3 b2, e2@8 e2@8 e2@8 ~@3 b2@4 ~, e3@6 [e3,f#4]@2 ~@3 e3@4 e3@4 e3@3 ~@2 [b2,b3,d#4]@4 ~@4, [e4,g#4]@2 [b3,e4,g#4]@2 a#3 ~ a#3 ~ b3 ~ [e4,g#4]@2 ~ f#3!2 ~]/2", // Esus2 Bsus4 E E5 B Esus2 B E
  BG: "[b2,f#3]@3 ~@4 c#4 f#3@2 f#3@2 f#3@2 f#3@2, [a#3,c#4]@3 a#3 ~@4, ~@3 b2@5 [b2,b3,d#4]@4 [d#2,d#3,b3,d#4]@4, ~ f#4 ~@2, ~@5 f#3@3 ~@8", // B5 A#m B G#m
  BH: "c#4@2 c#4@2 c#4@2 ~@2 [f#4,b4]@3 ~ c#4@2 ~ b4, [f#2,f#3]@7 f#3@4 f#3@5, [f#4,a#4]@2 [f#4,a#4]@2 c#4 ~ [f#4,b4]@2, ~@3 c#4 f#2@4, ~@7 c#4", // B5 F# B5
  BI: "[f#2,f#3,f#4,a#4]@3 f#3 ~@3 e4 b3@2 b3@2 [d#4,f#4]@3 b2, c#4@2 ~@2 [e2,e3,b3,e4,g#4]@4 b2@7 ~, ~@3 f#4 [d#4,f#4]@2 b3 ~", // F# D#m E D#m
  BJ: "a#3@2 a#3@2 a#3@2 ~ b2 b3@2 ~ b2 ~@2 b4@2, b2@3 a#3 [b2,d#4,f#4]@2 [b2,b3,d#4,f#4]@2, [c#4,f#4]@2 [c#4,f#4]@2 ~ b3 ~@2", // B F#5
  BK: "[f#4,a#4]@4 c#4@2 ~ f#3 c#4@2 ~@2 c#4@2 ~ b4, [f#2,f#3] f#2, c#4 ~ [f#4,a#4]@2 ~ c#4 [f#4,b4]@2, ~@6 c#4@2 [f#3,f#4,b4]@3 f#3@5, ~@7 c#4", // F# B5
  BL: "c#4 ~@2 f#3 ~@3 e4 [d#4,f#4]@4 b3@2 b3@2, [f#2,f#3,f#4,a#4] [e2,e3,b3,e4,g#4] b2@2, ~ c#4 ~ f#4 b3 ~ [d#4,f#4]@2", // D#m F# E D#m
  BM: "[[a#3,c#4]@8 ~@8 b4 ~@2 b4 ~@7 b4 ~@4 b4 ~@2 b4 ~@7 b4 ~@7 b4 ~@7 b5@2 [f#4,a#5]@15 ~ d#4@19, f#2@13 b4 b5@2 ~@2 b5@2 ~@2 b5@2 ~@2 b5@2 ~@2 b5@2 g#4@4 [f#4,a#5]@4 g#4@4 [e4,f#4,a#5]@3 f#5@2 f#5@3 ~ b4@2 f#5@2 f#5@4 ~@35, f#4@8 e4 f#5 b5 b4 [e4,f#4,a#4,a#5]@3 f#5@2 f#5@3 ~ b4@2 f#5@2 f#5@3 ~ b4@2 f#5@2 f#5@3 ~ b4@2 [b4,f#5]@2 ~ b5@2 ~@2 b5@2 ~@2 b5@2 ~@2 b5@2 ~@40, ~@8 e2@68 [f#3,b3,c#4]@19 ~, ~@8 [b3,g#4]@8 [e4,g#4]@4 [f#4,a#4,a#5]@4 [e4,g#4]@4 [f#4,a#5]@5 ~ b5@2 ~@2 b5@2 ~ f#5@3 ~ b4@3 g#4@4 [f#4,a#5]@4 g#4@5 ~@35]/6", // A#m F# F#7 B5 F#sus4 E F# E …
})).s("gm_piano").gain(0.38)

// chords · piano · "PIANO1" · soft notes
const piano_soft = note(`<
  ~@4 A B C D ~ E F G H I J ~ K@2 L M N O ~@4 P ~ Q ~ R S ~ T ~ U V W X Y ~@2 Z AA AB AC AD AE AF AG AH ~ AI AJ N ~@4
  AK@2 ~@2 AL AM AG AN AO ~@4 AP ~@6 AQ AR AS@2 ~ AT AU AV AW AX AY AZ ~ BA BB BC@5 ~@2
>`.pickRestart({
  A: "~@8 a3 a3@4 ~ c#4@2", B: "~@2 b3@2 ~ b3@3 ~@4 e3@3 e3, ~ e3!2 ~, ~@9 b3@4 ~@3, ~@5 e4@2 ~",
  C: "~@4 a3@2 ~ f#3@3 ~ f#3@4 f#3, ~ a3 ~@3 a3 ~@2, ~@3 f#3@4 ~@9", D: "~@5 a3 ~@10, ~@3 a3@2 ~@11, ~@2 c#3 ~@5",
  E: "~@2 a2 e3 ~ a3 ~@2", F: "~@7 e3", G: "~@4 f#2@3 f#2 ~@2 f#3@2 ~@3 f#2", H: "~ e3@2 e3 ~@2 f#3 ~",
  I: "~@4 a2@3 ~@9", J: "~@2 e3@5 ~@4 e3@3 ~@2, ~@5 b3@3",
  K: "[~@6 c#3@5 ~@9 a3@2 a3@4 ~@6, ~ g#3@7, ~@7 b3@9, ~@18 f#3@9 ~@5, ~@5 f#4 ~@2]/2", L: "~ g#3 ~@3 g#3 ~ g#3",
  M: "~ e3 ~ e3 ~ a3 ~@2, ~ c#4 ~@2", N: "~ e3 ~@6", O: "~@3 e3 ~@4", P: "~@4 b3@7 ~@5", Q: "~@5 e3 ~@2", R: "~@15 f#2",
  S: "~ e3 ~@3 a3 ~@2", T: "~ e3 ~@3 e3 ~@2", U: "~@3 e3@4 ~@9, e4 ~@3, ~ a3 ~@6", V: "~@2 e3@3 ~@11", W: "~@5 e3 ~ e3",
  X: "~@7 a2 ~@2 e3@2 ~@2 e3@2", Y: "~@3 e3 ~ f#3 ~@2", Z: "~@7 d#4 ~@2 e3@2 ~@4", AA: "~@3 e3 ~ e3 ~@2",
  AB: "~@3 e2 ~@2 e3@2 ~@8", AC: "~@3 f#2 ~@8 g#3@2 ~@2, ~@2 f#3@2 ~@7 c#3@4 ~", AD: "~@2 f#3@6 ~@7 a2",
  AE: "~@3 a3 [e3,b3]@2 ~@2", AF: "~@3 e2 ~@6 e3@2 ~@2 e3@2", AG: "~@5 g#3 ~ g#3", AH: "~@5 a3 ~ a3",
  AI: "~@2 g#3@2 ~@2 g#3@2 ~@2 e3@2 ~@3 a2", AJ: "~ e3 ~@3 e3@2 ~", AK: "[~@3 e3@2 ~@3]/2",
  AL: "~@3 a2 ~@2 e3@2 ~@2 f#3@2 ~@4, ~ e3 ~@6", AM: "~@7 f#2 ~@8", AN: "~ a3 ~@5 e3", AO: "~@2 e3@3 ~@6 a2 ~@4",
  AP: "~@15 c#4", AQ: "~@11 f#3@5, ~@5 a3 ~@2", AR: "~ a3 ~@6", AS: "[~ [e3,b3,e4]@3]/2",
  AT: "~@3 b2 ~@2 f#3@2 ~@2 g#3@2 ~@4, ~ f#3 ~@6", AU: "~@7 g#2 ~@8", AV: "~@5 a#3 ~ a#3", AW: "~ b3 ~@5 f#3",
  AX: "~@2 f#3@3 ~@6 b2 ~@4", AY: "~@5 c#4 ~@2", AZ: "~ c#4 ~@5 b3", BA: "~ c#4 ~@6", BB: "~@3 f#2 ~@6 b3@2 ~@4",
  BC: "[~@9 b4@2 e3@4 ~@2 b4@2 ~ e4@2 ~@2 b4 b4@2 ~@6 b4@2 ~ [e4,a#4]@3 ~@2 b4@2 ~ a#4@4 b4 ~@3 e4@2 ~@3 b4@2 ~ b4 [e4,a#4]@15 ~@4, ~@8 e3@3 ~@4 e3@4 e3@3 e4@2 ~@4 [e4,a#4]@4 e4@4 ~@4 e4@4 ~@4 e4@2 e4@2 ~@2 e4@2 e4@5 ~@19, ~@23 e3@8 e3@4 e3@4 e3@12 e3@4 e3@21 ~@4, ~@49 b4@2 ~ a#4@5 ~@23]/5", // Edim
})).s("gm_piano").gain(0.21)

// bass · electric bass finger · "FINGERBASS"
const bass = note(`<
  ~@3 A B C D E F G H I J K L M N O P M Q R S T U V W X@2 Y Z AA AB AC AD AE AF@2 AG AH AI@3 AJ AK AL AM AN AO AP AQ AR
  AS AJ AT AU AV AW AX AY AZ@2 BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT@2 BU BV BW BX BY BZ Z CA CB
  CC CD CE@7
>`.pickRestart({
  A: "~@12 e2@3 ~", B: "a1@4 ~@2 a1 ~ a1@4 ~ a1 b1 ~", C: "e1@5 ~ e1 ~ e1@5 ~ e1@2", D: "f#1@5 ~ f#1 ~ f#1@5 ~ a1 b1",
  E: "c#2@5 ~ d2@9 ~", F: "e1", G: "a1@7 ~ a1@8", H: "e1@7 ~ e1@5 ~ e1 ~", I: "f#1@7 ~ f#1@7 ~",
  J: "c#2@7 ~ d2@3 ~ d1@4", K: "a1@5 ~ a1 ~ a1@5 ~ a1 b1", L: "e1@5 ~ e1 ~ e1@8", M: "a1@5 ~ a1 ~ a1@7 ~",
  N: "c#2@5 ~ c#2 ~ c#2@4 g#1@3 ~", O: "f#1@5 ~ f#1 ~ f#1@7 ~", P: "c#2@5 ~ c#2 ~ c#2@7 ~",
  Q: "e1@5 ~ e1 ~ e1@3 ~ a1@4", R: "f#1@4 a1@4 d2@5 ~ d1 ~", S: "d1@5 ~ d2@2 e1@5 ~ e1 ~", T: "e1@5 ~ e2 ~ a1@6 ~ a1",
  U: "a1 ~ a1@3 ~ a1@2 f#1@3 ~ a1@3 ~", V: "d2@5 ~ d2 ~ d1@4 d2 ~ b1 ~", W: "e1@5 ~ b1 ~ e2@3 ~ b1 ~ e1 ~",
  X: "[f#1@5 ~ d2@18 a1@5 ~ a1 ~]/2", Y: "a1@6 e1 f#1 a1@5 ~ a1 ~", Z: "f#1@5 ~ f#1 ~ f#1@5 ~ f#1 ~",
  AA: "f#2@3 ~ c#2@2 f#1@2 d2@5 ~ d2 ~", AB: "d2@5 ~ d2!2 d2@5 ~ d2 ~", AC: "a1@5 ~ e1 ~ a1@5 ~ a1 ~",
  AD: "a1@3 ~ c#2@4 e2@5 ~ e2 ~", AE: "e2@4 b1@3 ~ e1@3 ~ d2@4", AF: "[a1@7 ~ e1@16 a1@5 ~ a1 ~]/2",
  AG: "a1@7 ~ e1@5 ~ e1 ~", AH: "e1@7 ~ f#1@5 ~ f#1 ~", AI: "[f#1@5 ~ f#1 ~ e1@31 ~ a1@5 ~ a1 ~]/3",
  AJ: "a1@5 ~ a1 b1 e1@5 ~ e1 ~", AK: "e1@5 ~ e1 ~ f#1@5 ~ f#1 ~", AL: "f#1@7 ~ c#2@5 ~ c#2 ~",
  AM: "d2@5 ~ d2@2 a1@5 ~ a1 ~", AN: "a1@5 ~ a1 ~ e1@5 ~ e1 ~", AO: "e1@5 ~ e1 f#1 a1@5 ~ a1 ~",
  AP: "a1@5 ~ a1 ~ c#2@5 ~ c#2 ~", AQ: "c#2@4 f1@4 f#1@5 ~ f#1 ~", AR: "f#1@8 c#2@5 ~ c#2 ~",
  AS: "c#2@3 ~ c#1@4 a1@5 ~ a1 ~", AT: "e1@3 ~ a1@3 ~ f#1@4 a1@4", AU: "d1@5 ~ d1 ~ d1@3 ~ a1@2 d1@2",
  AV: "e1@5 ~ e1 ~ e1@2 b1@2 e2@2 e1@2", AW: "a1@5 ~ a1 ~ a1@6 a1@2", AX: "f#1@3 ~ a1@4 d2@5 ~ a1 ~",
  AY: "d1@6 d2@2 e1@5 ~ b1@2", AZ: "[e2@5 ~ b1 e1 f#1@5 ~ d2@17 ~]/2", BA: "a1@5 ~ a1 ~ a1@5 ~ e1 f#1",
  BB: "a1@5 ~ a1 ~ f#1@5 ~ f#1 ~", BC: "f#1@5 ~ f#1 ~ f#1@4 f#2@2 f#1 ~", BD: "d2@5 ~ a1 ~ d1@5 ~ d1 ~",
  BE: "d1@3 ~ d2@2 d1 ~ a1@5 ~ a1 ~", BF: "a1@5 ~ a1 ~ a1@3 ~ c#2@3 ~", BG: "e2@5 ~ e2 ~ e2@4 b1@3 ~",
  BH: "e1@4 d2@4 a1@7 ~", BI: "e1@11 ~ f#1@4", BJ: "d2@11 ~ f#1@3 ~", BK: "e1@9 ~ e2 ~ f#1@4",
  BL: "d2@7 ~ d1@4 f#1@3 ~", BM: "a1@7 ~ a2@4 d2@4", BN: "e2@8 e1@3 ~ d2@3 ~", BO: "a1@10 a2 a1 d2@3 ~",
  BP: "e2@5 ~ e1 ~ e1@4 d2@4", BQ: "a1@11 ~ d2@4", BR: "f#1@5 ~ f#1 ~ f#1@3 ~ c#2@3 ~", BS: "d2@5 ~ d2@5 ~ f#2@4",
  BT: "[e2@31 ~]/2", BU: "b1@5 ~ f#1 g#1 b1@5 ~ b1 ~", BV: "b1@5 ~ b1 ~ g#1@5 ~ g#1 ~",
  BW: "g#1@5 ~ d#1 f#1 g#1@3 ~ f#1@3 ~", BX: "e1@5 ~ e1 ~ e1@5 ~ b1@2", BY: "e2@4 e1@2 e2@2 b1@5 ~ b1 ~",
  BZ: "b1@6 f#1 g#1 b1@4 b1@4", CA: "f#1@3 ~ e1@3 ~ b1@5 ~ b1 ~", CB: "b1@5 ~ f#1 g#1 b1@5 ~ d#2 e2",
  CC: "f#2@5 ~ f#2 ~ f#2@6 f#2 c#2", CD: "f#1@3 ~ e2@4 b1@7 ~", CE: "[f#1@8 e1@28 b1@2 d2 e2 d2@35 ~ b1@25 ~@11]/7",
})).s("gm_electric_bass_finger").gain(0.26)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  A@7 B@2 ~@11 C@5 D E@3 F@2 G H I J K L@7 ~@4 M@8 N@2 O@5 I P Q R S T U V W X Y Z@2 AA AB AA AC@2 AD AE@2 AF AG AH AI
  AJ AK AL AM AN AO AP AQ AR AS AT@4
>`.pickRestart({
  A: "[~@16 e4@8 d4@4 c#4@4 ~@16 [d2,d3]@11 [e2,e3]@4 ~ [a3,c#4,e4]@15 ~ [g#3,b3,e4]@15 ~@9 d4@4 e4@3 a3, ~@15 a3@32 a3@16 e3@16 e3@16 [f#3,a3]@17, ~@16 [a2,g#3,a4]@32 [d4,e4,a4]@16 ~@31 c#4@9 ~@8, ~@32 b3@17 ~@47 f#4@16]/7", // D E A E F#m Amaj7 Dsus2
  B: "[[c#4,e4]@5 ~@15 a3@9 ~@3, a4, ~@5 d4@25 ~@2, ~@5 a3@12 ~@15, ~@3 f#4@13]/2", // C#m
  C: "[~@12 c#6@12 d6@15 ~ e6@16 c#6@8 d6@4 c#6@12, ~@12 a5@27 b5@17 a5@24]/5", D: "[a5,d6]",
  E: "[[b5,e6]@15 ~ c#6@5 ~ [d5,f#5]@17 ~ [a3,c#4]@8, ~@5 a5@2 ~@9]/3", F: "[[g#3,b3] [a3,c#4]@2 [f#3,b3]]/2",
  G: "[a3,c#4] [d4,f#4]", H: "[g#3,e4] [d4,f#4]", I: "[a3,c#4] [g#3,b3]", J: "[a3,c#4] [e4,g#4]",
  K: "[a3,f#4]@2 [e4,g#4] [d4,f#4]", // D E D
  L: "[[a3,c#4]@8 [g#3,b3]@15 ~@2 c#4@7 d4@4 e4@4 [g#3,b3]@8 a3@4 b3@4 c#4@8 d4@4 ~@4 d4@30 ~@10, ~@3 e3@4 f#3@2 ~@5, ~@24 a3@16 ~@16 a3@45 ~@11, ~@68 e4@35 ~@9]/7", // A G#m
  M: "[~@16 g#4 a4 b4@3 a4 g#4@2 c#5@8 d5@4 c#5@3 ~ f5@8 f#5@4 g#5@4 [a4,c#5,f#5]@16 ~ f5@15 c#5@8 d5@4 c#5@3 ~@9 [g#4,a4] g#4@3 [a5,c#6]@12, ~@15 e4@9 a4@16 c#5@16 ~@47 a4@8 ~@17, ~@16 b3@8 e4@13 ~@2 [g#4,b4]@17 ~@16 [g#4,b4,c#5]@16 [e4,a4]@15 e4@12 ~@13, ~@104 e5@13 ~@11]/8", // F#m Amaj7 A G#m C#7 A5
  N: "[[a5,d6]@15 ~ e6@16, ~@15 b5@16 ~]/2", // D5
  O: "[c#6@8 d6@4 c#6@12 ~ a5@15 [b5,e6]@15 ~ c#6@6 [d5,f#5]@17 ~, a5@24 d6@14 ~@17 a5@6 ~@19]/5", P: "[a3,c#4]",
  Q: "[f#3,b3] [a3,c#4]", R: "[d4,f#4] [g#3,e4]", S: "[d4,f#4] [a3,c#4]", T: "[g#3,b3]@2 ~ e4, ~ [a3,c#4]",
  U: "~ g#4@7 [a3,f#4]@8, e4 ~", V: "[e4,g#4] [d4,f#4] [a3,c#4]@2", W: "[g#3,b3]@3 [c#5,f#5]",
  X: "~ [d6,f#6]@11 [f#5,c#6,f#6]@4, f#5@11 ~@5", Y: "[g#5,e6,g#6]@12 ~ [c#6,f#6]@3, ~@3 f#5",
  Z: "[[f#5,d6,f#6]@11 ~@6 a6@11 [a5,d6,a6]@4, ~@3 [f#5,c#6,f#6]@5, ~@16 e6@15 ~, ~@4 a5@3 ~]/2", // D D5 F#5
  AA: "[g#5,e6,g#6]@11 ~ [f#5,d6,f#6]@4", AB: "[a5,e6,a6]@11 ~ [f#5,d6,f#6]@4",
  AC: "[~ [a5,e6,a6]@11 f#5@4 a5@16, ~@3 [c#6,f#6]@5]/2", AD: "[a5,d6,a6]",
  AE: "[b6@2 ~@6 b3@7 ~, [b5,e6]@8 b4@9 ~@15, ~@4 e5@8 e4@19 ~]/2", AF: "[b3,d#4] [a#3,c#4]", AG: "[b3,d#4]",
  AH: "[g#3,c#4] [b3,d#4]", AI: "[e4,g#4] [a#3,f#4]", AJ: "[e4,g#4] [b3,d#4]", AK: "[a#3,c#4]@2 ~ f#4, ~ [b3,d#4]",
  AL: "~ a#4@7 [b3,g#4]@8, f#4 ~", AM: "[f#4,a#4] [e4,g#4] [b3,d#4]@2", AN: "[a#3,c#4]@8 [b3,d#4]@7 ~",
  AO: "[f#4,a#4]@8 [f#4,b4]@7 ~", AP: "[f#4,a#4]@4 [e4,g#4]@4 [b3,d#4]@7 ~",
  AQ: "[a#3,c#4]@7 ~ [g#3,g#4]@4 [a#3,a#4]@4, ~ e3", AR: "[e3,b3,b4] [e3,a#3,a#4] [e3,g#3,g#4] [e3,a#3,a#4]",
  AS: "[e3,b3,b4] [e3,a#3,a#4] [e3,g#3,e4,g#4] [e3,a#3,f#4,a#4]", // E5 Edim E F#7
  AT: "[[e3,b3,g#4,b4]@4 [e3,a#3,f#4,a#4]@4 [e3,g#3,e4,g#4]@5 [e3,a#3,f#4,a#4]@15 ~ f#4@26 ~@9, ~@28 [b2,b5]@27 ~@9, ~@28 [f#3,b3,c#4,d#4]@25 ~@11]/4", // E F#7 E F#7 B
})).s("gm_string_ensemble_2").gain(0.11)

// chords · pad warm · "WARMPAD"
const pad_warm = note("<~@2 A@2 B ~@4 C D@2 E F G H I J I K@2 ~@21 L@4 M@7 N@2 ~@46>".pickRestart({
  A: "[~@6 b4 a4 ~@4 d5@4, ~ c#5@2 ~, ~ f#4]/2", B: "c#5@7 ~", C: "~ c#5@7 d5@4 e5@4, [e4,a4]",
  D: "[[g#4,b4]@8 a4@4 [g#4,b4]@3 ~ c#5@8 d5@4 e5@4, e4@15 a4@16 ~, ~ f#4]/2", E: "[e4,a4,c#5] [f#4,a4,d5]",
  F: "c#5@2 d5 e5, [e4,a4], a#4 ~@15", G: "~ e5@15, [g#4,b4]", H: "~ c#5@7 [a4,d5]@4 [a4,e5]@4, e4, a4 ~",
  I: "[g#4,b4,c#5,f5]", J: "~ a5, [a4,c#5,f#5]",
  K: "[c#5@8 d5@4 d5 ~@3 [g#4,b4]@12 f5 ~@3, e4@7 ~, a4 ~, ~@12 e5@17 ~@3]/2", // G#m
  L: "[~@2 c#5@2 d5 e5 [g#4,b4]@2 a4 b4 c#5@2 d5 [c#5,e5] [e4,a4,c#5]@2, ~ [e4,a4]@2 e4@2 [f#4,a4]@2 ~]/4", // G#m C#m A A5 F#m
  M: "[[f#4,a4,d5]@8 c#5@8 d5@4 ~@4 [g#4,b4]@16 ~ c#5@7 d5@4 e5@4 f5@8 f#5@4 g#5@4 [a4,c#5,f#5]@16 [b4,c#5,f5]@15 ~ [a4,c#5]@8, ~ e4@4 ~@9, ~ a4@2 ~@2 a4@2 [g#4,b4,c#5]@2 ~@5, ~@5 e5@5 ~@18]/7", // D G#m F#m C#7 A C#7
  N: "[[a4,d5] a4 b4@2 a4 ~@3, ~@2 e5@9 ~@5]/2", // D5
})).s("gm_pad_warm").gain(0.1)

// other · overdriven guitar · "OVERDRGITR"
const overdriven_guitar = note("<~@4 A B C D@2 ~@62 E@2 F@2 G ~@25>".pickRestart({
  A: "c#5@11 ~ c#5@2 b4@2", B: "c#5@11 ~ b4@2 c#5@2", C: "b4@2 a4 f#4@5 ~@2 e4@5 ~", D: "[c#5@2 b4 ~ a4 ~ c#5@25 ~]/2",
  E: "[~ c#5 b4 a4!2 b4 f#4@5 ~@4 b4@3 b4 a4 b4 c#5 b4@6 ~@2 e5@2]/2",
  F: "[~ c#5 b4 a4!2 b4 f#4@6 f#4 a4 b4 c#5@4 e5@3 ~ f#5@4 e5 f#5 e5 d5 c#5, ~@19 d#5 ~@12]/2", G: "d5 c#5 b4@9 ~@5",
})).s("gm_overdriven_guitar").gain(0.45)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A@3 B ~ A@3 C A@5 C A C A D@2 E F@2 G H I J@2 I J K L D H I J I ~ H J@3 M J@5 M J M F@2 N O P Q ~ A I A@2 I R F L
  S F N F T F@3 U F N V ~ F N F@2 N W F N X F A ~@7
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x ~@2 x ~@2 x ~@9", C: "x ~@5 x ~ x ~@2 x ~@2 x ~", D: "x!2 ~@2 x ~@3",
  E: "x ~ x ~@5 x ~@2 x ~@2 x!2", F: "x ~@3 x!2 ~@2", G: "x ~ x!5 ~@9", H: "~@4 x ~@2 x", I: "x!2", J: "x ~@3 x ~@2 x",
  K: "x ~ x!2 ~@2 x ~ x ~@7", L: "x!2 ~@2 x!2 ~@2", M: "x ~@2 x ~@2 x ~ x ~@5 x ~", N: "x ~ x ~@4 x!2 ~ x ~@2 x ~@2",
  O: "x ~ x!2 ~ x!4 ~@7", P: "x ~ x ~@5 x ~ x ~@4 x", Q: "x ~ x ~@2 x ~@2 x ~ x!5 ~", R: "x ~@5 x ~ x ~ x!2 ~@2 x ~",
  S: "x ~@10 x ~@2 x ~", T: "x!2 ~ x!2 ~@2 x!2 ~@4 x!3", U: "x ~ x ~@2 x ~ x!2 ~@2 x ~ x!3", V: "x",
// … 102 more lines

More by Bryan Adams