Strudelify

(Do Not) Stand in the Shadows

Billy Idol

KeyD majorTempo172 bpm
0:00/0:00
// (Do Not) Stand in the Shadows — Billy Idol
// 172 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 11 electric guitar muted (copy of ch 8 electric guitar muted); ch 13 electric guitar jazz (copy of ch 12 electric guitar jazz, 0.25 beats late)
// note: Full arrangement: all 140 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 29.
setcpm(172/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 · overdriven guitar
const overdriven_guitar = note(`<
  ~@9 A@2 B C@5 D E F G H I J K L M N O P M N O P M Q O P R Q O S E F G H I J K L M N O P M N O P M Q O P R Q O S E F G
  H I J K L E F G H I J K L T@4 U@4 V@4 W@2 X Y M N O P M N O P M Q O P R Q O S E F G H I J K L E F G H I J K L Z AA AB
  AC AD AE AF AG@2 ~
>`.pickRestart({
  A: "[~@14 [a#2,f3,a#3] [f3,a#3] [f3,a#3]@14 [a2,e3,a3]!2, ~@15 a#2@14 ~@3]/2", B: "[a2,e3,a3]@14 ~ [c3,f3], ~@7 f2",
  C: "[~ f2@13 b2!2 b2@11 c3 [c#3,d3] [d#3,e3] [a#2,e3,a#3] [a#2,f3] [a#2,f3]@14 c3!2 [c3,g3]@14 [d3,a3,d4] [a3,d4] [a3,d4]@16, [c3,f3]@13 ~ e3@13 ~@4 a#3@15 c4@15 ~@19, ~@14 e2@2 e2@14 ~@16 g3@2 ~@15 d3@17]/5", // Dmaj7 Emaj7 A#dim A#5 C5 D5 F5
  D: "[d3,a3,d4]@15 ~", E: "[d3,a3,d4]@14 d#4 [e3,e4]", F: "[e3,b3,e4]@14 a#3 [g#3,a3]", G: "[c3,g3,c4]@14 c#3 d3",
  H: "[d3,a3,d4]", I: "[d3,a3,d4]@14 d#4 e4", J: "[e3,b3,e4]@7 ~", K: "[c3,g3,c4]@14 a#3 a3", L: "[a2,e3,a3]",
  M: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ a3@2 g3@2 f#3@2", N: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~",
  O: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~", P: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ a2 ~",
  Q: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ f#3@2 g3@2 f#3@2", R: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ a3@2 g3@2 f#3 ~",
  S: "[d3,a3,d4]@12 c#4 ~@3", // D5
  T: "[[g2,d3,g3]@4 [g2,g3]@4 [g2,g3]@2 g2@2 g2 ~ [d3,g3]@4 d3@2 g2@2 g2@2 [g2,d3]@4 g2@2 [g2,g3]@6 [g2,d3,g3]@2 [g2,d3,g3]@2 d3@2 d3@4 g3@4 ~@2 d3@2 [g2,d3]@2 d3@2 [g2,d3]@2 [g2,d3,g3]@4, ~@2 d3@3 [d3,g3]@2 g2@3 d3@2 ~@2 d3@4 ~@2 [g2,g3]@3 g2@4 ~@5, ~@9 g3@5 ~@9 d3@3 ~@6, ~@25 g3@3 g3@2 ~@2]/4", // G5 G G5 G G5 G
  U: "[[d3,a3,d4]@30 ~ [d3,a3,d4]@32 ~]/4", // D5
  V: "[g2@4 ~@2 d3@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@4 g2@2 [g2,d3,g3]@2 g2 ~ g2@2 g2@2 g2@2 [g2,d3]@6 g2@2 g2 ~@3 [g2,d3]@4 [g2,d3,g3]@6 [g2,g3]@4 [g2,g3]@4 [g2,d3,g3]@4, [d3,g3]@6 g3@4 ~@4 g3@6 ~@2 d3@6 ~@8 d3@6 ~@10 d3@7 ~@5, ~@2 g2@2 ~@9 g3@2 g3@4 g3@4 ~@9]/4", // G5 G G5
  W: "[[d3,a3,d4]@31 ~]/2", X: "e3!2 [a2,e3,a3]!2, [a2,a3] ~", Y: "[a2,e3,a3]@5 ~@11",
  Z: "[a#2,f3,a#3]@2 [a#2,f3,a#3]@3 [a#2,f3,a#3] [a#2,f3,a#3]@2", // A#5
  AA: "e3@2 e3 [a2,e3,a3]@2 [a2,a3] [a2,a3]@2, [a2,a3]@6 ~@4 e3@5 ~", // A5 A
  AB: "[f3,c4,f4] [f3,c4]!2 [f3,c4,f4]@2 [f3,c4,f4] [f3,c4,f4]@2, ~ f4@2 ~@5", // F5
  AC: "[e3,b3,e4]!3 [e3,b3,e4]@2 [e3,b3,e4] [e3,b3,e4]@2", // E5
  AD: "a#3 ~ a#2 [f3,a#3]@2 a#3 [a#2,a#3]@2, f3@6 ~@4 f3@5 ~, a#2@2 ~ a#2@3 ~@2, ~ a#3@2 ~@5", // A#5 A#
  AE: "f4@2 f4@2 [g3,c4,f4]@2 [c3,g3,c4,e4]@4 c#3 [d3,c#4] [d3,a3,d4,f#4]@4, c3@3 ~@5, [g3,c4] ~@3", // Csus4 C Dmaj7 D C5
  AF: "[d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2", // D
  AG: "[~ [d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4]@2 ~]/2", // D
})).s("gm_overdriven_guitar").gain(0.22).pan(0)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
  ~@13 A ~ B ~@2 C D E ~ F G H ~@16 I C D E ~ F G H ~@16 I C D E ~ F G H ~ C D E ~ F G H ~@2 J ~@6 K L M ~@4 N ~@15 I C
  D E ~ F G H ~ C D E ~ F G H ~@6 O ~@4
>`.pickRestart({
  A: "~@11 f3 [f#3,g3] [g#3,a3] ~@2", B: "~@13 d3 ~@2", C: "~@14 [d#3,a#3] b3", D: "~@14 d#3 [d3,g3]",
  E: "~@14 c#4 [g#3,a3]", F: "~@14 a#3 b3", G: "~@14 [d#3,a#3,d#4] [c3,c#3,d3,g3,g#3,a3]", H: "~@14 [f3,f#3,b3] e3",
  I: "~@12 g#3 [c#3,g3,c4] [c3,f#3,b3] [b2,f3]", J: "~@6 g3 ~", K: "~@5 g3@2 ~", L: "~@3 g3!2 ~ d3 ~", M: "~@4 g2 ~@3",
  N: "~@5 [g#2,g3,g#3] [g2,f#3] ~@9", O: "~@11 [g#3,f4] ~@4",
})).s("gm_overdriven_guitar").gain(0.1).pan(0)

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

// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@13 A ~@10 B ~@8 C D ~@13 B ~@8 C D ~@13 B ~@7 B ~ E F@2 G ~@2 H@2 I J K L ~@2 M ~@8 C D ~@13 B ~@7 B ~@2 N ~@2 O P Q
  R S ~
>`.pickRestart({
  A: "~@12 f3 [c3,c#3,f#3] [d3,d#3,g3] e3", B: "~@15 a#3", C: "~@2 [a3,g4]!2", D: "[a3,f#4]@2 [a3,f#4]@2 [a3,f#4] ~@3",
  E: "~@6 d3 ~", F: "[~@5 [g2,d3,g3] ~ d3@2 ~@5 g2 ~]/2", G: "~@2 g2@3 ~@3, ~ g3 ~@2", H: "[d4@29 ~@3]/2",
  I: "~@2 d3@3 ~@3", J: "~@4 d3!2 ~@2", K: "~@3 d3@2 ~ g2 ~", L: "~@5 d3 ~@2", M: "~ a3@2 ~, ~ a2 ~@2", N: "~@3 e3",
  O: "~@2 f3 ~@3 f3@2", P: "~@2 c4@2 ~@8 [c3,g3] c#3 [d3,c#4]@2", Q: "~@2 d3 ~@2 d3 ~@2", R: "d3 ~@2 d3 ~@2 d3 ~",
  S: "~ d3 ~@2 d3 ~@2 d3",
})).s("gm_overdriven_guitar").gain(0.22).pan(1)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft_2 = note(`<
  ~@13 A ~@5 B C ~ D ~ E ~@16 F ~ B C ~ D ~ E ~@16 F ~ B C ~ D ~ E ~@2 B C ~ D ~ E ~ G H I ~@4 J ~ K ~ L ~@3 M ~@15 F ~
  B C ~ D ~ E ~@2 B C ~ D ~ E ~@6 N O P Q@2
>`.pickRestart({
  A: "~@14 [g#3,a3] ~", B: "~@15 [a#3,c#4,d#4]", C: "~@15 c#4", D: "~@15 [d#3,a#3,d#4]", E: "~@15 f3",
  F: "~@10 [g#3,c#4] [g3,c4] [f#3,b3] ~@3", G: "~@4 d3 ~@3, ~@3 g3@2 ~@3", H: "~@3 d3 ~@4", I: "~@5 g2 ~@2",
  J: "~@12 g#3 [c#3,f#3,g3] c3 ~", K: "~ d3 ~@6", L: "~@5 g3 ~@2", M: "~@4 g#3 ~@11", N: "~@13 g#3 [a3,d4]@2",
  O: "~@5 [a3,d4] ~@5 [a3,d4] ~@4", P: "~ [a3,d4] ~@5 [a3,d4] ~@5 [a3,d4] ~@2",
  Q: "[~@3 [a3,d4] ~@5 [a3,d4] ~@5 [a3,d4]@2 ~@15]/2", // D5
})).s("gm_overdriven_guitar").gain(0.1).pan(1)

// other · flute
const flute = note(`<
  ~@42 A B C D A E C F ~@16 G H C D I J C B G K C D G K L@2 ~@32 G B C M G E C N G H C O P Q R N ~@10
>`.pickRestart({
  A: "~ a4 g4@2 f#4@2 e4 d4", B: "e4@2 e4@5 ~@9", C: "~ g4 f#4@2 e4@2 a3!2", D: "d4@2 d4@5 ~@9",
  E: "e4 e4@2 f#4@2 e4@2 ~", F: "d4 d4@3 ~@4", G: "~ a4 g4@2 f#4@2 d4!2", H: "e4 e4@2 ~@5", I: "~ g4@2 f#4!3 e4 d4",
  J: "e4@2 e4@4 f#4@4 e4@5 ~", K: "e4@2 e4@4 f#4@4 e4@3 ~@3", L: "[c4@10 c4@4 a3@8 a4@4 g4 f4 [c4,d4,e4] b3 ~@2]/2",
  M: "d4 d4@2 ~@5", N: "e4 e4@4 ~@3", O: "d4 d4@2 ~@3 a4!2", P: "a4@2 d4@5 ~@5 a4@2 a4@2", Q: "a4@2 d4@5 ~@9",
  R: "~ g4 f#4@2 e4@2 d4!2",
})).s("gm_flute").gain(0.22)

// chords · overdriven guitar
const overdriven_guitar_3 = note(`<
  ~@18 A B C D E B F G H ~@3 H ~@2 I J K ~ L M K ~ N A B C D E B F O H ~@3 H ~@2 P J K ~@2 H K ~ N A B C D E B F G A B C
  D E B F O Q@3 R S T U V W X Y@2 Z AA AB@3 ~@3 H ~@2 P J K ~@2 H K ~ N A B C D E B F O A B C D E B F O ~@10
>`.pickRestart({
  A: "d3 [a3,d4,g4]", B: "e3 [a3,d4,g4]", C: "c3 [d4,g4]", D: "d3@3 [a3,d4,g4] ~ [a3,d4,g4] ~ [a3,d4,g4]",
  E: "[d3,a3,d4,f#4]@8 [d4,g4]@7 ~", F: "c3 [a3,d4,g4]", G: "d3@3 [a3,e4,a4]@2 [e4,a4]!2 ~, ~@10 a3@5 ~",
  H: "~@5 a3 g3 f#3", I: "~@8 [a3,d4,g4]@4 [a3,d4,g4]@3 ~", J: "[a3,d4,f#4]!3 ~", K: "~@5 f#3 g3 f#3",
  L: "~@8 f#5@2 d5@2 f#5@2 d5 ~", M: "f#5 d5 ~@3 a3 g3 f#3", N: "[d3,a3,d4]@11 c#4 g3 c4 ~@2",
  O: "d3@3 [a3,e4,a4]@2 [e4,a4]!2 ~, ~@5 a3@2 ~", P: "~@2 [a3,d4,g4]!2",
  Q: "[~@2 [d5,g5] ~ d5 ~@4 g5!2 [d5,g5] g5!4 g5 [d5,g5] g5!3 [d5,g5]!3, ~@3 g5@2 g5@2 g5@2 ~@15, ~@6 d5@2 d5@3 ~@2 d5@2 d5@2 ~@7]/3", // G5
  R: "[e5,a#5]@4 [e5,a#5]@2 [e5,a#5]@2 [e5,a#5]@5 ~@3", S: "~ d3@2 f#3@2 a3 g3 d4",
  T: "e4@2 f#4@2 g4@2 a4@3 ~ d5@2 e5@2 f#5@2", U: "g5@2 a5@3 ~ d4 ~ e4 ~ f#4 ~ g4 ~ a4 ~",
  V: "d4 ~ f#4 ~ a3 ~ a3 ~ g3 ~ f#3 ~ d3 ~ a2 ~", W: "[g#2,c#4] ~ g2 ~ d4@2 c4@2 b3@2 g3@4 ~@2, d4 ~@7",
  X: "c#4 d4@3 d4@2 c4@2 b3@2 g3@4 ~@2", Y: "[c#4@2 d4 c4 d4 c#4 d4 c4@2 ~ d3 c3 b2 g2 d3 c3]/2",
  Z: "b2@2 f#5!4 [d5,f#5] ~ d5!2 f#5!4 [d5,f#5] ~", AA: "~ d5 [d5,f#5] f#5!3 [d5,f#5] ~@2 d5 [d5,f#5] ~@2 f#5!3",
  AB: "[~ [a2,e3]!3 [a2,e3]@3 [a2,e3]@2 [a2,e3] c3@11 a3 g3 f#3]/3", // A5
})).s("gm_overdriven_guitar").gain(0.25).pan(0.4)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft_3 = note(`<
  ~@20 A ~ B ~@18 C ~@2 A ~ B ~@18 C ~@2 A ~ B ~@5 A ~ B ~@4 D E F G H I ~@5 J K ~@17 C ~@2 A ~ B ~@5 A ~ B ~@13
>`.pickRestart({
  A: "~ a3", B: "~@8 a3@7 ~", C: "~@11 g#3 c#3 [c3,f#3,b3] b2 ~", D: "~@4 d5 ~@3", E: "~@2 d5@2 d5 ~@3",
  F: "~@13 [c#5,d5,d#5,g5,g#5,a5] [a4,a#4,b4,c5,d#5,e5,f5,f#5] d5", G: "~@7 a3", H: "~@9 [f#4,g4,g#4] ~@6",
  I: "~@5 [g5,g#5] f#5 ~@9", J: "~@7 d5 ~@7 d5", K: "d5 ~@6 d5!2 ~@2 f#5!2 ~@3",
})).s("gm_overdriven_guitar").gain(0.16).pan(0.4)

// other · overdriven guitar
const overdriven_guitar_4 = note("<~@80 A B C@2 D@2 E F G H I@3 J K L M N@2 ~@2 O ~@2 P Q ~@34>".pickRestart({
  A: "~@7 a5", B: "g5@2 a5 ~ a5@2 g5@2 a5@2 g5@2 a5@2 a5@2",
  C: "[c#5 g5 ~ d5 ~@4 g5!2 [d5,g5]!2 g5!4, ~ d5@2 ~@2 d5@2 d5@3 ~@2 d5@2 d5@2, ~ g5!3 ~@4]/2", // G5
  D: "[[d5,g5]@2 g5@2 g5@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 [d5,g5]@2 [e5,a#5]@4 [e5,a#5]@2 [e5,a#5]@2 [e5,a#5]@5 d#5 ~@4, ~ d5@2 ~@13]/2", // G5 Edim
  E: "d3@2 f#3@2 a3 g3 [a3,d4] e4", F: "f#4@2 g4@2 a4@3 [f#4,g4,g#4] d5@2 e5@2 f#5@2 g5@2",
  G: "a5@3 [g5,g#5] [d4,f#5] ~ e4 ~ f#4 ~ g4 ~ a4 ~ d4 ~", // G#maj7 D
  H: "f#4 ~ a3 ~ a3 ~ g3 ~ f#3 ~ d3 ~ a2 ~ [g#2,c#4] ~, ~@7 d4", // C#5
  I: "[g2 ~ d4@2 c4@2 b3@2 g3@4 ~@2 c#4 d4@3 d4@2 c4@2 b3@2 g3@4 ~@2 c#4@4 d4@2 c4@2 d4@2 c#4@2 d4@2 c4@4]/3",
  J: "~ d3 c3 b2 g2 d3 c3 b2", K: "f#5!4 [d5,f#5] d5!3 f#5!4 [d5,f#5] d5!3",
  L: "[d5,f#5] f#5!3 [d5,f#5] d5!3 [d5,f#5] f#5!5 ~@2", M: "[a2,e3]!3 [a2,e3]@3 [a2,e3]@2", N: "[[a2,e3] c3@11 ~@4]/2",
  O: "c#2@4 d2@2 d2 ~ c#2@4 d2@2 d2@2", P: "d5@2 a4@3 d5@3 a4@3 d5@3 a4@2", Q: "d5@3 a4@2 d5@3 a4@3 d5@3 a4@2",
})).s("gm_overdriven_guitar").gain(0.45)

// other · overdriven guitar · soft notes
const overdriven_guitar_soft_4 = note(`<
  ~@85
  [~@11 [c#5,d5,g5,g#5,a5] [a4,a#4,b4,c5,d#5,e5,f5,f#5] d5 ~@2]
  ~@17
  [~@13 a4@3]
  ~@36
>`).s("gm_overdriven_guitar").gain(0.15)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~@26 A B C D E F G H E B I J E K L M N ~@7 A B C D E F G H E B I J E K L O N ~@15 P@4 E Q R S P@4 E@2 T U A B C D E V
  G W E B I J E K X O N ~@15 Y Z AA AB AC I AD AE AF ~
>`.pickRestart({
  A: "d3 ~ d3 ~ d3@2 d3@2 d3@2 d3@2 d3@2 d3@2", B: "e3@2 e3@2 e3 ~ e3@2 e3@2 e3@2 e3@2 e3@2",
  C: "c3@2 c3@2 c3@2 c3@2 c3 ~ c3@2 c3@2 c3@2", D: "d3!7 a2", E: "d3!8", F: "e3 ~ e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2",
  G: "c3@2 c3@2 c3@2 c3@2 c3 ~ c3@2 c3@2 c3 ~", H: "d3@2 d3@2 d3@2 d3@2 d3@2 d3 ~ d3@2 a2@2", I: "c3!8",
  J: "d3 ~ d3@2 d3 ~ d3@2 d3@2 d3@2 d3@2 a2@2", K: "e3!8", L: "c3@2 c3@2 c3@2 c3@2 c3@2 c3@2 c3@2 c3 ~",
  M: "d3 ~ d3@2 d3 ~ d3@2 d3 ~ d3 ~ d3@2 a2@2", N: "d3@3 ~@13", O: "d3 ~ d3@2 d3 ~ d3@2 d3@2 d3 ~ d3@2 a2@2", P: "g2!8",
  Q: "d3@2 d3@2 d3@2 d3@2 d3@2 d3 ~ d3@2 d3 ~", R: "d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 d3 ~",
  S: "d3@2 d3@2 d3@2 d3 ~ d3@2 d3 ~ d3@2 d3@2", T: "a2!8", U: "a2 ~@7", V: "e3 ~ e3@2 e3@2 e3@2 e3@2 e3@2 e3 ~ e3@2",
  W: "d3 ~ d3@2 d3@2 d3@2 d3@2 d3 ~ d3@2 a2@2", X: "c3@2 c3@2 c3 ~ c3@2 c3@2 c3@2 c3@2 c3 ~",
  Y: "a#2@2 a#2@2 a#2@2 a#2@2 a#2 ~ a#2@2 a#2@2 a#2@2", Z: "a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 a2 ~ a2@2",
  AA: "f3@2 f3@2 f3@2 f3@2 f3 ~ f3@2 f3@2 f3@2", AB: "e3@2 e3@2 e3@2 e3@2 e3 ~ e3@2 e3@2 e3@2",
  AC: "a#2@2 a#2@2 a#2@2 a#2@2 a#2 ~ a#2@2 a#2@2 a#2 ~", AD: "d3@3 ~ c3@2 d3@3 ~ c3@2 d3@3 ~",
// … 107 more lines

More by Billy Idol