Strudelify
Honky Tonk Woman cover art

Honky Tonk Women / You Can't Always Get What You Want

Honky Tonk Woman

The Rolling Stones

KeyG majorTempo118 bpm
0:00/0:00
// Honky Tonk Woman — The Rolling Stones
// 118 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 16 "Rhythm 1 a" rock organ (copy of ch 3 "Rhythm 1" rock organ); ch 4 "Rhythm 2" distortion guitar (copy of ch 15 "Rhythm 2 a" overdriven guitar); ch 12 "Lead 2 c" distortion guitar (copy of ch 11 "Lead 2 b" distortion guitar)
// note: Full arrangement: all 105 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(118/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 · slap bass 1 · "Bass 1"
const bass = note(`<
  ~@3 A B C@2 D@3 E F G ~@2 H@6 I ~ J K L M N K L O P Q@2 E F G ~@2 R@6 I ~ J K L M N K L O P O N S@2 T U V W X Y Z AA
  AB AC AD AE S@3 T U V W X Y Z AA AB AC AD AE S AF AG AH AG@3 AH AG@3 AH AG@3 AH AI AJ
>`.pickRestart({
  A: "~@7 g2", B: "g2@5 ~ g2@2 ~@2 g2@2 ~@2 g2@2", C: "[g2@5 ~ g2@2 ~@2 g2@2 ~@2 d2@5 ~ b2@3 ~ a2@2 g2@2 a2@2 g2@2]/2",
  D: "[b2@2 a2@2 g2@2 e2@2 g2@2 a2@2 g2@2 g2@5 ~@5 g2@2 ~@2 g2@7 ~@7 f#1@2 b1@2 d2@2]/3", E: "c2@3 ~@7 c2@2 ~@2 c2@2",
  F: "c2@3 ~@2 g2!3", G: "b2@3 ~ g2@2 f2@2 g2@3 ~@5",
  H: "[~@6 g1@2 b1@2 g2@2 a1@2 g1@5 ~@7 g2@2 ~@2 g2@5 ~@3 g1@2 b1@2 [d2,g2]@2 ~@2 c2@8 ~@4 c2@2 ~@2 c2@5 ~@3 g2@2 g2@2 g2@2 b2@2 g2@7 ~ g1@2 b1@2 g2@2 ~@4]/6", // G5
  I: "d2@5 ~@11", J: "~@7 f#1", K: "g1@3 ~@7 g1@3 ~ a1@2", L: "d2@3 ~@7 d1@3 ~ e1@2", M: "g1@3 ~@11 f#1@2",
  N: "g1@2 g1@2 ~@6 g1@3 ~ f#1@2", O: "g1@3 ~@7 g1@3 ~ f#1@2", P: "g1!2 ~@3 g1 ~@2",
  Q: "[g2@3 ~@5 g2@2 ~@2 g2@7 ~@7 f#1@2 b1@2 d2@2]/2",
  R: "[~@6 g1@2 b1@2 g2@2 a1@2 g1@5 ~@7 d2@2 ~@2 d2@5 ~@3 g1@2 b1@2 [d2,g2]@2 ~@2 c2@8 ~@4 c2@2 ~@2 c2@5 ~@3 g2@2 g2@2 g2@2 b2@2 g2@7 ~ g1@2 b1@2 g2@2 ~@4]/6", // G5
  S: "g1!2 ~@2 g1!2 ~ g1", T: "c1!2 ~@2 c1!2 ~ g1", U: "c1!2 ~ c1 e1!2 f1 f#1", V: "g1!3 ~ g1!2 ~ a1",
  W: "a1!3 ~ a1!2 b1 d2", X: "d2@3 ~ f#1@3 ~ a1@3 ~ b1@2 d2@2", Y: "d1@3 ~ f#1@3 ~ g1@2 a1@2 b1@2 d2@2",
  Z: "g1!3 ~ g1!2 ~ g1", AA: "g1!3 ~ g1!2 ~ b1", AB: "c2!2 ~@2 c2!2 ~ g1", AC: "c1!2 ~@2 e1!2 f1 f#1",
  AD: "g1@2 g1@2 g1@2 ~@4 g1@2 g1@3 ~", AE: "d1!2 ~@2 d1!2 ~ g1", AF: "g1!3 ~ g1!2 ~ f#1",
  AG: "g1@3 ~ b1@3 ~ c2@2 c#2@2 d2@2 g1@2", AH: "d1@3 ~ f#1@3 ~ d1@2 f#1@2 d2@2 f#1@2",
  AI: "g1@2 b1@3 ~ b1@2 c2@2 c#2@2 d2@2 d2@2", AJ: "g1 b1!2 d2@5",
})).s("gm_slap_bass_1").gain(0.73).pan(0.6)

// bass · electric bass pick · "Bass 1 a"
const bass_2 = note(`<
  ~@8 A@2 B C D ~@2 E@6 F ~ G H I J K H I L M N@2 B C D ~@2 O@6 F ~ G H I J K H I L M L K P@2 Q R S T U V W X Y Z AA AB
  P@3 Q R S T U V W X Y Z AA AB P AC AD AE AD@3 AE AD@3 AE AD@3 AE AF AG
>`.pickRestart({
  A: "[~@8 g1@2 ~@2 g1@7 ~@7 f#0@2 b0@2 d1@2]/2", B: "c1@3 ~@7 c1@2 ~@2 c1@2", C: "c1@3 ~@2 g1!3",
  D: "b1@3 ~ g1@2 f1@2 g1@3 ~@5",
  E: "[~@6 g0@2 b0@2 g1@2 a0@2 g0@5 ~@7 g1@2 ~@2 g1@5 ~@3 g0@2 b0@2 [d1,g1]@2 ~@2 c1@8 ~@4 c1@2 ~@2 c1@5 ~@3 g1@2 g1@2 g1@2 b1@2 g1@7 ~ g0@2 b0@2 g1@2 ~@4]/6", // G5
  F: "d1@5 ~@11", G: "~@7 f#0", H: "g0@3 ~@7 g0@3 ~ a0@2", I: "d1@3 ~@7 d0@3 ~ e0@2", J: "g0@3 ~@11 f#0@2",
  K: "g0@2 g0@2 ~@6 g0@3 ~ f#0@2", L: "g0@3 ~@7 g0@3 ~ f#0@2", M: "g0!2 ~@3 g0 ~@2",
  N: "[g1@3 ~@5 g1@2 ~@2 g1@7 ~@7 f#0@2 b0@2 d1@2]/2",
  O: "[~@6 g0@2 b0@2 g1@2 a0@2 g0@5 ~@7 d1@2 ~@2 d1@5 ~@3 g0@2 b0@2 [d1,g1]@2 ~@2 c1@8 ~@4 c1@2 ~@2 c1@5 ~@3 g1@2 g1@2 g1@2 b1@2 g1@7 ~ g0@2 b0@2 g1@2 ~@4]/6", // G5
  P: "g0!2 ~@2 g0!2 ~ g0", Q: "c0!2 ~@2 c0!2 ~ g0", R: "c0!2 ~ c0 e0!2 f0 f#0", S: "g0!3 ~ g0!2 ~ a0",
  T: "a0!3 ~ a0!2 b0 d1", U: "d1@3 ~ f#0@3 ~ a0@3 ~ b0@2 d1@2", V: "d0@3 ~ f#0@3 ~ g0@2 a0@2 b0@2 d1@2",
  W: "g0!3 ~ g0!2 ~ g0", X: "g0!3 ~ g0!2 ~ b0", Y: "c1!2 ~@2 c1!2 ~ g0", Z: "c0!2 ~@2 e0!2 f0 f#0",
  AA: "g0@2 g0@2 g0@2 ~@4 g0@2 g0@3 ~", AB: "d0!2 ~@2 d0!2 ~ g0", AC: "g0!3 ~ g0!2 ~ f#0",
  AD: "g0@3 ~ b0@3 ~ c1@2 c#1@2 d1@2 g0@2", AE: "d0@3 ~ f#0@3 ~ d0@2 f#0@2 d1@2 f#0@2",
  AF: "g0@2 b0@3 ~ b0@2 c1@2 c#1@2 d1@2 d1@2", AG: "g0 b0!2 d1@5",
})).s("gm_electric_bass_pick").gain(0.4).pan(0.6)

// bass · electric bass pick · "Bass 1 a" · soft notes
const bass_soft = note("<~@3 A B C@2 D@2 ~@96>".pickRestart({
  A: "~@7 g1", B: "g1@5 ~ g1@2 ~@2 g1@2 ~@2 g1@2", C: "[g1@5 ~ g1@2 ~@2 g1@2 ~@2 d1@5 ~ b1@3 ~ a1@2 g1@2 a1@2 g1@2]/2",
  D: "[b1@2 a1@2 g1@2 e1@2 g1@2 a1@2 g1@2 g1@5 ~@13]/2",
})).s("gm_electric_bass_pick").gain(0.2).pan(0.6)

// bass · electric bass pick · "Bass 1 b"
const bass_3 = note(`<
  ~@3 A B C@2 D@3 E F G ~@2 H@6 I ~ J K L M N K L O P Q@2 E F G ~@2 R@6 I ~ J K L M N K L O P O N S@2 T U V W X Y Z AA
  AB AC AD AE S@3 T U V W X Y Z AA AB AC AD AE S AF AG AH AG@3 AH AG@3 AH AG@3 AH AI AJ
>`.pickRestart({
  A: "~@7 g3", B: "g3@5 ~ g3@2 ~@2 g3@2 ~@2 g3@2", C: "[g3@5 ~ g3@2 ~@2 g3@2 ~@2 d3@5 ~ b3@3 ~ a3@2 g3@2 a3@2 g3@2]/2",
  D: "[b3@2 a3@2 g3@2 e3@2 g3@2 a3@2 g3@2 g3@5 ~@5 g3@2 ~@2 g3@7 ~@7 f#2@2 b2@2 d3@2]/3", E: "c3@3 ~@7 c3@2 ~@2 c3@2",
  F: "c3@3 ~@2 g3!3", G: "b3@3 ~ g3@2 f3@2 g3@3 ~@5",
  H: "[~@6 g2@2 b2@2 g3@2 a2@2 g2@5 ~@7 g3@2 ~@2 g3@5 ~@3 g2@2 b2@2 [d3,g3]@2 ~@2 c3@8 ~@4 c3@2 ~@2 c3@5 ~@3 g3@2 g3@2 g3@2 b3@2 g3@7 ~ g2@2 b2@2 g3@2 ~@4]/6", // G5
  I: "d3@5 ~@11", J: "~@7 f#2", K: "g2@3 ~@7 g2@3 ~ a2@2", L: "d3@3 ~@7 d2@3 ~ e2@2", M: "g2@3 ~@11 f#2@2",
  N: "g2@2 g2@2 ~@6 g2@3 ~ f#2@2", O: "g2@3 ~@7 g2@3 ~ f#2@2", P: "g2!2 ~@3 g2 ~@2",
  Q: "[g3@3 ~@5 g3@2 ~@2 g3@7 ~@7 f#2@2 b2@2 d3@2]/2",
  R: "[~@6 g2@2 b2@2 g3@2 a2@2 g2@5 ~@7 d3@2 ~@2 d3@5 ~@3 g2@2 b2@2 [d3,g3]@2 ~@2 c3@8 ~@4 c3@2 ~@2 c3@5 ~@3 g3@2 g3@2 g3@2 b3@2 g3@7 ~ g2@2 b2@2 g3@2 ~@4]/6", // G5
  S: "g2!2 ~@2 g2!2 ~ g2", T: "c2!2 ~@2 c2!2 ~ g2", U: "c2!2 ~ c2 e2!2 f2 f#2", V: "g2!3 ~ g2!2 ~ a2",
  W: "a2!3 ~ a2!2 b2 d3", X: "d3@3 ~ f#2@3 ~ a2@3 ~ b2@2 d3@2", Y: "d2@3 ~ f#2@3 ~ g2@2 a2@2 b2@2 d3@2",
  Z: "g2!3 ~ g2!2 ~ g2", AA: "g2!3 ~ g2!2 ~ b2", AB: "c3!2 ~@2 c3!2 ~ g2", AC: "c2!2 ~@2 e2!2 f2 f#2",
  AD: "g2@2 g2@2 g2@2 ~@4 g2@2 g2@3 ~", AE: "d2!2 ~@2 d2!2 ~ g2", AF: "g2!3 ~ g2!2 ~ f#2",
  AG: "g2@3 ~ b2@3 ~ c3@2 c#3@2 d3@2 g2@2", AH: "d2@3 ~ f#2@3 ~ d2@2 f#2@2 d3@2 f#2@2",
  AI: "g2@2 b2@3 ~ b2@2 c3@2 c#3@2 d3@2 d3@2", AJ: "g2 b2!2 d3@5",
})).s("gm_electric_bass_pick").gain(0.3).pan(0.6)

// chords · rock organ · "Rhythm 1"
const rock_organ = note(`<
  ~@3 A B C D E F ~ G H I J K L ~@2 M N ~ O P@2 Q R Q@3 S T U V ~ W X I J K L ~@2 M N ~ O Y@3 R Z AA@2 AB AC AD AE AF
  AG@2 AH AI AJ AK AL AM AN AO AP AH AQ AR AS AG@2 AH AI AJ AK AL AM AN AO AP AH AQ AR AS AT AU AV AW@3 AV AU AW@2 AX
  AW@3 AV AY@2
>`.pickRestart({
  A: "~@7 d5", B: "~@3 d5 ~ d5 ~ d5", C: "~@3 d5 ~ d5 ~ [g4,d5]", D: "[g4,d5]@3 ~ d5@3 ~ d5@2 d5@2 d5@2 d5@2",
  E: "d5!8", F: "~@5 d5 ~ d5", G: "~@5 [c5,f5] ~ [c5,f5]", H: "[c5,e5]@3 ~@2 g5 f5 d5", I: "d5@3 ~ d5@2 d5@2 d5@3 ~@5",
  J: "~ [a4,c#5] [a4,d5] ~ [a4,d5] [a4,c#5] ~@2", K: "[d5,f#5]@3 ~@2 [b4,g5] ~ [b4,g5]", L: "[a4,f#5]@3 ~@5",
  M: "c5@3 ~@2 [c5,f5] ~ [c5,f5]", N: "[c5,e5]@3 ~@3 g5@2 f5@2 d5@2 d5@2 d5@2",
  O: "[d5,f#5]@5 ~ d5@2 g5@2 d5@2 a#4@2 a4@2", // D
  P: "[g4@3 ~@3 [b5,e6]@4 [b5,e6]@2 [b5,e6]@2 b5@2 g6@2 e6@8 [b5,e6]@6, ~@7 e6@2 a5 ~@6]/2", // E5
  Q: "[d5,g5]@2 [d5,g5]@2 [e5,g5]@3 ~ [d5,g5]@3 ~ [e5,g5]@3 ~", R: "f#5 [f#5,a5] [f#5,a5]@2 [f#5,a5]@2 [f#5,a5]@2",
  S: "f#5 [f#5,a5] f#5@2 f#5@2 [f#5,a5]@2, ~ a5@2 ~", T: "[d5,g5] d5!7", U: "d5!6 ~@2", V: "d5@3 ~@7 d5@2 ~@2 d5@2",
  W: "~@5 f5 ~ f5", X: "e5@3 ~@2 g5 f5 d5",
  Y: "[g4@3 ~@3 [b5,e6]@4 [b5,e6]@2 [b5,e6]@2 b5@2 g6@2 a5@2 ~@8 a5@4 [d5,g5]@2 [d5,g5]@2 [e5,g5]@3 ~ [d5,g5]@3 ~ [e5,g5]@3 ~, ~@7 e6@2 e6@4 e6@11, ~@5 [a5,d6]@2 d6@5, ~@13 b5@3 ~@8]/3", // E5 G5 Em G5 Em D5
  Z: "[d5,g5]@2 [b4,d5]@2 [c5,e5]@3 ~ [b4,d5]@3 ~ [c5,e5]@3 ~", // G5 Bm C Bm C
  AA: "[b4,d5]@2 [b4,d5]@2 [c5,e5]@3 ~ [b4,d5]@3 ~ [c5,e5]@3 ~", AB: "[d5,f#5]!2 [d5,f#5]@2 [d5,f#5]@2 [d5,f#5]@2",
  AC: "[b4,d5,g5] [a#4,d5] [b4,d5]!2 [a4,d5] [g4,d5] [a4,d5] [g4,d5]", // G A# Bm D5 G5 D5 G5
  AD: "[b4,d5] [a4,d5] [g4,d5] [e4,d5] [g4,d5]!2 ~@2", // Bm D5 G5 E7 G5
  AE: "[d5,g5] [b4,d5] [a4,d5] [g4,d5] [b4,d5] [a4,d5] [g4,d5] [a4,d5]", // G5 Bm D5 G5 Bm D5 G5 D5
  AF: "[b4,d5]@2 [a4,d5]@2 [b4,d5]@2 [g4,d5]@6 [e5,g5]@3 ~", AG: "[g4,b4]!2 ~@2 [g4,b4]!2 ~@2",
  AH: "[c5,e5]!2 ~ [c5,e5]@5", AI: "[c5,e5]!2 ~ [c5,e5]@3 ~ [b4,d5]", AJ: "[b4,d5]!3 ~ [b4,d5]!2 ~ [c#5,e5]",
  AK: "[c#5,e5]!3 ~ [c#5,e5]!2 ~@2", AL: "[d5,f#5]!2 ~@2 [d5,f#5] [a4,f#5] ~@2", AM: "[d5,f#5]!2 ~ [d5,f#5]@5",
  AN: "[d5,g5]@2 [d5,g5]@2 f5@2 e5@2 d5@3 ~ a#4@2 b4@2", AO: "[d5,g5]!2 f5 e5 d5 e5 a#4 b4",
  AP: "[c5,e5]!2 ~@2 [c5,e5]!2 ~@2", AQ: "[d5,g5] [d5,f5] ~ d5 c#5 g4 a#4 b4", AR: "[a4,d5]!2 ~ [a4,d5]@2 e5 a#4 b4",
  AS: "[d5,g5]!2 ~@2 [d5,g5]!2 ~@2", AT: "[d5,g5]@2 [d5,g5]@2 f5@2 e5@2 d5@2 a#4@2 b4@3 ~",
  AU: "g5@2 d5@2 e5@3 ~ d5@3 ~ e5@3 ~", AV: "f#5 a5 a5@2 a5@2 a5@2", AW: "d5@2 d5@2 e5@3 ~ d5@3 ~ e5@3 ~",
  AX: "~ a5 a5@2 a5@2 a5@2",
  AY: "[[d5,g5] g6 f6 ~@3 a#5 ~ g5 g4 [f4,a4] [g4,b4]@5, ~@3 d6@2 d6@11, ~ b5@3, ~@7 a5@9]/2", // G5 F G
})).s("gm_rock_organ").gain(0.46).pan(0.2)

// chords · overdriven guitar · "Rhythm 2 a"
const overdriven_guitar = note(`<
  ~@22 A B C D E C F G H I J K L M J N O P Q R S T U V A B W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL AM J AN AI AO
  AP AM J AG AH AI@2 AJ AK AL AM J AN AI AO AP AM J AQ AR ~ AS AT AU ~ AT@2 AV AW AX AT AY ~ AZ@2
>`.pickRestart({
  A: "g3@3 ~@3 [b4,e5]@4 [b4,e5]@2 [b4,e5]@2 [b4,e5]@2", B: "[b4,g5]@2 [a4,e5]@2 [a4,d5]@6 [b4,e5]@2 [a4,d5]@3 ~",
  C: "[d4,g4]@2 [d4,g4]@2 [e4,g4]@3 ~ [d4,g4]@3 ~ [e4,g4]@3 ~", D: "[f#4,a4]!2 [f#4,a4]@2 [f#4,a4]@2 [f#4,a4]@2",
  E: "[d4,g4]@2 [b3,d4]@2 [e4,g4]@3 ~ [b3,d4]@3 ~ [e4,g4]@3 ~", F: "[g4,b4]@2 [g4,b4]@5 ~ [d4,g4]@2 [d4,g4]@5 ~",
  G: "[d4,f#4] [d4,f#4]@2 [d4,f#4]!3 [a#3,d4] [a3,c4]", H: "[d4,g4] [a#3,d4] [b3,d4]!2 [a3,d4] [g3,d4] [a3,d4] [g3,d4]",
  I: "[b3,d4] [a3,d4] [g3,d4] [e3,d4] [g3,d4]!2 ~ g3", J: "[b3,d4]", K: "~@10 [b3,d4] ~ [b3,d4] ~ [b3,d4] ~",
  L: "~@5 [c4,f4] ~ [c4,f4]", M: "[c4,e4] ~ [c4,e4]@4 c3@2 [c4,e4] ~ [c4,e4]@4 c3@2",
  N: "~ [a3,c#4] [a3,d4] ~ [a3,d4] [a3,c#4] ~@2", O: "[d4,f#4]@3 ~@2 [b3,g4] ~ [b3,g4]", P: "[a3,f#4]@3 g3 b3 g4 a3 g3",
  Q: "d5@4 ~@2 d4 g4, ~@4 g3@3 ~, ~@5 b3@2 ~", R: "[b3,d4] ~ [b3,d4]@4 g2@2 [b3,d4] ~ [b3,d4]@4 g2@2",
  S: "c4@3 ~@2 [c4,f4] ~ [c4,f4]", T: "[c4,e4]@4 c4 ~ e4 g4 [c4,e4]@4 [b3,d4]@4",
  U: "~@2 [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4]@4 g2@2", // Bm
  V: "~@2 [d4,f#4] ~ [d4,f#4] ~ [d4,f#4] ~ [d4,f#4] ~ [d4,f#4]@4 d3@2", W: "d4@2 d4@2 e4@3 ~ d4@3 ~ e4@3 ~",
  X: "a4@2 f#4@2 f#4@4 d4@2 d4@3 ~ e4@2", Y: "d4@2 b3@2 e4@3 ~ d4@3 ~ e4@3 ~", Z: "d4@2 b3@2 e4@3 ~ b3@3 ~ e4@3 ~",
  AA: "d4@2 b3@2 e4@3 ~ b3@3 ~ e4@2 a4@2", AB: "f#4@2 a4@2 a4@4 d4@2 d4@3 ~ e4@2",
  AC: "b3@2 a#3@2 b3@2 b3@2 a3@2 g4@3 ~ f#4@2", AD: "b3 a3 g3 e3 g3 ~@3",
  AE: "[b3,d4]@4 ~@2 [c4,e4] ~ [b3,d4]@4 [c4,e4]@4", AF: "[b3,d4] [c4,e4] [b3,d4] [c4,e4]",
  AG: "[b3,d4]@4 g3 ~ d4 g4, ~@5 b3@2 ~", AH: "[b3,d4] ~ [b3,d4]@3 ~ [b3,d4]@6 [b3,d4] ~ [b3,d4] ~", AI: "[c4,e4]",
  AJ: "~@2 [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4]@4 [c#4,e4]@4", // Bm C#m
  AK: "~@2 [c#4,e4] ~ [c#4,e4] ~ [c#4,e4] ~ [c#4,e4] ~ [c#4,e4]@5 ~", // C#m
  AL: "[a3,d4]@4 ~@2 a4 d5, ~@4 d4@3 ~, ~@5 f#4@2 ~", AM: "[d4,f#4]",
  AN: "~@2 [g3,b3] ~ [b3,d4] ~ [g3,b3] ~ [b3,d4] ~ [b3,d4]@5 ~", AO: "[c4,e4]@4 ~@2 g4 c5, ~@4 c4@3 ~, ~@5 e4@2 ~",
  AP: "[b3,d4]@4 ~@2 d4 g4, ~@4 g3@3 ~, ~@5 b3@2 ~", AQ: "[b3,d4] ~ [g3,b3]@4 ~@2 [b3,d4] ~ [g3,b3]@5 ~",
  AR: "d4@4 c4@4 b3@4 ~@2 c4 ~", AS: "b3@4 e4@4 b3 ~ b3@2 c4@4", AT: "b3 c4 b3 c4", AU: "~@4 [g3,c4] ~ c4@2 b3@4 c4@4",
  AV: "~@2 b3 ~ c4@4 ~@2 d4 ~ e4@4", AW: "d4@4 c4 f#4 a4 d5", AX: "~@2 b3 ~@3 e4 ~ b3@4 c4@4",
  AY: "d4 ~ b3@2 c4@4 b3@4 c4@4",
  AZ: "[[d3,g3] g4 f4 ~@3 a#3 ~ g3 g2 [f2,a2] [g2,b2]@5, ~@3 d4@2 d4@11, ~ b3@3, ~@7 a3@9]/2", // G5 F G
})).s("gm_overdriven_guitar").gain(0.65).pan(0.8)

// other · overdriven guitar · "Rhythm 3"
const overdriven_guitar_2 = note("<~@89 A B C D E F D@2 G H I J K L M@2>".pickRestart({
  A: "g4@5 ~ g4@2 g4@2 ~@6", B: "g5@2 g5 ~ f5@2 e5@2 d5@2 g4@2 a#4@2 b4@2", C: "g4 g4@7 a4 ~@7",
  D: "g4@3 ~ b4@3 ~ c5@2 c#5@2 d5@2 g4@2", E: "d5@2 c5 e5 b4@2 e5@2", F: "~ g5 f5 d5@2 g5!3",
  G: "d5 ~ g5 ~@3 g4@2 d5 ~ g5 ~@5", H: "g5 ~ g5 ~ f5@2 d5@4 g5@2 a#5@2 b5 ~", I: "d6 g5@7 g5 ~@7", J: "d6@2 d6 ~",
  K: "d5 b4 d5 b4 d5 b4 d5 c5", L: "b4 ~ a4 a#4 ~ b4@11",
  M: "[[d4,g4] g5 f5 ~@3 a#4 ~ g4!2 [f4,a4] [g4,b4]@5, ~@3 d5@2 d5@11, ~@4 b4@7 ~@5, ~@7 a4@3 ~@6]/2", // G5 F G
})).s("gm_overdriven_guitar").gain(0.46).pan(0.4)

// other · tenor sax · "Solo 1"
const tenor_sax = note(`<
  ~@23 A B C D E F G H I ~@16 J K L M N O P Q R S T@2 U V W X Y Z AA AB AC AD AE AF AG@2 ~@31
>`.pickRestart({
  A: "~@7 f#4", B: "g4@3 ~@7 g4@3 ~ a4@2", C: "d5@3 ~@7 d4@3 ~ e4@2", D: "d4@2 b3@2 g4@3 ~ d4@3 ~ g4@3 ~",
  E: "g4@2 d4@2 g4@3 ~ d4@3 ~ g4@3 ~", F: "g4@2 b4@5 ~ g4@2 d4@5 ~", G: "d4 f#4@2 d4 f#4 d4!2 a3",
  H: "d4 a#3 d4!2 a3 d4 a3 d4", I: "b3 d4 g3 d4 g3 d4 ~ g3", J: "b3@2 d4@2 g4@3 ~ d4@3 ~ g4@3 ~",
  K: "d5@2 a4@2 f#4@4 ~@2 d4@3 ~ e4@2", L: "d4@2 b3@2 e4@3 ~ d4@3 ~ c4@3 ~", M: "b4@2 d5@2 e5@3 ~ d5@3 ~ c5@3 ~",
  N: "d5@2 b4@2 e5@3 ~ b4@3 ~ c5@2 a5@2", O: "d6@2 a5@2 f#5@4 ~@2 d5@3 ~ e5@2", P: "g4 a#3 d4 b3 d4 g4 a3 g3",
  Q: "b3@2 a3@2 g3@2 e3@2 g3@2 d4@2 [d3,e3,f#3,g3,a3,b3] [c4,d4,e4,f#4] [g4,a4,b4] [c5,d5,e5]", // Em7 D7 G C
  R: "g5 d5 a4 g4 [b4,d5] d5 g4 d5", S: "[b4,d5] a4 b4 g4 d5 g4 [c5,e5] [e5,g5]",
  T: "[[g5,b5]@2 g5@2 b4@2 g4@2 b4@2 a4@2 g4@2 g4@4 e4@2 a4@2 e4@2 g4@2 g4@3 ~ g5@2]/2", // G
  U: "e4 g4@2 e5@2 g5@2 e4@2 g4@2 e5@2 g5@2 ~", V: "e4@2 g4@2 a#4@2 a#4@2 g4!2 g4@3 g4 g4@2",
  W: "[b4,d5] d5 f5 d5 a#4 b4 g4!2", X: "c#5 e5 c5 b4 a4 b4 f4 e4", Y: "d4@5 ~ [d4,f#4]@2 e4@2 ~@2 d4@2 [d4,f#4]@2",
  Z: "d4@2 d4@3 ~ g4@2 g4@2 g4@4 d5@2", AA: "b4 a4 g4 e4 g4 a4 g4!2", AB: "g4!2 a4 g4 a#4 a4 g4 d4",
  AC: "[c4,e4]@2 [e4,g4]@2 [e4,g4]@2 [e5,g5]@2 e5@2 g4@2 d4 c4 a3@2", AD: "c4@3 ~ g4@3 ~@9", AE: "~@3 b4 g5!2 a4 g4",
  AF: "b5 a5 g5 e5 b4 a4 g4!2", AG: "[g4@2 [d5,g5]@2 [d4,g4]@2 b4@3 ~ e5@2 e5@10 ~@10]/2",
})).s("gm_tenor_sax").gain(0.72)

// other · alto sax · "Solo 2 c"
const alto_sax = note("<~@55 A B C D@2 E F G H I J K L M N O P Q@2 ~@31>".pickRestart({
  A: "~@12 [d3,e3,f#3,g3,a3,b3] [c4,d4,e4,f#4] [g4,a4,b4,c5] [d5,e5]", B: "g5 d5 a4 g4 [b4,d5] d5 g4 d5",
  C: "[b4,d5] a4 b4 g4 d5 g4 [c5,e5] [e5,g5]", // Bm C Em
  D: "[[g5,b5]@2 g5@2 b4@2 g4@2 b4@2 a4@2 g4@2 g4@4 e4@2 a4@2 e4@2 g4@2 g4@3 ~ g5@2]/2", // G
  E: "e4 g4@2 e5@2 g5@2 e4@2 g4@2 e5@2 g5@2 ~", F: "e4@2 g4@2 a#4@2 a#4@2 g4!2 g4@3 g4 g4@2",
  G: "[b4,d5] d5 f5 d5 a#4 b4 g4!2", H: "c#5 e5 c5 b4 a4 b4 f4 e4", I: "d4@5 ~ [d4,f#4]@2 e4@2 ~@2 d4@2 [d4,f#4]@2",
  J: "d4@2 d4@3 ~ g4@2 g4@2 g4@4 d5@2", K: "b4 a4 g4 e4 g4 a4 g4!2", L: "g4!2 a4 g4 a#4 a4 g4 d4",
  M: "[c4,e4]@2 [e4,g4]@2 [e4,g4]@2 [e5,g5]@2 e5@2 g4@2 d4 c4 a3@2", N: "c4@3 ~ g4@3 ~@9", O: "~@3 b4 g5!2 a4 g4",
  P: "b5 a5 g5 e5 b4 a4 g4!2", Q: "[g4@2 [d5,g5]@2 [d4,g4]@2 b4@3 ~ e5@2 e5@10 ~@10]/2",
})).s("gm_alto_sax").gain(0.72)

// other · electric bass pick · "Lead 2"
const electric_bass_pick = note(`<
  ~@7 A B@2 C A D@3 A E@3 F G H I J@2 K L ~ M N O A B@2 C A P@3 A E@3 F G H I J@2 K L ~ M N O ~@18 Q R S T U V W X Y Z
  AA AB AC AD AE AF@2 AG AH ~ AI AJ AK AL@2 AG AH ~ AI AJ AK ~
>`.pickRestart({
  A: "~@7 g4", B: "[b4@2 g4@5 ~ g4@2 g4@3 ~ b4@4 a4@3 ~ g4@3 ~ g4@3 ~ f4@2]/2", C: "g4@3 ~@5",
  D: "[b4@3 ~ g4@2 b4@3 ~ g4@3 ~ b4@4 a4@5 ~ g4@2 g4@3 ~ a4@5 ~@13]/3",
  E: "[b4@2 g4@5 ~ g4@3 ~ g4@2 b4@4 a4@3 ~ g4@3 ~ g4@3 ~ f4@4 g4@5 ~@9]/3", F: "~@5 g4!2 g5",
  G: "~ [e5,g5] ~ [b4,g5] ~ [g4,g5] ~@2", H: "[d5,f#5]@3 ~ d5@2 g5@2 ~@2 [b4,g5]@2 [a4,f#5]@2 [g4,g5]@2",
  I: "[g4,g5]@3 ~@13", J: "[~@5 [d5,g5] [e5,g5] [g5,b5]@6 [e5,a5] [d5,g5] [b4,e5]]/2",
  K: "[d5,f#5]@5 [d5,g5] b4 a4, ~@3 g5", L: "[g4,b5] [g4,b5]@6 ~@9", M: "[g5,b5]@2 [g5,b5]@5 ~ [d5,g5]@2 [d5,g5]@5 ~",
  N: "[d5,f#5] [d5,f#5]@2 [d5,f#5]!3 [a#4,d5] [a4,c5]", O: "[g4,b4]@3 ~@13",
  P: "[b4@2 d5@2 ~@4 a#4@2 a4@3 ~ b4@4 a4@5 ~ g4@2 g4@3 ~ a4@5 ~@13]/3", Q: "~@6 b3 e4 b4@2 a4@2 g4@2 g4@2",
  R: "g4@5 ~ e4@2 g4@2 g4@3 ~ g3@2", S: "e4 g4 ~@2 e4 g4 ~@2", T: "e4 g4 a#4 ~ g4!2 ~@2", U: "~ d4 f4 d4 a#3 b3 g3!2",
  V: "c#4 e4 c4 b3 a3 b3 f3 e3", W: "d3@5 ~ f#4@3 ~ a4@2 e4@2 b3@2", X: "d4@5 ~ g3@6 ~ b4@3",
  Y: "b4 a4 g4 e4 g4 a4 g4!2", Z: "g4@3 ~ a4@2 g4@2 a#4@2 a4@2 g4@2 d4@2",
  AA: "[c4,e4]@2 [e4,g4]@2 [e4,g4]@3 ~ e4@2 g4@2 d4 c4 a3@2", AB: "c4@3 ~ g3@3 ~@9", AC: "~@3 b3 g4!2 a4 g4",
// … 97 more lines

More by The Rolling Stones