Strudelify

She

Kiss

KeyD minorTempo85 bpm
0:00/0:00
// She — Kiss
// 85 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: Full arrangement: all 88 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(85/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 · distortion guitar · "Ace"
const distortion_guitar = note(`<
  ~@4 A B@2 C D E@3 F@2 G@2 H@2 I J@2 K L@2 M@2 N@2 O P Q R@2 S T@2 U V W X@2 Y@2 Z AA AB AC@3 AD AE@3 ~@3 AF AG@2 AH@2
  AI AJ AK AL AM AN AO AP ~@7 AQ@3 AR@8 AS
>`.pickRestart({
  A: "~@15 g3@12 [g2,d3]@6 ~ d3@7 ~@7, ~@11 g2@2 ~@3", // G5
  B: "[~@5 [g2,d3]@6 ~ [g2,d3]@7 bb3@12 c3@3 db3@3 d3@6 ~ f3@13 d3@3 g3@3 ~@3 f3@3 ~@4 d3@3 f3@6 [g2,d3]@6 ~ d3@6 ~, ~@44 g2@3 ~]/2", // G5
  C: "~@12 [g2,d3]@6 [g2,d3]@7 bb3@12 c3@3 ~ db3@3 d3@4", D: "~@2 f3@12 d3@3 ~ g3@3 ~@3 f3@3 ~@3 d3@3 f3@6 g2@6 b2@3",
  E: "[~ c3@3 d3@6 f3@3 g3@3 ~ bb3@6 g3@3 f3@3 ~ g3@6 bb3@6 ~ g3@3 f3@3 g3@7 bb3@6 g3@3 ~ f3@2 g3@3 ~ f3@3 d3@6 ~ f3@12 g2@6 b2@3 c3@3 ~ d3@5 f3@3 g3@3 ~ bb3@6 g3@3 f3@3 ~ g3@6 bb3@6]/3",
  F: "[g3@3 f3@3 g3@6 ~ bb3@6 g3@3 f3@3 ~ g3@3 f3@3 d3@7 f3@13 [g2,d3]@6 [g2,d3]@7 ~@12 [g2,d3]@6 [g2,d3]@6 ~@7]/2", // G5
  G: "[~@7 c3@3 db3@3 d3@3 ~@3 f3@10 ~ d3@3 c3@3 db3@3 d3@6 ~ f3@10 d3@2 ~ g2@6 [g2,d3]@7 ~@12 [g2,d3]@6 [g2,d3]@6, ~@29 d3@3 ~@16]/2", // G5
  H: "[~ a3@12 c3@3 db3@3 d3@3 ~@3 f3@10 d3@3 c3@3 db3@4 d3@6 f3@9 ~ d3@3 [g2,d3]@6 [g2,d3]@6 ~@13 [g2,d3]@6 ~]/2", // G5
  I: "[g2,d3]@6 ~@12 c3@3 db3@3 ~ d3@3 ~@3 f3@10 d3@3 c3@3 ~", // G5
  J: "[db3@2 d3@6 ~ f3@9 ~ d3@2 ~ g2@6 [g2,d3]@7 ~@11 [g2,d3]@6 ~ [g2,d3]@6 a3@12 ~ c3@2 db3@3 ~ d3@3 ~@3 f3@9 d3@3, ~@7 d3@2 ~@23]/2", // G5
  K: "c3@3 db3@3 ~ d3@6 f3@6 d3@6 ~@7 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@4", // A5
  L: "[~@9 [a3,e4]@6 ~@6 [a3,e4,a4]@7 ~@6 [a3,e4,a4]@6 ~@7 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@7 [a3,e4,a4]@6 ~@7 [a3,e4,a4]@6 ~@5, ~@4 a4@3 ~@41]/2", // A5
  M: "[~ [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~ [a3,a4]@49 [g2,d3]@6 [g2,d3]@6 ~@3, ~@31 e4@49 ~@16]/2", // A5 A G5
  N: "[~@10 [g2,d3]@6 [g2,d3]@6 ~ bb3@12 c3@3 db3@3 d3@3 ~@3 f3@9 d3@3 c3@3 ~ db3@3 d3@6 f3@10 d3@3 [g2,d3]@6 [g2,d3]@5]/2", // G5
  O: "~@14 [g2,d3]@6 [g2,d3]@7 ~@12 c3@3 db3@3 ~ d3@2", P: "~@4 f3@10 d3@3 c3@3 db3@3 d3@6 ~ f3@9 ~ d3@3 [g2,d3]@5",
  Q: "~ [g2,d3]@6 ~@13 [g2,d3]@6 [g2,d3]@6 ~ a3@12 c3@3", // G5
  R: "[db3@3 d3@3 ~@4 f3@9 d3@3 c3@3 db3@3 ~ d3@6 f3@9 d3@3 [g2,d3]@6 ~ d3@6 ~@12 [g2,d3]@6 ~ [g2,d3]@6 ~@11, ~@53 g2@6 ~@37]/2", // G5
  S: "~ c3@3 ~ db3@3 d3@3 ~@2 f3@10 d3@3 c3@3 ~ db3@3 d3@6 f3@9",
  T: "[~ d3@2 ~ g2@6 [g2,d3]@6 ~@13 [g2,d3]@6 [g2,d3]@6 a3@13 c3@3 db3@3 ~ d3@3 ~@3 f3@9 d3@3 c3@3 ~ db3@3 d3@6 f3@4, ~ d3@2 ~@29]/2", // G5
  U: "~@2 d3@6 ~@7 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@7 [a3,e4]@6 ~@2, ~@13 a4@2 ~", // A5
  V: "~@4 [a3,e4,a4]@6 ~@7 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~", // A5
  W: "~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@7 [a3,e4,a4]@5", // A5
  X: "[~@7 [a3,e4,a4]@6 [a3,e4,a4]@47 ~ [g2,d3]@6 [g2,d3]@6 ~@12 [g2,d3]@6 [g2,d3]@5]/2", // A5 G5
  Y: "[~ bb3@12 ~ c3@3 db3@3 d3@3 ~@4 f3@9 d3@3 c3@3 db3@3 ~ d3@6 f3@9 ~ d3@3 [g2,d3]@6 ~ d3@6 ~@12 [g2,d3]@6, ~@71 g2@7 ~@18]/2", // G5
  Z: "~ [g2,d3]@6 bb3@13 c3@3 db3@3 d3@3 ~@4 f3@9 d3@3 c3@3", // G5
  AA: "db3@3 d3@6 ~ f3@9 d3@3 [g2,d3]@6 ~ [g2,d3]@6 [g3,c4]@3 [f3,bb3]@10", // G5 C5 Bb5
  AB: "[g2,d3]@6 [g2,d3]@6 [g3,c4]@3 [f3,bb3]@10 c3@3 db3@3 d3@6 f3@11", // G5 C5 Bb5
  AC: "[~@2 d3@3 g3@3 ~@3 f3@3 ~@4 d3@3 f3@7 [g2,d3]@6 [g2,d3]@6 ~ g3@2 ~ f3@9 [g2,d3]@6 ~ [g2,d3]@6 [g3,c4]@3 [f3,bb3]@10 c3@3 db3@3 d3@6 f3@13 d3@3 g3@3 ~@4 f3@3 ~@3 d3@3 f3@6 ~ [g2,d3]@6 [g2,d3]@6 g3@2, ~@40 c4@3 bb3@10 ~@91]/3", // G5 C5 Bb5 G5
  AD: "~ f3@10 d3@3 c3@3 d3@3 ~ bb3@9 g3@6 ~ [g2,d3]@6 [g2,d3]@5", // G5
  AE: "[~ g3@3 f3@10 d3@3 c3@3 d3@3 bb3@16 [g2,d3]@7 [g2,d3]@6 g3@3 f3@9 ~ d3@3 c3@3 d3@3 bb3@9 ~ g3@5 [g2,d3]@6 [g2,d3]@6 g3@3 ~ f3@8 d3@3 ~ c3@3 d3@3 bb3@14 [g2,d3]@7]/3", // G5
  AF: "~@31 [bb2,f3]@12 [c3,g3]@5", // Bb5 C5
  AG: "[~ f3@6 g3 ~@2 g3 ~@2 g3@10 g3@3 f3@6 g3 ~@2 g3 ~@2 g3@9 g3@3 f3@6 g3 ~@2 g3 ~@2 g3@10 f3@3 g3@6 ~@15]/2",
  AH: "[~@3 f3@5 g3 ~@3 g3 ~@2 g3@9 g3@2 f3@6 g3 ~@3 g3 ~@2 g3@8 g3@3 f3@6 g3 ~@2 g3 ~@2 g3@9 f3@3 g3@6 ~@16]/2",
  AI: "~@2 f3@5 g3 ~@2 g3 ~@3 g3@9 g3@2 f3@6 g3 ~@2 g3 ~@2 g3@9 g3@2", AJ: "~ f3@6 g3 ~@2 g3 ~@2 g3@9 f3@3 g3@6 ~@17",
  AK: "~ f3@5 g3 ~@3 g3 ~@2 g3@8 g3@3 f3@6 g3 ~@3 g3 ~ g3@9 g3@3", AL: "f3@6 g3 ~@2 g3 ~@2 g3@10 f3@3 g3@6 ~@17",
  AM: "f3@6 g3 ~@2 g3 ~@2 g3@8 ~ g3@3 f3@6 g3 ~@2 g3 ~@2 g3@9 g3@3", AN: "~ f3@5 g3 ~@3 g3 ~ g3@9 ~ f3@3 g3@6 ~@17",
  AO: "~ f3@6 g3 ~@2 g3 ~@2 g3@9 g3@2 f3@6 ~ g3 ~@2 g3 ~@2 g3@9 g3@2", AP: "~ f3@6 g3 ~@2 g3 ~@2 g3@9 ~ f3@3 g3@6 ~@16",
  AQ: "[~@47 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,a4]@6 ~@6 [a3,e4,a4]@6 ~@6 [a3,e4,a4], ~@59 e4@3 ~@10]/3", // A5 A A5
  AR: "[~@10 [a3,e4,a4]@6 ~@6 [a3,e4,a4]@6 ~@5 [a3,e4,a4]@6 [a3,e4,a4]@46 [g2,d3,g3,b3]@5 [g2,d3,g3,b3]@35 ~@6 [e3,b3,e4]@11 ~ e4@11 c3@3 db3@3 d3@6 f3@11 [e3,b3,e4]@11 ~ [e3,b3,e4]@12 c3@3 db3@3 d3@6 f3@11 [e3,b3,e4]@12 [e3,b3,e4]@12 c3@3 db3@2 d3@6 ~ f3@12 [e3,b3,e4]@12 ~ [e3,e4]@12 c3@3 db3@3 d3@6 f3@12 [e3,b3,e4]@12 [e3,b3,e4]@12 c3@3 db3@3 d3@6 ~ f3@11 ~ [e3,b3]@11 [e3,b3,e4]@3, ~@142 [e3,b3]@11 ~@131 b3@12 ~@73 e4@12 ~@3]/8", // A5 G E5 E E5
  AS: "~@9 c3@2 db3@3 d3@6 f3@12 ~@16",
})).s("gm_distortion_guitar").gain(0.29).pan(0.9)

// other · distortion guitar · "Ace (Lead)"
const distortion_guitar_2 = note("<~@8 A@3 B C D ~@47 E F G H I J K L M N ~ O P Q R S ~@6 T@4 U>".pickRestart({
  A: "[~@39 c4@38 c4@2 ~@3 c4@2 ~@3 c4@2 ~@2 c4@19 g3@3 ~ f3@3 g3@19 ~@8]/3",
  B: "~@4 c5@6 ~ d5@3 f5@4 d5@4 ~ f5@12 f5@13", C: "~ f5@5 d5@6 ~ a5@6 ~ g5@3 e5@6 d5@3 ~ c5@6 bb4@3 f4@3 bb4@3",
  D: "c5@3 bb4@25 ~ c4@13 ~@6", E: "~ a5@6 ~ g5@2 e5@6 d5@3 ~ c5@5 bb4@3 g4@6 f4@3 c4@6 f4@3 d4@2",
  F: "~ c5@3 ~@3 c5@4 ~@2 c5@4 ~@2 bb4@3 c5@3 bb4@12 ~@11",
  G: "~ c5@10 ~@2 [c5,d5]@10 ~ c5@3 c5@6 g4@3 c5@3 g4@3 [bb4,d5]@2 ~ g4@3, d5@5 ~@19", // Csus2 Bb
  H: "c5@4 ~@2 c5@4 ~@2 c5@6 ~ bb4@2 c5@3 ~ bb4@12 ~@11", I: "e5@2 d5 b4@2 a4 g4@2 f4 d4@2 c4 g3@2 c4 a3",
  J: "g4@4 ~@2 g4@4 ~@2 g4@4 ~@2 f4@3 g4@3 ~ f4@12 ~@11",
  K: "~ e5@3 c5@3 g5@3 e5@3 c5@2 ~ g5@3 e5@3 c5@3 g5@2 e5@3 c5@2 ~@2 e5@5 ~ c5@3 d5@2 c5@3, ~@33 g5@2 ~@13",
  L: "~ f5@3 ~@3 f5@3 ~@3 f5@6 ~ d5@2 f5@3 f5@23", M: "~@46 c4 ~",
  N: "~ c4 ~@2 c4@9 c4 ~@2 bb3@8 f3 ~@2 f3@9 bb2 ~@3 bb2@8",
  O: "~ g3 ~ g3@3 ~@3 g3 ~@2 g3@3 ~@3 g3 ~@2 g3@3 ~@3 g3 ~@2 g3@6 bb3@11 ~", P: "~@47 c4",
  Q: "~@2 c4@3 ~@2 c4 ~@2 bb3@3 ~@3 bb3 ~@2 f3@3 ~@2 g3 ~@2 g3@6 bb3@3 bb3@3 bb3@6 ~@3", R: "~@43 f3@3 f3@2",
  S: "~@4 f3@3 ~@2 f3@3 f3@5 ~ d3@3 db3@3 c3@2 bb2@3 ~ g2@3 gb2@3 f2@3 g2@3 ~@6",
  T: "[~@3 d5@12 d5@3 b4@3 a4@3 b4@4 d5@4 d5@11 ~ d5@12 d5@24 d5@6 g4@6 ~ a4@6 b4@3 e5@3 db5@3 a4@3 b4@3 d5@3 db5@6 a4@6 g5@12 g5@12 g5@12 g5@6 e5@3 f5@3 ~ f5@2 d5@3 e5@3 d5@6]/4",
  U: "~@3 b4@3 a4@5 b4@3 a4@3 b4@3 a4@3 ~ b4@2 ~@22",
})).s("gm_distortion_guitar").gain(0.64)

// bass · electric bass pick · "Gene"
const bass = note(`<
  ~@4 A B@2 C D E F@2 G H I@2 J@5 K@3 L M N@2 O@2 P Q@2 R S T U@2 V@2 W X@2 Y Z AA AB AC@2 AD AE@3 AF AG@2 AH AI@4 AJ AK
  AL AM AN AO AP AQ ~@7 AR@4 AS@8
>`.pickRestart({
  A: "~@27 g1@6 ~ g1@6 ~@8",
  B: "[~@2 d2@3 g2@6 ~ g2@7 ~@12 c2@3 db2@3 d2@6 f2@13 ~ d2@3 g2@3 ~@3 f2@3 ~@4 d2@3 f2@6 g1@6 g1@6 ~@2]/2",
  C: "~@8 d2@3 ~ g2@6 g2@7 ~@13 c2@3 db2@3 d2@4", D: "~@2 f2@12 ~ d2@3 g2@3 ~@3 f2@3 ~@3 d2@3 f2@6 g1@6 b1@3",
  E: "~ c2@3 d2@6 f2@3 ~ g2@3 bb2@6 g2@3 ~ f2@2 g2@6 ~ bb2@6 ~ g2@3 f2@2",
  F: "[~@2 g2@6 bb2@6 g2@3 f2@3 g2@3 ~ f2@3 d2@6 ~ f2@12 g1@6 b1@3 c2@3 d2@6 ~ f2@3 g2@3 bb2@6 g2@3 ~ f2@3 g2@6 bb2@6]/2",
  G: "g2@3 f2@3 ~ g2@6 bb2@6 ~ g2@3 f2@3 g2@3 f2@3 ~ d2@6 f2@9", H: "~@4 g1@6 g1@7 ~@9 d2@3 g2@6 ~ g2@6 ~@6",
  I: "[~@7 c2@3 db2@3 d2@6 f2@10 ~ d2@3 c2@3 db2@3 d2@7 f2@9 d2@3 ~ g1@6 g1@6 ~@10 d2@3 g2@6 g2@6]/2",
  J: "[~@13 c2@3 db2@3 d2@6 f2@10 d2@3 c2@3 ~ db2@2 d2@7 f2@9 ~ d2@3 g1@6 g1@6 ~@10 d2@3 g2@6 g2@6 ~@14 c2@3 db2@3 d2@6 f2@10 d2@3 c2@3 db2@3 ~ d2@6 f2@9 d2@3 ~ g1@6 g1@6 ~@10 d2@3 g2@6 g2@6 ~@12 c2@3 db2@3 ~ d2@6 f2@9 d2@3]/5",
  K: "[~ c2@2 db2@3 ~ d2@6 f2@6 g2@6 a2@6 ~ a2@5 e2@6 ~ a1@13 db2@12 d2@6 ~ a2@6 a2@6 e2@6 ~ a1@12 db2@6 d2@6 ~ e2@6 a2@6 ~ a2@6 e2@5]/3",
  L: "~ a1@12 db2@12 d2@6 a2@6 ~ a2@6 e2@4", M: "~@2 a1@12 ~ a1@6 bb1@6 b1@6 g1@6 g1@6 ~@3",
  N: "[~@7 d2@3 g2@6 g2@6 ~@12 c2@3 ~ db2@3 d2@6 f2@9 d2@3 ~ c2@3 db2@3 d2@6 f2@9 ~ d2@3 g1@6 g1@5]/2",
  O: "[~@11 d2@3 g2@6 g2@6 ~@13 c2@3 ~ db2@3 d2@6 f2@10 d2@3 c2@3 db2@3 ~ d2@6 f2@9 d2@3 ~ g1@5]/2",
  P: "~ g1@6 ~@10 d2@3 g2@6 g2@6 ~@13 c2@3",
  Q: "[db2@3 d2@6 f2@9 ~ d2@3 c2@3 ~ db2@2 d2@6 ~ f2@9 d2@3 g1@6 g1@6 ~@10 d2@3 g2@6 ~ g2@6 ~@11]/2",
  R: "~ c2@3 db2@3 d2@6 ~ f2@9 d2@3 c2@3 ~ db2@3 d2@6 f2@9", S: "~ d2@3 g1@6 g1@6 ~@10 d2@3 g2@6 g2@7 ~@6",
  T: "~@6 c2@3 db2@3 ~ d2@6 f2@10 d2@2 c2@3 ~ db2@3 d2@6 f2@4",
  U: "[~@2 g2@6 ~ a2@6 a2@6 e2@6 a1@12 ~ db2@12 d2@6 a2@6 ~ a2@6 e2@6 a1@12 db2@6 ~]/2",
  V: "[d2@6 e2@6 a2@6 a2@6 e2@6 a1@12 db2@12 ~ d2@6 a2@6 a2@6 e2@6 a1@12 a1@5]/2",
  W: "~ bb1@6 b1@6 g1@6 g1@6 ~@9 d2@3 g2@6 g2@5",
  X: "[~@14 c2@3 db2@3 ~ d2@6 f2@9 d2@3 ~ c2@2 db2@3 ~ d2@6 f2@10 d2@3 g1@6 ~ g1@6 ~@9 d2@3 g2@6]/2",
  Y: "~ g2@7 ~@12 c2@3 db2@3 d2@6 ~ f2@9 d2@3 c2@3", Z: "db2@3 ~ d2@6 f2@9 d2@3 g1@6 g1@7 ~@10 d2@3",
  AA: "g2@6 g2@6 ~@13 c2@3 db2@3 d2@6 ~ f2@10", AB: "~@2 d2@3 g2@3 ~@4 f2@3 ~@3 d2@3 f2@6 ~ g1@6 g1@6 ~@8",
  AC: "[~@2 d2@3 g2@6 ~ g2@6 ~@12 c2@3 ~ db2@3 d2@6 f2@13 d2@3 g2@3 ~@4 f2@3 ~@3 d2@3 f2@6 ~ g1@6 g1@6 g2@2]/2",
  AD: "~@2 f2@9 d2@3 c2@3 d2@3 ~ bb2@9 g2@6 g1@6 ~ g1@5",
  AE: "[~ g2@3 f2@9 ~ d2@3 c2@3 d2@3 ~ bb2@15 g1@6 ~ g1@6 g2@3 f2@9 d2@3 ~ c2@3 d2@3 bb2@9 ~ g2@5 g1@6 g1@6 g2@3 f2@9 d2@3 ~ c2@2 d2@3 bb2@15 ~ g1@3 g1@3]/3",
  AF: "~@3 g1 ~@2 g1@9 ~ g1@3 f1@6 ~@3 g1 ~@2 g1@9 ~ g1@3 f1@4",
  AG: "[~@6 g1 ~@2 g1@9 g1@3 f1@6 ~ bb1@13 c2@6 f1@3 f1@3 ~@3 g1 ~@2 g1@9 ~ g1@3 f1@6 ~@3 g1 ~@2 g1@8 ~ g1@3]/2",
  AH: "f1@6 ~@4 g1 ~ g1@9 ~ g1@2 f1@6 ~ bb1@12 c2@5",
  AI: "[~ f1@6 ~@3 g1 ~@2 g1@9 ~ g1@3 f1@6 ~@3 g1 ~@2 g1@9 g1@3 f1@6 ~@3 g1 ~@2 g1@9 ~ f1@6 ~@3 bb1@12 c2@6 f1@6 ~@2 g1 ~@3 g1@8 g1@3 f1@6 ~@3 g1 ~@2 g1@9 g1@3 f1@6 ~@3 g1 ~@2 g1@9 f1@6 ~@3 bb1@12 c2@4]/4",
  AJ: "~@2 f1@6 ~@3 g1 ~ g1@9 g1@3 f1@6 ~@3 g1 ~@2 g1@9 g1@2", AK: "~ f1@6 ~@3 g1 ~@2 g1@9 f1@6 ~@3 bb1@11 c2@6",
  AL: "~ f1@6 ~@2 g1 ~@3 g1@8 g1@3 f1@6 ~@3 g1 ~@2 g1@9 g1@3", AM: "f1@6 ~@3 g1 ~@2 g1@9 ~ f1@6 ~@2 bb1@11 ~ c2@6",
  AN: "f1@6 ~@3 g1 ~@2 g1@9 g1@3 f1@6 ~@3 g1 ~@2 g1@9 g1@3", AO: "f1@6 ~@4 g1 ~ g1@9 f1@6 ~@4 bb1@12 c2@5",
  AP: "~ f1@6 ~@3 g1 ~@2 g1@9 g1@2 ~ f1@6 ~@3 g1 ~@2 g1@9 g1@2", AQ: "f1@6 ~@4 g1 ~@2 g1@9 f1@6 ~@4 bb1@12 c2@4",
  AR: "[~@41 a2@6 a2@6 e2@6 a1@12 db2@12 d2@5 a2@6 ~ a2@6 e2@6 a1@11 db2@6 d2@6 ~ e2@6 a2@5 a2@6 e2@6 a1@11 ~ db2@11 d2@6 a2@6 a2@3]/4",
  AS: "[~@2 e2@6 a1@12 ~@17 g1@5 g1@35 ~@6 e2@5 ~ e1@5 e2@11 ~ c2@3 db2@2 ~ d2@6 f2@11 e2@6 e1@6 e2@12 c2@3 db2@3 d2@6 f2@11 e2@6 e1@6 e2@12 c2@2 ~ db2@2 d2@6 ~ f2@12 e2@6 e1@6 ~ e2@12 c2@3 db2@3 d2@6 f2@12 e2@6 e1@6 e2@11 ~ c2@3 db2@3 d2@6 f2@12 e2@6 e1@6 e2@11 c2@3 ~ db2@2 d2@6 ~ f2@12 ~@15]/8",
})).s("gm_electric_bass_pick").gain(0.44)

// chords · distortion guitar · "Paul"
const distortion_guitar_3 = note(`<
  A@2 B@2 C D@3 E F@3 G@2 H@2 I@5 J@7 K L M N@2 O P Q R@2 S T U V@2 W X Y Z@3 AA AB@3 ~@3 AC AD@4 AE AF AG AH AI AJ AK
  AL ~@7 AM@4 AN@8
>`.pickRestart({
  A: "[~@8 [g2,d3]@7 [g2,d3]@7 ~@13 [g3,d4]@6 [g3,d4,g4]@13 ~@7 c3@3 ~ db3@3 d3@3 ~@3 f3@10 d3@3 c3@4 db3@3 d3@2, ~@34 g4@7 ~@55]/2", // G5
  B: "[~@5 f3@10 d3@3 ~ g2@6 [g2,d3]@7 ~@13 [g3,d4,g4]@7 [g3,d4,g4]@13 ~@6 c3@3 ~ db3@3 d3@4 ~@2 f3@10 d3@2, ~@18 d3@7 ~@71]/2", // G5
  C: "~@2 c3@3 db3@3 d3@3 ~@3 [f3,bb3,d4]@13 [g2,d3]@6 ~ [g2,d3]@6 [f3,bb3,d4]@8", // Bb G5 Bb
  D: "[~@2 d3@3 [g2,d3]@7 [g2,d3]@6 ~ g3@12 c3@3 db3@3 ~ d3@6 [f3,bb3]@13 d3@3 [g3,c4]@3 ~@3 [f3,bb3]@3 ~@3 d3@3 ~ [f3,bb3]@6 [g2,d3]@6 ~ [g2,d3]@6 [f3,bb3,d4]@9 d3@3 ~ [g2,d3]@6 [g2,d3]@7 [g3,c4]@12 ~ c3@3 db3@3 d3@4, ~@3 c4@2 ~@19]/3", // G5 Bb5 C5 Bb5 G5 Bb G5 C5
  E: "~@2 [f3,bb3]@12 d3@3 ~ [g3,c4]@3 ~@3 [f3,bb3]@3 ~@3 d3@3 [f3,bb3]@6 g2@6 b2@3", // Bb5 C5 Bb5
  F: "[c3@3 ~ d3@6 f3@3 g3@3 ~ bb3@6 g3@3 f3@3 ~ g3@6 bb3@7 g3@3 f3@3 g3@7 bb3@6 g3@3 ~ f3@3 g3@3 f3@3 d3@6 f3@13 g2@6 b2@3 c3@3 ~ d3@6 f3@3 g3@3 f3@6 e3@3 d3@3 e3@6 ~ [f3,bb3]@6]/3", // Bb5
  G: "[e3@3 d3@3 ~ e3@6 f3@6 ~ e3@3 d3@3 e3@3 d3@3 d3@7 [c3,f3]@6 [c3,f3]@6 ~ [g2,d3]@6 [g2,d3]@6 ~@13 [g2,d3]@6 [g2,d3]@7 ~@6]/2", // F5 G5
  H: "[~@7 c3@3 db3@3 d3@3 ~@3 f3@10 d3@3 ~ c3@3 db3@3 d3@7 f3@9 d3@3 ~ [g2,d3]@6 [g2,d3]@6 ~@13 [g2,d3]@6 ~ [g2,d3]@5]/2", // G5
  I: "[~@13 c3@3 db3@3 d3@3 ~@3 f3@10 d3@3 c3@3 db3@3 ~ d3@6 f3@10 d3@3 [g2,d3]@6 ~ [g2,d3]@6 ~@12 [g2,d3]@6 [g2,d3]@6 ~@14 c3@2 db3@3 ~ d3@3 ~@3 f3@10 d3@3 ~ c3@2 db3@3 ~ d3@6 f3@9 d3@3 ~ [g2,d3]@6 [g2,d3]@7 ~@12 [g2,d3]@6 [g2,d3]@6 ~@13 c3@3 db3@3 d3@3 ~@3 f3@9 d3@3]/5", // G5
  J: "[c3@3 ~ db3@3 d3@6 f3@6 d3@6 [a2,e3,a3]@44 [a2,e3,a3]@3 ~ [a2,e3,a3]@2 ~ [a2,e3]@31 [a2,e3,a3]@6 ~@7 [a2,e3,a3]@6 [a2,e3,a3]@31 a2@6 e3@6 d4@6 ~ a3@5 e3@6 ~ db4@6 a3@6 ~ e3@6 d4@6 a3@6 e3@6 [g2,d3]@6 [g2,d3]@6 ~ [f3,bb3,d4]@9 d3@3 [g2,d3]@6 [g2,d3]@6 [g3,c4]@12 c3@3 db3@3 ~ d3@3 ~@3 f3@9 ~ d3@2 c3@3 ~ db3@3 d3@6 ~ f3@9 d3@3 [g2,d3]@6 ~ [g2,d3]@4, ~@75 a3@32 ~@229]/7", // A5 G5 Bb G5 C5 G5
  K: "~@14 [g2,d3]@6 ~ d3@6 ~@12 c3@3 ~ db3@3 d3@2, ~@10 g2@3 ~@11", // G5
  L: "~@4 f3@9 ~ d3@3 c3@3 db3@3 d3@6 ~ f3@9 d3@3 ~ g2@5, ~@7 d3", M: "~ [g2,d3]@7 ~@12 [g2,d3]@6 [g2,d3]@6 ~@13 c3@3",
  N: "[db3@3 d3@3 ~@3 f3@9 ~ d3@3 c3@3 db3@3 ~ d3@6 f3@9 d3@3 [g2,d3]@6 ~ [g2,d3]@6 ~@13 [g2,d3]@6 [g2,d3]@6 ~@11]/2", // G5
  O: "~ c3@3 db3@3 ~ d3@3 ~@2 f3@10 d3@3 c3@3 db3@3 ~ d3@6 f3@9",
  P: "d3@3 ~ g2@6 [g2,d3]@6 ~@13 [g2,d3]@6 [g2,d3]@6 ~@7, ~ d3@2 ~@13", // G5
  Q: "~@6 c3@3 ~ db3@2 d3@3 ~@4 f3@9 d3@3 c3@3 ~ db3@3 d3@6 f3@4",
  R: "[~@2 d3@6 ~ a2@43 [a2,e3,a3]@3 ~ [a2,a3]@2 [a2,e3,a3]@31 ~ [a2,e3]@6, ~@8 [e3,a3]@44 ~@3 e3@3 ~@31 a3@6 ~]/2", // A5 A A5
  S: "~ [a2,e3,a3] [a2,e3,a3]@5 a2", T: "~ e3@6 d4@6 a3@6 e3@6 db4@6 a3@6 e3@6 d4@5",
  U: "~ a3@6 e3@6 [g2,d3]@6 [g2,d3]@6 [f3,bb3,d4]@9 d3@3 [g2,d3]@6 [g2,d3]@5", // G5 Bb G5
  V: "[~@2 [g3,c4]@12 c3@3 db3@3 d3@3 ~@4 f3@9 d3@3 ~ c3@3 db3@3 d3@6 f3@9 d3@3 ~ [g2,d3]@6 [g2,d3]@6 ~ [f3,bb3,d4]@9 d3@3 ~ [g2,d3]@5]/2", // C5 G5 Bb G5
  W: "~ [g2,d3]@6 [g3,c4]@13 c3@3 db3@3 d3@3 ~@4 f3@10 d3@2 c3@3", // G5 C5
  X: "~ db3@2 d3@6 ~ f3@9 d3@3 [g2,d3]@6 ~ [g2,d3]@6 [g3,c4]@3 [f3,bb3,d4]@9 ~", // G5 C5 Bb
  Y: "[g2,d3]@6 [g2,d3]@6 [g3,c4]@3 [f3,bb3,d4]@10 c3@3 db3@3 d3@6 f3@11", // G5 C5 Bb
  Z: "[~@2 d3@3 g3@3 ~@4 f3@3 ~@3 d3@3 f3@7 [g2,d3]@6 [g2,d3]@6 [g3,c4]@3 ~ [f3,bb3,d4]@9 [g2,d3]@6 ~ d3@6 [g3,c4]@3 [f3,bb3,d4]@9 c3@3 ~ db3@3 d3@6 f3@13 d3@3 g3@3 ~@4 f3@3 ~@3 d3@3 f3@6 [g2,d3]@6 ~ [g2,d3]@6 g3@2, ~@59 g2@6 ~@79]/3", // G5 C5 Bb G5 C5 Bb G5
  AA: "~ f3@10 d3@3 c3@3 d3@3 bb3@10 g3@6 ~ [g2,d3]@6 [g2,d3]@5", // G5
  AB: "[~ g3@3 f3@9 ~ d3@3 c3@3 d3@3 ~ [f3,bb3]@15 [g2,d3]@7 [g2,d3]@6 g3@3 f3@9 ~ d3@3 c3@3 d3@3 bb3@9 g3@6 [g2,d3]@6 [g2,d3]@6 g3@3 f3@9 ~ d3@2 c3@3 d3@3 [f3,bb3]@15 [g2,d3]@7]/3", // Bb5 G5 Bb5 G5
  AC: "~@31 [bb2,f3,bb3]@12 [c3,g3,c4,e4]@5, ~@5 d4@2 ~", // Bb5 C
  AD: "[~ f2@6 g2 ~@2 g2 ~@2 g2@9 ~ g2@3 f2@6 g2 ~@2 g2 ~@2 g2@9 g2@3 f2@6 g2 ~@2 g2 ~@2 g2@10 f2@3 g2@6 [bb2,f3]@12 [c3,g3]@6 f2@5 g2 ~@3 g2 ~@2 g2@8 g2@3 f2@6 g2 ~@2 g2 ~@3 g2@8 g2@3 f2@6 g2 ~@2 g2 ~@2 g2@9 f2@3 g2@6 [bb2,f3]@12 [c3,g3]@4]/4", // Bb5 C5 Bb5 C5
  AE: "~ f2@6 ~ g2 ~ g2 ~@2 g2@9 g2@3 ~ f2@5 g2 ~@2 g2 ~@2 g2@9 g2@2",
  AF: "~ f2@6 g2 ~@2 g2 ~@2 g2@9 f2@3 g2@6 [bb2,f3]@11 [c3,g3]@6", // Bb5 C5
  AG: "f2@6 ~ g2 ~@2 g2 ~@2 g2@8 ~ g2@2 f2@6 g2 ~@2 g2 ~@2 g2@9 g2@3",
  AH: "f2@6 g2 ~@3 g2 ~ g2@10 f2@3 g2@5 ~ bb2@11 [c3,g3]@6, ~@30 f3@11 ~@7", // C5
  AI: "f2@6 g2 ~@2 g2 ~@2 g2@9 g2@3 f2@6 g2 ~@2 g2 ~@2 g2@9 g2@3",
  AJ: "f2@6 ~ g2 ~ g2 ~@2 g2@9 f2@3 ~ g2@6 [bb2,f3]@12 [c3,g3]@5", // Bb5 C5
  AK: "~ f2@6 g2 ~@2 g2 ~@2 g2@9 g2@3 f2@6 g2 ~@2 g2 ~@2 g2@9 g2@2",
  AL: "f2@6 ~ g2 ~@2 g2 ~@2 g2@9 f2@3 g2@6 ~ bb2@12 [c3,g3]@4, ~@31 f3@12 ~@5", // C5
  AM: "[~@41 [a2,e3,a3]@41 ~ [a2,e3,a3]@3 [a2,e3,a3]@2 ~ [a2,e3,a3]@30 [a2,e3,a3]@6 ~@6 [a2,e3,a3]@6 [a2,e3,a3]@29 a2@5 e3@6 d4@6 a3@6 e3@3]/4", // A5
  AN: "[~@2 db4@6 a3@6 e3@5 d4@6 ~ a3@5 e3@6 [g2,d3,g3,b3]@6 [g2,d3,g3,b3]@36 ~@4 [e3,b3,e4]@11 ~ [e3,b3,e4]@11 c3@3 db3@3 d3@6 f3@11 [e3,b3,e4]@11 ~ [e3,b3,e4]@12 c3@3 db3@3 d3@5 f3@12 [e3,b3,e4]@12 [e3,b3,e4]@12 c3@3 db3@2 d3@6 f3@13 [e3,b3,e4]@12 ~ [e3,b3,e4]@12 c3@3 db3@3 d3@6 f3@12 [e3,b3,e4]@12 [e3,b3,e4]@12 c3@3 db3@3 d3@6 f3@12 ~ [e3,b3,e4]@11 [e3,b3,e4]@11 c3@3 db3@3 ~ d3@5 f3@12 ~@16]/8", // G E5
})).s("gm_distortion_guitar").gain(0.29).pan(0.1)

// bass · piano
const bass_2 = note("<~@8 A B C D ~@18 E F ~@4 G ~@4 H I J K L ~ M N ~@39>".pickRestart({
  A: "~@14 gb2@3 gb2@6 ~ gb2@3 ~@3 gb2@3 gb2@6 ~@9", B: "~@29 gb2@3 ~@4 gb2@6 ~@6", C: "~@33 gb2@3 ~@4 gb2@6 ~@2",
  D: "~@35 gb2@3 ~@4 gb2@6", E: "~@10 gb2@3 gb2@3 ~@8", F: "~@41 gb2@6 ~", G: "~@2 gb2@3 ~@7", H: "~@9 gb2@2 gb2@2 ~@3",
  I: "~@5 gb2!2 ~", J: "~@11 gb2@2 gb2@2 ~", K: "~@22 gb2@13 ~@13", L: "~@37 gb2@6 ~ gb2@4", M: "~@43 gb2@5",
  N: "~ gb2@3 ~@20",
})).s("gm_piano").gain(0.41)

// chords · distortion guitar · "Gtr 4"
const distortion_guitar_4 = note("<~@57 A B@2 C D E F G H I J K ~@19>".pickRestart({
  A: "~ [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@13 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@10", // Bb5 Bb Bb5 Bb
  B: "[~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12 ~ [f3,bb3] ~@5 [bb2,f3,bb3,d4]@12 [c3,g3,c4,e4]@6 [f3,bb3] ~@2 [f3,bb3] ~ f3 bb3 ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12 [f3,bb3] ~ [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@10]/2", // Bb5 Bb Bb5 Bb C Bb5 Bb Bb5 …
  C: "~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12 [f3,bb3] ~@5 [bb2,f3,bb3,d4]@12 [c3,g3,c4,e4]@4", // Bb5 Bb Bb5 Bb C
  D: "~@2 [f3,bb3] ~ f3 bb3 ~ [f3,bb3] ~@3 [f3,bb3] ~@2 [f3,bb3,d4]@11 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@11", // Bb5 Bb Bb5 Bb
  E: "~ [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12 [f3,bb3] ~@5 [bb2,f3,bb3,d4]@12 [c3,g3,c4,e4]@5", // Bb5 Bb Bb5 Bb C
  F: "bb3 f3 ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@11 bb3 f3 ~ [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12", // Bb5 Bb Bb5 Bb
  G: "[f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@3 [f3,bb3,d4]@12 [f3,bb3] ~@5 [bb2,f3,bb3,d4]@11 [c3,g3,c4,e4]@6", // Bb5 Bb Bb5 Bb C
  H: "[f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12", // Bb5 Bb Bb5 Bb
  I: "~ [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~ [f3,bb3] ~@3 [f3,bb3]@12 [f3,bb3] ~@5 [bb2,f3,bb3,d4]@12 [c3,g3,c4,e4]@5, ~ d4 ~@2", // Bb5 Bb C
  J: "~ [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@11", // Bb5 Bb Bb5 Bb
  K: "bb3 f3 ~ f3 bb3 ~@2 [f3,bb3] ~@2 [f3,bb3] ~@2 [f3,bb3,d4]@12 ~ [f3,bb3] ~@5 [bb2,f3,bb3,d4]@12 [c3,g3,c4,e4]@4", // Bb5 Bb Bb5 Bb C
})).s("gm_distortion_guitar").gain(0.29)

// other · distortion guitar · "Lead 2"
const distortion_guitar_5 = note("<~@61 A B C D E F G H ~@19>".pickRestart({
  A: "~@2 a4@6 g4@3 e4@6 d4@2 c4@6 bb3@2 ~ g3@6 f3@3 c3@6 f3@3 d3@2",
  B: "~ c4@4 ~@2 c4@4 ~@2 c4@4 ~@2 bb3@3 c4@3 bb3@12 ~@11",
  C: "~ c4@11 ~ [c4,d4]@10 ~ c4@3 c4@6 g3@3 c4@3 g3@3 [bb3,d4]@2 ~ g3@3, d4@5 ~@19", // Csus2 Bb
  D: "c4@4 ~@2 c4@4 ~@2 c4@6 bb3@3 ~ c4@3 bb3@12 ~@11", E: "a4@6 g4@3 e4@6 d4@3 c4@6 bb3@3 g3@6 f3@3 c3@6 f3@3 ~ d3@2",
  F: "~ c4@4 ~@2 c4@3 ~@2 c4@4 ~@2 bb3@3 ~ c4@2 bb3@12 ~@12",
  G: "~ e4@3 c4@3 g4@3 e4@3 c4@3 g4@3 e4@3 c4@3 g4@2 e4@4 c4@2 g4@2 e4@5 c4@3 d4@3 c4@2",
  H: "f4@3 ~@4 f4@3 ~@3 f4@6 d4@3 f4@3 ~ f4@22",
})).s("gm_distortion_guitar").gain(0.64).pan(0)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 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 AC AD AE AF AG AH AI AJ ~ AK AL AM AN AO AP AQ AR AS
// … 213 more lines

More by Kiss