Strudelify
Angie cover art

Goats Head Soup

Angie

The Rolling Stones

KeyA minorTempo63 bpm
0:00/0:00
// Angie — The Rolling Stones
// 63 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 5 "VOICE OOHS" voice oohs (copy of ch 6 "SLOWSTRING" string ensemble 2)
// note: Full arrangement: all 78 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(63/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 · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~@13 A B C D E F G H I J K L M J K N O P Q R S T U V W X Y Z I J K L O P Q R AA AB AC AD AA AE AF AG O P Q R AH AI AJ
  AK AL AM AN AO S T U V S T AP AQ ~
>`.pickRestart({
  A: "g1@11 ~ g1@9 ~@3 g1@2 ~@4 g1@10 ~@2 g1@4 ~@2", B: "d2@11 ~ d2@4 ~@2 d2@2 ~ c2@2 ~ a1@10 ~@2 a1@8 ~@4",
  C: "c2@11 ~ c2@10 ~@2 f1@12 f1@10 ~@2", D: "g1@11 ~ g1@9 ~@3 f1 ~@2 g1@3 ~@6 g1@9 ~@3",
  E: "a1@11 ~ a1@2 ~@4 e1@3 ~@3 a1@5 ~ a1@2 ~ d2@3 c2@3 b1@2 ~ a1@2 ~ g1@2 ~",
  F: "e1@11 ~ e1@6 ~@3 c1@3 e1@11 ~ e1@6 ~@6", G: "g1@11 ~ g1@4 ~@8 f1@2 ~@4 f1@7 ~@5 c1@2 ~@4",
  H: "f1@6 ~@3 f1@2 ~ e1@3 ~@3 c2@12 ~@6 b1@10 ~@2",
  I: "a1@10 ~@2 a1@6 ~@3 e1@3 a1@4 ~@2 a1@2 ~ d2@3 c2@3 b1@3 a1@2 ~ g1@3",
  J: "e1@10 ~@2 e1@7 ~@2 b0@2 ~ e1@4 ~@2 e1@11 ~@7", K: "g1@12 g1@9 ~@3 f2@11 ~ f2@5 ~ c2@2 ~@4",
  L: "f2@5 ~ e2@3 ~@3 d2@3 ~@3 c2@13 ~@5 b1@12", M: "a1@10 ~@2 a1@6 ~@3 e1@3 a1@4 ~@2 a1@15 ~@3",
  N: "f2@5 ~ e2@3 ~@3 d2@3 ~@3 c2@24 ~@6", O: "g1@11 ~ g1@7 ~@2 d1@3 g1@3 ~@3 g1@13 ~@5",
  P: "d2@11 ~ d2@5 ~ d2@3 c2@2 ~ a1@10 ~@2 a1@5 ~ b1@4 ~@2", Q: "c2@10 ~@2 c2@9 ~@3 f1@9 ~@3 f1@10 ~@2",
  R: "g1@11 ~ g1@4 ~@2 g1@12 g1@4 ~@2 g1@3 g1@6 ~@3", S: "a1@11 ~ a1@6 ~@3 e1 ~@2 a1@3 ~@6 e1@3 a1@4 ~@2 a1@3 g1@3",
  T: "e1@10 ~@2 e1@8 ~ b0@3 e1@3 ~@3 e1@5 ~ e1@2 ~ e1@6 ~@3", U: "g1@6 d2@4 ~@2 d2@9 ~@3 f1@6 c2@3 ~@3 c2@9 f1@3",
  V: "c2@5 ~@7 e1@4 ~@2 c1@18 b1@12", W: "a1@12 e2@3 a1@2 ~ c2@3 a1@3 a2@10 ~@2 a2@5 ~ a2@3 g#2@3",
  X: "e2@10 ~@2 d3@3 e2@3 g#2@3 e2@3 e3@11 ~ d1@2 ~ d#1@2 ~ e1@2 ~ a1@3", Y: "g1@10 ~@2 g1@9 ~@3 f1@9 ~@3 f1@9 ~@3",
  Z: "f1@3 ~@3 e1@3 ~@3 d1@3 ~@3 c1@16 ~@2 b1@12",
  AA: "a1@10 ~@2 a1@8 ~ e1@3 a1@2 ~@4 d2@2 ~ e2@3 d2@3 c2@2 ~ b1@2 ~ g#1@3",
  AB: "e1@11 ~ e1@9 b0@3 e1@3 ~@3 e1@10 ~@2 e1@6", AC: "g1@10 ~@2 g1@11 ~ f1@5 ~ f1@11 ~ f1@3 ~@3",
  AD: "f1@4 ~@2 e1@3 ~@3 d1@3 ~@3 c1@19 ~@11", AE: "e1@3 ~ e1@2 ~ e1 b1 e1 e2@5 ~",
  AF: "g1@6 d2@4 ~@2 d2@5 ~ d2@2 ~@4 f1@6 c2@4 ~@2 c2@4 ~@2 c2@2 ~@4", AG: "f1@5 ~ e1@4 ~@2 d1@4 ~@2 c1@13 ~@17",
  AH: "d2@9 ~@3 d2@9 a1@3 d2@3 ~@3 d2@11 ~ c2@4 ~@2", AI: "a1@10 ~@2 a1@12 a2@3 ~@3 a2@15 ~@3",
  AJ: "d2@10 ~@2 d2@9 a1@3 d2@4 ~@2 d2@12 c2@6", AK: "a1@10 ~@2 a1@6 ~@3 a1@3 e2@3 a1@3 a2@11 ~ a2@4 ~@2",
  AL: "d2@10 ~@2 d2@9 c2 ~@2 d2@3 ~@3 d2@11 ~ c2@3 ~@3", AM: "a1@11 ~ a1@10 ~@2 a1@4 ~@2 a1@10 ~@2 b1@5 ~",
  AN: "c2@10 ~@2 c2@7 ~@2 c2@2 ~ f2@4 ~@2 f2@14 ~ d2@2 ~", AO: "g2@9 ~@3 g2@14 ~ g2@8 ~ g2@2 ~@4 g2@3 ~@3",
  AP: "g1@6 d2@4 ~@2 d2@9 ~@3 f1@6 c2@3 ~@3 c2@9 ~@3", AQ: "f1 ~ e1 ~ d1 ~ c2@10",
})).s("gm_electric_bass_finger").gain(0.52)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  ~@5 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB M N O P AC R S T U V W AD I J K AE Q R S T U V W X Y Z
  AA AB AF AG@2 AH AI AJ AA AB M N O P AC R S AK ~
>`.pickRestart({
  A: "b3@3 c4@18 e4@3 a4@3 e5@3 [a4,c5]@6 e4@4 ~@2 [a2,a3]@6, a2@7 ~, a3@23 ~ d5@2 ~@10 c4@10 ~@2", // Am A
  B: "[g#3,b3,e4]@12 e3@4 ~@2 e3@6 [g#3,e4]@11 ~ f#4@3 g#4@3 e4@6, g#2@2 ~ b4", // E C#m
  C: "[g2,g4,b4]@12 a4@2 ~ b4@7 ~@2 [f4,a#4]@5 ~ f4@6 f4@6 c4 ~@3 a#2 b2, d4@23 ~ c4@18 ~@6, ~@6 [g3,g4]@5 ~ f2@11 ~, ~@30 a4@13 ~@5, ~@36 a3@11 ~", // G A#5 G
  D: "[c4,f4]@6 e4@6 [g2,d4]@4 ~@14 c4@3 d4@3 e4@3 g4@2 ~ d4@2 g4@3 ~, [c3,g3]@12 ~@4 g3@19 ~ g3@5 b2@5 ~@2, ~@17 c4@13 ~@18, ~@9 c2@14 ~, ~@18 e4@17 ~@13", // F5 G5 C5
  E: "e4@2 c4@2 b4 c5 ~ e4 d4 a4 c4@2 a3@2 c4 e4, [a1,a2]@47 ~, ~@12 e4@6 a4@5 ~@13 e3@12", // A
  F: "[g#3,b3]@6 ~@12 b4@3 a4@3 g#4@2 ~ a4@3 g#4@6 b3@2 e4@3 ~@3 b4@3 ~, [g#1,g#2]@47 ~, e4@4 ~@2 e3@17 ~@25, ~@12 b3@11 ~ b3@10 ~@14, ~@18 e4@12 ~@11 g#4@5 ~@2", // G#m G#
  G: "[g4,b4]@6 ~@2 c5@3 ~@4 b4@3 g4@3 d4@2 ~ [c4,f4,a#4]@5 ~ a3@6 f3@6 c3@6, g2@23 ~ f2@16 ~@8, d4@3 ~@3 d4@12 ~@12 [c4,f4,a4]@16 ~@2, ~@8 g4@4 b3@6 d3@5 ~@25, ~@11 d5@3 ~@34", // G Fsus4 F
  H: "[a3,c4,f4]@5 ~ [g3,c4,e4]@5 ~ [g2,f3,c4,d4]@4 ~@2 e4@18 c4@3 d4@3 e4@3 f4@2 ~, c3@12 ~@4 g3@19 ~@13, ~@17 c4@19 ~@12, ~@18 c2@29 ~", // F C Gsus4
  I: "d4@2 ~@2 [d4,g4]@2 ~@6 g4@2 ~ a4, [g2,g3,g4,b4]@9 g2@9 d4@6 [g3,d4,c5]@13 ~@11, ~@6 d4@6 [g3,b4]@9 g2@12 g2@14 ~, ~@19 g4@5 g4@6 ~ g4@5 [g3,b3,d4]@11 ~, ~@9 b4@3 ~@2 g4@2", // G5 G Gsus4 G
  J: "a3@6 ~@6 a3@2 ~@6 d3@3 ~ a3@6 ~@3 a2@3 [a2,a3,e4,c5]@2 ~ [b2,b3,g4,d5]@8 ~, [d2,d3,d4,f4]@9 d2@14 ~@25, ~@6 a3@6 [d3,d4]@11 ~ [a2,c4,e4]@12 ~@12, ~@12 f4 ~@2 [a3,g4]@8 ~@7 a3@5 ~@13", // Am G Dm D Am A7
  K: "[c3,c4,g4,c5,e5]@9 ~@6 [c4,c5,e5,g5]@6 c4@3 c5 ~@5 f5@3 ~@6 [f3,c5,f5,a5]@6 c5@3, ~@3 [c4,a4,c5,f5]@2 ~@3 f5@2 c6@6, ~ c3 [f2,f3,a5] f2, ~@9 c5@2 b5@5, ~@11 [c5,f5]@2 ~@3", // C F F5
  L: "[g2,g3,b4,d5,g5]@12 d4@6 ~@6 [d4,g4,b4]@2 ~ [d4,a4,c5]@6 ~@3 [a4,c5]@2 ~@7 d4@2 ~, ~@12 [g2,g3,g4,b4]@9 g2@21 g3@5 ~, ~@18 d4@6 g3@7 ~@2 g3@6 [b4,d5]@7 ~@2, ~@9 d4@2 ~", // G D7 Am G Bm
  M: "a3 ~@6 e5, [a2,c4,e4]@3 a2@5 a5 e5 d5 a5 c5 b4@3, ~ a3 e4@6, ~@3 b5@5, ~@7 c6@9", // Am
  N: "~@12 b3 ~@26 e5@8 ~, [e2,e3,b3,g#4]@9 e2@27 [b3,g#4]@11 ~, ~@6 e4@6 e3@9 a4@26 ~, ~@12 g#4@6 g#4@6 [e3,g#4]@6 e4@17 ~, ~@15 b3@18 e3@14 ~", // E
  O: "b3@6 ~@6 c5@3 d5@9 a#4@5 ~@13 c4@6, [g2,g3,d4,g4]@3 g2@5 [f2,f4]@8, ~ b3 [g3,g4]@2 c4@3 ~, ~@2 f3!2, ~@5 a4@3", // G5 F G
  P: "[f3,f4,a4]@6 [e3,e4,g4]@6 [d3,d4,f4]@6 c4@8 ~@4 c4@3 d4@3 e4@3 g4@3 d4@3 g4@2 ~, ~@18 [c3,e4]@17 ~ b2@11 ~", // F Em Dm C
  Q: "c4@6 ~@6 [e4,b4] ~@2 e4@2 ~ [d4,b4]@2 ~@7 [c4,a4]@6 ~@9 c4@4 ~@2, [a2,a3,e4]@9 a2@24 ~@3 a2@10 ~@2, ~@6 c4@6 a3@10 ~@2 a3@11 ~@4 a3@6 ~@3, ~@12 c5@5 ~@4 [d4,b4]@6 ~@6 c4@7 ~@8", // E5 G F A5 G
  R: "[g#3,e4]@6 ~@6 e4 ~@2 e4@2 ~ [d4,a4]@2 ~@7 [e4,g#4]@6 ~@9 g#4@3 e4@2 ~, [e2,e3,b3]@9 e2@25 ~@2 e2@10 ~@2, ~@6 [g#3,e4]@5 ~ e3@10 ~@2 e3@11 ~@4 e3@6 ~@3, ~@12 b4@6 ~@3 [d4,a4]@5 ~@7 e4@9 ~@6", // C#m D5 E E5 C#m D5
  S: "g2@6 ~@6 c5@3 d5@3 b4@3 g4@3 [c4,f4,a#4]@5 ~ [c4,f4,a4]@6 ~@6 f4@3 f3@2 ~, [g3,d4,g4]@12 [g3,g4]@9 ~@3 f3@10 ~@2 f3@7 ~@5, b3@4 ~@2 b3@9 ~@24 c4@7 ~@2, ~@9 g2@13 ~@2 f2@24", // Fsus4 F G5 G
  T: "[f3,f4,a4]@6 [e4,g4]@2 ~@4 [d3,d4,f4]@2 ~@4 c4@12 c4@3 d4@3 e4@3 g4@3 d4@3 g4@2 ~, ~@6 e3 ~@11 [c3,e4]@17 ~ b2@11 ~", // F Em Dm C
  U: "[c4,e4]@6 ~@6 c5@2 ~@13 e4@3 ~@3 a3@3 b3@3 c4@2 ~ a3@4 ~@2, [a2,a3]@3 a2@12 ~, ~@6 [c4,e4]@6 [a3,e4]@9 a4@3 a3@6 e4@6 c4 ~@11, ~@5 d5@7 ~@4, ~@3 c5@3 ~@2", // C A C A5
  V: "g#3@3 ~@9 b4@2 ~ a4@3 ~@3 [e4,g#4]@6 ~@12 e3@3 b3@3 ~@3, [e2,e3,b3,e4]@9 e2@34 ~@5, ~@2 g#3@2 [e3,b3,e4]@2 e3@3 ~ e3@2 ~@4, ~@21 b3@5 ~ b3@12 ~@9, ~@33 e4@10 ~@5", // E E5
  W: "[g4,b4]@6 ~@3 c5@3 d5@3 b4@3 g4@3 d4@2 ~ [c4,f4,a#4]@5 ~ a3@6 f3@6 c3@6, g2@23 ~ f2@16 ~@8, d4@3 ~@3 d4@12 ~@12 [c4,f4,a4]@16 ~@2, ~@9 g4@5 ~@34, ~@12 b3@6 d3@5 ~@25", // G Fsus4 F
  X: "[a3,c4,f4]@5 ~ [g3,c4,e4]@5 ~@7 [c4,e4]@18 c5@3 d5@3 e5@3 f5@3, c3@12 [g2,f3,c4,d4]@6 c2@29 ~, ~@15 g3@19 ~@14", // F C Gsus4
  Y: "b4@6 b4@3 ~@12 c5@3 b4@6 ~@3 d4@3 ~@6 [e4,e5]@5 ~, [g3,g5]@5 g3@5 g3 b4 [d4,d5]@2 ~@2, [g2,d5]@9 [g4,b4,d5]@8 ~ g4@21 g3@7 ~@2, ~@6 g2@17 ~, ~@3 b4 c5@3 ~", // E G D G5 G
  Z: "[d2,d3]@12 [f4,f5]@2 ~ [e4,e5]@3 [d3,f4,f5]@3 [g4,g5]@3 [a2,a4,a5]@9 a3@3 ~@6 [c4,c5]@3 [d4,d5]@3, [f4,f5]@10 ~@5 d2@5 ~@4 a3@7 ~@5 a2@10 ~@2, ~@13 a3@2 ~", // D F E Dm G A C D …
  AA: "[e4,e5]@9 [f4,f5]@6 [g4,g5]@6 c3 ~@2 [a4,a5]@5 ~ [c5,c6]@3 ~@6 [a4,a5]@6 f3 ~@2, c3@19 ~@5 [f2,f3]@9 [b4,b5]@6 f3@4 ~@5, ~@9 f2@2 ~", // E F G A C A F B
  AB: "[g2,g3,g4,g5]@9 g2@3 [d4,g4,b4]@2 ~ [a4,c5]@6 ~@3 [a4,c5]@3 [b4,d5]@6 ~@3 [c5,e5]@3 [d5,f5]@6 g3@2 ~, ~@12 g3 ~@8 g2@10 ~@2 g2@14 ~, ~@24 g3@9 ~@3 g3@8 ~@4", // G Am Bm C Dm
  AC: "c4@6 ~@6 [c5,c6]@6 [b4,b5]@3 ~@6 [a4,a5]@6 ~@9 c4@4 ~@2, [a2,a3,e4]@9 a2@24 ~@3 a2@10 ~@2, ~@6 c4@6 a3@9 [b4,b5]@6 ~@6 c4@7 ~@8, ~@24 a3@11 ~@4 a3@6 ~@3", // C B A A5 B
  AD: "[a3,c4,f4]@5 ~ [g3,c4,e4]@5 ~@7 [c4,e4]@18 c4 ~@2 d4@3 e4@3 f4@2 ~, c3@12 [g2,f3,c4,d4]@6 c2@29 ~, ~@15 g3@19 ~@14", // F C Gsus4
  AE: "[g2,g3,b4,d5,g5]@12 d4@6 ~@6 [d4,g4,b4]@2 ~@4 c4@3 d4@3 e4@3 g4@3 d4@3 g4@3, ~@12 [g2,g3,g4,b4]@9 g2@23 ~@4, ~@3 d4 g3 ~@3", // G
  AF: "[d2,d3,f5]@6 [a4,d5] ~@5 e5@3 f5@3 ~@3 d3@3 [d2,d3]@3 a4@3 g4@3 [d3,a4]@3 f4@3 [d3,e4]@3 d4@2 ~ c4@2 ~, [a4,d5]@5 ~@4 d2@6 ~@3 d2@6 ~@12 d2@9 d3 ~@2, ~@12 [d3,a5,c6]@8 ~ [c5,f5,a5,c6]@6 ~@21", // Dm D5 D D5 Dsus2 D5 D7 F
  AG: "[c4@6 ~@6 [c5,e5]@2 ~ d5@2 ~ [b4,e5] ~@8 [a4,c5]@9 [a2,a3]@3 a3@3 a2 ~@2 a3 ~@2 a4@4 ~@8 [f5,a5]@3 ~@3 [e5,g5]@2 ~@19 d5@6 ~ d3 ~, [a2,a3,e4]@9 a2@25 ~@5 g4@5 ~@4 [d2,d3,d5,f5]@9 d2@20 ~ d2@16 ~@2, ~@6 c4@6 a3@10 ~@2 a3@12 [e4,c5] ~@2 d4@21 d3@9 [f5,a5]@5 ~ [d5,f5]@10 ~@11, ~@15 b4 ~@5 [b4,e5]@6 ~@9 a4@2 ~ b4@8 ~@7 a4@6 a4 ~@2 a4@5 ~ a4@13 ~@2 a4@10 ~@2, ~@72 d3@6 ~@3 d3@11 ~@4]/2", // C E5 Am A F Em A5 Dm …
  AH: "[c4,e4,a4]@5 ~ [e4,c5,e5] ~@2 [e4,c5,e5] ~@2 [e4,c5,e5]@2 ~ [e4,b4,d5]@3 ~@3 [e4,a4,c5]@4 ~@2 [e4,b4,d5]@3 ~@3 [e4,e5]@5 ~ e4 ~@2 d4@3 a3@2 ~, [a2,a3]@18 a2@10 ~@2 a2@17 ~, ~@12 b4 ~@8 a3@6 ~@6 [a3,c5]@9 [g4,b4]@5 ~", // Am C E7 Am E7 E A Am …
  AI: "d4@6 ~@6 [f5,a5]@3 ~@3 e5@2 ~@7 [a4,d5]@5 ~ d5@2 ~@7 [d5,f5]@3 a4@2 ~, [d2,d3,c4,f4,a4]@9 d2@25 ~@2 d2@8 ~@4, ~@6 d4@6 d3@10 ~@2 d3@12 ~@3 d3@6 ~@3, ~@12 a4 ~@2 a4@5 ~ [a4,f5,a5]@5 ~@7 a4@7 ~@2 a4@2 ~@4, ~@18 g5 ~@8 f5@10 ~@11", // F D5 Dm Dm7 Dm
  AJ: "a2@6 ~@6 [a4,c5]@2 e4@4 [a4,c5] ~@17 d5@3 e4@2 ~ e4@2 a2@4, [a3,e4,a4]@9 a2@20 ~ a2@13 ~@5, c4@4 ~@2 c4@6 a3@10 ~@2 a3@6 ~@3 a3@11 ~@4, ~@12 e4 ~@8 [e4,b4,d5]@5 ~ [e4,c5,e5]@7 ~@2 b4@2 ~@4 [a4,c5]@4 ~@2, ~@36 e4 ~@11", // Am A5 E7 C Am
  AK: "[f3,f4,a4]@3 [e3,e4,g4] ~@2 [d3,d4,f4] ~@2 [c3,c4,e4]@15", // F Em Dm C
})).s("gm_piano").gain(0.56)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@33 A B C D@3 E@2 F G H@2 ~@7 I J K L M ~@12 N@2 ~ O N@2 ~ P ~>".pickRestart({
  A: "~@24 [a3,c4,e4,b4]@19 ~@5", B: "~@4 [g#3,b3,e4,b4]@3 ~", C: "~@5 [c4,f4,a4,c5]@2 ~",
  D: "[f4@6 e4@5 ~ d4@6 [c3,c4,g4,c5,d5]@19 ~@10 e5@20 ~ e5@5 ~ e5@19 ~@2 e5@24 d5@23 ~@2, ~@6 e4@5 ~@37]/3", // Csus2
  E: "[~@5 d5@4 ~@2 d5@4 ~@2 d5@4 ~@2 d5@6 c5@6 a4@6 c5@4 ~@2 c5@36 ~@13]/2", F: "[a3,c4,e4,e5,b5]@23 ~",
  G: "e5@24 d5@23 ~, [g#3,b3,e4,b5]@23 ~", // E
  H: "[[g3,d4,d5,a5]@12 [c4,g5]@11 ~ d4@3 e4@3 d4@3 [e3,c4]@14 ~, ~@12 c5@35 ~, ~@4 f3@7 ~@5, ~@12 g5@11 ~]/2", // Gsus2 C5 C
  I: "~@4 d6@11 ~", J: "e6@11 ~", K: "e6@7 ~", L: "~@6 d6@5 ~ d6@4 ~@2 d6@5 ~ d6@6 c6@6 a5@6 c6@5 ~", M: "c6@3 ~",
  N: "[[a3,c4,e4,e5,b5]@12 ~@29 [a3,c4]@5 ~ [g#3,b3]@8 ~@28 [g#3,b3,e4,e5,b5]@10 ~@3, ~@41 [e4,e5,b5]@14 ~@41]/2", // Am G#m E E5
  O: "~@17 [g3,c4,d6]@17 ~@14", P: "~@17 [g3,c4] [c2,c3,e4]@30, ~@17 d6@17 ~@14, ~@9 [g3,c4]@8 ~@7",
})).s("gm_string_ensemble_2").gain(0.23)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A@2 B C D@2 E F@3 E G@2 H I J K@2 L M@3 E N@3 E G@2 H I J K@2 L M@3 E N@3 E G@2 H O J P@2 E N@3 E G@2 H I J Q R@3 S@2
  T J K@2 L M@3 E U@2 ~
>`.pickRestart({
  A: "[~@24 a3@22 ~@3 e4@5 e4@6 e4@12 g4@3 ~ e4@6 a3@6 c4@2 e3@5 ~, ~@23 a2@23 ~@2, ~@47 e3@43 ~@6, ~@16 c4@13 ~@3, ~@16 a3@11 ~@5]/2",
  B: "~@6 b3@3 d4@3 e4@3 d4@3 b3@3 g#3@2 ~@2 d4@23, e2@23 g#2@25, ~ [g#3,b3]", // G#m
  C: "~@2 c4 d4 g4 d4 c4 g3 [f3,a#3]@2 ~@4 f4 c4, g3@21 ~@9 [f3,a3]@16 ~@2", // A#5 F
  D: "[f3@3 a3@3 f4@3 c3@3 f3@3 g3@2 ~ e3@17 ~@7 c4@3 g3@2 ~@2 e4@10 ~ [a3,e4]@14 ~ [e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@3 [d4,g4]@3 [c4,e4]@5 ~, ~@12 c3@24 b2@11 e3@12 ~ e3@35 ~, ~@39 e3@8 a2@49, ~@16 c4@9 ~@7, ~@48 a3@11 ~@37]/2", // A5 G5 C
  E: "~@6 b3@3 d4@3 e4@3 d4@3 b3@3 g#3@2 g#3 ~ d4@22 ~, e2@47 ~, ~ [e3,b3]", // E5
  F: "[[d3,g3]@6 [g3,c4]@4 ~@2 c4@6 b3@6 a#3@5 ~ a3@12 ~@6 c4@9 f4@3 c4@5 ~@2 c4@16 ~@6 e3 g3@5 ~@2 e4@10 ~ [a3,e4]@14 ~ [e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@3 [d4,g4]@3 [c4,e4]@5 ~, ~@12 g3@10 ~@2 f3@18 c3@21 ~@2 [c3,e3]@19 b2@12 c4@27 ~@21, ~@47 f3@16 ~@32 a2@49, ~@48 g3@16 ~@2 g3@17 ~@12 e3@10 ~@3 e3@35 ~, ~@96 a3@11 ~@37]/3", // G5 C5 A5 G5 C
  G: "[[d3,g3]@6 [g3,c4]@4 ~@2 c4@6 b3@6 a#3@5 ~ a3@12 ~@6 c4@9 f4@3 c4@5 ~@2 c4@11 [e3,g3,c4,e4]@6 [e3,g3,c4,e4]@12, ~@12 g3@10 ~@2 f3@18 c3@21 ~@2 [c3,e3]@13 ~@18, ~@47 [f3,g3]@16 ~@3 g3@12 ~@18]/2", // G5 C5 C Fsus2
  H: "a4@3 b4@3 [g3,d4,g4] ~@3 d3 ~ [d3,g3,d4,g4] ~@2 [d3,g3,d4,g4,b4]@3 [d3,g3,d4,g4] ~@2 g4@3 ~ [g4,b4]@5 ~ b4 ~ [d3,g3,d4,g4]@3 ~ [g4,b4]@5 [d3,g3,g4,b4]@3 [d3,g3,d4,g4,b4]@3, [d3,g3,d4,g4]@3 a4@3 ~@3 b4@3 ~@4 b4@2 d4@4 ~@2, ~@9 [g3,d4,g4]@3 ~@12 [d3,g3,d4]@5 ~ [d3,g3,d4,g4]@3 ~@3 [d3,g3]@5 ~@7", // G5 G G5 G G5 G G5
  I: "[d3,a3,d4,f4,a4]@5 ~ [d3,a3,d4,f4]@2 ~ [a2,d3,a3,d4]@3 ~ [f4,a4]@2 [d3,a3,d4,f4,a4]@3 ~ [d4,f4,a4]@2 ~ [a2,d3,a3]@2 [a2,a3,a4] ~@2 a2@2 ~@2 a4 ~ [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 ~ a4@2 [a2,e3,a3,c4,e4,a4]@3, a2@2 a4@2 ~@3 [d4,f4,a4] ~@8, ~@8 f4@3 ~ [a2,d3,a3,d4]@3 a2@2 ~ [a2,d3,a3]@3 ~@3 [e3,c4,e4]@6 [a2,e3,a3,c4,e4]@3 ~@9 [a2,e3,a3,c4,e4]@3 ~@3", // Dm D5 F Dm D5 A Am Dm …
  J: "~ [e4,c5]@5 [c3,e3,g3,c4,e4]@3 [c3,e3,g3,c4,e4]@3 ~ c5@2 ~ c3@2 ~ e4@2 [c3,e3,g3,c4,e4]@3 ~ a4@5 [c3,f3,a3,c4,f4,a4]@3 [c3,f3,a3,c4,f4,a4]@3 [c3,f3,a3,c4,f4,a4]@6 [c3,f3,a3,c4,f4,a4]@2 ~ [f3,a3,c4,f4]@3, [c3,e3,g3,c4]@5 ~ c5@6 [c3,e3,g3,c4,e4]@3 [g3,c4,e4,c5]@4 c5@5 ~@20 a4@4, ~@15 e3@2 ~ [c3,e3,g3,c4]@3 ~@3 [c3,f3,a3,c4,f4]@5 ~@16 c3 ~@2", // C F C F
  K: "[[d3,g3,d4,g4,b4]@6 [d3,g3,d4]@3 [d3,g3,d4]@3 d3@3 d3@3 ~@3 [d3,g3]@3 [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4,g4]@3 [d3,g3,d4,g4,b4]@3 [g3,d4,g4,b4]@3 ~ b4@2 [d3,g3,d4,g4,b4]@3 [d3,g3,d4,g4,b4]@4 ~@3 e4@10 ~ [a3,e4]@14 ~ [e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@2 ~ [e4,a4]@3 [d4,g4]@3 [c4,e4]@5 ~, ~@6 [g4,b4]@6 [g3,d4,g4,b4]@6 g4@5 ~@24 e3@10 ~@3 e3@35 ~, ~@18 [d3,g3,d4]@2 d4@3 ~@10 d3@2 ~ [d3,g3,d4,g4]@3 ~@8 a2@49, ~@19 b4@5 ~@2 b4@4 ~@18 c4@27 ~@21, ~@48 a3@11 ~@37]/2", // G G5 G G5 G A5 G5 C …
  L: "~@6 b3@3 d4@3 e4@3 d4@3 b3@3 g#3@2 g#3 ~ d4@5 [a#3,c#4]@6 [b3,d4]@11 ~, e2@47 ~, ~ e3, ~@24 b3@5 ~@19", // A#m Bm
  M: "[[d3,g3]@6 [g3,c4]@4 ~@2 c4@6 b3@6 a#3@5 ~ a3@12 ~@6 c4@9 f4@3 c4@5 ~@2 c4@16 ~@6 e3 g3@5 ~@2 e4@10 ~ [a3,e4]@12 ~@3 [c4,e4]@2 ~ [c4,e4]@6 [b3,d4]@3 [c4,e4]@3 [a3,c4]@5 ~, ~@12 g3@10 ~@2 f3@18 c3@21 ~@2 [c3,e3]@19 b2@12 c4@27 ~@21, ~@47 f3@16 ~@32 a2@25 a2@24, ~@48 g3@16 ~@2 g3@17 ~@12 e3@10 ~@3 e3@35 ~, ~@96 a3@11 ~@37]/3", // G5 C5 A5 C Bm C Am C
  N: "[[d3,g3]@6 [g3,c4]@4 ~@2 c4@6 b3@6 a#3@5 ~ a3@12 ~@6 c4@9 f4@3 c4@5 ~@2 c4@11 [e3,g3,c4,e4]@6 [e3,g3,c4,e4]@11 e3 ~ e4@10 ~ [a3,e4]@12 ~@3 [c4,e4]@2 ~ [c4,e4]@6 [b3,d4]@3 [c4,e4]@3 [a3,c4]@5 ~, ~@12 g3@10 ~@2 f3@18 c3@21 ~@2 [c3,e3]@13 ~@17 a2@25 a2@24, ~@47 [f3,g3]@16 ~@3 g3@12 ~@18 c4@27 ~@21, ~@96 a3@11 ~ e3@35 ~]/3", // G5 C5 C A5 C Bm C Am …
  O: "[d3,a3,d4,f4,a4]@5 ~ [d3,a3,d4,f4]@2 ~ [a2,d3,a3,d4]@3 [a2,d3,a3,d4,f4]@2 ~ [a2,d3,a3]@3 [a2,d3,a3,d4,f4,a4]@3 [a2,d3,a3,d4,f4,a4]@3 a2@3 a2@2 ~@2 a4 ~ [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 ~ a4@2 [a2,e3,a3,c4,e4,a4]@3, a2@6 a4@6 a4 ~@35, ~@8 f4@3 ~@3 [d4,f4,a4]@4 ~@6 [e3,a3,c4,e4,a4]@6 [a2,e3,a3,c4,e4]@3 ~@9 [a2,e3,a3,c4,e4]@3 ~@3", // Dm D5 Dm D5 Dm Am Dm Am
  P: "[[d3,g3,d4,g4,b4]@6 [d3,g3,d4]@3 [d3,g3,d4]@3 d3@3 d3@3 ~@3 [d3,g3]@3 [d3,g3,d4,g4,b4]@6 [d4,g4,b4]@6 [d3,g3] b4@5 [d3,g3,d4] ~@6 e4@10 ~ [a3,e4]@12 ~@3 [c4,e4]@2 ~ [c4,e4]@6 [b3,d4]@3 [c4,e4]@3 [a3,c4]@5 ~, ~@6 [g4,b4]@6 [g3,d4,g4,b4]@6 g4@5 ~@13 [d4,g4]@6 ~@5 e3@10 ~@3 e3@35 ~, ~@18 [d3,g3,d4]@2 d4@3 ~@7 [d3,g3] ~@16 a2@25 a2@24, ~@19 b4@5 ~@18 [g4,b4]@4 ~@2 c4@27 ~@21, ~@48 a3@11 ~@37]/2", // G G5 G G5 A5 C Bm C …
  Q: "[d3,g3,d4,g4,b4]@6 [d3,g3,d4]@3 [d3,g3,d4]@3 d3@3 d3@3 ~@3 [d3,g3]@3 [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4,g4]@3 [d3,g3,d4,g4,b4]@3 [g3,d4,g4,b4]@3 ~ b4@2 [d3,g3,d4,g4,b4]@3 [d3,g3,d4,g4,b4]@4 ~@2, ~@6 [g4,b4]@6 [g3,d4,g4,b4]@6 g4@5 ~@25, ~@18 [d3,g3,d4]@2 d4@3 ~@10 d3@2 ~ [d3,g3,d4,g4]@3 ~@9, ~@19 b4@5 ~@2 b4@4 ~@18", // G G5 G G5 G G5
  R: "[~ [f4,a4]@5 [a3,d4,f4,a4]@2 ~ [a2,d3,a3,d4,f4,a4]@3 [d3,a3,d4,f4]@6 [d3,a3,d4,f4]@6 [a2,d3,a3,d4,f4]@3 ~@6 f4@3 ~ [f4,a4]@5 [d3,f4]@3 [a2,d3,f4]@3 ~ e4@5 ~ e4@5 ~ a4@5 [c4,e4]@3 [c4,e4]@3 ~ e4@2 [a2,e3,a3,c4,e4]@3 ~ e4@5 [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 [e3,a3,c4,e4]@3 ~ d4@5 [d3,a3,d4]@6 [d3,a3,d4,f4,a4]@6 [d4,f4,a4]@3 ~@6 [a2,d3,a3,d4,f4]@3 ~ [d4,f4]@5 [a2,d3,a3,d4,f4,a4]@6 [d3,a3,d4,f4,a4]@2 ~ [a2,d3,a3,d4,f4,a4]@3, [a2,d3]@9 ~@3 [a2,a4]@12 ~@3 [a3,d4,f4,a4]@3 f4@2 ~@65 f4@11 ~@36, [a3,d4]@5 ~@19 a4@2 ~ d3@2 ~ [d3,a3,d4]@6 [d3,a3,d4]@5 ~ [a3,d4]@6 ~@12 [a3,c4]@5 ~ [a3,a4]@6 [a3,c4]@3 ~@42 [a3,d4,f4,a4]@3 [a3,d4,f4]@3 ~@21, ~@28 a2@8 a2@9 ~@3 [a2,e3,a3,c4]@6 [a2,e3,a3,c4]@6 [a2,e3,e4]@9 [a2,e3]@6 ~@3 [a2,e3,a3,c4]@6 ~@9 a2@2 ~ [a2,d3,a3]@5 ~ a2@15 ~ [a2,d3]@5 ~@3 [a2,d3,a3]@5 ~@13, ~@31 a4@6 ~@5 a4@18 ~@13 a4@11 ~@9 a4@15 ~@13 a4@11 ~@12]/3", // F Dm F Dm C Am D5 Dm …
  S: "[~ a4@5 [e3,a3,c4,e4,a4]@5 ~ [a2,e3,a3,c4,e4,a4]@6 [a3,c4,e4,a4]@3 [a3,c4,e4]@3 [a3,c4,e4]@2 ~ [a2,e3,a3,c4,e4]@3 ~ a4@5 [e3,a3,c4,e4,a4]@2 ~ [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4]@2 ~ [a2,e3,a3,c4]@3 [d3,a3,d4,f4]@6 ~ [f4,a4]@5 ~ a4@5 [d3,a3,d4,f4,a4]@2 ~@5 f4@2 ~@4 [f4,a4]@5 ~ a4@5 [d3,a3,d4]@3 [a2,d3,a3,d4]@3, a2@11 ~@10 [a2,e3]@5 ~@4 [a2,e3,a3,c4,e4]@9 ~@5 e4@4 a2@12 [a2,d3,a3,d4,f4]@9 [a3,d4,f4]@3 [a3,d4]@3 [a3,d4,f4]@3 [a3,d4]@6 [d3,a3,d4,f4]@5 ~@7, [e3,a3,c4,e4]@6 ~@15 a4@9 ~@12 a4@12 [d3,a3,d4]@6 ~@9 [d3,a4]@4 a4@5 ~@12 [f4,a4]@6, ~@70 a2@6 [a2,d3]@8 a2@9 ~@3]/2", // Am Dm F Dm F D5 A5 Am …
  T: "~ e4@5 [a2,e3,a3,c4,e4]@5 ~ [a2,e3,a3,c4,e4,a4]@6 [a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@6 [a3,c4,e4,a4]@3 ~ a4@5 [a2,e3,a3,c4,e4,a4]@3 ~ a2@2 [a2,e3,a3,c4,e4,a4]@6, [a2,e3,a3,c4]@6 ~@21 [a2,e3]@2 ~ [a2,e3,a3,c4,e4]@5 ~@4 [e3,a3,c4,e4,a4]@3 ~@6, ~ a4@11 ~@36", // Am A5 Am
  U: "[[d3,g3]@6 [g3,c4]@4 ~@2 c4@6 b3@6 a#3@5 ~ a3@12 ~@6 c4@9 f4@3 c4@5 ~@2 c4@29, ~@12 g3@10 ~@2 f3@18 c3@21 ~@2 [c3,e3]@31, ~@47 [f3,g3]@16 ~@3 g3@30]/2", // G5 C5 C Fsus2
})).s("gm_acoustic_guitar_steel").gain(0.1).pan(0.2)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_2 = note(`<
  ~@13 A@2 B@2 C D@2 E F G@2 H I@2 J K L@2 B@2 C D@2 E F G@2 H I@2 J K M N O P F G@2 H I@2 J K L@2 B@2 Q@3 R@2 S T@2 C
  D@2 E F G@2 U ~
>`.pickRestart({
  A: "[a4@3 b4@3 [g3,d4,g4] ~@2 [g3,d4,g4]@3 [d3,g3,d4,g4] ~@2 [d3,g3,d4,g4,b4]@3 g4@2 ~ g4@3 [d3,g3,d4,g4,b4]@5 ~ [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4]@3 [d3,g3,g4,b4]@5 ~ [d3,g4,b4]@2 ~ [d3,g3,d4]@2 ~ [d3,a3,d4,f4,a4]@5 ~ [d4,f4]@2 ~ [a2,d3]@2 ~@2 a4 ~ [a2,d3,a3,d4]@3 [a2,d3,a3,d4,f4,a4]@3 ~ a2@2 ~@3 a2 ~@2 [e3,a3,c4,e4,a4] ~@2 [a2,e3,a3,c4]@3 [a2,e3,a3,c4,e4,a4]@2 ~ [e3,a3,c4,e4]@2 ~ [a2,e3,a3,c4,e4,a4]@2 ~ [a2,e3,a3,c4,e4]@3, [d3,g3,d4,g4]@6 a4@6 ~@20 g4@4 d4@6 ~@2 [g4,b4]@3 ~@6 a3@3 [a3,d4,f4]@3 ~ [a2,d3,a3,d4,f4]@2 ~@7 [d3,a3,d4,f4,a4]@3 [e3,a3,c4,e4]@6 ~@18, ~@9 d3 ~@8 [d3,g3,d4,b4]@6 ~@23 a2@7 a4@6 ~@2 f4@4 ~@6 a2@3 ~@3 a2@2 ~@16, ~@73 a4@5 ~@2 [e4,a4]@4 ~@2 a4@4 ~@2 a4@4]/2", // G5 G G5 G G5 Dm D5 Dm …
  B: "[[c3,e3,g3,c4,e4,c5]@5 ~ [e3,g3,c4,e4]@3 [e3,g3,c4,e4]@3 [c3,e3,g3,c4,e4,c5]@2 ~ [c3,e3,g3,c4,e4]@3 [c3,e3,g3,c4,e4]@3 [c3,e3,g3,c4,e4]@3 [c3,f3,a3,c4,f4,a4]@5 ~ [a3,c4,f4,a4]@2 ~ [c3,f3,a3]@2 ~ [c3,f3,a3,c4,f4,a4]@6 [c3,f3,a3,c4,f4,a4]@2 ~ [f3,a3,c4]@2 ~ [g3,d4,g4,b4]@6 [d3,g3,d4]@2 ~ d3@3 d3@3 d3@3 [d3,g3,d4]@2 ~ d3@3 [d3,g3,d4,g4,b4]@2 ~ [d3,g3]@3 [d3,g3,d4,g4,b4]@2 ~ [g3,d4,g4]@3 [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4,g4]@3 [d3,g3,d4,g4,b4]@6, ~@6 c5@6 ~@2 c5@4 ~@11 [c3,f3]@3 [c4,f4]@3 ~@9 [f4,a4]@4 ~@6 [g4,b4]@6 ~@6 [g4,b4]@6 ~@2 [d4,g4,b4]@3 ~@3 b4@3 ~@3 b4@3 ~@7, ~@45 c3 ~ d3@6 ~@3 [g3,d4]@3 ~ [g3,d4,g4,b4]@6 ~@30]/2", // C F G G5 G G5 G G5 …
  C: "[e3,a3]@6 e3@5 ~ [e3,a3,c4,e4,a4]@6 [c4,e4]@2 ~ [e3,a3,c4,e4]@3 [e3,c4]@2 ~ [e3,a3]@3 [e3,a3]@6 ~ a4@5 ~ e4 ~ [e3,a3,c4,e4]@3, ~@10 a4@2 ~ e4@5 ~@6, ~@13 c4@2 ~@3 [e3,a3,c4,e4]@3 [e3,a3,c4] ~@2", // A5 Am C Am C A5 Am
  D: "[~@6 e3@5 ~@2 b4@8 [e3,g#3,d4,e4]@3 e3@2 ~@5 d4@5 ~@12 [d3,g3,d4]@6 ~ g3@5 ~ g4@8 ~ d3@2 ~ f4@5 ~ a4@14 f3@3, [e3,g#3]@6 ~@6 [e3,g#3,d4,e4]@6 ~@12 [e3,g#3]@6 [e3,g#3,d4,e4]@12 ~@6 d3@5 ~ [d3,g3,d4]@9 [g3,d4]@3 [f3,a#3,d4]@6 [f3,a3,c4,f4]@12 ~@6, ~ [d4,e4]@11 ~@25 b4@24 c5@12 ~@23]/2", // E7 G5 E E7 E E7 G5 A# …
  E: "[f3,a3,c4,f4,a4]@6 ~@4 f3@2 ~ c4@5 ~ c5@17 [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4,g4]@3 ~ b4@5, ~@9 [a3,c4]@3 [f3,a3]@6 [e3,c4,e4]@17 ~@7 [d3,g3,d4]@6, ~@18 g3@12 ~@13 g4@2 ~@3", // F G G5 Am F C G5
  F: "~ [c4,e4,a4]@11 ~ e4@5 [a3,c4]@3 [e3,a3,c4,e4]@9 ~ [c4,e4,a4]@5 ~ e4@2 ~ e3@2 ~ c4@2 ~@3, [e3,a3]@2 ~@2 [e3,a3,c4]@2 ~@4 [e3,a3]@2 [e3,a3,c4] [a3,c4,e4] [e3,a3] ~, ~@13 a4@14 ~@10 a4@6 ~@5", // Am A5 Am A5 Am A5
  G: "[~@9 e3@2 ~@2 b4@5 ~ b4@2 [d4,e4,b4]@3 d4@2 ~ [e3,g#3,d4]@3 ~ b4@5 ~ b4@5 ~ d4@2 ~ e3@2 ~ [g3,d4]@5 ~ [d4,g4]@5 ~ c5@5 ~@3 [d3,d4]@3 [f3,a#3,d4]@6 ~ [f4,a4]@14 f3@2 ~, [e3,g#3,d4]@6 ~ g#3@5 [e3,g#3,d4,e4]@9 [e3,g#3]@6 ~@3 [e3,g#3,d4,e4]@6 [e3,g#3,d4,e4]@6 g#3@3 g#3@3 d3@6 [d3,g3]@5 ~ [d3,g3,d4,g4]@7 c5@12 ~@17, ~ e4@11 ~@6 e4@2 ~@23 e4@12 ~@11 [d4,g4]@2 ~@10 [f3,a3,c4]@17 ~]/2", // E7 G5 D A# F E7 E E7 …
  H: "[f3,a3,c4,f4,a4]@9 [f3,a3,c4,f4]@3 [c4,f4]@2 a4@4 [e3,g3,c4]@12 ~@7 b4@2 [d3,g3,d4,g4]@3 ~ g4@2 [d3,g3]@3, ~@4 [f3,a3]@2 ~@6 [d3,g3,d4,g4] ~ [d3,g3] ~, ~@12 a4 ~@5 [e4,c5]@18 ~@7 [d4,b4]@5", // F F5 C G5 F G5 C G
  I: "[~@7 [e3,a3]@5 ~ [e4,a4]@5 ~ [c4,e4,a4]@2 ~ [e3,a3]@2 ~@3 e3@3 ~ [a3,c4,e4]@5 ~ e4@2 [e3,a3,c4]@3 ~ c4@2 ~@4 g#3@5 ~ g#3@5 ~ [e4,b4]@5 ~ b4@2 ~@4 e4@2 [e4,b4]@3 ~ b4@5 ~ [e4,b4]@7 ~ [e3,g#3,d4]@3, [e3,a3]@6 ~@6 [e3,a3,c4]@9 e4@5 ~@19 e4@15 ~@6 e4@2 ~ [d4,e4,b4]@3 d4@3 ~@21, ~ [c4,e4,a4]@12 ~@5 a3@3 a4@15 ~ a4@23 ~@36, ~@21 c4@3 ~@6 e3@6 [e3,a3,c4]@3 ~@3 [e3,a3]@6 e3@6 e3@5 ~ [e3,g#3,d4]@9 ~ g#3@8 [g#3,d4,e4]@6 [e3,g#3,d4]@8 ~@4]/2", // A5 Am A5 Am E5 E7 A5 Am …
  J: "[d3,g3,d4]@6 ~ d4@5 [d4,g4,c5]@6 ~ c5 ~@5 d4@5 ~ a4@6 [a3,c4]@5 ~ [c4,f4]@5, ~@6 [d3,g3]@5 ~ [d3,g3]@9 g4@9 [a3,c4,f4]@6 ~@6 a3@6, ~@9 [d4,g4] c5@5 ~@9, ~@24 [f3,a#3]@5 ~ f3@12 ~@6", // G5 Csus2 Am F5 G5 F G5 A#5
  K: "~ [f4,a4]@6 ~@3 f3@2 ~ [c4,f4]@5 ~ [e4,c5]@5 ~ [c4,e4]@5 ~ [g3,c4,e4,c5]@2 [e3,g3,c4]@3 ~ [e4,c5]@2 [e3,g3,c4,e4,c5]@3 ~ c5@2 [e3,g3,c4,e4,c5]@3, [f3,a3,c4]@9 [a3,c4,f4]@3 [f3,a3]@6 [e3,g3,c4]@6 [e3,g3]@6 e3@3 ~@3 [e3,g3,c4]@2 ~@4 [e3,g3,c4,e4]@3 ~@3", // F F5 C F C Em C
  L: "[a4@3 b4@3 [g3,d4,g4] ~@2 [g3,d4,g4]@3 [d3,g3,d4,g4] ~@2 [d3,g3,d4,g4,b4]@3 g4@2 ~ g4@3 [d3,g3,d4,g4,b4]@5 ~ [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4]@3 [d3,g3,g4,b4]@5 ~ [d3,g4,b4]@2 ~ [d3,g3,d4]@2 ~ [d3,a3,d4,f4,a4]@5 ~ [d4,f4]@2 ~ [a2,d3]@2 ~@2 a4 ~ [a2,d3,a3,d4]@3 [a2,d3,a3,d4,f4,a4]@3 ~ a2@2 ~@3 a2 ~@2 [e3,a3,c4,e4,a4] ~@2 [a2,e3,a3,c4]@3 [a2,e3,a3,c4,e4,a4]@2 ~ [e3,a3,c4,e4]@2 ~ [a2,e3,a3,c4,e4,a4]@2 ~ [a2,e3,a3,c4,e4]@3, [d3,d4,g4]@9 d3 ~@8 [d3,g3,d4,b4]@6 ~@23 a2@7 a4@6 ~@2 f4@4 ~@6 a2@3 ~@3 a2@2 ~@16, g3 ~@5 a4@6 ~@20 g4@4 d4@6 ~@2 [g4,b4]@3 ~@6 a3@3 [a3,d4,f4]@3 ~ [a2,d3,a3,d4,f4]@2 ~@7 [d3,a3,d4,f4,a4]@3 [e3,a3,c4,e4]@6 ~@18, ~@73 a4@5 ~@2 [e4,a4]@4 ~@2 a4@4 ~@2 a4@4]/2", // G5 G G5 G G5 Dm D5 Dm …
  M: "a4@3 b4@3 [g3,d4,g4] ~@3 d3 ~ [d3,g3,d4,g4] ~@2 [d3,g3,d4,g4,b4]@3 [d3,g3,d4,g4] ~@2 g4@3 ~ [g4,b4]@5 ~ b4 ~ [d3,g3,d4,g4]@3 ~ [g4,b4]@5 [d3,g4,b4]@3 [d3,g3,d4,g4,b4]@3, [d3,g3,d4,g4]@3 a4@3 ~@3 b4@3 ~@6 d4@4 ~@2, ~@9 [g3,d4,g4]@3 ~@12 [d3,g3,d4]@5 ~ [d3,g3,d4,g4]@3 ~@3 [d3,g3]@5 ~@7", // G5 G G5 G G5 G G5
  N: "[d3,a3,d4,f4,a4]@5 ~ [a3,d4,f4]@2 ~ [a2,d3,a3,d4]@3 [a2,d3,a3,d4,f4]@2 ~ [a2,d3,a3]@3 [a2,d3,a3,d4,f4,a4]@3 [a2,d3,a3,d4,f4,a4]@3 a2@3 a2@2 ~@2 a4 ~ [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 [e3,a3,c4,e4,a4]@3 ~ a4@2 [a2,e3,a3,c4,e4,a4]@3, a2@6 a4@6 a4 ~@35, ~@8 f4@3 ~@3 [d4,f4]@4 ~@6 [e3,a3,c4,e4,a4]@6 [a2,e3,a3,c4,e4]@3 ~@9 [a2,e3,a3,c4,e4]@3 ~@3", // Dm D5 Dm D5 Dm Am Dm Am
  O: "~ [e4,c5]@5 [e3,g3,c4,e4]@3 [e3,g3,c4,e4]@3 ~ c5@2 ~ c3@2 ~ e4@2 [c3,e3,g3,c4,e4]@3 ~ a4@5 [c3,f3,a3,c4,f4,a4]@3 [c3,f3,a3,c4,f4]@3 [c3,f3,a3,c4,f4,a4]@6 [c3,f3,a3,c4,f4,a4]@2 ~ [f3,a3,c4,f4]@3, [c3,e3,g3,c4]@5 ~ c5@6 [c3,e3,g3,c4,e4]@3 [g3,c4,e4,c5]@4 ~@25 a4@4, ~@15 e3@2 ~ [c3,e3,g3,c4]@3 ~@3 [c3,f3,a3,c4,f4]@5 ~@16 c3 ~@2", // C F C F
  P: "[d3,g3,d4,g4,b4]@6 [d3,g3,d4]@3 [d3,g3,d4]@3 d3@3 d3@3 ~@3 d3@3 [d3,g3,d4,g4,b4]@6 [d4,g4,b4]@6 [d3,g3] b4@5 [d3,g3,d4] ~@5, ~@6 [g4,b4]@6 [g3,d4,g4,b4]@6 g4@5 ~@13 [d4,g4]@6 ~@6, ~@18 [d3,g3,d4]@2 ~@10 [d3,g3] ~@17, ~@19 b4@5 ~@18 [g4,b4]@4 ~@2", // G G5 G G5 G G5 G
  Q: "[~ [f4,a4]@5 [a3,d4,f4,a4]@2 ~ [a2,d3,a3,d4,f4,a4]@3 [d3,a3,d4,f4]@6 [a3,d4,f4]@6 [a2,d3,a3,d4,f4]@3 ~@4 a4@5 ~ [f4,a4]@5 ~@3 d3@3 ~ e4@5 [e3,a3,c4]@6 ~ a4@5 [c4,e4]@3 [c4,e4]@3 ~ e4@2 [a2,e3,a3,c4,e4]@3 ~ e4@5 [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@3 [a3,c4,e4]@3 ~ d4@5 [a3,d4]@6 [d3,a3,d4,f4,a4]@6 [f4,a4]@3 ~@6 [d3,a3,d4,f4]@3 ~ [d4,f4]@5 [a2,d3,a3,d4,f4,a4]@6 [d3,a3,d4,f4,a4]@2 ~ [a2,d3,a3,d4,f4,a4]@3, [a2,d3]@9 ~@3 [a2,a4]@12 ~@3 [a3,d4,f4,a4]@4 ~@11 a4@18 ~@13 a4@11 ~@9 a4@15 ~@13 a4@11 ~@12, [a3,d4]@5 ~@19 a4@2 ~ d3@2 ~ [d3,a3,d4]@6 [d3,a3,d4]@5 ~ [a3,d4]@6 ~@12 [a3,c4]@5 ~ [a3,a4]@6 c4@3 ~@22 f4@11 ~@9 [a3,d4,f4,a4]@3 [a3,d4,f4]@3 ~@21, ~@28 a2@8 a2@9 ~@3 [a2,e3,a3,c4]@6 ~@6 [a2,e3,e4]@9 [a2,e3]@6 ~@3 [a2,e3,a3,c4]@6 ~@9 a2@2 ~ [a2,d3,a3]@5 ~ a2@15 ~ [a2,d3]@5 ~@3 [a2,d3,a3]@5 ~@13]/3", // F Dm F Am C Am D5 Dm …
  R: "[~ a4@5 [e3,a3,c4,e4]@5 ~ [a2,e3,a3,c4,e4,a4]@6 [a3,c4,e4,a4]@3 [a3,c4,e4]@3 [a3,e4]@2 ~ [a2,e3,a3,c4,e4]@3 ~ a4@5 [e3,a3,c4,e4,a4]@2 ~ [a2,e3,a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4]@3 [a2,a3]@3 [d3,a3,d4]@6 ~ [f4,a4]@5 ~ a4@5 [d4,f4,a4]@2 ~@5 f4@2 ~@4 [f4,a4]@5 ~ a4@5 [d3,a3,d4]@3 [a2,d3,a3,d4]@3, a2@11 ~@10 [a2,e3]@5 ~@4 [a2,e3,a3,c4,e4]@9 ~@9 a2@12 [a2,d3,a3,d4,f4]@9 [a3,d4,f4]@3 d4@3 [a3,d4,f4]@3 [a3,d4]@6 [d3,a3,d4,f4]@5 ~@7, [e3,a3,c4,e4]@6 ~@15 a4@9 ~@12 a4@12 [d3,a3,d4]@6 ~@9 d3@4 a4@5 ~@12 [f4,a4]@6, ~@70 a2@6 [a2,d3]@8 a2@9 ~@3]/2", // Am A5 Am A D5 F Dm F …
  S: "~ e4@5 [a2,e3,a3,c4,e4]@5 ~ [a2,e3,a3,c4,e4,a4]@6 [a3,c4,e4,a4]@3 [a2,e3,a3,c4,e4,a4]@6 [a3,c4,e4,a4]@3 ~ a4@5 [a2,e3,a3,c4,e4,a4]@3 ~ a2@2 [a2,e3,a3,c4,e4,a4]@6, [a2,e3,a3,c4]@6 ~@21 [a2,e3]@2 ~ [a2,e3,a3,c4,e4]@5 ~@4 [e3,a3,c4,e4,a4]@3 ~@6, ~ a4@11 ~@36", // Am A5 Am
  T: "[[c3,g3,c4,e4,c5]@5 ~ [e3,g3,c4,e4]@3 [e3,g3,c4,e4]@3 [c3,e3,g3,c4,e4,c5]@2 ~ [c3,e3,g3,c4,e4]@3 [c3,e3,g3,c4,e4]@3 [c3,e3,g3,c4,e4]@3 [c3,f3,a3,c4,f4,a4]@5 ~ [a3,c4,f4,a4]@2 ~ [c3,f3,a3]@2 ~ [c3,f3,a3,c4,f4,a4]@6 [c3,f3,a3,c4,f4,a4]@2 ~ [f3,a3,c4]@2 ~ [g3,d4,g4,b4]@6 [d3,g3,d4]@2 ~ d3@3 d3@3 d3@3 [d3,g3,d4]@2 ~ d3@3 [d3,g3,d4,g4,b4]@2 ~ [d3,g3]@3 [d3,g3,d4,g4,b4]@2 ~ [g3,d4,g4]@3 [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4,g4]@3 [d3,g3,d4,g4,b4]@6, e3 ~@5 c5@6 ~@2 c5@4 ~@11 [c3,f3]@3 [c4,f4]@3 ~@9 [f4,a4]@4 ~@6 [g4,b4]@6 ~@6 [g4,b4]@6 ~@2 [d4,g4,b4]@3 ~@3 b4@3 ~@3 b4@3 ~@7, ~@45 c3 ~ d3@6 ~@3 [g3,d4]@3 ~ [g3,d4,g4,b4]@6 ~@30]/2", // C F G G5 G G5 G G5 …
  U: "[f3,a3,c4,f4,a4]@9 [f3,a3,c4,f4]@3 [c4,f4]@2 a4@4 [e3,g3,c4,e4,c5]@30, ~@2 [f3,a3] ~@5, ~@12 a4 ~@35", // F F5 C F
})).s("gm_acoustic_guitar_steel").gain(0.11).pan(0.8)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_3 = note(`<
  ~@13 A B C D E F G H I J@2 K L M@2 N A B C D E F G H I J@2 K L M@2 N A O P Q I J@2 K L M@2 N A B C D R S T U V ~ C D E
  F G H I J@2 W ~
>`.pickRestart({
  A: "~@32 b4@4 ~@6 g3@3 ~@3", B: "~@5 d3@3 ~@6 a4@4 ~@21 a2@2 ~@7", C: "~@5 c3@3 ~ c3@3 ~@6 c5@5 ~@9 a4@3 ~@13",
  D: "~@20 [g3,d4]@3 ~@10 d3@3 ~@12", // G5
  E: "~@7 a3@5 ~@6 [a3,a4]@2 ~@4 a3@2 ~@5 c4@5 ~@8 a4@4, ~ c4@11 ~@12 a4@12 ~@12, ~@24 e4 ~@23", // A
  F: "~@6 g#3@5 ~@8 e4@2 b4@3 ~ e4@2 [e3,g#3,d4]@3 ~@18, ~ b4@11 ~@6 [e3,g#3,d4]@3 ~@3 [g#3,d4]@2 ~ e4@9 ~@12, ~@25 b4@11 ~@12", // E7 G#dim
  G: "~@7 d4@5 ~@6 g3@2 ~ g4@3 ~ a#4@5 ~@15 a3@3, ~ g4@11 ~@30 [f3,a3]@3 ~@3, ~@43 [c4,f4]@5", // F F5
  H: "~@7 [c4,f4]@2 f4@3 ~ f4@5 ~@13 g3@5 ~@3 b4@4 ~@2 g4@3, ~@2 [f3,a3] ~@13, ~@7 a4@11 ~@30", // F5 F
  I: "~@6 [e3,a3]@6 ~@6 [e3,e4]@3 ~@6 [c4,e4,a4]@3 ~@13 e4@2 [e3,a3,c4,e4]@3, ~@43 a4@5", // A5 E Am
  J: "[~@7 d4@5 ~@6 d4@2 ~@4 e4@2 ~ e4@3 ~@15 d4@3 ~@21 [g3,g4]@4 f4@6 ~@17, ~ b4@11 ~@12 b4@6 ~@13 b4@17 ~@36, ~@6 e3@2 ~@34 e3@3 ~@51]/2", // G
  K: "~@7 a4 a4@4 ~@2 [c4,f4]@4 ~@12 [e3,g3,c4]@6 ~@3 b4@3 ~@3 g4@3", // F5 C
  L: "~@24 [e3,a3]@3 [a3,e4]@3 ~@9 e4@3 ~ e4@2 c4@3, ~@4 c4 ~@3", // A5
  M: "[~ d4@6 d4@5 ~@13 b4@2 d4@3 ~@14 e4@4 g4@11 ~@10 [d3,d4]@4 ~@12 [f4,a4]@5 ~ a4@5, ~@11 e3@7 ~@3 b4@9 ~@15 f3@3]/2", // D F
  N: "~@7 [c4,f4]@2 ~@4 a4@6 ~@6 c5@6 ~@2 [e4,c5]@4 ~@11, ~@3 a3 ~@20, ~@7 a4@5 ~@36", // F5 C
  O: "~@6 d3@3 ~@5 a4@4 ~@21 a2@3 ~@6", P: "~@6 c3@3 c3@3 ~@7 c5@5 ~@9 a4@3 ~@12", Q: "~@7 g3 ~@8, ~@20 d4@3 ~@25",
  R: "~@18 d3@6 ~@6 f4@2 ~ f4@4 ~@5 [d3,f4]@3 [a2,f4]@3", S: "~@7 e4@5 ~@12 a3@3 ~@18 e3@3, ~ a2 ~@6",
  T: "~@2 d3@2 ~@2 d4 ~@2 a2 ~@6", U: "~@6 a4@5 ~@13 c4@2 ~@19 [e3,c4]@3, ~@11 e4",
  V: "f4@6 ~@12 [d3,a3]@2 ~ a4@3 a3@3 ~@21", W: "~@7 a4 a4@4 ~@2 [c4,f4]@4 ~@30",
})).s("gm_acoustic_guitar_steel").gain(0.06).pan(0.8)

// drums · kick
const kick = s("bd").struct(`<
  ~@13 A@3 B C@2 A D A@3 D A@3 E C@7 D C@3 D C@3 F C@3 D C@3 D C@15 G C@3 D C@3 D ~
>`.pickRestart({
  A: "x ~@3 x!2 ~@2", B: "x ~@7 x!2 ~@6", C: "x!2", D: "x ~@2 x ~@4", E: "~@3 x ~@4", F: "x ~ x!2 ~@4", G: "x",
})).gain(0.59)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@29 A@3 B ~@5 A@2 ~@7 C ~@5 B@2 A ~@5 B A@2 B ~ A ~@11>".pickRestart({
  A: "~@7 x ~@7 x", B: "~@7 x ~@8", C: "~@15 x",
})).gain(0.39)

// drums · snare
const snare = s("sd").struct(`<
  ~@13 A@3 B C A@2 D A@3 E A@3 F A@3 G A@3 E A@7 H A@2 I J A@3 B A@3 K L A@2 M C A@2 M C A@2 N A@3 O A@3 ~@2
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@8 x!3", C: "~@3 x", D: "~@10 x ~ x!4", E: "~@12 x!4", F: "x ~ x ~ x ~@8 x!3",
  G: "~@4 x ~@4 x ~@2 x ~ x ~", H: "~@2 x ~@10 x!3", I: "~@4 x ~@6 x ~@4", J: "~@4 x ~@3 x!2 ~@6", K: "~@2 x ~@3 x!2",
  L: "~@4 x ~@7 x ~@2 x", M: "~@4 x ~@7 x!4", N: "~@4 x!2 ~@2 x!2 ~ x ~ x ~ x", O: "~@2 x ~@2 x ~@2",
})).gain(0.59)

// drums · low tom
// … 35 more lines

More by The Rolling Stones