Strudelify

How You Gonna See Me Now

Alice Cooper

KeyD minorTempo62 bpm
0:00/0:00
// How You Gonna See Me Now — Alice Cooper
// 62 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 62 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(62/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
const piano = note("<A B C@3 D@6 E@8 F G@8 H@8 I@2 J K L@5 M@4 N@4 O@8 P>".pickRestart({
  A: "~@18 [e5,a5]@7 ~ [e5,a5]@7 [e5,a5]@7 [e5,a5]@8, ~@3 [d4,gb4]@5, ~@18 a4@4 ~@4 a4@3 ~@4 a4@4 ~@3 a4@4 ~@4", // A5 D
  B: "[e5,a5]@12 [e5,a5]@11 ~ [e5,a5]@12 a4@6 a4@5 a4, [d4,gb4], a4@7 ~@5 a4@6 ~@18 [e5,a5]@12", // A5 D A5
  C: "[[e5,a5]@11 ~ a4@11 ~ a5@11 a5@12 [d5,a5]@12 ~ a5@11 ~ a4@5 ~@6 a4@6 a4@6 a4@6 ~ a4@5 ~ a4@5 ~@6 [e5,a5]@12 ~ a4@5 ~@7, gb4@60 a4@6 ~@5 a5 e5@11 gb5@61, d4@47 d4@48 [d4,gb4]@49, ~@11 [e5,a5]@12 e5@12 e5@12 a4@7 ~@6 d5@84, ~@23 a4@6 ~@6 a4@6 ~@6 g4@48 [e5,a5]@12 [e5,a5]@12 a4@6 ~@6 [e5,a5]@13]/3", // A5 D5 A5 D A5
  D: "[[a4,d5]@11 ~ a4@6 ~@2 a4@3 ~ a4@5 a4@7 ~@9 gb4@3 [gb4,ab4,db5]@11 db4@6 ~ db4@6 db4@6 db4@3 ~@3 [db4,db5]@6 ~@6 [d4,g4,b4]@11 [d4,g4]@7 ~@2 g4@3 [g3,g4]@9 g4@3 [d4,g4]@7 ~@5 [ab4,b4,e5]@12 ~@13 [gb4,b4]@12 ~@5 gb4@7 ~@44 d4@3 ~@12 db4@10 ~@2 [c2,g3,bb3,c4]@22 ~@3, g4@36 a4@6 db4@6 gb2@47 g2@36 b4@7 g4@54 [a2,a3,d4,gb4,a4]@18 d5@52 ~@26, ~@11 a5@12 ~ e5@60 gb4@12 g3@11 b4@7 d4@5 db5@24 [ab3,e4]@12 b4 e4@24 gb4 ab4@32 g5@49 ~@26, ~@12 d5@36 db4@4 ~@7 [gb4,ab4,db5]@13 [gb4,a4,db5]@12 gb3@35 a4@12 g3@25 [ab4,e5]@12 a4@12 b4@36 [gb5,a5]@12 [a3,e4,a4]@11 [a1,a2,d4,e4,a4] a3@22 e3@23 ~@3, ~@24 a5@12 [gb5,a5]@48 ab4@6 db4@41 d5@12 ab2@67 gb5@2 e5@49 c3@24 ~@3]/6", // D5 Gbsus2 Db G G5 G G5 E …
  E: "[[f4,a4]@12 [c4,f4,a4]@9 c4@3 a3@6 a3@6 [c4,a4]@11 [c4,e4,a4]@12 ~ a3@6 a3@5 ~ a3@6 a3@6 [a3,c4]@6 a3@6 a3@7 a3@5 [a3,d4,f4]@6 a3@6 a3@6 a3@6 [c2,c3,a3,c4,eb4,g4]@6 a3@4 ~@2 [d4,f4]@12 [d4,f4]@9 bb3@3 [d4,f4]@12 f4@12 [db4,f4,g4]@12 bb3@6 bb3@6 bb3@6 bb3@5 [g2,g3,db4,g4]@9 db4@2 ~ [d4,a4]@12 ~@9 a3@3 [a3,d4]@13 d4@11 ~ [d4,g4]@18 g4@2 ~ [a2,a3] ~@2 d4@8 ~@15 c3@18 ~@3 a3@3 [a2,e4,a4]@10 ~@3 [a2,e4,a4]@12, f2@47 [f2,f3]@73 [eb2,eb3]@21 ~@39 bb3@6 ~@6 bb3@7 ~@5 [c2,c3]@12 [db4,f4,g4]@11 f4@24 d4@6 g3@6 [d2,d3]@25 [g3,b3]@9 ~@9 [g3,b3,d4]@3 c4@2 g4@12 g4@12 [c2,c4,g4]@24 [a1,d4]@24 ~, f3@24 f3@23 ~@37 a4@12 [d4,f4,a4]@12 a4@33 ~@3 bb3@6 ~@6 bb3@6 ~@6 bb3@6 ~@6 d4@47 bb3@6 ~@6 f3@24 g3@8 ~@5 [f3,a3]@11 g1 g2@20 [a1,g4]@2 ~ [b1,b2]@48 a3@9 ~ a3@15, a3@7 ~@5 a3@7 ~@5 [c4,f4,a4]@12 f4@60 [d2,d3]@45 ~@3 [bb1,bb2]@48 [bb1,bb2]@45 ~@2 c4@8 ~@4 [c4,f4,a4]@59 ~ b3@6 ~@3 d4@12 d4@3 [g3,e4]@19 c3@16 db4@13 ~, ~@36 a3@6 ~@5 a3@7 ~@6 [c4,e4,a4]@12 [c4,e4,a4]@12 e4@36 [c4,eb4,g4]@12 ~@6 c4@66 [db4,f4,g4]@12 [db2,db3]@21 ~@2 f2@71 ~@20 b3@52 ~@2]/8", // F Am Dm Am7b5 Dm Gm7b5 Gdim D5 …
  F: "[e5,a5]@11 [e5,a5]@12 ~ [e4,e5,a5]@12 a4@6 a4@5 ~, d3@3 [d3,gb4,e5,a5], d4!2, a4@5 ~@6 a4@6 ~@7 a4@6 ~@18", // A5 D
  G: "[[d5,a5]@12 a4@6 a4@6 a4@5 ~ a4@5 gb5 a4@6 ~@3 e5@3 [e5,a5]@11 a5@12 ~ [d5,a5]@11 ~@46 g4@3 ~@12 gb4@12 db4@9 ~@27 g3@11 ~ d3@6 ~@2 g3@3 g3@9 g3@3 ~@10 e3@3 [e3,ab3,b3]@13 ~@11 e4@9 ~@15 a2@15 ~@28 d4@5 ~@40 c3 ~ [c3,e3]@4 ~@2, [g2,g3]@48 a4@6 ~@5 [a4,e5]@12 b2@55 d4@6 [g4,b4]@3 d4@30 db3 gb3@2 gb1@23 [d3,b3]@12 [g3,b3]@7 d3@5 db4@25 [ab2,e4]@13 e3@34 d4 d3@90 ~@6, b4@24 e5@12 a5@6 a4@3 d4@26 b3 a4@11 a5@54 g3@4 [g4,b4]@27 [ab3,db4]@5 db3@3 gb3@4 ab3@3 db4@3 db3@42 d3@12 ab1@47 gb3@19 [d4,gb4]@3 [e4,g4]@3 [gb4,a4]@8 a2@4 [e4,a4] gb4@11 [a1,a2,a3,d4,e4,a4]@12 db4@30 ~@6, a4@6 ~@6 d5@36 d3@48 a4 b4@11 g4@12 g3@3 b3@21 [gb2,a4]@45 gb3@26 [g2,a3]@13 g3@25 [ab3,b3]@8 ab2@3 [gb3,a3]@9 ab2@2 e4 [ab3,b3]@12 [a1,a3]@15 a2@3 d5@52 [c3,e3] g3 [c2,bb3,c4]@22 ~@2, ~@12 a5@12 a5@12 gb5@47 d5@7 a4@3 g3@3 [g2,d5]@48 gb3@12 [gb4,ab4,db5]@35 g1@37 [b3,d4]@6 g2@42 d4@6 ab2@90 g3@10 ~@2]/8", // D5 A5 D5 E C G A5 G …
  H: "[[c4,f4,a4]@12 a3@6 ~@3 c4@3 [c4,f4,a4]@12 [c4,a4]@12 a3@5 ~ a3@5 ~@10 c4@3 a3@6 a3@6 a3@6 a3@6 a3@5 a3@6 ~ a3@5 a3@6 ~ a3@6 a3@5 ~ a3@6 a3@3 c4@2 ~ d4@12 [d4,f4]@9 d4@3 [d4,f4]@12 bb3@5 ~ bb3@6 [db4,f4,g4]@12 bb3@6 bb3@5 ~ [db4,f4,g4]@11 f4@10 c4@2 ~ [c4,f4,a4]@12 a3@6 a3@3 a3@3 g3@6 ~@12 g3@6 g3@9 g3@6 g3@2 ~@3 a1 [a2,a3] ~@2 b3@8 b3@4 [b3,d4]@6 ~@29 c1@17 ~@8, f2@48 [c4,e4,a4]@11 a3 [c4,e4,a4]@6 a3@6 [c4,e4,a4]@12 e4@58 ~ f4@12 ~@25 d4@36 bb3@6 ~@5 [bb3,db4]@25 c4@12 [d2,d3,a3,d4]@6 g3@6 [f3,a3,c4,d4]@12 [g1,g2,b3,g4]@17 [g3,b3,g4]@4 c4@2 ~ d4@12 ~@6 b3@51 ~@3, f3@24 f3@60 a4@12 [d2,d3]@46 ~ [bb1,bb2]@48 ~ [bb1,bb2]@35 [g2,g3,g4]@13 f2@70 ~@2 b2@69 ~@3, a3@6 ~@6 [c4,f4,a4]@12 ~@12 f4@48 c4@12 [d4,f4,a4]@12 [d4,a4]@34 ~ bb3@7 ~@6 bb3@8 ~@4 bb3@5 ~@7 f4@12 bb3@6 ~@6 [db4,f4,g4]@12 [db2,db3]@94 ~ b1@69 ~@4, ~@18 a3@6 a3@6 ~@6 a3@6 ~@6 [e2,e3]@60 f4@11 [eb2,eb3] [c4,eb4,f4]@11 c2 [c3,c4,eb4,f4]@10 ~@62 [c2,c3]@36 [f3,a3]@12 [f4,a4]@58 ~ g4@24 ~ [c2,c3,g3,c4,e4,g4]@45 ~@3]/8", // F Dm Gm7b5 F A Bm Am Bbm …
  I: "[[d4,f4,bb4,d5]@12 [d4,f4,bb4,d5]@9 ~@3 [c5,e5]@12 [g4,c5]@12 [eb4,g4,bb4,c5,eb5]@9 [g4,eb5]@3 [eb4,g4]@6 ~@3 g4@3 d4@6 d4@6 d4@6 ~@3 gb4 ~@2, [bb2,bb3]@21 g4@15 ~@12 [eb2,eb3]@18 eb4@6 [d2,d3,g4,a4,d5]@12 [gb2,gb3,gb4,a4,d5]@6 d4@5 ~, ~@21 e4@9 ~@6 [e4,e5]@58 ~@2, ~@12 [c3,c4]@35 ~, ~@30 [bb4,c5,eb5]@17 ~]/2", // Bb C C5 Cm7 Cm Eb Bb Eb …
  J: "d4@6 d4@6 [d4,g4,bb4]@6 ~@6 e4@6 ~@3 g4@3 e4@6 e4@3 g4@2 ~, [g2,g3]@12 [g4,bb4,c5]@3 e4@3 [g4,bb4,c5]@5 ~, [g4,bb4,d5]@6 d5@17 ~, ~@9 d4@14 ~, ~@12 [e2,e3]@11 ~", // Gm G C7 Gm E
  K: "[f2,f3,c4,f4,a4,b4,c5]@23 ~ c4@12 ~@9 a4@3, ~@24 [eb2,eb3,a4]@23 ~, ~@24 [eb4,f4]@15 eb4@8 ~, ~@36 c4@11 ~, ~@42 f4@5 ~", // F Ebdim Ebsus2
  L: "[d4@5 ~@13 d4@3 ~@15 e5@6 e4@3 ~@3 eb4@5 ~@13 eb4@3 ~@3 [d2,d3]@6 ~@3 g4@3 gb4@3 ~@3 gb4@3 ~@3 [g4,bb4]@9 ~@9 g4@3 ~@15 [a3,db4]@9 ~@21 gb4@6 [gb4,a4]@21 ~@27 [c1,c2,c4]@22 ~@2, [bb1,bb2]@19 ~@5 [c2,c3,g4]@20 ~@4 [eb2,eb3]@20 ~@16 [gb2,gb3]@9 ~@3 [g2,g3]@24 [a2,e4,a4]@23 ~ [d3,g4]@46 ~@2 [c3,g3,e4,g4]@46 ~@2, [f4,bb4]@9 f4@12 e4@6 ~@3 e4@10 ~@5 g4@23 ~ g4@11 ~@25 g4@8 ~@4 d4@15 ~@9 d4@90 ~@9, ~@6 d4@10 ~@38 eb4@11 ~@13 d4@8 ~ d4@5 ~ d4@8 ~@7 bb4@10 ~@23 a3@50 ~@49, ~@12 [bb4,d5]@12 [c5,e5]@11 ~ c5@11 ~ [bb4,c5,eb5]@11 ~ [bb4,c5,eb5]@10 ~@2 [a4,d5]@23 ~ d5@20 ~@28 a4@12 e4@12 d2@63 ~@9]/5", // D Gm A Gbm C Bb C5 Eb …
  M: "[[c4,f4]@12 [c4,f4]@10 ~@2 [c4,f4,a4]@11 [c4,a4]@12 [c4,e4,a4]@12 e4@12 e4@12 ~ [c4,a4]@12 [c4,d4,a4]@12 ~ c4@11 [c4,eb4,a4]@12 ~@13 f4@11 ~@36, [f2,f3]@47 [f2,f3]@49 f2@92 ~@4, a3@6 ~@6 a3@6 ~@6 a3@6 ~@5 f4@61 a3@7 ~@5 d4@35 bb3 [bb1,bb2]@44 ~@4, ~@35 a3@6 ~@6 a3@6 ~@6 a3@7 ~@18 e4@60 d4@24 ~@24, ~@24 f3@3 a4@3 ~@3 [a3,c4,eb4,a4]@14 ~]/4", // F5 F Am F D7 Adim F Bb …
  N: "[~@84 d4@12 g2@17 [g2,d3,g3,b3]@3 ~ a2 ~@2 d3@11 ~@7 d4@5 [c2,c3,g3,c4,e4]@23 ~@5 [f3,bb3,d4]@6 ~@6 [c2,c3,g3,c4,e4]@4 ~@5, [bb1,bb2,bb3,bb4]@35 [g1,g2,g4]@12 [a1,a2,a3,eb4,a4]@24 c5 [c2,c3,c4]@44 [a1,d3,g3,a3,c4]@2 ~@2 [a2,b2]@23 ~@49, ~@23 [gb1,gb2,gb3,gb4]@61 [d2,d5]@34 ~ [g3,b3]@12 d3@6 b3@5 ~@50, ~@35 db4@49 d3@12 [g1,d4,g4,b4]@22 ~@2 d4@14 g3@8 ~@50, ~@35 g3@24 [bb1,bb2,bb3,bb4]@58 ~@2 b1@23 ~@28 [bb1,bb2]@6 ~@16]/4", // G C Bb C Bb G Adim C …
  O: "[a3@5 a3@6 ~ c4@8 c4@3 ~@7 a3@6 a3@5 a3@6 ~ [c4,e4,a4]@11 ~ a3@6 a3@6 a3@6 a3@6 a3@6 a3@5 ~@7 a3@6 a3@6 a3@5 ~ [c4,eb4]@11 f4@7 ~@3 f4@3 [d4,f4]@11 ~@34 bb2@3 [bb3,db4,f4]@12 [bb3,db4,f4]@12 bb3@6 ~@3 db4@3 db4@6 ~@6 [c4,f4,a4]@12 ~@12 a4 ~@20 g3@3 [g3,d4]@15 d4@3 d4@3 d4@3 [d4,b4,d5]@18 ~@6 c4@9 ~@30 [c2,c3,g3,c4,e4,g4]@5 ~@4, f2@48 a3@6 ~@5 a4 [c4,e4]@12 [c4,e4,a4]@12 e4@47 a4@49 c4@12 bb2@24 [db4,f4]@6 bb3@30 [f4,a4]@6 f3@30 [g2,db4]@42 [d4,d5]@6 [c3,e4,g4,c5]@9 g5 d5 e5@6 c5@9 bb1 [bb2,bb3,d4,f4]@16 ~@5, f3@23 f3@61 [d4,a4]@11 a3 [d2,d3]@35 [c4,eb4]@7 d4@6 [bb1,bb2,bb4]@11 f4 [c4,d4]@9 bb2@3 [c5,f5]@60 [bb2,bb4]@36 d2@24 b3@18 g3@3 c5@3 [b2,b3]@67 ~@5, [c4,f4,a4]@11 a4@12 [c4,a4]@12 ~ [c4,a4]@11 [e2,e3]@72 f4 [eb3,a3]@53 bb4@7 f4@6 bb3@6 [bb1,eb4]@48 f2@24 [d3,g4,c5] a4@11 f4@30 [g4,b4]@3 [a2,a3,a4]@70 ~@5, ~@11 a3 f4@11 a3 f4@12 f4@48 c4@12 [d4,f4,a4]@12 [d4,f4,a4]@11 eb2@50 d5@59 f4@6 db4@6 f3@12 c4@24 [g4,c5]@6 d3@48 b4@49 ~@5]/8", // Am Cm Dm Bbm F G5 G C …
  P: "[f1,f2,f3,a3,c4,f4] ~@11", // F
})).s("gm_piano").gain(0.26)

// chords · piano · soft notes
const piano_soft = note(`<
  A B C D E@7 F G@2 H I J@2 K L M N@4 ~@3 O ~@2 P Q R S@2 T U V ~@3 W ~@2 X Y Z@2 ~@4 AA AB ~ AC@3 ~ AD ~
>`.pickRestart({
  A: "~@22 a4@4 ~@3 a4@4 ~@4 a4@3 ~@4 a4@4", B: "~@7 a4@5 ~@6 a4@5 a4@6 ~ a4@6 ~@12",
  C: "~@5 a4@6 ~@19 a4@5 ~@7 a4@5 ~", D: "~@6 a4@6 ~@6 a4@6 ~@5 a4@6 a5@12 ~",
  E: "[~@17 a4@6 ~@6 a4@7 ~@5 a4@6 a5@12 ~@7 a4@2 ~@32 db4@7 ~@22 db4@3 ~@6 db5@29 ~@4 d4@8 ~@10 e4@2 ~@6 e4@6 ~@73 gb4@33 ~@27, ~@47 d4@96 ~@42 d4@55 ~@20 d6@49 ~@27, ~@90 gb3@42 ~@94 ab3@83 ~@27]/7",
  F: "~@7 a3@5 ~@7 a3@5 ~@18 a3@5 ~, c4 ~@3", G: "[~@6 a3@5 ~@56 [d4,f4]@26 ~@3, ~@7 c4@5 ~@4]/2",
  H: "~@6 bb3@6 ~@6 bb3@2 ~@10 bb3@3 bb3@3 ~@6 bb3@6", I: "~@9 db4@3 ~@29 bb3@4 ~@3, ~@7 bb3@5 ~@36",
  J: "[~@7 c4@4 ~@46 b3@8 ~@12 b3@12 ~@7, ~@16 g3@8 ~@3 g3@6 ~@15, ~@21 f3@14 ~@13]/2", K: "~@7 g3@39 ~@2",
  L: "~@5 a4@6 ~@7 a4@2 a4@4 ~@6 a4@6 ~@12", M: "~@6 a4@6 ~@35 a5",
  N: "[~@6 a4@5 ~@7 a4@6 ~@82 db4@2 ~@44 d3@4 ~@15 d3@9 ~@12, ~@36 e5@96 ~@11 g2@24 ~@25]/4", O: "~ a3 ~@3 a3 ~ a3",
  P: "~@6 bb3@5 ~@9 bb3@3 ~@6 bb3@7 ~@12", Q: "~@6 bb3@6 ~@18 bb3@5 ~@8 a3@4 ~", R: "~@5 a3@7 ~@36",
  S: "[~@44 d4@49 ~@3]/2", T: "~@5 e4 ~@2", U: "~@3 eb4 ~@12", V: "~@3 g4 ~@3 [g4,bb4] ~@8", W: "~@6 d4@13 ~@29",
  X: "~@6 a3@6 ~@10 f4@2 ~@6 a3@5 ~@6 a3@6 ~, a4@4 a4@3 c4 ~@8, ~@3 a3 ~@4",
  Y: "~@6 a3@5 ~@7 a3@5 a3@7 a3@5 ~ a3@6 a3@6, ~@11 [c4,a4]@12 [c4,a4]@12 ~@13", // F
  Z: "[~@7 a3@5 a3@5 ~ a3@14 a3@4 ~@10 f3@8 f3@6 f3@6 f3@5 ~ f3@6 f3@14 ~@4, ~@60 f4@11 bb3@20 ~@5, ~@18 [d4,f4]@5 ~]/2", // Dm
  AA: "~@17 a3@6 ~@25", AB: "~@6 a3@5 ~@37", AC: "[~@19 d4@48 ~@5, ~@11 bb2@4 ~@33]/3", AD: "~@4 c4@9 ~@3",
})).s("gm_piano").gain(0.15)

// bass · acoustic bass · "Bas"
const bass = note(`<
  ~@10 A B C D E F@2 G@2 H I J K L@2 M N O P@3 Q@2 R S T U V W X Y Z AA AB AC ~@4 AD AE AF@2 AG AH AI AJ AK AL AM@2 AN
>`.pickRestart({
  A: "~@23 c4@12 g3@12 ~", B: "f2@12 ~@6 f2@3 ~@3 f2@13 ~@11", C: "e2@12 ~@6 e2 ~@5 e2@17 ~@7",
  D: "d2@14 ~@4 d2@2 ~@4 eb2@6 ~@6 eb3@9 c3@3", E: "bb2@23 f2 g2@6 f2@6 d2@6 c2@5 ~",
  F: "[bb1@12 c2@12 db2@11 ~ bb1@11 f2@24 d2@19 f2@6]/2", G: "[g2@16 ~@2 g2@5 ~ g2@17 d2@6 c2@13 ~@9 a3@19 ~@8]/2",
  H: "d2@3 a2@3 d3 ~@2 gb3@21 ~@6 e3@3 d3@3 a2@2 ~ gb2@3", I: "g1@11 ~@7 g1@2 ~@4 g1@13 ~@5 a1@5 ~",
  J: "d2@11 ~ db2@11 b1@12 ~ gb2@5 g2@7", K: "g1@12 ~@6 g1@2 ~@4 g1@17 ~ g2@6",
  L: "[gb2@11 ~@7 gb2 ~@4 gb2@13 ~@6 gb2@5 g2@16 ~@3 g2@5 ~ d2@5 ~ g2@5 d2@3 ~ b1@2 ~ g1@6]/2",
  M: "ab1@12 ~@6 ab1@5 ~ ab1@6 b1@6 e2@5 ab1@5 ~@2", N: "a1@14 ~@4 a1@3 ~@3 a1@23 ~", O: "~@23 c4@12 g3@11 ~@2",
  P: "[f2@11 ~@7 f2 ~@5 f2@13 ~@10 e2@13 ~@5 e2 ~@6 e2@13 ~@5 e2@2 ~@3 d2@13 ~@6 d2 ~@4 eb2@6 ~@7 eb3@8 c3@3 ~]/3",
  Q: "[bb2@16 ~@7 g2@6 f2@7 d2@5 c2@6 bb1@12 ~ c2@11 db2@12 ~ g2@11 ~]/2", R: "f2@14 ~@4 c2@2 db2@3 ~ d2@18 a1@5 ~",
  S: "g1@14 ~@4 g1@2 a1@3 ~ b1@17 ~ g1@5 d2", T: "c2@3 ~@16 f2@4 ~", U: "bb1@13 ~@5 bb1@5 ~ c2@17 ~ c2@2 ~ d2@3",
  V: "eb2@16 ~@2 eb2@6 d2@11 ~ gb2@11 ~", W: "~@4 f2 ~@14 g2@5 c2@11 ~ e2@12, g2@17 ~@31", X: "f2@24 a2@12 f2@11 ~",
  Y: "bb1@17 ~ bb1@6 c2@15 ~@3 c2@3 d2@3", Z: "eb2@16 ~@2 eb2@5 ~ d2@12 gb2@11 ~",
  AA: "g2@17 ~@4 a2 ~@2 a2@16 ~@2 a2@6, ~@3 g2 ~@4", AB: "d2@43 ~@5", AC: "c2@7 ~", AD: "bb2@18 ~@5 gb2@12 ~ g2@12",
  AE: "a2@11 bb2@12 c3@12 ~ d3@12", AF: "[g2@14 ~@3 g2@3 ~ a2@3 b2@17 ~@6 c3@19 ~@9 bb2@5 ~@7 c3@8 ~]/2",
  AG: "f2@4 ~@2 f2 ~ f2@6 ~@2", AH: "e2@6 ~@3 e2 ~@2 e2@9 ~@3", AI: "d2@15 ~@3 d2@2 ~@4 eb2@7 ~@5 eb3@9 c3@3",
  AJ: "bb2@19 ~@6 g2@5 f2@6 d2@6 c2@5 ~", AK: "bb1 c2 db2 g2", AL: "f2@17 c2@4 db2@3 d2@18 a1@6",
  AM: "[g1@17 ~ g1@3 a1@3 b1@22 ~ c2@20 ~@8 bb1@7 ~@5 c2@5 ~@4]/2", AN: "f2@7 ~@41",
})).s("gm_acoustic_bass").gain(0.31)

// chords · harpsichord · "Jx10"
const harpsichord = note("<~@11 A@4 B@3 C ~@3 D@6 E@8 F@4 G@5 H@4 I J@3 K@8 L>".pickRestart({
  A: "[f5@47 e5@48 d5@24 ~@13 c5@11 ~ bb4@45 ~@3, ~@95 a4@47 ~@50, ~@119 eb5@24 d5@43 ~@6]/4",
  B: "[[bb4,db5]@12 [c5,eb5]@12 ~@12 bb5@11 ~ a5@47 [d5,g5]@49, ~ f5@3 ~@2, ~@24 db5@23 c5@46 ~@2 b4@45 ~@4]/3", // Bbm Cm G5
  C: "[g4,e5]@23 a4@24 ~", // C
  D: "[~@47 [gb5,a5]@24 [ab5,b5]@12 ~ db6@11 ~ g5@22 ~ db6@11 ~ d6@11 ~@40 e6@5 ~@4 [d5,gb5]@23 ~ [e5,g5]@12 gb5@12 [e5,db6]@22 ~@2 [c5,c6]@23 ~@2, ~@83 a5@12 [g4,d5]@49 e6@35 b5@9 ~@73 [e5,g5]@25 ~@2, ~@95 b5@23 ~ a5@21 ~@3 [ab4,e5]@49 ~@96, ~@131 b5@45 ab5@14 ~ a4@71 ~@26]/6", // Gbm Abm D Em Dbm C G5 Em …
  E: "[~@47 e5@23 ~@14 c6@12 d5@23 eb5@12 c5@10 ~@3 [d5,bb5]@44 ~@3 [bb4,db5]@12 ~ c5@11 ~ db5@11 ~ bb5@11 [f5,a5]@48 ~@24 b5@24 [e5,c6]@18 ~@31, a5@145 ~@70 f5@12 g5@12 ~@48 g5@64 ~@33, c5@95 ~@289, f5@46 ~@25 e5@23 ~@2 f5@92 ~@15 eb5@13 ~@71 d5@46 ~@51, ~@36 c6@37 ~@311]/8", // Gm Bbm F C
  F: "[[bb4,f5,d6]@23 [c5,e6]@24 ~@36 gb5@11 ~ [g4,bb5]@24 [c4,e5,c6]@24 ~@24 eb5@18 ~@6 bb5, ~@23 g5@41 ~@2 g5@18 ~@11 g5@48 [c5,f5]@43 ~@6, ~@47 [c5,c6,eb6]@24 [d5,d6]@47 ~@25 [f4,a5]@49, ~@71 a5@24 ~@95 f5@2]/4", // Bb C Gm C F5 Cm D F
  G: "[[bb3,bb4,d6]@21 ~@3 c5@20 ~@4 eb5@24 ~@17 gb5@6 [g4,g5,bb5]@24 ~@13 db5@11 ~@19 e5@6 [d3,gb5]@19 ~@16 d5@12 e5@19 ~@6, ~@21 e5@25 ~ eb4@25 ~@5 d6@37 ~@29 g5@21 ~@27 f5@25 ~@24, ~@22 g5@16 ~@9 [bb5,eb6]@31 ~@5 a5@12 ~@24 d5@13 ~@11 d5@47 ~@50, ~@23 c6@55 ~@42 a5@25 ~@6 a5@41 ~@48, ~@23 e6@25 g5@43 ~@28 [a4,e5]@24 d4@43 ~@5 [c3,c4,c5,g5]@43 ~@6]/5", // Bb Gm D Eb5 A5 C5
  H: "[f5@47 e5@49 d5@23 ~@25 bb5@47 ~, ~@119 eb5@23 ~@50, ~@11 f5@5]/4", I: "[bb4,bb5]@23 [gb4,gb5]@12 [g4,g5]@13",
  J: "[[a4,a5]@12 [bb4,bb5]@12 [c5,c6]@11 ~@13 b5@20 a5@4 [g3,b5]@23 [c4,e5,c6]@23 ~@4 [bb3,bb4,d5,f5,bb5,c6]@10 ~@3 [c4,c5,e5,g5,c6]@7 ~@2, ~@35 [d5,d6]@58 ~@51, ~@24 g5@35 ~@13, ~@48 g4@47 ~@49]/3", // A Bb C G C Bb C D
  K: "[f4@47 ~ e5@47 ~ [a4,d5]@23 ~ c5@18 ~@7 bb5@93 ~@49 [g4,g5,b5]@48 ~ e5@22 ~@5 [bb4,f5,bb5,d6]@8 ~@4 [c5,e5,g5,c6,e6]@7 ~@2, f5@143 ~ f5@144 ~@96, [a4,c5]@95 ~@24 [a4,eb5]@21 ~@2 d5@97 ~ [c5,a5]@47 ~@48 [c5,g5,c6]@22 ~@27, ~@132 d5@35 ~@25]/8", // D5 G Bb C Am Adim F C5
  L: "[f5,a5,c6,f6] ~@11", // F
})).s("gm_harpsichord").gain(0.26)

// chords · harpsichord · "Jx10" · soft notes
const harpsichord_soft = note("<~@11 A@3 ~@3 B@2 ~@3 C@2 D@4 ~@9 E ~ F@2 ~@4 G@4 ~@2 H ~@4 I@2 ~@4>".pickRestart({
  A: "[c5@65 ~@7, a4@47 ~@25]/3", B: "[~@47 c5@25 ~@24]/2", C: "[~@47 [gb4,db5]@49]/2",
  D: "[~@46 ab5@32 ~@13 d6 ~ e6 ~ a5@25 ~@11 a5@34 c4@24 ~@3, ~@31 d6@17 ~@16]/4", E: "~@23 d4@24 ~",
  F: "[~@45 d5@23 ~@3 c4@21 ~@4]/2", G: "[c5@3 [bb4,d5], a5@47 ~@17]/4", H: "a5 ~@47", I: "[bb4@47 ~]/2",
})).s("gm_harpsichord").gain(0.15)

// chords · electric guitar clean · "d50/32"
const electric_guitar_clean = note("<~@15 A@2 B ~@14 C@2 D E ~@3 F ~@3 G@2 H@4 ~@8 I J D K ~>".pickRestart({
  A: "[f4@12 g4@12 a4@12 bb4@11 a4@49]/2", B: "g4@47 ~", C: "[f5@11 g5@12 a5@12 ~ bb5@11 a5@48 ~]/2", D: "g5",
  E: "c5 ~@34 f6@7 f5@6, ~@35 [a5,c6]@13", F: "~@23 f6@12 ~ f5@11 ~, ~@23 [a5,c6]@23 ~@2",
  G: "[g5@12 e5@11 gb5@16 ~@8 f5@19 d5@6 e5@7 ~@17, [d5,a5]@40 ~@7 [c5,g5]@32 ~@17]/2", // D5 C5
  H: "[[a4,c5]@6 f4@5 [a4,c5]@6 f4@6 [a4,c5]@6 f4@6 [a4,c5]@6 f4@6 [a4,c5]@6 e4@6 [a4,c5]@6 e4@6 [a4,c5]@6 e4@6 [a4,c5]@6 e4@6 [a4,c5]@7 d4@6 [a4,c5]@6 d4@6 [a4,c5]@5 eb4@6 [a4,c5]@6 eb4@6 [f4,bb4]@7 d4@6 [f4,bb4]@6 d4@5 ~ f4@6 d4@5 [f4,bb4]@6 d4@5 ~@2, ~@167 bb4@7 ~@18]/4", // Am Bb5
  I: "f5@12 g5@12 a5@12 bb5@11 ~", J: "a5", K: "c6@22 ~@5 bb5@8 ~@4 c6@6 ~@3",
})).s("gm_electric_guitar_clean").gain(0.39)

// chords · guitar harmonics · "d50/32"
const guitar_harmonics = note("<~@22 A@6 ~@34>".pickRestart({
  A: "[~@47 a4@22 ~@3 ab4@11 ~ a4@11 [g4,b4]@24 ~ a4@11 d5@12 ~ ab4@23 [a4,db5]@12 b4@11 ~ gb4@47 ~ db5@24 c5@23 ~@2, ~@47 gb4@29 ~@7 db5@12 ~@24 db5@13 ~@11 e4@46 ~ a4@73 ~@25, ~@71 b4@13 ~@47 b4@37 ~@11 d5@60 e4@47 ~@2]/6", // G A
})).s("gm_guitar_harmonics").gain(0.24)

// chords · music box · "D50"
const music_box = note("<~@36 A@3 B@3 C ~@19>".pickRestart({
  A: "[[bb5,d6]@6 d6@4 ~ bb5@5 ~@2 bb5@6 g5@5 [g5,e6]@5 ~ [g5,e6]@5 ~@7 [bb5,eb6]@6 [c6,eb6]@6 ~ [c6,eb6]@5 ~ c6@5 ~ a5@5 ~ d6@5 [gb5,d6]@5 ~ [a5,d6]@5 ~@2 d5@5 d5@4 ~@2 [d5,g5,bb5]@6 bb5@5 ~ c6@5 ~ [g5,c6]@5 ~@2 g5@5 ~ [g5,c6]@5 ~, f5@22 ~@20 g5@41 ~@12 g5@11 ~@7 g5@11 ~@7 c6@5 ~@8, ~@11 d6@12 ~ c6@12 ~@5 e6@5 ~@19 eb6@4 ~@2 d6@5 ~@2 a5@10 ~@7 bb5@5 ~@19 e5@11 ~@2 e5@11 ~]/3", // Bb C Eb5 Cm D D5 Gm C5
  B: "[[c5,f5,a5]@19 ~@28 bb5@5 ~ bb5@5 ~@7 [f5,bb5]@6 ~ e6@5 ~ [c6,e6]@6 e6@4 ~@7 [bb5,eb6]@5 ~ [bb5,c6,eb6]@5 ~ [bb5,c6,eb6]@5 ~ [g5,bb5,c6,eb6]@5 ~ [g5,a5,d6]@6 ~ d6@5 ~ [gb5,d6]@5 ~ d6@5 ~, ~@47 [f5,d6]@11 ~ [f5,bb5]@5 ~@8 g5@17 e6@5 ~@50, ~@60 d6@11 c6@5 ~@8 c6@16 ~@26 a5@11 a5@6 ~, ~@90 g5@11 g5@11 ~@13 g5@5 ~@14]/3", // F Bb5 C Eb5 Cm7 Gsus2 D Dm …
  C: "bb5@5 bb5@5 ~@2 g5@5 ~ g5@4 ~@2 e5@5 ~ d5@5 ~ db5@11 ~, [d5,g5]@11 ~ bb5@10 ~ a5@5 ~@2 e5@17 ~, ~@30 a5@11 ~@7", // G5
})).s("gm_music_box").gain(0.31)

// chords · music box · "D50" · soft notes
const music_box_soft = note(`<
  ~@36
  [~@6 bb5@4 ~@14 e6@5 ~@19]
  [~@5 bb5@17 ~@19 gb5@4 ~@3]
  [~@5 bb5@5 ~@38]
  ~@2
  [~@41 gb5@5 ~@2]
  [~@12 d5@5 ~ d5@11 ~@13 a5@5 ~]
  ~@19
>`).s("gm_music_box").gain(0.16)

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

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@12 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@11 A ~@3 A ~@3 A ~>".pickRestart({
  A: "~@3 x ~@4",
})).gain(0.26)

// drums · hihat
const hihat = s("hh").struct("<~@11 [x!8]!32 ~@8 [x!8]!10 ~>").gain(0.1)

// drums · crash
const crash = s("cr").struct("<~@49 [x ~ x!2] [x!4] ~@10 x>").gain(0.31)

// drums · ride
const ride = s("rd").struct("<~@43 [x!3 ~]!2 ~@17>").gain(0.26)

// drums · lt
const lt = s("lt").struct("<~@11 [~ x ~ x]!32 ~@8 [~ x ~ x]!10 ~>").gain(0.41)

stack(
  piano, piano_soft, bass, harpsichord, harpsichord_soft, electric_guitar_clean, guitar_harmonics, music_box,
  music_box_soft, kick, kick_soft, hihat, crash, ride, lt
)

More by Alice Cooper