Strudelify

Not That Kind

Anastacia

KeyG♭ majorTempo98 bpm
0:00/0:00
// Not That Kind — Anastacia
// 98.1 bpm, 4/4, key Gb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 84 bars on a 32-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(98.1/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 · synth bass 1
const bass = note(`<
  ~@9 A B C@3 D E C@6 D E C F C@3 G H I J@6 K L J@6 K L J M N O@3 P Q O@6 P Q O@6 P Q O R O@4 P Q O R S ~
>`.pickRestart({
  A: "~@20 db2!2 gb2 db3 d4 [b3,c4,db4] [g3,ab3,a3,bb3] [d3,eb3,e3,f3,gb3] [bb2,b2,c3,db3] [gb2,g2,ab2,a2] [db2,d2,eb2,e2,f2] [a1,bb1,b1,c2]",
  B: "[e1,e2]@6 ~@5 [e1,e2] [f1,f2]@4 ~@4 [eb1,eb2]@4 ~@8, [g1,ab1] ~@31", // E F Eb Abmaj7
  C: "[e1,e2]@6 ~@5 [e1,e2] [f1,f2]@4 ~@4 [eb1,eb2]@4 ~@8", D: "[d1,d2]@6 ~@5 [e1,e2] [eb1,eb2]@4 ~@4 [db1,db2]@4 ~@8",
  E: "[d1,d2]@6 ~@5 [d1,d2] [eb1,eb2]@4 ~@4 [d1,d2]@5 ~@7", // D Eb D
  F: "[f1,f2]@6 ~@5 [f1,f2] [gb1,gb2]@4 [gb1,gb2]@4 [e1,e2]@4 [db1,db2]@3 [ab0,ab1]@5", // F Gb E Db Ab
  G: "~ e2@6 ~@4 [e1,e2] [f1,f2]@4 ~@5 eb1@4 ~@7, e1@3 ~@7 eb2@2 ~@4", // E F
  H: "[d1,d2]@6 ~@5 [e1,e2] ~ eb2@4 ~@4 db1@4 ~@7, ~@3 eb1 ~ db2 ~@2", // D E
  I: "~ d1@6 ~@4 [d1,d2] ~ [eb1,eb2]@4 ~@3 [d1,d2]@5 ~@7, d2@3 ~@13", // D Eb D
  J: "~ [e1,e2]@6 ~@4 [e1,e2] ~ [f1,f2]@4 ~@4 [eb1,eb2]@4 ~@7", // E F Eb
  K: "~ [d1,d2]@6 ~@4 [e1,e2] ~ [eb1,eb2]@4 ~@4 [db1,db2]@4 ~@7", // D E Eb Db
  L: "~ [d1,d2]@6 ~@4 [d1,d2] ~ [eb1,eb2]@4 ~@4 [d1,d2]@5 ~@6", // D Eb D
  M: "~ [f1,f2]@6 ~@4 [f1,f2] ~ [gb1,gb2]@4 [gb1,gb2]@4 [e1,e2]@4 [db1,db2]@2 [ab0,ab1]@5", // F Gb E Db Ab
  N: "~ [e1,e2]@6 ~@4 e1 e2 [f1,f2]@4 ~@4 [eb1,eb2]@4 ~@7", O: "~ [e1,e2]@6 ~@5 [e1,e2] [f1,f2]@4 ~@4 [eb1,eb2]@4 ~@7",
  P: "~ [d1,d2]@6 ~@5 [e1,e2] [eb1,eb2]@4 ~@4 [db1,db2]@4 ~@7", // D E Eb Db
  Q: "~ [d1,d2]@6 ~@5 [d1,d2] [eb1,eb2]@4 ~@4 [d1,d2]@5 ~@6", // D Eb D
  R: "~ [f1,f2]@6 ~@5 [f1,f2] [gb1,gb2]@4 [gb1,gb2]@4 [e1,e2]@4 [db1,db2]@3 [ab0,ab1]@4", S: "~ [gb1,gb2]@6 ~@25",
})).s("gm_synth_bass_1").gain(0.64)

// other · overdriven guitar
const overdriven_guitar = note("<~@48 A B C D@2 ~ E F G H I J K ~@11 L M N@2 O P Q@2 R@2 ~@2>".pickRestart({
  A: "~@13 e4@2 gb4 ~ a4@12 gb4@2 e4", B: "~ gb4@26 ~@5", C: "~ e5@8 e5@21 [d5,eb5] [b4,c5,db5]",
  D: "[[ab4,a4,bb4] ~@24 b4@2 a4 ~ gb4@20 ~@15]/2", E: "~ e4@31", F: "~ a4@7 ~ b4@8 db5@7 ~ e5@7", G: "~ e5@29 ~@2",
  H: "~ a5@8 a5@8 a5@8 a5@7", I: "~ ab5@31", J: "~ a5@5 gb5@2 ~@13 e4@2 ~ e4!3 ~ e4!3 ~", K: "e4 e4@31",
  L: "~@14 e4@2 gb4 a4@13 gb4@2", M: "e4 gb4@26 ~@5", N: "[~ gb5@50 ~@2 gb5@2 ~ e5 db5@4 db5@3]/2",
  O: "~ a5@8 bb5@8 bb5@8 a5@7", P: "~ e5@4 e5@8 e5@8 b5@11",
  Q: "[~ b4@8 db5@4 b4@4 db5@4 e5@4 gb5@4 e5@8 db5@4 db5@4 db5@4 ~@2 db5@2 b4@2 db5@2 b4@4 b4@3, ~@25 e5 ~@6]/2",
  R: "[~ b4@7 ~ b4@6 a4 ~ gb4@2 gb4@2 ~ e4@3 gb4@2 e4@2 db4@2 gb4@2 gb4 ~ e4@2 db4@2 b3 db4 a3@6 a3@2 gb3@7 ~@8]/2",
})).s("gm_overdriven_guitar").gain(0.45)

// other · synth brass 2
const synth_brass_2 = note(`<
  ~@2 A B A B C D A B A B A B C D A B A B A B C D A B A B A E C F G E G E G E H F G E G E G E H F G E I J K L M N K O K
  O K O M N K O K O K O M N K O K O K O M N K O ~@2
>`.pickRestart({
  A: "e3@4 ~@3 [gb1,gb2]@2 ~@3 [gb1,gb2]@2 ~@18", B: "~@7 [gb1,gb2]@2 ~@3 [gb1,gb2]@2 ~@18",
  C: "d3@4 ~@3 [e1,e2]@2 ~@3 [e1,e2]@2 ~@18", D: "~@7 [e1,e2]@2 ~@3 [e1,e2]@2 ~@18",
  E: "~@7 [gb1,gb2]@2 ~@4 [gb1,gb2]@2 ~@17", F: "~@7 [e1,e2]@2 ~@4 [e1,e2]@2 ~@17",
  G: "~ e3@4 ~@2 [gb1,gb2]@2 ~@4 [gb1,gb2]@2 ~@17", H: "~ d3@4 ~@2 [e1,e2]@2 ~@4 [e1,e2]@2 ~@17",
  I: "~ e3@4 ~@3 gb2@2 ~@3 [gb1,gb2]@2 ~@17, ~@7 gb1@2 ~@23", J: "~@8 gb2@2 ~@3 [gb1,gb2]@2 ~@17, ~@7 gb1@2 ~@23",
  K: "~ e3@4 ~@3 [gb1,gb2]@2 ~@3 [gb1,gb2]@2 ~@17", L: "~@8 gb1@2 ~@3 [gb1,gb2]@2 ~@17, ~@7 gb2@2 ~@23",
  M: "~ d3@4 ~@3 [e1,e2]@2 ~@3 [e1,e2]@2 ~@17", N: "~@8 [e1,e2]@2 ~@3 [e1,e2]@2 ~@17",
  O: "~@8 [gb1,gb2]@2 ~@3 [gb1,gb2]@2 ~@17", // Gb
})).s("gm_synth_brass_2").gain(0.36).pan(0.3)

// other · overdriven guitar
const overdriven_guitar_2 = note("<~@56 [~ gb5@29 ~@2] ~@27>").s("gm_overdriven_guitar").gain(0.46)

// chords · clavinet
const clavinet = note(`<
  ~@18 A B C D E F G H ~@16 I J K L M N O P Q R S T U V W X Y Z AA AB@2 AC AD AE AF AG AH AI AJ AK AL AM AF AG AH AN AJ
  AK AL AM AO ~
>`.pickRestart({
  A: "gb2@2 ~ gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb2@2 ~@2 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@3, ~@16 ab2 ~@15", // Gb5
  B: "gb2@2 ~ gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@2 [b3,e4]@4 gb3", // Gb5 E5
  C: "gb2@3 gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb2@2 ~@2 gb3@2 ~@2 [db4,gb4] ~@3 gb3 ~@3", // Gb5
  D: "gb2@4 gb3@2 ~@2 gb4@2 ~@2 gb3 ~@3 gb2@3 gb3 [db4,gb4] ~@2 [db4,gb4] ~@2 [db4,gb4] gb3 [c4,f4]@2 ~ f3, ~@8 db4 ~@23", // Gb5 F5
  E: "e2@3 e3 [b3,e4] ~@2 [b3,e4] ~@3 e3 [b3,e4] ~@3 e2@3 ~ [b3,e4] ~@3 e2@3 e3 db4@2 ~ d4", // E5
  F: "e2@2 ~ e3 [b3,e4]@2 ~ [b3,e4] ~@3 e3 [b3,e4] ~@3 e3 ~@3 [b3,e4] ~@3 e3 ~@3 [b3,e4]@3 d4", // E5
  G: "gb2@3 gb3 [db4,gb4] ~@2 [db4,gb4] ~@4 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4]@4", // Gb5
  H: "gb2@2 ~ gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@11", // Gb5
  I: "~ gb2@2 gb3 ~ [db4,gb4] ~ [db4,gb4] ~@3 gb3 ~ [db4,gb4] ~@3 gb2@2 ~@2 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@2, ~@17 ab2 ~@14", // Gb5
  J: "~ gb2@2 gb3 ~ [db4,gb4] ~ [db4,gb4] ~@3 gb3 ~ [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@3 gb3 ~ [b3,e4]@4 gb3", // Gb5 E5
  K: "~ gb2@2 gb3 ~ [db4,gb4] ~ [db4,gb4] ~@3 gb3 ~ [db4,gb4] ~@3 gb2@2 ~@2 gb3@2 ~@2 [db4,gb4] ~@3 gb3 ~@2", // Gb5
  L: "~ gb2@4 gb3@2 ~@2 gb4@2 ~@2 gb3 ~@3 gb2@2 gb3 ~ [db4,gb4] ~ [db4,gb4] ~@2 [db4,gb4] gb3 ~ [c4,f4]@2 f3, ~@9 db4 ~@22", // Gb5 F5
  M: "~ e2@2 e3 ~ [b3,e4] ~ [b3,e4] ~@3 e3 ~ [b3,e4] ~@3 e2@3 ~ [b3,e4] ~@3 e2@2 e3 ~ db4@2 d4", // E5
  N: "~ e2@2 e3 ~ [b3,e4]@2 [b3,e4] ~@3 e3 ~ [b3,e4] ~@3 e3 ~@3 [b3,e4] ~@3 e3 ~@3 [b3,e4]@2 d4", // E5
  O: "~ gb2@2 gb3 ~ [db4,gb4] ~ [db4,gb4] ~@5 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4]@3", // Gb5
  P: "~ gb2@2 gb3 ~ [db4,gb4] ~ [db4,gb4] ~@3 gb3 ~ [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@10", // Gb5
  Q: "~ gb2@4 ~@2 gb2@2 ~@4 gb2@3 ~@6 gb2@2 ~ gb2@2 ~@5",
  R: "gb2!2 gb2@2 ~ e2@2 ~@5 gb2 ~@2 gb2 ~@7 gb2 ~ gb2 ~ gb2 ~@4",
  S: "~ gb2@6 ~ gb2 ~ gb2 ~@2 gb2 ~@3 bb2@5 ~@2 ab2 bb2@3 db3 eb3@2 db3",
  T: "~ gb3 ~@3 gb2@2 ~@2 gb2 ~@3 gb2 ~@3 gb2 ~@2 gb2 e2 ~@3 a2@2 ~ a2@4, ~@2 gb3 ~@13",
  U: "f2 e2@2 ~@2 e2@2 ~@3 e2@2 ~@4 e2 ~@3 e2 ~@3 e2!2 ~@2 e2@3 ~", V: "e2 e2@5 ~@2 e2@3 ~@2 e2@5 ~@6 e2!2 ~@2 e2 e2@3",
  W: "~ gb3@5 gb2@2 ~@5 gb2@2 ~@9 gb2!2 ~@2 gb2!2 ~@2", X: "gb2!2 ~@3 gb2 ~@3 gb2@2 ~@2 gb2 gb3@7 e3@4 db3 a2@6",
  Y: "~ gb3@5 ~@3 gb2 ~@3 gb2@3 ~@4 gb2 ~@3 gb2 db3@4 gb3 ~@2, ~@4 gb3 ~@11",
  Z: "gb2 gb2@3 gb2 ~ gb3@3 ~ gb2 ~@2 gb2@2 ~@5 gb2@2 ~@3 gb3@3 gb2 gb2@2 ~, ~@12 gb2 ~@3",
  AA: "~ gb2@5 ~@2 gb2@2 ~@2 gb2!2 ~@6 gb2!2 ~@2 gb2 a2@2 ~ a2@4",
  AB: "[~ gb2@5 ~@3 db3@2 ~ gb3 ~@3 db3 gb2@2 gb2@2 gb2@2 gb2@2 a2@2 a2@2 gb2@2 a2@2 e2@5 ~@2 e2@2 ~@3 e2@3 ~@8 b2 d3 ~@2 d3@3 ~, ~@4 gb2 ~@27]/2",
  AC: "b2@5 b2 ~@14 a2 e2@2 ~ d2 e2 ~@2 e2 d2@3", AD: "~ gb2@4 ~ gb2@2 ~@5 gb2@4 ~@4 b2@2 ~@2 db3 ~@2 db3 b2@3",
  AE: "~ gb2@5 ~@2 gb2@2 ~@3 gb2@2 ~@6 b2@2 ~ b2 db3 ~@2 db3 b2@3",
  AF: "~ gb2@2 ~ gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb2@2 ~@2 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@2, ~@17 ab2 ~@14", // Gb5
  AG: "~ gb2@2 ~ gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@2 [b3,e4]@4", // Gb5 E5
  AH: "gb3 gb2@3 gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb2@2 ~@2 gb3@2 ~@2 [db4,gb4] ~@3 gb3 ~@2", // Gb5
  AI: "~ gb2@4 gb3@2 ~@2 gb4@2 ~@2 gb3 ~@3 gb2@3 gb3 [db4,gb4] ~@2 [db4,gb4] ~ db4 gb4 gb3 [c4,f4]@2 ~, ~@9 db4 ~@22", // Gb5 F5
  AJ: "f3 e2@3 e3 [b3,e4] ~@2 [b3,e4] ~@3 e3 [b3,e4] ~@3 e2@3 ~ [b3,e4] ~@3 e2@3 e3 db4@2 ~", // E5
  AK: "d4 e2@2 ~ e3 [b3,e4]@2 ~ [b3,e4] ~@3 e3 [b3,e4] ~@3 e3 ~@3 [b3,e4] ~@3 e3 ~@3 [b3,e4]@3", // E5
  AL: "d4 gb2@3 gb3 [db4,gb4] ~@2 [db4,gb4] ~@4 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4]@3", // Gb5
  AM: "~ gb2@2 ~ gb3 [db4,gb4] ~@2 [db4,gb4] ~@3 gb3 [db4,gb4] ~@3 gb3 ~@3 [db4,gb4] ~@10", // Gb5
  AN: "~ gb2@4 gb3@2 ~@2 gb4@2 ~@2 gb3 ~@3 gb2@3 gb3 [db4,gb4] ~@2 [db4,gb4] ~@2 [db4,gb4] gb3 [c4,f4]@2 ~, ~@9 db4 ~@22", // Gb5 F5
  AO: "~ gb2@2 ~@5 gb2@3 ~@2 gb2@3 ~@16",
})).s("gm_clavinet").gain(0.26)

// other · overdriven guitar
const overdriven_guitar_3 = note(`<
  ~@2 A B A C D E A B A B A C D E A F A B A C D E A B A B G C H I J K L K L M N O L P L K L M N O L Q L R S T U V S W S
  W S T U V S X S W S T U V S Y S W S T U V S Z ~@2
>`.pickRestart({
  A: "~@4 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3!2 ~@7", B: "~@4 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3!2 ~@2 gb3 ~@4",
  C: "~@4 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 f3 ~@2 f3!2 ~@2 f3 ~@4", D: "~@4 e3 ~@2 e3!2 ~@2 e3 ~@8 e3 ~@2 e3!2 ~@7",
  E: "~@4 e3 ~@2 e3!2 ~@2 e3 ~@8 e3 ~@2 e3!2 ~@2 e3 ~@4",
  F: "~ [ab5,db6] [eb5,g5] [g5,c6] gb5 ~ [db5,f5] bb5 e5 a5 eb5 [eb5,ab5] bb4 g5 db5 [db5,gb5] c5 [c5,f5] [g4,b4] [b4,e5] bb4 ~ [f4,a4] d5 [ab4,a4] [g4,ab4] [eb4,e4,f4,gb4] [b3,c4,db4,d4] [gb3,g3,ab3,a3,bb3] [d3,eb3,e3,f3] ~@2", // Db5 Eb C5 Db Ab5 Gb5 F5 G …
  G: "~@4 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3 ~ gb3 ~@6", H: "~@4 e3 ~@2 e3!2 ~@2 e3 ~@8 e3 ~@2 e3 ~ e3 ~@6",
  I: "~@5 e3 ~ e3 ~ e3 ~ e3 ~@8 e3 ~@2 e3 ~ e3 ~ e3 ~@4", J: "~@4 gb3 ~@2 gb3!2 ~@2 gb3 ~@9 gb3 ~ gb3 ~ gb3 ~@6",
  K: "~@5 gb3 ~ gb3 ~ gb3 ~ gb3 ~@9 gb3 ~ gb3 ~ gb3 ~ gb3 ~@4", L: "~@5 gb3 ~ gb3 ~ gb3 ~ gb3 ~@9 gb3 ~ gb3 ~ gb3 ~@6",
  M: "~@5 gb3 ~ gb3 ~ gb3 ~ gb3 ~@9 f3 ~ f3 ~ f3 ~ f3 ~@4", N: "~@5 e3 ~ e3 ~ e3 ~ e3 ~@9 e3 ~ e3 ~ e3 ~@6",
  O: "~@5 e3 ~ e3 ~ e3 ~ e3 ~@9 e3 ~ e3 ~ e3 ~ e3 ~@4",
  P: "~@5 gb3 ~ gb3 ~ gb3 ~ gb3 ~@9 gb3 ~ gb3 ~@2 c5 [g4,ab4,a4,bb4,b4] [eb4,e4,f4,gb4] [db4,d4] ~@2", // Dmaj7
  Q: "~@5 gb3 ~@2 gb3!2 ~ gb3 ~@9 gb3 ~ gb3 ~@2 c5 [ab4,a4,bb4,b4] [e4,f4,gb4,g4] [db4,d4,eb4] ~@2",
  R: "~@5 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3!2 ~ gb3 ~@4", S: "~@5 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3!2 ~@6",
  T: "~@5 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 f3 ~@2 f3!2 ~@2 f3 ~@3", U: "~@5 e3 ~@2 e3!2 ~@2 e3 ~@8 e3 ~@2 e3!2 ~@6",
  V: "~@5 e3 ~@2 e3!2 ~@2 e3 ~@8 e3 ~@2 e3!2 ~@2 e3 ~@3", W: "~@5 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3!2 ~@2 gb3 ~@3",
  X: "~@2 [g5,ab5,db6] [eb5,g5] [gb5,c6] ~@2 [db5,f5] [e5,bb5] ~ [eb5,a5] eb5 ab5 bb4 [db5,g5] db5 [c5,gb5] ~ [b4,c5,f5] [g4,b4] [bb4,e5] ~ a4 f4 [ab4,d5] a4 [gb4,g4,ab4] [d4,eb4,e4,f4] [a3,bb3,b3,c4,db4] [gb3,g3,ab3] [d3,eb3,e3,f3] ~", // Db Eb Gbdim Db Edim Ebdim Dbdim Cdim …
  Y: "~@5 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3 ~@2 [bb4,b4,c5] [gb4,g4,ab4,a4] [db4,d4,eb4,e4,f4] ~@2",
  Z: "~@5 gb3 ~@2 gb3!2 ~@2 gb3 ~@8 gb3 ~@2 gb3 ~@2 [bb4,b4,c5] [gb4,g4,ab4,a4] [d4,eb4,e4,f4] db4 ~",
})).s("gm_overdriven_guitar").gain(0.49).pan(0.8)

// other · overdriven guitar · soft notes
const overdriven_guitar_soft = note("<~@17 A B ~@22 C ~@7 C ~@15 D E ~@6 F G ~@6 H I ~>".pickRestart({
  A: "e5 ~@3 d5 [gb5,b5] ~ f5 c5 e5 b4 ~ d5!2 a4 ~ ab4 ~@3 gb4 [bb4,eb5] ~ a4 ~@6 [bb2,b2,c3,db3] [gb2,g2,ab2,a2]", // B5 Eb5
  B: "[e2,f2] ~@31", C: "~@25 [gb4,g4,ab4] [a4,bb4,b4] ~@2 [b3,c4] [g3,ab3,a3,bb3] [eb3,e3,f3,gb3]",
  D: "~ e5 ~@3 [d5,gb5] b5 ~ f5 [c5,e5] ~ b4 d5!2 ~ a4 ~ ab4 ~@3 [gb4,bb4] eb5 ~ a4 ~@5 db3 [a2,bb2,b2,c3]", // D C Gb
  E: "[f2,gb2,g2,ab2] e2 ~@30", F: "~@25 gb4 [g4,ab4,a4,bb4] ~@3 [a3,bb3,b3,c4] [e3,f3,gb3,g3,ab3]", G: "eb3 ~@31",
  H: "~@25 gb4 [g4,ab4,a4,bb4] ~@3 [a3,bb3,b3,c4] [f3,gb3,g3,ab3]", I: "[eb3,e3] ~@31",
})).s("gm_overdriven_guitar").gain(0.31).pan(0.8)

// chords · epiano2
const epiano2 = note(`<
  A B C@2 D@2 E@2 F@2 ~@8 G H I@2 J K L M N ~ N ~ O P Q@2 R ~ R ~ S T R ~ U V W@2 X Y Z AA R ~ R ~ AB AC Q@2 R ~ R ~ S T
  R ~ U AD AE AF X AG Z AA U AD AE AF X AH Z AA ~@2
>`.pickRestart({
  A: "~@31 gb3",
  B: "[gb2,bb3,gb4]@3 gb3 [ab2,b3,gb4]@3 gb3 [a2,c4,gb4]@2 ~ [bb2,gb3,db4,gb4] ~@2 [db3,db4,e4,gb4,a4]@6 [e3,b3,eb4,ab4] ~@3 [a2,gb3,db4,gb4]@4 [db3,f3,a3,e4]@4, ~@14 c3 ~@9 g3@2 ~@6", // Gb Abm7 Gbdim Gb Gbm7 Emaj7 Gbm A
  C: "[gb2,e3,gb3,bb3,gb4]/2", D: "[[gb2,db3,gb3]@7 [e3,gb3,a3,c4]]/2",
  E: "[[d3,e3,ab3,b3]@7 [d3,e3,ab3,b3], a3 ~@7]/2", // E7
  F: "[~ gb5@3, [e3,bb3,db4], ~@12 b4@51 ~, ~@13 db5@50 ~, ~@15 e5@49]/2", G: "[e4,ab4,bb4,db5]@3 e4 db4 ~@3",
  H: "[db4,gb4]@10 ~@2 [e4,ab4,bb4,db5]@9 ~@2 [bb4,db5,eb5,gb5]@4 ~ [ab4,b4,db5,e5]@4", // Gb5 Bbm7b5 Ebm7 Dbm7
  I: "[[e4,ab4,bb4,db5]@30 ~ [db4,e4,gb4,bb4]@5 ~@4 [db4,e4,gb4,bb4]@3 ~@5 [e4,ab4,bb4,db5]@5 ~@3 [eb4,g4,a4,c5]@4 [ab4,b4,e5]@3 ~]/2", // Bbm7b5 Gb7 Bbm7b5 Am7b5 E
  J: "e4@14 ~@2 e4@15 ~, [d4,ab4,b4]", // Abdim
  K: "[b3,e4,ab4]@11 ~ [b3,e4,ab4]@4 [a3,d4,gb4]@4 ~@2 [e4,ab4,b4]@5 [e4,ab4,b4]@5", // E D E
  L: "[gb4,bb4,db5]@20 [gb4,b4,eb5]@4 [db4,gb4,bb4]@7 ~", // Gb B Gb
  M: "[db4,gb4,bb4]@3 ~ [gb4,b4]@3 ~ [gb4,bb4,db5]@3 ~ [db4,gb4,bb4]@3 ~ [bb4,db5,gb5]@3 ~@13, ~@4 bb4 ~@27", // Gb B5 Gb
  N: "[gb3,bb3,db4]@3 ~", O: "~ e3@24 ~@7, [ab3,b3]@3 ~",
  P: "~@4 e4 [b3,ab4] ~@7 e4@3 ~ [a3,c4]@3 ~ [a3,c4]@4 ~@7, ~@12 b3@3 ~ gb4@3 ~ gb4@3 ~@9", // E Am
  Q: "[~ [gb3,bb3,db4]@24 ~@6 e5@33, ~@27 [db5,gb5]@37, ~@29 b4@35]/2", R: "~ [gb3,bb3,db4]@24 ~@7",
  S: "~ [e3,ab3,b3]@24 [ab4,b4,e5]@7", T: "~ [gb4,b4,d5]@16 [b3,e4,gb4]@15", U: "~ [e4,ab4,bb4,db5]@12 e4@4 db4@4 ~@11",
  V: "~ [db4,gb4]@10 ~@2 [e4,ab4,bb4,db5]@9 ~ [bb4,db5,eb5,gb5]@4 ~@2 [ab4,b4,db5,e5]@3", // Gb5 Bbm7b5 Ebm7 Dbm7
  W: "[~ [e4,ab4,bb4,db5]@30 [db4,e4,gb4,bb4]@5 ~@5 [db4,e4,gb4,bb4]@3 ~@5 [e4,ab4,bb4,db5]@5 ~@3 [eb4,g4,a4,c5]@4 [ab4,b4,e5]@3]/2", // Bbm7b5 Gb7 Bbm7b5 Am7b5 E
  X: "~ e4@14 ~@2 e4@15, ~ [d4,ab4,b4]@31", // Abdim
  Y: "~ [b3,e4,ab4]@11 ~ [b3,e4,ab4]@4 [a3,d4,gb4]@4 ~ [e4,ab4,b4]@5 [e4,ab4,b4]@5", // E D E
  Z: "~ [gb4,bb4,db5]@20 [gb4,b4,eb5]@4 [db4,gb4,bb4]@7", // Gb B Gb
  AA: "~ [db4,gb4,bb4]@3 ~ [gb4,b4]@3 ~ [gb4,bb4,db5]@3 ~ [db4,gb4,bb4]@3 ~ [bb4,db5,gb5]@3 ~@12, ~@5 bb4 ~@26", // Gb B5 Gb
  AB: "~ [e3,ab3,b3]@24 ~@7", AC: "~@5 [b3,e4,ab4] ~@7 [b3,e4]@4 [a3,c4,gb4]@3 ~ [a3,c4,gb4]@4 ~@7",
  AD: "~ [db4,gb4]@10 ~@2 [e4,ab4,bb4,db5]@9 ~@2 [bb4,db5,eb5,gb5]@4 ~ [ab4,b4,db5,e5]@3", // Gb5 Bbm7b5 Ebm7 Dbm7
  AE: "~ [e4,ab4,bb4,db5]@30 ~", // Bbm7b5
  AF: "[db4,e4,gb4,bb4]@5 ~@4 [db4,e4,gb4,bb4]@3 ~@5 [e4,ab4,bb4,db5]@5 ~@3 [eb4,g4,a4,c5]@4 [ab4,b4,e5]@3", // Gb7 Bbm7b5 Am7b5 E
  AG: "~ [b3,e4,ab4]@11 ~ [b3,e4,ab4]@4 [a3,d4,gb4]@4 ~@2 ab4@5 [e4,ab4,b4]@4, ~@22 [e4,b4]@5 ~@5", // E D E E5
  AH: "~ [b3,e4,ab4]@11 ~ [b3,e4,ab4]@4 [a3,d4,gb4]@4 ~@2 [e4,ab4,b4]@5 [e4,ab4,b4]@4", // E D E
})).s("gm_epiano2").gain(0.46)

// other · distortion guitar
const distortion_guitar = note(`<
  ~@10 A B C D E F D@2 A B C D E F D@2 A B C D G H I J K L M J G N J L K L M J G N J@2 K I M J G N J@2 K I M J G N J I K
  I M J G N J@2 K I M J G N J@2 O ~
>`.pickRestart({
  A: "gb2 ~@2 gb2 ~@4", B: "gb2@5 ~@6 gb2@5 ~@16", C: "gb2@5 ~@7 gb2@4 ~@16", D: "gb2@5 ~@7 gb2@5 ~@15",
  E: "e2@6 ~@6 e2@5 ~@15", F: "e2 ~@2 e2 ~@4", G: "~ e2@6 ~@6 e2@5 ~@14", H: "~ e2@4 ~@7 e2@4 ~@16",
  I: "~ gb2@5 ~@6 gb2@5 ~@15", J: "~ gb2@5 ~@7 gb2@5 ~@14", K: "~ gb2@4 ~@8 gb2@4 ~@15", L: "~ gb2@5 ~@5 gb2@5 ~@16",
  M: "~ gb2@5 ~@7 gb2@4 ~@15", N: "~ e2@4 ~@8 e2@4 ~@15", O: "~ e3@5 ~@2 gb2@3 ~@2 gb2@4 ~@15",
})).s("gm_distortion_guitar").gain(0.21).pan(0.3)

// other · distortion guitar
const distortion_guitar_2 = note("<~@17 A B ~@22 C ~@7 D E ~@14 F G ~@6 H I ~@6 J I ~>".pickRestart({
  A: "~ [e5,ab5] [g5,db6] [eb5,g5,c6] gb5 [d5,gb5,b5] f5 [db5,f5,bb5] [c5,e5] [e5,a5] [b4,eb5] [eb5,ab5] [bb4,d5] [d5,g5] db5 [a4,db5] [ab4,c5,gb5] c5 [g4,b4,f5] b4 [bb4,e5] [gb4,bb4,eb5] a4 [f4,a4] [ab4,d5] [ab4,a4] [f4,gb4,g4] [c4,db4,d4,eb4,e4] [ab3,a3,bb3,b3] [e3,f3,gb3,g3] [c3,db3,d3,eb3] [g2,ab2,a2,bb2,b2]", // E Gdim Cm Bm Bbm C A5 B …
  B: "[e2,f2,gb2] ~@31",
  C: "~@25 [gb4,g4] [ab4,a4,bb4,b4] [ab4,a4,bb4,b4,c5] [e4,f4,gb4,g4] [c4,db4,d4,eb4] [g3,ab3,a3,bb3,b3] [eb3,e3,f3,gb3]", // Gmaj7
  D: "~@25 [gb4,g4] [ab4,a4,bb4,b4] [a4,bb4,b4,c5] [f4,gb4,g4,ab4] [db4,d4,eb4,e4] [ab3,a3,bb3,b3,c4] [e3,f3,gb3,g3]", // Gmaj7
  E: "eb3 ~@31",
  F: "~ e5 [ab5,db6] [eb5,g5] [g5,c6] [d5,gb5] [gb5,b5] [db5,f5] [f5,bb5] [c5,e5] [e5,a5] [b4,eb5] [eb5,ab5] [bb4,d5] [d5,g5] [a4,db5] [db5,gb5] [ab4,c5] [c5,f5] [g4,b4] [b4,e5] [gb4,bb4] [bb4,eb5] [f4,a4] [a4,d5] [ab4,a4] ab4 [e4,f4,gb4,g4] [b3,c4,db4,d4,eb4] [g3,ab3,a3,bb3] [eb3,e3,f3,gb3] [bb2,b2,c3,db3,d3]", // Db5 Eb C5 D B5 Db Bb5 C …
  G: "[gb2,g2,ab2,a2] [e2,f2] ~@30", // Fmaj7
  H: "~@25 gb4 [g4,ab4,a4] [bb4,b4,c5] [gb4,g4,ab4,a4] [d4,eb4,e4,f4] [bb3,b3,c4,db4] [gb3,g3,ab3,a3]",
  I: "[eb3,e3,f3] ~@31",
  J: "~@26 [gb4,g4,ab4,a4] [bb4,b4,c5] [g4,ab4,a4,bb4] [eb4,e4,f4,gb4] [bb3,b3,c4,db4,d4] [gb3,g3,ab3,a3]",
})).s("gm_distortion_guitar").gain(0.48)

// drums · kick
// … 81 more lines

More by Anastacia