Strudelify
Only Women Bleed cover art

1977 · Welcome to My Nightmare

Only Women Bleed

Alice Cooper

KeyG majorTempo76 bpm
0:00/0:00
// Only Women Bleed — Alice Cooper
// 76 bpm, 2/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 119 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(76/2)

// 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
const piano = note("<~@25 A@4 B@2 C@2 ~@9 D@2 E@8 F G@5 H@4 I J K@2 L@6 M@2 ~@45>".pickRestart({
  A: "[~ c6@16 ~@7 g5@17 ~@40 b4@8 ~@7, [f5,a5]@18 ~@4 c5@20 ~@4 b4@33 ~@17, ~@23 e5@19 ~@5 d5@39 ~@10, ~@16 g5@15 ~, ~@72 b5@23 ~]/4", // F
  B: "[~ f#5@21 ~@2 f5@20 ~@4, ~@23 a#4@21 ~@4]/2", C: "[[a4,a5]@20 ~@4 d5@21 ~@3, ~@11 e5@11 ~@2, ~@23 g5@21 ~@4]/2",
  D: "[d5@13 ~ d5 b4, [g4,b4]@11 ~, ~@13 g5@3]/2", // G
  E: "[~@89 c5@3 a4 ~@3 [g4,b4,d5]@32 [b4,d5,g5]@7 ~@9 g4@23 ~@10 a5@6 b5@3 g5@2 ~@4, e5@38 c#5@7 a4@29 ~@3 a4@13 ~@77 g3@14 ~@11, [a4,c#5]@32 ~ a4@9 e5@40 ~@4 e5@10 ~@40 d5@35 ~@21, ~@12 a5@35 ~ c5@38 ~@53 b4@32 ~@21, ~@60 g5@21 ~@2 g5@44 ~@8 g5@3 ~@39 d6@15]/8", // G A
  F: "~ [a5,c#6]@16 ~@7", // A
  G: "[~@9 c#6@3 ~@3 c#6@3 e5@3 ~@36 c6@6 ~@3 a5@2 a4@4 ~@30 g5@6 ~@6 a5@3 g4@3, ~@3 a5@19 ~@2 a5@39 b5@45 [a5,d6]@7 ~@5, ~@4 e5@13 ~@5 e5@27 ~@2 e5@19 ~@2 d5@12 d6@23 ~@4 b5@7 ~@2, ~@12 e6@12 ~ [a4,c6]@29 a3@14 ~@4 g3@45 ~@3, ~@73 g5@22 g4@18 ~@7]/5", // D5 Am
  H: "[~ g5 ~@34 c5@5 ~ c5@3 ~@3 g3@18 g4@6 ~@15 a4@3 a#4@3 b4@3, ~ [f5,a5,c6]@18 ~@5 e5@24 d5@25 ~@5 d5@7 ~@11, ~@12 c5@22 ~@38 g3@9 b5@5 ~@10, ~@25 g5@57 ~@2 g5@9 ~@3]/4", // F
  I: "~@4 b5@2 ~ b4, ~ d5@21 ~@2, ~@3 f#5", J: "~ c#5@9 ~@5 c#5@4 ~@2 f4@3, ~ a#3@23, ~@10 f5@9 a#4@5",
  K: "[~@9 a4@6 ~@3 a4@2 ~@5 [c5,g5]@20 d4@3, ~ a3@24 d4@16 ~@7, ~ c5@19 ~@28, ~@15 e5@31 ~@2]/2", // C5
  L: "[~@13 g5@30 ~@47 c#5@4 ~@20 a4@7 ~@10 c5@7 a4@6, g3@42 ~@5 e5@33 ~@3 e5@56 ~@5, ~@3 b4@39 ~@5 c#5@37 ~@12 c5@34 ~@14, ~@60 a5@32 ~@15 a5@11 ~@3 g5@23, ~@69 a4@39 ~@19 a4@8 ~@9]/6",
  M: "[~@30 g4@7 ~@5 g4@3 ~@3, g3@43 ~@5, b4@34 ~@3 b4@9 ~@2, ~@6 g5@17 ~]/2",
})).s("gm_piano").gain(0.34).pan(1)

// chords · piano · soft notes
const piano_soft = note("<~@28 A@3 B C ~@19 B ~@7 D ~ E ~@3 F@2 ~@3 G H@2 ~@45>".pickRestart({
  A: "[~@24 b4@20 ~@3 c#5@21 ~@4, ~@15 d5@34 ~@23]/3", B: "e5@3 ~", C: "c6@19 ~@5", D: "b4@9 ~@2 b4",
  E: "~@4 b4@5 ~@3, ~ f#5@11 ~@12", F: "[~@7 g4@35 ~@6]/2", G: "~@11 d4", H: "[~@6 g4@7 ~@6 g4@8 ~@21, d5@23 ~]/2",
})).s("gm_piano").gain(0.2).pan(1)

// bass · electric bass finger · "bass"
const bass = note(`<
  ~@42 A B C D E F@3 G@2 E H E I J@2 K L E M N O P Q R@4 S@2 A T U V W X Y Z AA AB AC@2 AD@2 AE@4 AF@2 AG@2 AH@2 AI@2
  AJ@2 AI@10 AH@2 AK@4 AL AM@2
>`.pickRestart({
  A: "g1", B: "~@6 g2@6 ~@6 g1@3 a1@2 ~", C: "g1@7 d2", D: "g2@18 g1@2 ~ a1@2 ~", E: "g1@23 ~",
  F: "[~@2 g2@3 ~@4 g1@7 ~ g1@2 ~ a1@2 ~ g1@13 g2@11 g1@12 ~@7 g1@2 ~ a1@2 ~]/3",
  G: "[g1@23 g2@13 ~@2 g1@2 ~@2 g1@2 ~ a1@2 ~]/2", H: "g2@13 ~@2 g1@2 ~ g2@2 ~ a2@2 ~, ~@15 a1 ~@8",
  I: "~@3 g1@9 g2@8 d2@3 ~", J: "[g1@23 g2@4 ~@6 g2@3 ~@3 e2 ~@2 d2@2 ~ b1@2 ~]/2", K: "g1@21 d2@2 ~",
  L: "g2@11 ~@3 g2@3 ~@4 d2 ~@2", M: "g2@11 ~@3 g1@2 ~ a1@2 ~ a#1@2 ~@2, ~@17 g1 ~@6", N: "b1@12 b2@9 b1 ~@2",
  O: "a#1@11 ~ a#2@9 a#1@2 ~", P: "~ a1@12 ~@5 a1@2 ~ b1@3", Q: "d2@3 ~", R: "[g1@42 ~@5 g1@2 ~@4 g1@36 ~@7]/4",
  S: "[g1@7 d2]/2", T: "g1@6 g2@6 ~ f1@5 f2@6, g2 ~@23", U: "~ d#2@14 ~@3 d#2@3 ~@3", V: "~ d#2@14 ~@3 d#2@6",
  W: "d#1@12 d#2@11 ~", X: "d#1@11 ~ d#2@5 ~ d#1@6", Y: "~ d2@15 ~@2 d2@5 ~", Z: "~ d#1@10 ~ d#2@11 ~",
  AA: "a#1@11 ~ a#2@5 ~ a#1@5 ~", AB: "~ d#2@11 ~ f1@5 f2@6, ~@13 g1 ~@10",
  AC: "[~ g1@8 d2@3 ~@7 g2@14 g1@3 c2@5 ~@2 d2@3 ~@2]/2",
  AD: "[g1@5 ~@4 d2@4 ~@5 g1@13 ~@2 g1@3 ~ c2@3 ~@3 d2@2 ~@3]/2", AE: "[~ g1@39 ~ g2@3 a2@3 g2@41 ~ g2@3 a2@2 ~@2]/4",
  AF: "[g2@14 g2 a2]/2", AG: "[g2@43 ~@5]/2", AH: "[g1@7 ~]/2", AI: "[g1@43 ~@5]/2", AJ: "[~ g1@41 ~@6]/2",
  AK: "[g1@42 ~@5 g1@42 ~@7]/4", AL: "~ g1@23", AM: "[~ g2@32 ~@15]/2",
})).s("gm_electric_bass_finger").gain(0.45)

// chords · string ensemble 1 · "strings"
const string_ensemble_1 = note(`<
  ~@41 A ~@7 B C ~ D@5 ~@5 E@3 ~@4 F@3 ~@2 G H I J K L M N O@2 P@2 Q ~@8 R ~@6 S@2 ~@4 T ~@10
>`.pickRestart({
  A: "~@11 b4@3 a4@2 g4@2 ~ d4@3 ~@2", B: "~@11 g4@2 ~ d4@4 b3@2 a3@3 ~", C: "~ g3@11 ~@12", D: "[a4@97 ~@23]/5",
  E: "[~@23 a#4@26 ~@23]/3", F: "[~@23 c5@49]/3", G: "~@13 [d#5,a#5]@4 ~@7, ~@12 [g5,d#6]@5 ~@7",
  H: "~@3 [f5,a5,c6,f6] ~@2", I: "~@3 [d#5,a#5] ~@2, ~@11 [g5,d#6]@4 ~@9", J: "~@13 [f5,c6,f6]@4 ~@7, ~@12 a5@5 ~@7",
  K: "~@11 [f5,a#5,d6]@5 ~@8", L: "~@13 [d#5,a#5]@3 ~@8, ~@3 [g5,d#6] ~@2", M: "~@3 [f5,a#5,d6] ~@2",
  N: "[d#5,g5,a#5]@4 ~@9 [f5,a5,c6]@3 ~@8", // D# F
  O: "[~ [g5,b5,d6]@3 ~@5 [d5,f#5,a5]@4 ~@5 [g5,b5,d6]@12 ~@7 g5@2 ~@2 [d5,f#5,a5]@3 ~@4, ~@18 [c5,e5] ~@5]/2", // G D G D C
  P: "[[d5,g5,b5]@3 ~@6 [d5,f#5,a5]@3 ~@6 [d5,g5,b5]@17 [c5,e5,g5]@4 ~@3 [d5,f#5,a5]@3 ~@3]/2", // G D G C D
  Q: "~ [d5,g5,b5]@4 ~@19", R: "~@3 g4", S: "[g3@41 ~ g4@6]/2", T: "g4",
})).s("gm_string_ensemble_1").gain(0.64).pan(1)

// chords · string ensemble 1 · "strings" · soft notes
const string_ensemble_1_soft = note(`<
  ~@29 A@2 B@2 C@8 D@8 ~ E@2 ~@3 F@3 G H@4 I@2 J K@2 L@3 ~ K@2 ~@20 M@2 N@8 O@5 ~@10
>`.pickRestart({
  A: "[b4@23 a#4@25]/2", B: "[a4@22 ~ d5@25]/2", C: "[g4@47 a4@48 c5@48 d5@49]/8",
  D: "[~@23 g4@48 c#5@48 c5@48 g4@25]/8", E: "[~ b4@3]/2", F: "[a5@23 [g4,g5]@49]/3", G: "~ f5@23, a5",
  H: "[~@23 d5@50 b4@23, e5@23 ~@73, ~ g5@72 ~@23]/4", I: "[~@12 f5@11 a4@24 ~]/2", J: "c5", K: "g4/2",
  L: "[a4@49 ~@23]/3", M: "[b4@7 ~]/2", N: "[~ a4@47 c5@47 ~ b4@90 ~@6, ~@95 g3@43 ~@54]/8", O: "[a4@48 c5@49 ~@23]/5",
})).s("gm_string_ensemble_1").gain(0.32).pan(1)

// chords · acoustic guitar steel · "ac. guitar"
const acoustic_guitar_steel = note(`<
  ~ A@2 B@2 C@2 D@4 E@4 F@2 G@2 H@2 I@2 J@2 K L@3 M N O P Q@2 R@4 S@5 T@4 U@4 V@4 W@2 X@4 Y Z AA AB AC@2 AD@6 AE AF AG
  AH AI AJ AK AL AM@2 AN@2 AO@6 AP@4 AQ@2 AR@2 AS@6 AT@2 AU@2 AV@2 AW@4 AX@2 ~
>`.pickRestart({
  A: "[g4@4 ~@8 g4@9 ~@18 b4@3 g3@3 a3@3, g3@19 ~@5, d4@7 ~@2 d4@6 ~@9 g4@24, ~@4 b4@26 d4@13 ~@5, ~@33 d5@10 ~@5]/2",
  B: "[c#5@11 ~@31 g3@3 a3@3, [g3,e4]@11 ~ g3@7 ~@5, ~@12 c#5@19 ~@2 c#5@11 ~@4, ~@13 a4@20 ~@6 a4@7 ~@2]/2", // C
  C: "[[a4,c5]@10 ~@32 g3@3 a3@3, [g3,e4]@21 ~@3 g3@16 ~@8, ~@12 c5@25 ~@2 c5@5 ~@4, ~@12 a4@19 ~@2 a4@15]/2", // Am C
  D: "[b4@10 ~@2 b4@9 ~@3 b4@8 ~@7 d4@3 ~@6 b4@10 ~@2 g4@10 ~@17 b4@3 g3@3 a3@3, g4@41 ~ g4@17 ~@12 g4@24 ~, g3@7 ~ g3@7 d4@7 ~@10, ~@33 d5@26 ~ [b4,d5]@21 ~@3 d5@6 ~@6, ~@6 g3@5 ~]/4", // Bm
  E: "[c#5@10 ~@14 g3@9 ~@9 g3@3 a3@3 [e4,c5]@11 ~ e4@7 ~@23 g3@3 a3@3, g3@22 ~@15 g3@4 ~@7 g3@20 ~@4 g3@15 e4@5 ~@4, e4@18 ~@15 a4@25 ~@2 [a4,c5]@23 ~ a4@12, ~@12 [a4,c#5]@22 ~@5 c#5@7 ~@38 c5@8 ~@4]/4", // C Am A
  F: "[~@13 d4 g3 a3, [g4,b4]@31 ~@2 [g4,d5]@12 ~@3, [g3,d4]@20 ~@4 g3@15 ~@9, ~@12 d5@19 ~@5 b4@8 ~@4]/2", // G G5
  G: "[b4@10 ~@2 [b4,d5]@21 ~@6 d4@3 g3@3 a3@3, [g3,g4]@6 [b4,d5] ~, d4@18 ~@17 g4@11 ~@2]/2", // Bm G Bm
  H: "[[a4,c#5]@11 ~@13 g3@12 ~@6 g3@3 a3@3, [g3,e4]@21 ~@18 e4@7 ~@2, ~@12 a4@23 ~ [a4,c#5]@10 ~@2, ~@13 c#5@21 ~@14]/2", // A C A
  I: "[[e4,a4,c5]@11 ~ e4@7 ~@5 g3@12 ~@6 g3@3 a3@3, g3@7 ~@5 a4@2 ~@2, ~@6 [a4,c5]@11 ~ c5@5 ~, ~@13 e4@2 ~]/2", // Am
  J: "[~@8 g3@3 ~@3 b4 g4, g4@30 ~@3 g4@10 ~@5, [g3,d4]@21 ~@15 g3@7 ~@5, ~@12 [b4,d5]@25 ~@2 d5@6 ~@3]/2", // G5 Bm
  K: "~ [f4,a4]@11 [f4,c5]@11 ~, g3@5 ~, c5@10 ~@2 a4@5 ~@7", // F F5
  L: "[[c4,e4,g4]@11 ~ c5@6 c4@3 ~@3 b4@11 ~@28 g3@3 a3 ~@2 a#3@3, g3@19 ~@5 [g3,d4]@21 ~@3 g3@13 ~@11, ~@12 g4@23 ~ [g4,b4]@19 ~@2 b4@13 ~@2, ~@12 e4@13 ~@35 g4@5 ~@7]/3", // C G5 G
  M: "[b3,d4,f#4]@12 ~@6 b3@5 ~, ~ [d4,f#4,b4]", N: "f4@11 ~@7 [a#3,c#4]@6, [a#3,c#4]@2 ~, ~@6 f4@5 ~",
  O: "~ e4@11 ~ [e4,a4,c5]@11, a3, a4@11 ~@13", P: "~ [d4,e4,g4,c5]@21 ~@2",
  Q: "[d4@4 ~@34 b4@4 d4@3 ~@3, g4@34 ~ g4@13, g3@7 ~ g3@7 ~, ~@4 b4@8 d5@21 ~@3 d5@7 ~@5, ~@9 d4@7 ~@16 d4@7 ~@9]/2",
  R: "[c#5@11 ~@9 e4@8 ~@5 a4@3 ~@6 g3@2 a3@4 c5@11 ~@25 e4@3 ~@3 e4@2 ~@4, g3@19 ~@5 [g3,e4]@11 ~ g3@10 ~@2, e4@18 ~@12 e4@7 ~@2 a4@20 ~ [a4,c5]@23 ~ c5@12, ~@12 [a4,c#5]@22 ~@2 c#5@7 ~@26 e4@8 ~@10 a4@6 ~@3]/4", // C Am A
  S: "[~@6 d4@6 ~@33 d4@3 ~@20 d3@4 ~@33 d4@2 ~@4 b4@3 g3@3 a3@3, [g3,g4]@6 d4@2 g3@7 ~ g3@7 ~ [g3,d4]@7 d4@2 ~@3 [d4,d5]@2 ~@2, b4@11 ~ b4@23 ~@6 b4@15 g4@6 b4@20 ~@14 g3@13 ~@11, ~@13 d5@22 ~@18 d4@12 g4@18 ~ [g4,b4,d5]@23 ~ g4@12, ~@21 g4@9 ~@6 [g4,d5]@21 ~@2 d5@8 ~@53]/5", // G G5 D G G5
  T: "[~@12 e4@7 ~ e4@7 ~@15 g3@3 a3@3 [e4,c5]@10 ~@31 g3@3 a3@4, g3@36 c#5@8 ~@16 [a4,c5]@22 ~ c5@12 ~, ~@12 [a4,c#5]@22 ~@2 a4@22 ~ e4@7 ~@3 e4@7 ~@7 a4@7 ~@6, ~@39 e4@6 ~@3 g3@21 ~@3 g3@14 e4@8 ~@2]/4", // C Am A
  U: "[b4@11 ~@13 g4@6 ~@12 g3@3 a3@3 ~@24 g3@12 ~@3 b4@3 g3@3 a3@3, g3@37 ~@2 b4@20 ~@37, g4@22 ~@8 d4@13 ~@5 [g3,d4]@21 ~@15 [d4,d5]@7 ~@5, ~@11 b4@23 ~@2 d5@7 ~@17 d5@22 ~@14, ~@12 d5@21 g4@26 ~ g4@36]/4", // G5 D
  V: "[[e4,c#5]@10 ~@26 e4@3 ~@9 c5@10 ~@2 e4@7 ~@7 e4@4 ~@3 e4@2 ~ e4@3 ~@3 e4@6, g3@20 ~@4 g3@18 e4@17 ~ a4@16 ~@2 a4@5 ~@4 a4@5 ~@4, ~@12 [a4,c#5]@23 ~ c#5@11 ~ g3@21 ~@3 g3@21 ~@3, ~@12 e4@18 ~@9 a4@20 ~ c5@20 ~@4 c5@12]/4", // C#m A
  W: "[~@6 d4@6 g4@18 ~@12 b4@2 ~ d4@3, [g3,b4]@33 g4@14 ~, g4@11 ~ d5@24 g3@8 ~@4, ~@39 d5@5 ~@4]/2", // G
  X: "[~ f4@10 ~ [f4,c5]@11 ~ [c4,g4]@11 ~@7 e4@6 [d4,b4]@11 ~ d4@7 ~@2 d4@3 ~@6 g4@2 ~@7 g3@3 a3@3 a#3@3, g3@18 ~@5 [g3,e4]@20 ~@5 g3@21 ~@3 g3@14 ~@10, [a4,c5]@10 ~@2 a4@6 ~@17 c5@9 ~@52, ~@36 g4@23 ~ [g4,b4]@18 ~@6 g4@5 ~@7, ~@13 c4@2 ~@12 [d4,b4]@4 ~]/4", // F5 C5 G C Am G
  Y: "[b3,d4,f#4]@11 ~@7 b3@5 ~, ~ [d4,f#4,b4]", Z: "[a#3,c#4]@6 ~@3 [a#3,c#4]@2 ~, f4@11 ~ f4@12",
  AA: "~@18 c4@5 ~, c4@15 e4@7 ~@2, e4@10 ~@2 a4@9 ~@3, ~ a3@23", AB: "[c4,e4,g4]@19 ~@5, [d3,c5]",
  AC: "[~@3 b4@7 ~@11 g4@6 d4@3 ~@8 b4@4 d4@3 ~@3, g3@43 ~@5, g4@19 ~@11 g4@18, d4@6 ~@6 [b4,d5]@20 d4@7 ~@9, ~@35 d5@8 ~@5]/2", // Bm
  AD: "[[e4,c#5]@11 ~ e4@7 ~ e4@4 ~@2 e4@3 a4@5 ~@2 e4@3 ~@9 c5@11 ~ e4@7 ~@17 [e4,a4]@6 e4@4 ~@2 d4@12 g4@6 ~@6 g4@9 ~@3 [d4,g4,b4,d5]@6 d4@3 ~@3, g3@21 e4@9 ~@15 g4@8 ~@4 d4@5 ~@10, ~@12 c#5@22 ~@2 c#5@9 ~@3 g4@6 ~@6 [a4,c5]@22 ~@2 c5@12 b4@10 ~@2 [b4,d5]@23 ~@13, ~@12 a4@15 ~@12 a4@9 g3@21 ~@3 g3@19 ~@5 g3@47 ~]/6", // C#m A5 G Am Bm
  AE: "~@12 a#3@4 ~@2 a#3@5 ~, a#4@7 ~, [d#4,g4]@5 ~ [d#4,g4]@6, ~ d#3@18 ~@5", // D#
  AF: "~ a4@10 ~ c4@4 ~ c4@4 ~@3, [c4,f4]@10 ~ f4@9 ~@4, ~ d#3@19 ~@4, ~@6 a4@5 ~", // F5
  AG: "[d#3,d#4]@11 d#4@6 d#3@3 ~@4, [a#3,g4]@9 ~@2 [a#3,g4,a#4]@11 ~@2", // D#
  AH: "[c4,f4,a4]@5 ~ [c4,a4]@3 d#3@3, d#3@12 f4@5 ~@7", // F
  AI: "[a#3,d4,f4]@11 ~ [f4,a#4]@7 a#3@4 ~, d3, ~ d4, ~@3 a#3 ~@2", // A# A#5
  AJ: "~ [a#3,g4]@9 ~@2 d#4@6 d#3@6, [d#3,d#4]@12 [a#3,g4]@11 ~", // D#
  AK: "[a#3,d4,f4]@10 ~@2 [a#3,d4,f4]@5 ~ [a#2,a#3]@6, a#2@12 a#4@11 ~", // A#
  AL: "[d#3,d#4,a#4]@6 a#3@2 ~ d#3@3 f3@6 c4@2 ~ f3@3, g4@11 ~ [f4,a4]@11 ~, a#3 ~@2 c4 ~@2", // D#5 F
  AM: "[[g3,d4,g4,b4]@7 ~@2 [d3,d4,f#4,a4]@4 ~@5 [g3,d4,g4,b4]@16 ~@2 [c4,g4]@3 ~@3 [d3,f#4,a4]@6, ~@35 c3@7 ~@6, ~@12 e4@2 d4 ~]/2", // G D G C5 D
  AN: "[[g3,d4,g4,b4]@5 ~@4 [d4,f#4]@4 ~@5 [g3,d4,g4,b4]@16 ~@2 [c3,e4]@5 ~ [d3,d4,f#4,a4]@3 ~@3, ~@8 [d3,a4]@4 ~@24 [c4,g4]@3 ~@9]/2", // G D G C D D5 C5
  AO: "[d4@6 ~@3 d4@3 ~@9 g4@8 ~@9 b4@3 g3@3 a3@3 ~ e4@7 ~ e4@2 ~ e4@6 ~@25 g3@3 a3@3 c5@10 ~@32 g3@3 a3@3, g3@38 ~@9 g3@22 ~@3 g3@16 ~@8 g3@22 ~@2 g3@15 ~@9, g4@18 ~@11 d4@13 ~@27 e4@6 ~@38 e4@8 ~@14 e4@9, ~@12 [b4,d5]@19 ~ g4@15 ~ a4@32 ~@7 a4@20 ~ a4@8 a4@13 ~@3 a4@12, ~@33 d5@9 ~@17 c#5@20 ~@2 c#5@11 ~@16 c5@19 ~@2 c5@10 ~@5]/6", // Bm
  AP: "[[g4,b4]@9 ~@13 g4@5 d4@4 ~@11 g4@3 d4@3 g4@11 ~ b4@8 ~@13 g4@2 ~@4 d4@3 g3@3 a3@3, g3@42 ~@6 g3@37 ~@11, ~@10 g4@9 ~@12 g4@10 ~@19 g4@19 ~@5 g4@11 ~, ~@13 b4@20 d4@7 b4@19 ~@19 d4@6 ~@12, ~@36 d5@32 ~ d5@13 ~@2 [b4,d5]@5 ~@7]/4", // G Bm
  AQ: "[[e4,a4]@12 a4@7 ~@23 g3@3 a3@3, g3@7 a4@3 ~ a4@4 ~, ~@12 c#5@21 ~@3 c#5@7 ~@5, ~@24 g3@14 ~ e4@8 ~]/2", // A5
  AR: "[[a4,c5]@11 ~@2 a4@7 ~ a4@6 e4@3 ~@3 e4@2 ~@4 a4@3 g3@3 a3@3, g3@19 ~@5, ~@12 e4@4 ~@14 a4@5 ~ [e4,c5]@12, ~@13 c5@20 ~@15]/2", // Am C
  AS: "[[g4,b4]@11 ~ g4@7 ~@2 g4@6 ~@6 b4@3 ~@6 g3@3 a3@3 d4@6 ~@3 d4@3 ~@9 g4@6 ~@6 b4@2 ~@4 d4@3 g3@3 a3@2 ~ c#5@10 ~@11 a4@6 ~@6 e4@2 ~@7 g3@3 a3@3, g3@38 ~ b4@39 g4@18 ~@11 a4@7 ~@12 a4@5 ~ [a4,c#5]@10 ~@2, ~@12 [b4,d5]@18 g4@37 ~@8 d4@8 ~@12 [e4,a4]@14 ~@5 e4@5 ~@4 e4@5 ~@7 e4@6 ~@3, ~@27 d4@6 ~@3 d5@8 ~@4 g3@37 ~@11 g3@38 ~@10, ~@60 d5@21 ~@3 [b4,d5]@6 ~@18 c#5@22 ~@14]/6", // G A Bm A5 Bm
  AT: "[[g3,e4,a4]@13 e4@7 ~ e4@3 ~@16 a4@2 g3@3 a3@3, c5@10 ~@3 c5@17 a4@6 ~ c5@11, ~@13 a4@15 e4@4 ~ e4@15, ~@8 g3@5 ~@3]/2", // A7
  AU: "[~@12 g4@2 ~ g4, b4@35 ~ b4@12, [g3,g4]@18 d4@6 g3@19 ~@5, ~ d5@3, ~@21 g4@7 ~@14 d4@6]/2", // G
  AV: "[d4@4 ~@4 g3@3 ~@3 b4 a3, [g3,g4]@20 ~ g4@9 ~@3 g4@11 ~@4, ~@12 d5@25 ~@2 d5@9, ~@4 b4@7 ~ g3@2 ~@2]/2", // G
  AW: "[[a4,c#5]@11 ~ a4@7 ~@2 a4@7 ~@5 e4@3 ~@5 g3@3 a3@3 ~ c5@10 ~ a4@10 ~@3 a4@6 ~@12 e4@6, g3@36 c#5@6 ~@17 e5@34 ~@3, ~@12 [c#5,e5]@23 ~ [a4,e5]@12 e4@15 ~@15 e4@9 c5@7 ~@2, ~@39 e4@6 ~@2 g3@43 ~@6, ~@59 c5@22 a4@12 ~@3]/4", // A C#m A5
  AX: "[b4@9 ~@4 d4@2 ~@3 d4@3 d3@3 ~ g2@19 ~@4, g3@7 ~, g4@7 ~@2 g4@11 ~@4 [d4,g4,b4]@17 ~@7, ~@15 a4@5 ~@28]/2", // G
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(1)

// chords · acoustic guitar steel · "ac. guitar" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~ A@2 B@2 C@2 D@2 E@4 F@2 G H I@2 J@2 K@2 L@2 ~@2 M H ~@2 N ~ O@2 P ~@2 Q ~ R ~@2 S@2 T ~ U V@2 W@2 P X Y ~ G Z ~@3 AA
  ~@2 P ~ AB AC@2 X AD@2 ~ AE ~@12 AF ~@2 AG@2 AH AI ~ AJ AK AL AM AN ~ AO ~ AF ~@5 H AP AQ Z AR AS@3 AT@2 ~
>`.pickRestart({
  A: "[~@7 d4@2 ~@7]/2", B: "[a4@11 ~@10 e4@5 ~@5 e4@15 ~@2]/2", C: "[~@21 e4@6 ~@4 e4@17]/2",
  D: "[~@9 d4@6 ~@6 d4@5 ~@4 d4@8 ~@10]/2", E: "[~@21 d4@6 ~@6 d4@9 ~@5 a4@11 ~@12 e4@4 ~@7 e4@8 ~@7]/4",
  F: "[~@21 e4@16 ~@11]/2", G: "~@5 d4", H: "~@6 d4@7 ~@11", I: "[~@7 d4@2 ~@2 d4 ~@4]/2",
  J: "[~@21 e4@7 ~@5 e4@2 ~@13]/2", K: "[~@7 e4@5 ~@4]/2", L: "[b4@11 ~@10 d4@5 ~@4 d4@15 ~@3]/2", M: "~@7 d4",
  N: "c5@11 ~@13", O: "[~@7 d4@2 ~@7, ~@4 b4@7 ~@5]/2", P: "a4@11 ~@13", Q: "~@9 e4@2 ~@9 e4@3 ~",
  R: "~@9 g4@2 ~@13, ~ d4@2 ~", S: "[~@25 c#5@10 ~@13, ~@23 a4@12 ~@13, ~@12 e4@5 ~@7]/2", T: "~@8 e4@3 ~@13",
  U: "~@4 e4 ~@7", V: "[~@8 d4@7 ~@6 d4@6 ~@21]/2", W: "[~@22 d4@6 ~@4 d4@3 ~@13, ~@12 b4@23 ~@13]/2",
  X: "~@9 e4@2 ~@13", Y: "~@5 e4", Z: "~@6 d4@13 ~@5", AA: "~@3 d4@4 ~@17", AB: "~@3 d4@2 ~ d4@2",
  AC: "[~@23 a4@11 ~@14]/2", AD: "[~@6 a4@5 ~@10 e4@7 ~@2 e4@5 ~@13]/2", AE: "~@3 d4@2 ~@7", AF: "~@18 d4@5 ~",
  AG: "[~@6 e4@25 ~@2 e4@8 ~@7]/2", AH: "~@6 e4@7 ~@11", AI: "~@6 d4@9 ~@4 d4@5", AJ: "~@4 d4@3 ~@2 d4@6 ~@3 d4@6",
  AK: "~@3 b4@7 ~@14", AL: "c#5@11 ~@7 e4@6", AM: "~ e4 ~@2", AN: "e4@2 ~ e4", AO: "~@6 d4@9 ~@3 d4@5 ~",
  AP: "~@4 d4@2 ~@3 d4@4 ~@11, ~@7 g4@4 ~@13", AQ: "~@3 d4", AR: "~@7 e4@9 ~@2 e4@5 ~",
  AS: "[~@3 e4@3 ~@17 a4@11 ~@11 e4@5 ~@22]/3", AT: "[~@7 d4@4 ~@37, d5@5 ~]/2",
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(1)

// chords · overdriven guitar · "dist guitar"
const overdriven_guitar = note("<~@74 A B C D E@2 F G H@2 I@2 J@2 ~@31>".pickRestart({
  A: "a#3@7 d#3@2 ~@3 [d#3,a#3]@11 ~, d#3@5 ~@19", B: "~@17 f3@3 ~@4, c4@23 ~, f3@2 ~, ~@6 f4@5 ~",
  C: "[d#3,a#3]@2 ~ a#3, ~@12 [d#3,d#4]@11 ~", D: "c4@2 f4 c4, f3@23 ~",
  E: "[~@12 f4@11 ~ d#3@11 ~ d#3@6 d#3@3 ~@3, a#3@47 ~, ~ f3@21 ~@13 d#4@12 ~]/2",
  F: "a#3@11 ~@7 f3@5 ~, f3@2 ~, ~@12 [a#3,f4]@11 ~", G: "~ d#3@10 ~ [f3,c4]@12, a#3@11 ~@13",
  H: "[[g3,d4]@7 ~@2 a3@5 ~@5 [g3,d4]@15 ~@2 [c3,g3]@6 [d3,a3]@3 ~@3, ~@3 d3 ~@12]/2", // G5 C5 D5
  I: "[~ [g3,d4]@4 ~@4 [d3,a3]@4 ~@5 [g3,d4]@16 ~@2 [c3,g3]@6 ~ g3 ~@4, ~@14 [d3,a3] ~]/2", J: "[~ [g3,d4]@44 ~@3]/2",
})).s("gm_overdriven_guitar").gain(0.48).pan(0)

// drums · kick
const kick = s("bd").struct("<~@42 A B@6 C A B@12 A B@9 D A E@6 F G H G I J ~ J ~ B@21 ~@8>".pickRestart({
  A: "~ x ~@22", B: "x", C: "x ~@18 x ~@4", D: "x!4", E: "x!2 ~@2", F: "x ~@2 x ~@4", G: "x ~@2 x ~@2 x ~",
  H: "~ x ~ x ~@4", I: "~ x ~ x ~@2 x ~", J: "x ~@22 x",
})).gain(0.57)

// drums · rim
const rim = s("rim").struct("<~@42 [~ x]!32 ~@45>").gain(0.57)

// drums · snare
const snare = s("sd").struct("<~@74 [~ x]!9 [~@2 x!2] [~ x]!2 ~@33>").gain(0.57)

// drums · low tom
const low_tom = s("lt").struct("<~@41 A ~@7 B ~@11 C ~@11 B ~@3 B ~@3 C ~ B ~ D ~@33>".pickRestart({
  A: "~@5 x", B: "~@3 x", C: "~@6 x!2", D: "~@5 x!2 ~",
})).gain(0.57)

// drums · hihat
const hihat = s("hh").struct("<A B@41 A@32 C D C D C D C D A@4 B@32 ~>".pickRestart({
  A: "x!2", B: "x", C: "x!4", D: "x!3 ~",
})).gain(0.57)

// drums · mid tom
const mid_tom = s("mt").struct("<~@41 A ~@7 B ~@7 C ~@3 B ~@11 D ~@3 B ~@3 E ~ F ~ F ~@33>".pickRestart({
  A: "~@14 x ~@2 x ~@6", B: "~@5 x ~@2", C: "~@5 x!2 ~", D: "~@12 x!2 ~ x ~@2 x ~@2 x ~@2", E: "~@3 x!3 ~@2",
  F: "~@3 x!2 ~@3",
})).gain(0.57)

// drums · open hat
const open_hat = s("oh").struct(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~@3 A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
  A: "~@3 x",
})).gain(0.57)

// drums · high tom
const high_tom = s("ht").struct("<~@41 A ~@7 B ~@7 C ~@15 D ~@3 B ~@3 E ~ E ~ E ~@33>".pickRestart({
  A: "~@6 x ~@4 x ~@3 x ~@8", B: "~@3 x ~@4", C: "~@3 x!2 ~@3", D: "~@2 x!2 ~@4", E: "~ x ~@6",
})).gain(0.57)

// drums · crash
// … 27 more lines

More by Alice Cooper