Strudelify
Does Your Mother Know cover art

Voulez-Vous

Does Your Mother Know

ABBA

KeyG majorTempo135 bpm
0:00/0:00
// Does Your Mother Know — ABBA
// 135 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 16, 4/4 at bar 17, 2/4 at bar 25, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 12 "VOICE OOHS" voice oohs (copy of ch 7 "VOICE OOHS" voice oohs)
// note: Full arrangement: all 108 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(135/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 2"
const piano = note(`<
  ~@8 A B C D E F G@5 H@2 I J K L M N O P Q R S@6 T U V W X Y Z AA ~@3 AB@6 AC AD AE AF AG AH AI AJ AK AL AM@7 AN AO@2
  AP AN AQ@2 AR AS AT AU@7 AV AW AX AY AV AZ BA BB BC BD BE@7 BF@2 BG
>`.pickRestart({
  A: "~@6 [g2,d3,g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [d3,g3,b3,d4]@2 ~ [d3,g3,b3]@2 ~ [d3,g3,b3,d4]@2 ~ [d3,g3,b3,d4]@2 ~, ~@12 g2 ~@2 [g2,d4] ~@2 g2 ~@2 g2 ~@2", // G C G G5
  B: "[g3,b3,d4] ~@2 [g2,g3,c4,e4]@2 ~ [g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [g3,b3,d4]@2 ~ [g2,b3,d4] ~@2 [g2,g3,b3] ~@2 [d3,g3,b3,d4]@2 ~, [g2,d3]@2 ~ e3 ~@2 [g2,d3] ~@5 [g2,d3] ~@2 [d3,g3]@2 ~ [d3,d4]@2 ~ g2 ~@2", // G C G C G G5 D
  C: "[d3,g3,d4]@2 ~ [d3,g3,b3,d4]@2 ~ [d3,g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [g2,d3,b3] ~@2 [g2,g3,b3,d4] ~@2 [g2,d3,b3]@2 ~ [d3,g3,b3,d4]@2 ~, [g2,b3] ~@2 g2 ~@2 g2 ~@5 [g3,d4]@2 ~ d3@2 ~ [g3,d4] ~@2 g2 ~@2", // G5 G C G G5
  D: "[g2,d3,b3,d4]@2 ~ [g2,g3,c4,e4]@2 ~ [d3,g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [d3,g3,b3,d4]@2 ~ [g3,b3,d4] ~@2 [g2,d3,g3]@2 ~ [d3,b3,d4]@2 ~, g3 ~@2 e3 ~@2 g2 ~@5 g2 ~@2 [g2,d3]@2 ~ [b3,d4] ~@2 [g2,g3] ~@2", // G C G C G G5 G G5 …
  E: "[g3,b3,d4]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,g3,b3] ~@2 [g2,e3,b3,d4]@2 ~ [g2,d3,g3] ~@2 [g2,g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [g2,g3,b3,d4]@2 ~, [g2,d3] ~@5 [d3,d4]@2 ~ g3 ~@2 [b3,d4]@2 ~ d3 ~@2 [g2,d3] ~@2 d3 ~@2", // G Em7 G5 G G5 D Bm G5
  F: "[g2,g3,b3,d4]@2 ~ [g2,d3,d4] ~@2 [g2,d3,b3,d4] ~@2 [g2,d3,b3] ~@2 [e2,g3,b3] ~@2 [e2,e3,b3,e4]@2 ~ [e3,g3,e4]@2 ~ [e2,g3,b3,e4]@2 ~, d3 ~@2 [g3,b3]@2 ~ g3@2 ~ [g3,d4]@2 ~ e3@2 ~ g3 ~@2 [e2,b3] ~@2 e3 ~@2", // G G5 G Em E5 Em G G5 …
  G: "[[g2,d3,b3] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d4]@2 c4 c2@2 [c4,e4,g4] ~@3 [c4,e4,g4] ~ [c3,e4,g4]@3 b3 b1@2 [b2,d4,g4]@3 [b1,d4]@3 [b3,d4,g4] ~@2 [a1,e4,g4]@3 [a3,c4,g4] ~@2 [a3,c4,e4,g4] ~@2 [a2,e4,g4]@3 [g1,d4,g4]@3 [g2,d4,g4]@3 [b3,d4,g4] ~@2 [g2,g4]@2 ~ [d2,a3,d4,f#4]@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [d3,d4,g4]@3 [d2,d4,f#4]@3 [d3,d4]@3 [d2,d4]@3 [d3,d4,f#4]@3 [d2,f#4]@3 [d3,b3,d4,g4]@3 [d2,d4,f#4]@3 [d3,b3,d4,g4]@3 [d2,f#4]@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [d3,a3]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3] ~@2 [g2,e3,g3,c4,e4]@2 ~ [g2,d3,g3,b3,d4], [g3,d4]@2 ~ d4@2 ~@3 d3@2 ~@4 c3@3 c2@3 ~@12 b2@3 ~@3 [a2,e4]@3 a1@3 ~@9 g1@3 ~@9 d2@3 ~@33 d2@3 ~@16, ~@9 [g3,b3] ~ [e4,g4]@2 ~@7 c4 ~@2 [d4,g4]@2 ~ b3 ~@2 [b3,g4] ~@5 [a3,c4] ~@8 [a3,c4] ~@2 b3 ~@2 b3 ~@5 [b3,d4] ~@5 d3@3 ~@3 b3 ~@2 a3 ~@2 [a3,f#4] ~@2 [a3,f#4] ~@2 a3 ~@2 [a3,d4] ~@5 a3 ~@5 [a3,d4] ~@2 d3@3 ~@3 [d4,f#4] ~@8 d4@2 ~@5]/5", // G G5 C G Bm G A7 Am7 …
  H: "[~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,g3,c4,e4]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,e3,g3,c4,e4]@2 ~ [g3,b3,d4] ~ g3 [g2,b3] ~@2 [g2,d3,g3,b3,d4] ~ [g2,d3,g3,b3] ~@3 [g3,b3,d4]@2 [g3,b3,d4] [g2,d3] ~ [g3,b3] g2 ~ [g2,e3,b3,d4]@2 ~ [g2,d3,g3] ~, ~@5 d4@2 ~@7 e3 ~@8 [g2,d3]@2 d4@2 ~@4 d4@2 ~@13 [b3,d4]@2, ~@26 d3@2 ~@7 [g2,d3] ~@4 [d3,d4]@2 ~ g3 ~@4]/2", // G C G C G G5 G Em7 …
  I: "~ [g2,g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [g2,g3,b3,d4]@2 ~ [g2,g3,b3,d4]@2 ~ [g2,d3,d4] ~@2 [g2,d3,b3,d4] ~@2 [g2,d3,b3] ~@2 [e2,g3,b3] ~, ~ d3 ~@2 [g2,d3] ~@2 d3 ~@2 d3 ~@2 [g3,b3]@2 ~ g3@2 ~ [g3,d4]@2 ~ e3@2", // G G5 G Em G5 G G5
  J: "~ [e2,e3,b3,e4]@2 ~ [e3,g3,e4]@2 ~ [e2,g3,b3,e4]@2 ~ [g2,d3,b3] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,d4]@2 ~ [c2,e4,g4]@2, ~ g3 ~@2 [e2,b3] ~@2 e3 ~@2 [g3,d4]@2 ~ d4@2 ~@4 [g3,b3] ~@2 c4 ~", // E5 Em G G5 C E5 G5 G
  K: "~ [c4,e4,g4] ~@2 [c4,e4,g4] ~@2 [c3,e4,g4]@3 [b1,d4,g4]@3 [b2,d4,g4]@3 [b1,d4]@3 [b3,d4,g4] ~@2 [a1,e4,g4]@2, ~ c3@3 c2@3 c4 ~@2 b3 ~@2 b3 ~@2 [b3,g4] ~@2 b2@3 [a3,c4] ~", // C G Bm G A7 Em Am
  L: "~ [a3,c4,g4] ~@2 [a3,c4,e4,g4] ~@2 [a2,e4,g4]@3 [g1,d4,g4]@3 [g2,d4,g4]@3 [b3,d4,g4] ~@2 [g2,g4]@2 ~ [d2,a3,d4,f#4]@2, ~ [a2,e4]@3 a1@2 ~ [a3,c4] ~@2 b3 ~@2 b3 ~@2 g1@3 [b3,d4] ~@4", // Am7 A7 G5 G D A5 Am Bm
  M: "~ [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [d3,d4,g4]@3 [d2,d4,f#4]@3 [d3,d4]@3 [d2,d4]@2 [d3,d4,f#4]@3 [d2,f#4]@3, ~ d3@3 d2@3 b3 ~@2 a3 ~@2 [a3,f#4] ~@2 [a3,f#4] ~ a3 ~@2 [a3,d4] ~@2", // D G5 D D5
  N: "[d3,b3,d4,g4]@3 [d2,d4,f#4]@3 [d3,b3,d4,g4]@3 [d2,f#4]@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [d3,a3]@3 [g2,d3,g3,b3,d4] ~@2, ~@3 a3 ~@5 [a3,d4] ~@2 d3@3 d2@3 [d4,f#4] ~@5", // G D G D D5 G D5 D
  O: "[g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3] ~@2 [g2,e3,g3,c4,e4]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~@2 [g1,g3]@3, ~@3 d4@2 ~@10 d4@2 ~@7", // G C G
  P: "[g2,g4] [a1,a3] [a2,a4] [a#1,a#3] [a#2,a#4] [b1,b3] [b2,b4] [c2,c4,e4,g4]", // G A A# B C
  Q: "[c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@3 [c4,e4,g4] ~@2, ~@3 c4 ~@2 c3@3 ~@3 c3@3 ~@6 c2@3", // C F C F C
  R: "[c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,g4]@3 [e4,g4] ~@2, ~@3 c4 ~@2 c3@3 ~@3 c3@3 ~@3 e4 ~@2 c2@3", // C F C F C5 Em
  S: "[[c3,c4,e4,g4]@3 [c2,c4,f4,a4]@3 [c4,e4,g4] ~ [c2,e4,g4,c5]@3 c3@3 [c2,c4,f4,a4]@3 c3@2 ~@4 g2@2 ~ a1@3 ~@3 a#1@3 a#2@3 b1@3 [b2,b3,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@3 [c4,e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,g4]@3 [e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,c4,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 c3@3 [c2,c4,f4,a4]@3 c3@2 ~@4 g2@3 a1@3 a2@2 ~ a#1@3 ~@2 b1@3 ~ [b2,b3,b4]@3 [g1,g5]@2 ~ [b4,d5,g5], ~@6 c3@2 ~@15 [a#3,a#4]@5 ~ a2@2 ~@22 c3@3 ~@3 c3@3 ~@6 c2@3 ~@6 c3@3 ~@3 c3@3 ~@6 c2@3 ~@6 c3@3 ~@27 [a#2,a#3,a#4]@4 ~@7 g2@2, ~@30 [a3,a4]@4 ~ [g3,g4]@5 ~@10 c4 ~@23 c4 ~@14 e4 ~@28 [a#3,a#4]@4 ~@3 [a3,a4]@5 ~@10 [b4,d5] ~@3]/6", // C F C F B C F C …
  T: "~@2 [b4,d5] ~ [g2,b4,d5,f5]@3 [g1,b4,f5]@3 [g2,b4]@3 [g1,b4]@3 [g2,b4]@3 [g1,g4,e5]@3 [g2,g4,c5,e5]@2, ~ [g1,g5]@3 ~@3 d5 ~@2 [d5,f5] ~@2 [d5,f5] ~@2 [d5,f5] ~@2 c5 ~@4", // Bm G7 G C G Dm
  U: "~ [g4,c5,e5] ~@2 [g2,g4,c5,d#5]@3 [g1,g4,c5,d#5]@3 [g2,g4,c5,d#5]@3 [g1,c5,d#5]@3 [g2,g4,c5,d#5]@3 [g1,g4,b4,d5]@3 [g2,b4,d5]@2, ~ g1@3 ~@9 g4 ~@8 g4 ~", // C Cm G
  V: "~ [g4,b4,d5] ~@2 [g2,g4,c5,d#5]@3 [g4,c5,d#5] ~@2 [g2,d#5]@3 [g1,g4,c5,d#5]@3 [g2,g4,c5,d#5]@3 [g1,g4,d5]@3 [g2,d5]@2, ~ g1@3 ~@3 g1@3 [g4,c5] ~@8 b4 ~@2 [g4,b4] ~", // G Cm G5 C5 G
  W: "~ [g4,b4,d5] ~@2 [g2,g4,c5,d#5]@3 [g1,c5,d#5]@3 [g2,c5,d#5]@3 [g1,d#5]@3 [g2,d#5]@3 [b4,d5,g5] ~@2 [g2,d5]@2, ~ g1@3 ~@3 g4 ~@2 g4 ~@2 [g4,c5] ~@2 [g4,c5] ~@2 g1@3 [b4,g5] ~", // G Cm G G5 C5 Em
  X: "~ [g1,d5,g5]@3 [g2,b4,d5,f5]@3 [g1,b4,f5]@3 [b4,d5,f5] ~@2 [g1,b4]@3 [b4,d5,f5] ~@2 [g1,g4,c5,e5]@3 [g2,g4]@2, ~ b4 ~@5 d5 ~@2 g2@3 [d5,f5] ~@2 g2@3 ~@3 [c5,e5] ~", // G5 G7 Bdim G Bdim C G Dm …
  Y: "~ [g4,c5,e5] ~@2 [g2,g4,c5,d#5]@3 [g4,c5,d#5] ~@2 [g2,d#5]@2 [g4,c5,d#5] ~@2 [g2,g4,d#5]@3 ~ g1@2 [g2,d5]@3, ~ g1@3 ~@3 g1@3 [g4,c5] ~ g1@3 c5 ~@2 [g4,d5]@2 ~ [g4,b4] ~@2, ~@19 b4 ~@4", // C Cm G5 C5 G5 G
  Z: "[g4,b4,d5] ~@2 [g2,c5,d#5]@3 [g4,c5,d#5] ~@2 [g2,d#5]@3 [g1,c5,d#5]@3 [c5,d#5]@2 ~ [g1,g4,b4,d5]@3 [g4,b4,d5] ~@2, g1@3 g4 ~@2 g1@3 [g4,c5] ~@2 g4 ~@2 g2@3 ~@3 g2@3, ~@15 g4 ~@8", // G Cm G C5
  AA: "[g4,b4,d5] ~@2 [g2,g4,c5,d#5]@3 [g1,c5]@3 [g4,c5,d#5] ~@2 [g1,g4,c5,d#5]@3 [g4,c5,d#5] ~@8, g1@3 ~@3 [g4,d#5] ~@2 g2@3 ~@3 g2@2 ~@7", // G Cm C5 Cm
  AB: "[~@23 [g2,d3,g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [d3,g3,b3,d4]@2 ~ [d3,g3,b3]@2 ~ [d3,g3,b3,d4]@2 ~ [d3,g3,b3,d4]@2 ~ [g3,b3,d4] ~@2 [g2,g3,c4,e4]@2 ~ [g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [g3,b3,d4]@2 ~ [g2,b3,d4] ~@2 [g2,g3,b3] ~@2 [d3,g3,b3,d4]@2 ~ [d3,g3,d4]@2 ~ [d3,g3,b3,d4]@2 ~ [d3,g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [g2,d3,b3] ~@2 [g2,g3,b3,d4] ~@2 [g2,d3,b3]@2 ~ [d3,g3,b3,d4]@2 ~ [g2,d3,b3,d4]@2 ~ [g2,g3,c4,e4]@2 ~ [d3,g3,b3,d4]@2 ~ [g2,e3,g3,c4,e4]@2 ~ [d3,g3,b3,d4]@2 ~ [g3,b3,d4] ~@2 [g2,d3,g3]@2 ~ [d3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,g3,b3] ~@2 [g2,e3,b3,d4]@2 ~ [g2,d3,g3] ~@2 [g2,g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [g2,g3,b3,d4]@2 ~ [g2,g3,b3,d4]@2 [g2,d3,d4] ~@2 [b3,d4] [g2,d3], ~@29 g2 ~@2 [g2,d4] ~@2 g2 ~@2 g2 ~@2 [g2,d3]@2 ~ e3 ~@2 [g2,d3] ~@5 [g2,d3] ~@2 [d3,g3]@2 ~ [d3,d4]@2 ~ g2 ~@2 [g2,b3] ~@2 g2 ~@2 g2 ~@5 [g3,d4]@2 ~ d3@2 ~ [g3,d4] ~@2 g2 ~@2 g3 ~@2 e3 ~@2 g2 ~@5 g2 ~@2 [g2,d3]@2 ~ [b3,d4] ~@2 [g2,g3] ~@2 [g2,d3] ~@5 [d3,d4]@2 ~ g3 ~@2 [b3,d4]@2 ~ d3 ~@2 [g2,d3] ~@2 d3 ~@2 d3 ~ [g3,b3]@2 ~ g3@2]/6", // G C G C G C G G5 …
  AC: "~ [g2,d3,b3] ~@2 [e2,g3,b3] ~@2 [e2,e3,b4,e5]@2 ~ [e3,g4,e5]@2 ~ [e2,g4,b4,e5]@2 ~ [g2,d3,b3] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~, ~ [g3,d4]@2 ~ e3@2 ~ g4 ~@2 [e2,b4] ~@2 e3 ~@2 [g3,d4]@2 ~ d4@2 ~@3", // G Em E5 Em G G5 E5 G5
  AD: "~ [g2,d3,d4]@2 ~ [c2,e4,g4]@3 [c4,e4,g4] ~@2 [c4,e4,g4] ~@2 [c3,e4,g4]@3 [b1,d4,g4]@3 [b2,d4,g4]@3 [b1,d4]@2, ~ [g3,b3] ~@2 c4 ~@2 c3@3 c2@3 c4 ~@2 b3 ~@2 b3 ~@2 [b3,g4] ~", // G5 C G Bm G Em
  AE: "~ [b3,d4,g4] ~@2 [a1,e4,g4]@3 [a3,c4,g4] ~@2 [a3,c4,e4,g4] ~@2 [a2,e4,g4]@3 [g1,d4,g4]@3 [g2,d4,g4]@3 [b3,d4,g4] ~, ~ b2@3 [a3,c4] ~@2 [a2,e4]@3 a1@3 [a3,c4] ~@2 b3 ~@2 b3 ~@2 g1@2", // G A7 Am7 A7 G5 G Am A5 …
  AF: "~ [g2,g4]@2 ~ [d2,a3,d4,f#4]@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [d3,d4,g4]@3 [d2,d4,f#4]@3 [d3,d4]@3 [d2,d4]@2, ~ [b3,d4] ~@5 d3@3 d2@3 b3 ~@2 a3 ~@2 [a3,f#4] ~@2 [a3,f#4] ~", // G D G5 D Bm D
  AG: "~ [d3,d4,f#4]@3 [d2,f#4]@3 [d3,b3,d4,g4]@3 [d2,d4,f#4]@3 [d3,b3,d4,g4]@3 [d2,f#4]@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~, ~ a3 ~@2 [a3,d4] ~@5 a3 ~@5 [a3,d4] ~@2 d3@3 d2@2", // D G D G D D5
  AH: "~ [d3,a3]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3,d4] ~ [g3,b3] [g2,d3] ~ [g2,e3,g3,c4,e4]@2 ~ [g3,b3,d4] [g2,d3] ~ [g2,d3,g3,b3,d4] ~@2 [g3,b3] [g2,d3] ~, ~ [d4,f#4] ~@7 d4@2 ~@10 d4@2 ~", // D5 G G5 C G G5 G G5 …
  AI: "[g3,b3,d4] [g2,d3] ~ [g2,d3,g3,b3,d4] ~@2 [g2,g3,c4,e4]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,e3,g3,c4,e4]@2 ~ [g3,b3,d4] ~@2 [g2,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~@2, ~@6 e3 ~@8 [g2,d3]@2 ~ [d3,d4]@2 ~@4", // G G5 G C G C G G5 …
  AJ: "[g2,d3,g3,b3] ~@2 [g3,b3,d4]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,g3,b3] ~@2 [g2,e3,b3,d4]@2 ~ [g2,d3,g3] ~@2 [g2,g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~, d4@2 ~ [g2,d3] ~@5 [d3,d4]@2 ~ g3 ~@2 [b3,d4]@2 ~ d3 ~@2 [g2,d3] ~@2", // G Em7 G5 G G5 D Bm G5
  AK: "[g2,g3,b3,d4]@2 ~ [g2,g3,b3,d4]@2 ~ [g2,d3,d4] ~@2 [g2,d3,b3,d4] ~@2 [g2,d3,b3] ~@2 [e2,g3,b3] ~@2 [e2,e3,b4,e5]@2 ~ [e3,g4,e5]@2 ~, d3 ~@2 d3 ~@2 [g3,b3]@2 ~ g3@2 ~ [g3,d4]@2 ~ e3@2 ~ g4 ~@2 [e2,b4] ~@2", // G G5 G Em E5 Em G G5 …
  AL: "[e2,g4,b4,e5]@2 ~ [g2,d3,b3] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,d4]@2 ~ [c2,e4,g4]@3 [c4,e4,g4] ~@2 [c4,e4,g4] ~@2, e3 ~@2 [g3,d4]@2 ~ d4@2 ~@4 [g3,b3] ~@2 c4 ~@2 c3@3 c2@3", // Em G G5 C G5 G
  AM: "[[c3,e4,g4]@3 [b1,d4,g4]@3 [b2,d4,g4]@3 [b1,d4]@3 [b3,d4,g4] ~@2 [a1,e4,g4]@3 [a3,c4,g4] ~@2 [a3,c4,e4,g4] ~ [a3,c4] a2@2 b3 g1@2 [g2,d4,g4]@3 g4 [b3,d4] ~ [g2,g4]@2 ~ [d2,a3,d4,f#4]@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [d3,d4,g4]@3 [d2,d4,f#4]@3 [d3,d4]@3 [d2,d4]@3 [d4,f#4]@2 ~ [d2,f#4]@3 [d3,b3,d4,g4]@3 [d2,d4,f#4]@3 [d3,b3,d4,g4]@3 [d2,f#4]@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [d3,a3]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3] ~@2 [g2,e3,g3,c4,e4]@2 ~ [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3,d4] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3,d4] ~@2 [g1,g3]@3 [g2,g4]@3 [a1,a3]@3 [a2,a4]@3 [a#1,a#3]@3 [a#2,a#4]@3 [b1,b3]@3 [b2,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@3 [c4,e4,g4] ~ [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~, c4 ~@2 b3 ~@2 b3 ~@2 [b3,g4] ~@2 b2@3 [a3,c4] ~@2 [a2,e4]@3 a1@2 [e4,g4]@2 ~ [d4,g4]@2 ~ b3 ~@2 g1@3 [b3,d4] ~@5 d3@3 d2@3 b3 ~@2 a3 ~@2 [a3,f#4] ~@2 [a3,f#4] ~@2 d3@3 ~@15 d3@3 d2@3 ~@60 c3@3 ~@3 c3@3 ~@6 c2@2 ~@6 c3@2, ~@59 a3 ~@2 [a3,d4] ~@5 a3 ~@5 [a3,d4] ~@8 [d4,f#4] ~@8 d4@2 ~@10 d4@2 ~@34 c4 ~@22 c4 ~@4]/7", // C G Bm G A7 Am7 Am G5 …
  AN: "~ [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,g4]@3 [e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,c4,f4,a4]@3 [c4,e4,g4] ~, ~@4 c3@3 ~@3 e4 ~@2 c2@3 ~@6 c3@2", // C F C5 Em C F C
  AO: "[~ [c2,e4,g4,c5]@3 c3@3 [c2,c4,f4,a4]@3 c3@2 ~@4 g2@2 ~ a1@3 a2@2 ~ a#1@3 [a#2,g3,g4]@3 b1@3 [b2,b3,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~, ~@16 [a#3,a#4]@6 [a3,a4]@5 ~@16 c4 ~@2 c3@2]/2", // C F D# B C F C A# …
  AP: "~ [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@3 [c4,e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~, ~@4 c3@3 ~@6 c2@3 ~@3 c4 ~@2 c3@2", // C F C F C
  AQ: "[~ [c2,e4,g4,c5]@3 c3@2 [c2,c4,f4,a4]@3 c3@2 ~@4 [g2,a#3,a#4]@3 a1@3 a2@2 ~ a#1@3 ~@3 b1@3 [b2,b3,b4]@3 [g1,g5]@3 [b4,d5,g5] ~@2 [g1,g5]@3 [g2,b4,d5,f5]@3, ~@21 [a3,a4]@5 ~ a#2@3 ~@9 g2@3 ~@6, ~@28 [a#3,a#4]@4 ~@4 [b4,d5] ~@5 [b4,d5] ~@5]/2", // C F Gm B G G7 A A# …
  AR: "[g1,b4,f5]@3 [g2,b4]@3 [g1,b4]@3 [g2,b4]@3 [g1,g4,e5]@3 [g2,g4,c5,e5]@3 [g4,c5,e5] ~@2 [g2,g4,c5,d#5]@3, d5 ~@2 [d5,f5] ~@2 [d5,f5] ~@2 [d5,f5] ~@2 c5 ~@5 g1@3 ~@3", // G7 G C Cm Dm
  AS: "[g1,g4,c5,d#5]@3 [g2,g4,c5,d#5]@3 [g1,c5,d#5]@3 [g2,g4,c5,d#5]@3 [g1,g4,b4,d5]@3 [g2,b4,d5]@3 [g4,b4,d5] ~@2 [g2,g4,c5,d#5]@3, ~@6 g4 ~@8 g4 ~@2 g1@3 ~@3", // Cm G Cm
  AT: "[g4,c5,d#5] ~@2 [g2,d#5]@3 [g1,g4,c5,d#5]@3 [g2,g4,c5,d#5]@3 [g1,g4,d5]@3 [g2,d5]@3 [g4,b4,d5] ~@2 [g2,g4,c5,d#5]@3, g1@3 [g4,c5] ~@8 b4 ~@2 [g4,b4] ~@2 g1@3 ~@3", // Cm G5 G Cm C5 G
  AU: "[[g1,c5,d#5]@3 [g2,c5,d#5]@3 [g1,d#5]@3 [g2,d#5]@3 [b4,d5,g5] ~@2 [g2,d5]@2 ~ [d5,g5]@2 [g2,b4,d5,f5]@3 ~ d5 ~ [b4,f5] d5 ~@2 [d5,f5] ~ [b4,d5,f5] ~@2 [g1,g4,c5,e5]@3 [g2,g4]@3 [g4,c5,e5] ~@2 [g2,g4,c5,d#5]@3 [g4,c5,d#5] ~@2 [g2,d#5]@3 [g4,c5,d#5] ~@2 [g2,g4,d#5]@3 [g1,g4,d5]@3 [g2,d5]@3 [g4,b4,d5] ~@2 [g2,c5,d#5]@3 [g4,c5,d#5] ~@2 [g2,d#5]@3 [g1,c5,d#5]@3 [c5,d#5]@2 ~ [g1,g4,b4,d5]@3 [g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [g2,g4,c5,d#5]@3 [g1,c5]@3 [g4,c5,d#5] ~@2 [g1,g4,c5,d#5]@3 [g4,c5,d#5] ~@2 [g1,g3]@3 [g2,g4]@3 [a1,a3]@3 [a2,a4]@3 [a#1,a#3]@3 [a#2,a#4]@3 [b1,b3]@3 [b2,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@2 ~ [c4,e4,g4] ~ [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@2, g4 ~@2 g4 ~@2 [g4,c5] ~@2 [g4,c5] ~@2 g1@3 [b4,g5] ~ g1@3 ~@3 [g1,b4,f5]@3 g2@3 [g1,b4]@3 g2@3 ~@6 g1@3 ~@3 g1@3 ~@3 g1@3 ~@9 g1@3 ~@3 g1@3 ~@6 g2@3 ~@3 g2@3 g1@3 ~@6 g2@3 ~@3 g2@2 ~@34 c3@3 ~@3 c3@3 ~@5 c2@3 ~@6 c3@3 ~@2, ~@18 b4 ~@19 [c5,e5] ~@11 [g4,c5] ~@5 c5 ~@2 b4 ~@2 [g4,b4] ~@5 g4 ~@5 [g4,c5] ~@2 g4 ~@2 g4 ~@14 [g4,d#5] ~@41 c4 ~@22 c4 ~@7]/7", // Cm G G5 G7 Bdim Dm Bdim C …
  AV: "~ [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,g4]@3 [e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,c4,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@2, ~ c3@3 ~@3 e4 ~@2 c2@3 ~@6 c3@3 ~@2", // C F C5 Em C F C
  AW: "~ c3@3 [c2,c4,f4,a4]@3 c3@2 ~ g1@3 [g2,a#3,a#4]@3 a1@3 [a3,a4]@3 a#1@2, ~@19 a2@2 ~@3", // F Gm A
  AX: "~ [a#2,g3,g4]@3 b1@3 [b2,b3,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@2, ~@16 c4 ~@2 c3@3 ~@2", // D# B C F C
  AY: "~ [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@3 [c4,e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@2, ~ c3@3 ~@6 c2@3 ~@3 c4 ~@2 c3@3 ~@2", // C F C F C
  AZ: "~ c3@2 [c2,c4,f4,a4]@3 c3@2 ~ g1@3 [g2,a#3,a#4]@3 a1@3 [a3,a4]@3 a#1@3, ~@9 a2 ~@2", // F Gm A
  BA: "[a#2,g3,g4]@3 b1@3 [b2,b3,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3, ~@15 c4 ~@2 c3@3 ~@3", // D# B C F C
  BB: "[e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@3 [c4,e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3, c3@3 ~@6 c2@3 ~@3 c4 ~@2 c3@3 ~@3", // C F C F C
  BC: "[e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,g4]@3 [e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,c4,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3, c3@3 ~@3 e4 ~@2 c2@3 ~@6 c3@3 ~@3", // C F C5 Em C F C
  BD: "c3@3 [c2,c4,f4,a4]@3 c3@2 ~ g1@3 [g2,a#3,a#4]@3 a1@3 [a3,a4]@3 a#1@3, ~@9 a2 ~@2", // F Gm A
  BE: "[[a#2,g3,g4]@3 b1@3 [b2,b3,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@2 [c4,g4] e4 ~@2 [e4,g4,c5]@2 [g4,c5] e4 ~@2 f4@2 ~ e4@2 [c4,e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,g4]@3 [e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,c4,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 c3@3 [c2,c4,f4,a4]@3 c3@2 ~ g1@3 [g2,a#3,a#4]@3 a1@3 [a3,a4]@3 a#1@3 [a#2,g3,g4]@3 b1@3 [b2,b3,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@3 [c4,e4,g4] ~@2 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~@2 [c2,c4,f4,a4]@3 [c3,c4,g4]@2 ~ [e4,g4] ~ [c3,c4,e4,g4]@3 ~ [c4,f4]@2 ~ [c4,e4,g4] ~ [c2,e4,g4,c5]@3 c3@2, ~@15 c4 ~ c3@3 c2@3 c3@3 [c2,c4,a4]@3 [c3,c4,g4]@3 c2@3 ~@3 c4 ~@2 c3@3 ~@3 c3@3 ~@3 e4 ~@2 c2@3 ~@6 c3@3 ~@21 a2@2 ~@19 c4 ~@2 c3@3 ~@3 c3@3 ~@6 c2@3 ~@3 c4 ~@2 c3@3 ~@3 c3@3 ~@3 e4 ~ c2@3 ~@3 [c2,a4]@3 c3@3 ~@5]/7", // D# B C F C5 C C5 C …
  BF: "[~ [c2,c4,f4,a4]@3 c3@2 ~ g1@3 [g2,a#3,a#4]@3 a1@3 [a3,a4]@3 a#1@3 [a#2,g3,g4]@3 b1@3 [b2,b3,b4]@3 [c2,c4,e4,g4]@3 [c3,c4,e4,g4]@3 [c2,f4,a4]@3 [c4,e4,g4] ~@2 [c2,e4,g4,c5]@3 [e4,g4,c5] ~, ~@16 a2@2 ~@19 c4 ~@2 c3@3 ~@3 c3@2]/2", // F Gm A D# B C F C
  BG: "~ [c2,c4,f4,a4]@3 [c3,c4,e4,g4]@2 ~@18", // F C
})).s("gm_piano").gain(0.25)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A B C D E B A F A B G H I J K@7 L M@2 N@2 O P Q R S T@6 U V W X U Y Z AA AB@2 AC AD@7 AE AF AG AH AI AJ AK AL AM AN@2
  AO@2 AP@3 AQ AR AS AT AU AV AW AX AY AZ BA BB BC@2 BD@3 BE BF BG BH BI BJ BK BL BM BN BO@8 BP BQ
>`.pickRestart({
  A: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@3 f1 ~ f#1",
  B: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@3 f1 f#1 ~",
  C: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ f1 f#1 ~",
  D: "g1@2 ~ g1@2 ~ g1@2 ~ f1@2 ~ g1@3 f1@3 g1@3 f1 ~ f#1",
  E: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ f1 f#1@2",
  F: "g1@2 ~ g1@2 ~ g1@3 f1@2 ~ g1@3 f1@2 ~ g1@3 f1@2 f#1", G: "g1@2 ~ g1@2 ~ g1@2 ~@4 g1@2 ~ g1@2 ~ g1@3 f1 f#1@2",
  H: "g1@2 ~ g1@2 ~ g1@2 ~ f1@2 ~ g1@2 ~ f1@2 ~ g1@3 f1 ~ f#1", I: "g1@2 ~ g1@2 ~ g1@2 ~@4 g1@2 ~ g1@2 ~ g1@3 f#1@3",
  J: "g1@2 ~ g1 ~@2 g1@3 a1@3 e1@2 ~ e1 ~@2 e1@3 f#1@3",
  K: "[g1@2 ~ g1@2 ~ g1@2 ~ g1@3 c2@2 c2@2 ~ c2@2 ~ c2@3 b1@2 ~ b1@2 ~ b1@2 ~ b1@3 a1 ~@2 a1@2 ~ a1 ~@2 a1@3 g1@3 b1@3 c2@3 c#2@3 d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ c3@2 ~ c3 ~@2 c3 ~@2 c3@2 ~ c3@2 ~ c3 ~@2 c2@6 g1@2 ~ g1@2 ~ g1@3 ~@3 g1@2 ~ g1 ~@2 g1@3 f#1@3 g1@2 ~@4 g1@3 f#1@3 g1@3 f#1@3 g1@3 f#1@3 g1@2 g1@2 ~@2 g1@4 ~ g1@2]/7",
  L: "~ g1@2 ~ g1@3 f#1@3 g1@2 ~ g1@2 ~ g1@6 e1@2",
  M: "[~ e1@2 ~ e1@2 ~ e1 ~ f#1 g1@2 ~ g1@2 ~ g1@2 ~ g1@3 c2@4 ~@2 c2@2 ~ c2@3 b1@2 ~ b1@2 ~ b1@2 ~ b1@3 a1@2]/2",
  N: "[~ a1@2 ~ a1@2 ~ a1@3 g1@3 b1@3 c2@3 c#2@3 d2@4 ~@2 d2@5 ~ d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ c3@2]/2",
  O: "~ c3@2 ~ c3@3 c3@2 c3@3 c3@3 c3@6 g1@2 ~", P: "g1@2 ~ g1@2 ~@4 g1@2 ~ g1@2 ~ g1@3 f#1@3 g1@3",
  Q: "g2@3 a1@3 a2@2 ~ a#1@3 a#2@3 b1@3 b2@2 ~ c2@2 ~", R: "c2@3 a1@3 g1@3 c2@2 ~ c2@3 a1@3 g1@3 c2@2 ~",
  S: "c2@3 a1@3 g1@3 c2@2 ~ c2@3 a1@3 g1@2 ~ c2@2 ~",
  T: "[c2@3 e1@2 ~ e1@2 f1@2 ~ f1@3 f#1@2 ~ f#1@3 g1@3 g2@2 ~ a1@3 a2@2 ~ a#1@3 a#2@2 ~ b1@2 ~ b2@2 ~ c2@2 ~ c2@3 a1@2 ~ g1@3 c2@2 ~ c2@2 ~ a1@3 g1@3 c2 ~@2 c2@3 a1@3 g1@3 c2@2 ~ c2@3 a1@3 g1@3 c2@2 ~ c2@3 e1@2 ~ e1@3 f1@2 ~ f1@3 f#1@2 ~ f#1@2 ~ g1@3 g2@2 ~ a1@3 a2@2 ~ a#1@2 ~ a#2@2 ~ b1@3 b2@2 ~ g1@2 g2@2]/6",
  U: "~ g1@2 ~ g2@2 ~ g1@2 ~ g2@2 ~ g1@2 ~ g2@2 ~ g1@2 ~ g2@2",
  V: "~ g1@2 ~ g2@2 ~ g1 ~@2 g2 ~ g2 g1@2 ~ g2 ~@2 g1@2 ~ g2 ~",
  W: "~ g1@2 ~ g2 ~@2 g1@2 ~ g2 ~ g2 g1@2 ~ g2 ~@2 g1@2 ~ g2 ~",
  X: "~ g1@2 ~ g2@2 ~ g1 ~@2 g2!2 ~ g1@2 ~ g2 ~@2 g1@2 ~ g2 ~",
  Y: "~ g1@2 ~ g2@2 ~ g1@2 ~ g2!2 g1@2 ~ g2@2 ~@2 g1@2 g2 ~@2",
  Z: "g1@2 ~ g2@2 ~ g1@2 ~ g2 ~ g2 g1@2 ~ g2 ~@2 g1@2 ~ g2 ~@2",
  AA: "g1@2 ~ g2@2 ~ g1@2 ~ g2 ~ g2 g1 ~@2 g2@2 ~ g1@2 ~ g1@2 ~",
  AB: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ f1 f#1 ~ g1@2 ~ g1@2 ~",
  AC: "g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ f1 f#1 ~ g1 ~@2 g1@2 ~",
  AD: "[g1@2 ~ f1@2 g1@3 f1@2 ~ g1@3 f1 ~ f#1 ~ g1@2 g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ f1 ~ f#1 g1@2 ~ g1@2 ~ g1@2 ~ f1 ~ f#1 g1@2 ~ f1 ~ f#1 g1@2 ~ f1 ~ f#1 g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ g1@2 ~ f1 f#1 ~ g1@2 ~ g1@2 ~ g1@2 ~ f1 f#1 ~ g1@2 ~ f1 f#1 ~ g1@2 ~ f1 f#1@2 g1@2 ~ g1@2 ~ g1@4 ~@2 g1@2 ~ g1@2 ~ g1@2 ~ f#1@2 ~ g1@2 ~ g1@2 ~ g1@2 g1@3 e1@2 ~ e1@2 ~ e1@3 f#1@3 g1@2 ~ g1@2 ~ g1@2]/7",
  AE: "~ g1@3 c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ b1@5 ~ b1@2", AF: "~ b1@2 ~ a1@2 ~ a1@2 ~ a1@2 ~ a1@3 g1@3 b1@3 c2@2",
  AG: "~ c#2@2 ~ d2@2 ~ d2@2 ~ d2@3 ~@3 d2@2 ~ d2@2 ~ d2@2",
  AH: "~ d2@2 ~ c3@2 ~ c3@2 ~ c3@2 ~ c3@2 c3@2 c3 ~ c3!2 ~ c3 ~", AI: "~ c3@3 g1@2 ~ g1@2 ~ g1@5 ~ g1 ~@2 g1 ~ g1 ~@2",
  AJ: "f#1@3 g1@2 ~ g1@2 ~ g1@3 f1 ~ f#1 g1@3 f#1@3 g1@3", AK: "f#1@3 g1@2 ~ g1@2 ~ g1@3 ~@3 g1@2 ~ g1@2 ~ g1@3",
  AL: "f#1@3 g1@2 ~ g1@2 ~ g1@2 ~ g1@3 e1@2 ~ e1@2 ~ e1@3", AM: "f#1@3 g1@2 ~ g1@2 ~ g1@2 ~ g1@3 c2@2 ~ c2@3 ~@3",
  AN: "[c2@3 b1@2 ~ b1@2 ~ b1@2 ~ b1@3 a1@2 ~ a1@2 ~ a1@2 a1@3 g1@3 b1@3 c2@3 c#2@3 d2@2 ~ d2@2 ~ d2@3 ~]/2",
  AO: "[~@2 d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~ c3@2 ~ c3@2 ~ c3@3 c3@3 c3@3 c3@3 c3@6 g1@2 ~ g1@2 ~ g1@2 ~@2]/2",
  AP: "[~@2 g1@2 ~ g1@2 ~ g1@3 f#1@3 g1@3 g2@2 ~ a1@2 ~ a2@2 ~ a#1@2 ~ a#2@2 ~ b1@2 ~ b2@2 ~ c2@2 ~ c2@2 ~ a1@3 g1@3 c2@2 ~ c2@3 a1@3 g1@3 c2@2 ~ c2@2 a1@3 g1@2]/3",
  AQ: "~ c2@2 ~ c2@3 a1@3 g1@3 c2@2 ~ c2@3 e1@2 ~ e1@2", AR: "~ f1@2 ~ f1@3 f#1@2 ~ f#1@3 g1@3 g2@3 a1@3 a2@2",
  AS: "~ a#1@3 a#2@3 b1@3 b2@2 ~ c2@2 ~ c2@3 a1@3 g1@2", AT: "~ c2@2 ~ c2@3 a1@3 g1@3 c2@2 ~ c2@3 a1@3 g1@2",
  AU: "~ c2@2 ~ c2@2 ~ a1@3 g1@3 c2@2 ~ c2@2 ~ e1@2 ~ e1@2", AV: "~ f1@2 ~ f1@3 f#1@2 f#1@2 ~ g1@3 g2@3 a1@3 a2@3",
  AW: "a#1@2 ~ a#2@3 b1@2 ~ b2@3 g1@2 ~ g2@2 ~ g1@2 ~ g2@2 ~",
  AX: "g1@2 ~ g2@2 ~ g1@2 ~ g2@2 ~ g1@2 ~ g2@2 ~ g1@2 ~ g2@2 ~",
  AY: "g1 ~@2 g2!2 ~ g1@2 ~ g2 ~@2 g1@2 ~ g2@2 ~ g1@2 ~ g2 ~@2",
  AZ: "g1 ~@2 g2!2 ~ g1@2 ~ g2@2 ~ g1@2 ~ g2 ~@2 g1@2 ~ g2 ~@2",
  BA: "g1@2 ~ g2!2 ~ g1@2 ~ g2 ~@2 g1 ~@2 g2@2 ~ g1@2 ~ g2@2 ~",
  BB: "g1@2 ~ g2@2 ~ g1@2 g2@2 ~ g1 ~@2 g2@2 ~ g1 ~@2 g2@2 ~ g1",
  BC: "[~@2 g2 ~ g2 g1@2 ~ g2 ~@2 g1@2 ~ g2 ~@2 g1@2 ~ g2 ~@2 g1@2 ~ g2 ~ g2 g1@2 ~ g2@2 ~ g1 ~@2 g2 ~@2 g1@2 ~ g2 ~@2 g1]/2",
  BD: "[~@2 g2!2 ~ g1@2 ~ g2 ~@2 g1@3 g2@2 ~ a1@3 a2@2 ~ a#1@3 a#2@2 ~ b1@3 b2@2 ~ c2 ~@2 c2@3 a1@3 g1@3 c2@2 ~ c2@2 ~ a1@3 g1@3 c2 ~ c2@3 a1@3 g1@3 ~ c2]/3",
  BE: "~ c2@3 a1@3 g1@3 c2@2 ~ c2@3 e1@2 ~ e1@3 f1@2", BF: "~ f1@3 f#1@2 ~ f#1@3 g1@3 g2@3 a1@3 a2@3 a#1@2",
  BG: "~ a#2@3 b1@3 b2@3 c2@2 ~ c2@3 a1@3 g1@2 ~ c2@2", BH: "~ c2@3 a1@3 g1@3 c2@2 ~ c2@3 a1@3 g1@3 c2@2",
  BI: "~ c2@3 a1@3 g1@3 c2 ~@2 c2@3 e1@2 ~ e1@3 f1@2", BJ: "~ f1@2 f#1@2 ~ f#1@3 ~ g1@3 g2@3 a1@2 a2@3 a#1@3",
  BK: "a#2@3 b1@3 b2@3 c2@2 ~ c2@3 a1@3 g1@3 c2 ~@2", BL: "c2@3 a1@3 g1@3 c2 ~@2 c2@3 a1@3 g1@3 c2 ~@2",
  BM: "c2@3 a1@3 g1@3 c2 ~@2 c2@3 e1@2 ~ e1@3 f1@2 ~", BN: "f1@3 f#1@2 ~ f#1@3 g1@3 g2@3 a1@3 a2@3 a#1@3",
  BO: "[a#2@3 b1@3 b2@3 c2@2 ~ c2@3 a1@3 g1@2 c2@2 ~ c2@2 ~ a1@3 g1@3 c2 ~@2 c2@3 a1@3 g1@3 c2 ~@2 c2@3 a1@3 g1@3 c2 ~@2 c2@3 e1@2 ~ e1@3 f1@2 ~ f1@3 f#1@2 ~ f#1@3 g1@3 g2@3 a1@3 a2@3 a#1@3 a#2@2 ~ b1@3 b2@3 c2@2 ~ c2@3 a1@3 g1@2 ~ c2@2 ~ c2@3 a1@3 g1@2 ~ c2@2 ~ c2@3 a1@3 g1@3 c2 ~@2 c2@3 a1@3 g1@3 c2@2 ~ c2@2 e1@2 ~@2 e1@3 f1@2 ~ f1@2 f#1@2 ~ f#1@3 g1@3 g2@3 a1@3 a2@3 a#1@3 a#2@2]/8",
  BP: "~ b1@3 b2@3 c2@2 ~ c2@3 a1@3 g1@3 c2@2 ~ c2@2", BQ: "~ a1@3 g1@2 ~@18",
})).s("gm_electric_bass_finger").gain(0.49)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~@8 A@2 B@2 C D E@4 F@2 G H I@2 J K L M@2 N O P@8 ~@9 Q@6 R S T U V W X Y Z AA AB@8 AC AD AE AF AG AH@3 ~@5 AI@4 AJ@2
  AK AL AM@2 AN O AO@8 ~@3
>`.pickRestart({
  A: "[~@6 [d4,g4,b4]@3 [e4,g4,c5]@3 [d4,g4,b4]@3 [d4,g4]@2 ~@4 [d4,g4,b4]@6 [e4,g4,c5]@2 ~ [d4,g4,b4]@3 [e4,g4,c5]@3 ~@6 [d4,g4,b4]@2 ~@4]/2", // G C G G5 G C G C …
  B: "[~@6 [d4,g4,b4]@3 [e4,g4,c5]@3 [d4,g4,b4]@3 [d4,g4]@2 ~@4 [d4,g4,b4]@6 [e4,g4,c5]@3 [d4,g4,b4]@3 [e4,g4,c5]@3 ~@12]/2", // G C G G5 G C G C
  C: "[g2,d3]@3 [g2,d3]@2 ~ [g2,d3]@3 [g2,e3]@3 [g2,d3]@3 [g2,d3]@3 g2@3 [g2,d3]@3", // G5 C G5
  D: "[g2,d3]@3 [g2,d3]@4 ~@2 [e3,b3]@6 [e3,b3,e4]@3 [e3,b3,e4]@3 [e3,b3,e4]@2 ~", // G5 E5
  E: "[[g2,d3]@3 g2@3 [g2,d3]@3 g2 ~@2 c3@2 c3@2 ~@2 [c3,g3]@2 c3 ~@3 g3@2 ~ g3@2 [b2,g3]@3 [b2,g3]@2 ~@2 e3@2 [a2,e3]@3 [a2,e3]@3 a2@3 [g2,d3]@3 [g2,d3]@3 [g2,d3]@3 g2@2 ~@7 [a3,d4,f#4]@2 ~ [b3,d4,g4]@3 [a3,d4,f#4]@3 [a3,d4]@2 ~@4 [a3,d4,f#4]@6 [b3,d4,g4]@3 [a3,d4,f#4]@2 ~ [b3,d4,g4]@2 ~@2, ~@12 g3@6 ~@5 b2@3 b2@2 ~@7 a2@2 ~@59]/4", // G5 C5 Em A5 G5 D G D …
  F: "[~@17 [d4,g4,b4]@3 [e4,g4,c5]@3 [d4,g4,b4]@3 [d4,g4]@2 ~@4 [d4,g4,b4]@6 [e4,g4,c5]@2 ~ [d4,g4,b4]@3 [e4,g4,c5]@3 ~]/2", // G C G G5 G C G C
  G: "~@11 [g2,d3]@3 [g2,d3]@2 [g2,d3]@3 [g2,e3]@3 [g2,d3]@2", // G5 C G5
  H: "~ [g2,d3]@3 g2@3 [g2,d3]@3 [g2,d3]@3 [g2,d3]@4 ~@2 [e3,b3]@5", // G5 E5
  I: "[~ [e3,b3,e4]@3 [e3,b3,e4]@3 [e3,b3,e4]@2 ~ [g2,d3]@3 g2@3 [g2,d3]@3 g2 ~@2 c3@3 c3@2 ~ [c3,g3]@3 c3 ~@2 [b2,g3]@3 [b2,g3]@3 [b2,g3]@3 [b2,g3]@2 ~ [a2,e3]@2, ~@11 g3@3 ~@10]/2", // E5 G5 C5 Em A5
  J: "~ [a2,e3]@3 [a2,e3]@3 a2@3 [g2,d3]@3 [g2,d3]@3 [g2,d3]@3 g2@2 ~@3", // A5 G5
  K: "~@4 [a3,d4,f#4]@2 ~ [b3,d4,g4]@3 [a3,d4]@3 [a3,d4]@3 ~@2 [a3,d4,f#4]@6, ~@10 f#4@5 ~@9", // D G D5 D
  L: "~ g4@2 ~ [a3,d4,f#4]@2 ~ [d4,g4]@2 ~@15, [b3,d4]@3 ~@3 b3@2 ~@16", // D G5 Bm
  M: "[~@3 [d4,g4,b4]@3 [e4,g4,c5]@3 [d4,g4,b4]@3 [d4,g4]@2 ~@10 g3@3 a2@3 a3@2 ~@4 a#3@2 ~@4 b3@2 ~ [c3,g3]@3, ~@21 g2@6 ~@6 a#2@5 ~ b2@5 ~@4]/2", // G C G G5 C5
  N: "c3 [c3,g3] c3 [c3,g3] c3 [c3,g3] c3!2", O: "c3 [c3,g3] c3 [c3,g3] c3 [c3,g3] c3 [c3,g3]",
  P: "[c3@3 [c3,g3]@3 c3@2 [c3,g3]@3 ~ c3@2 ~ g3@2 c3 ~@6 g3@2 ~@3 a3@3 ~@3 a#3@2 ~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 c3@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@3 c3@2 ~@4 g3@2 ~@4 a3@2 ~@4 a#3@3 ~@3 b3@2 ~ g3@46 ~@6, ~@14 c3@3 ~@3 g2@6 ~ a2@5 a#2@5 ~ b2@6 ~@42 g3@6 ~@24 g2@5 ~ a2@5 ~ a#2@5 ~ b2@5 ~@53]/8", // C5
  Q: "[~@24 [g4,b4]@2 ~ [g4,c5]@2 [d4,g4,b4]@3 ~ g4@2 ~@4 b4@5 ~ [g4,c5]@2 [d4,g4,b4]@3 [e4,g4,c5]@3 ~@6 [d4,g4,b4]@2 ~@10 [d4,g4,b4]@3 [e4,g4,c5]@3 [d4,g4,b4]@3 [d4,g4]@2 ~@4 [d4,g4,b4]@6 [e4,g4,c5]@3 [d4,g4,b4]@3 [e4,g4,c5]@3 ~@12 [g2,d3]@3 [g2,d3]@2 ~ [g2,d3]@3 [g2,e3]@3 [g2,d3]@3 [g2,d3]@3 g2@3 [g2,d3]@3 [g2,d3]@2 ~ d3@3 ~, ~@23 d4@3 e4@3 ~@3 d4@2 ~@4 [d4,g4]@6 e4@2 ~@93 g2@4 ~]/6", // G C5 G C5 G C G C …
  R: "~@2 b3@6 [e3,b3,e4]@3 [e3,b3,e4]@2 ~ e4@2 ~ [g2,d3]@2 g2@3 [g2,d3]@2, ~ e3@5 ~@7 [e3,b3]@3 ~@8", // E5 G5 E5
  S: "~ g2 ~@2 c3@3 c3@2 ~ [c3,g3]@3 c3 ~@2 [b2,g3]@3 [b2,g3]@3 [b2,g3]@2, ~@2 g3@3 ~@7", // C5 Em
  T: "~ [b2,g3]@2 ~ [a2,e3]@3 [a2,e3]@3 [a2,e3]@3 a2@3 [g2,d3]@3 [g2,d3]@3 [g2,d3]@2", // Em A5 G5
  U: "~ g2@2 ~@7 [a3,d4,f#4]@2 ~ [b3,d4,g4]@3 [a3,d4,f#4]@3 [a3,d4]@2 ~@3", // D G D D5
  V: "~ [a3,d4,f#4]@6 [b3,d4,g4]@3 [a3,d4,f#4]@2 ~ [b3,d4,g4]@2 ~@9", // D G D G
  W: "~@10 [g4,b4]@2 ~ [g4,c5]@2 ~ b4@2 ~ g4@2 ~@3, ~@9 d4@3 e4@3 [d4,g4]@3 d4@2 ~@4", // G C5 G5
  X: "~ [d4,g4,b4]@5 ~ [g4,c5]@2 ~ b4@2 ~ c5@3 ~@8, ~@6 e4@2 ~ [d4,g4]@3 [e4,g4]@3 ~@9", // G C5 G5 Em
  Y: "~@3 [g2,d3]@3 [g2,d3]@2 ~ [g2,d3]@3 [g2,e3]@3 [g2,d3]@3 [g2,d3]@3 g2@3", // G5 C G5
  Z: "[g2,d3]@3 [g2,d3]@3 [g2,d3]@4 ~@2 [e3,b3]@6 [e3,b3,e4]@3 [e3,b3,e4]@3", // G5 E5
  AA: "[e3,b3,e4]@2 ~ [g2,d3]@3 g2@3 [g2,d3]@3 g2 ~@2 c3@3 c3@2 ~ [c3,g3]@3, ~@5 g3@2 ~", // E5 G5 C5
  AB: "[c3 ~@2 [b2,g3]@3 [b2,g3]@3 [b2,g3]@3 [b2,g3]@2 ~ [a2,e3]@3 [a2,e3]@3 [a2,e3]@2 a2@3 ~ [g2,d3]@3 [g2,d3]@3 [g2,d3]@2 g2@2 ~@7 [a3,d4,f#4]@2 ~ [b3,d4,g4]@3 [a3,d4]@3 [a3,d4]@3 ~@3 [a3,d4,f#4]@6 [b3,d4,g4]@3 [a3,d4,f#4]@2 ~ [b3,d4,g4]@2 ~@19 [d4,g4,b4]@3 [e4,g4,c5]@3 [d4,g4,b4]@3 [d4,g4]@2 ~@10 g3@3 a2@3 a3@2 ~@4 a#3@2 ~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 c3@2 c3@3 ~ g3@3 c3@2 ~ g3@2 c3@3 [c3,g3]@3 c3@3 ~ g3@2 c3@3 [c3,g3]@3 c3@2, ~@50 f#4@5 ~@55 g2@6 ~@6 a#2@5 ~ b2@5 ~@30 c3@3 ~@3 c3@3 ~@9 c3@3 ~@8]/8", // Em A5 G5 D G D5 D G …
  AC: "~ [c3,g3]@3 c3@3 [c3,g3]@3 c3 ~@5 g3@2 ~@4 a3@2, ~@13 g2@6 a2@5", // C5
  AD: "~@4 a#3@2 ~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@2, ~ a#2@5 ~ b2@6 ~@11", // C5
  AE: "~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@2", // C5
  AF: "~ [c3,g3]@3 c3@3 c3@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 [c3,g3]@2, ~@7 g3@6 ~@11", // C5
  AG: "~ [c3,g3]@3 [c3,g3]@2 ~ g3@2 c3@2 ~@4 g3@2 ~@4 a3@2 ~, ~@6 c3@3 ~@4 g2@5 ~ a2@5", // C5
  AH: "[~@3 a#3@3 ~@3 b3@2 ~ g3@46 ~@14, a#2@5 ~ b2@5 ~@61]/3",
  AI: "[~@14 g3@3 a2@3 a3@2 ~@4 a#3@2 ~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 c3@2 c3@3 ~ g3@3 c3@2 ~ g3@2 c3@3 [c3,g3]@3 c3@3 ~ g3@2 c3@3 [c3,g3]@3 c3@3 [c3,g3]@2, ~@11 g2@6 ~@6 a#2@5 ~ b2@5 ~@30 c3@3 ~@3 c3@3 ~@9 c3@3 ~@11]/4", // C5
  AJ: "[~ c3@3 [c3,g3]@3 c3 ~@5 g3@2 ~@4 a3@3 ~@3 a#3@2 ~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@2, ~@10 g2@6 a2@5 ~ a#2@5 ~ b2@6 ~@14]/2", // C5
  AK: "~ c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@2", // C5
  AL: "~ c3@3 c3@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@2, ~@2 g3@3 ~@7", // C5
  AM: "[~ [c3,g3]@2 ~ g3@2 c3@2 ~@4 g3@3 ~@3 a3@2 ~@4 a#3@2 ~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3, ~@3 c3@3 ~@3 g2@6 ~ a2@4 ~ a#2@5 ~ b2@5 ~@16]/2", // C5
  AN: "c3 [c3,g3] c3!3 [c3,g3] c3 [c3,g3]", // C5
  AO: "[c3@3 [c3,g3]@3 c3 ~@5 g3@2 ~@4 a3@3 ~@3 a#3@2 ~@3 b3@2 ~@2 [c3,g3]@2 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 c3@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@3 c3@2 ~@4 g3@3 a2@3 a3@2 ~@4 a#3@2 ~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 [c3,g3]@3 c3@3 c3@3 c3@3 [c3,g3]@3 c3@3 c3@3 c3@3 c3@3 ~@3 c3@3 ~@13, ~@9 g2@6 a2@5 ~ a#2@5 ~ b2@6 ~@41 g3@6 ~@24 g2@6 ~@6 a#2@5 ~ b2@5 ~@65]/8", // C5
})).s("gm_overdriven_guitar").gain(0.28)

// chords · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft = note(`<
  ~@12 A ~ B ~@6 C ~ D ~@5 E F G ~ H@3 ~@17 I ~ J ~@5 K ~@2 L ~@4 M N@2 O P Q R ~@10 S T U V U W X ~ Y Z AA L M AB@2 ~
  AC@2 AD@2 AE AF
>`.pickRestart({
  A: "~@6 d3 ~", B: "~@7 g3", C: "~@4 d3@3 ~@17", D: "~@7 g3@3 ~@14", E: "g3 ~@3 g3 ~ g3 ~", F: "~@2 g3 ~@5",
  G: "~@6 g3@2 ~@4 g3@3 ~@9", H: "[~@5 g3@3 ~@15 g3@3 ~@3 g3@3 ~@3 g3@3 ~@9 g3@3 ~@22]/3", I: "~@11 d3@3 ~@10",
  J: "~@13 g3@3 ~@8", K: "~@7 d3", L: "g3 ~@7", M: "~@17 g3@3 ~@4", N: "[~@5 g3@3 ~@3 g3@3 ~@9 g3@3 ~@20 g3@2]/2",
  O: "~@4 g3@3 ~@17", P: "~@11 g3", Q: "~@16 g3@3 ~@3 g3@2", R: "~@4 g3@3 ~@9 g3@3 ~@5", S: "~@14 g3@3 ~@7",
  T: "~@2 g3@3 ~@3 g3@3 ~@9 g3@3 ~", U: "~@19 g3@3 ~@2", V: "~ g3@3 ~@20", W: "~@13 g3@3 ~@3 g3@3 ~@2",
  X: "~ g3@3 ~@9 g3@3 ~@8", Y: "~@4 g3 ~@3", Z: "g3 ~ g3 ~@3 g3 ~", AA: "~@6 g3 ~",
  AB: "[~@11 g3@3 ~@3 g3@3 ~@3 g3@3 ~@9 g3@3 ~@10]/2", AC: "[~@11 g3@3 ~@9 g3@3 ~@3 g3@3 ~@9 g3@3 g3@3 ~]/2",
  AD: "[~@2 g3@3 c3@3 g3@2 c3@3 ~ g3@2 ~ g3@2 [c3,g3]@3 ~ g3@2 [c3,g3]@3 c3 ~@5 g3@2 ~@4 a3@3 ~@3 a#3@2, ~@13 c3@3 c3@3 ~@3 c3@3 ~@6 g2@6 a2@5 ~ a#2@5]/2", // C5
  AE: "~@4 b3@2 ~ [c3,g3]@3 c3@3 [c3,g3]@3 [c3,g3]@3 [c3,g3]@3 c3@2, ~ b2@6 ~@17", AF: "~ [c3,g3]@3 c3@2 ~@18",
})).s("gm_overdriven_guitar").gain(0.12)

// … 237 more lines

More by ABBA