Strudelify

Swallowed

Bush

KeyA♭ majorTempo90 bpm
0:00/0:00
// Swallowed — Bush
// 90 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 111 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, Guitar.
setcpm(90/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 · "Guitar"
const distortion_guitar = note("<A B C D E F G H ~@12 I J I K ~@40 L M N O P Q R S ~@26 T U@5 ~@7>".pickRestart({
  A: "[ab2,eb3,ab3]@5 ~ db3@6 db4 ~ bb2 ~", B: "c3@6 ~@6 f4@2 bb2 ~, ~@3 f3@4 ~, ~@5 c4@2 ~",
  C: "ab2@6 ~@6 ab3@2 bb2 ~, ~@3 db3@4 ~, ~@5 db4@2 ~", D: "[c3,g3,c4]@3 ~@3 f4@2, ~@3 f3@5, ~@5 c4@3",
  E: "ab2@6 ~@4 ab3@2 db4@2 bb2 ~, ~@3 db3@3 ~@2", F: "[c3,g3,c4]@6 ~@4 c4@2 f4 ~@3, ~@6 f3@7 ~@3",
  G: "[ab2,eb3,ab3]@6 ~@6 db4@3 ~, ~@6 db3@9 ~, ~@10 ab3@5 ~", H: "[g3,c4]@2 [g3,c4]@3 ~ [f3,c4,f4]@8 ~@2, c3@5 ~@11",
  I: "ab2!2 ~ db3!3 ~ c3", J: "c3!2 ~ f3!3 ~ ab2", K: "c3!2 ~ f3!3 ~@2", L: "~@2 ab3 ~@3 db4 ~, ab2@3 db3@4 ~",
  M: "~ g3@2 f3@4 ~, c3@3 ~@5", N: "~@4 ab3@2 db3@8 bb2 ~, ab2@3 ~@5, ~ eb3@2 ~@5", O: "~@2 c4@4 f3@9 ~, c3@3 ~@5",
  P: "eb3@6 ~@6 ab3@2 bb2 ~, ~@3 db3@4 ~, ~@5 db4@2 ~", Q: "~@4 c4@2 ~@6 f4@3 ~, c3@6 ~@4 c4@5 ~, ~@2 g3@4 f3@9 ~",
  R: "[ab2,eb3,ab3]@5 ~@7 db4@2 ~@2, ~@3 db3@4 ~, ~@5 ab3@2 ~", S: "~@2 c4 f4@4 ~", T: "[db3,ab3,db4]",
  U: "[~@28 bb2@2 ~@19 g3@19 ~@12, ~ bb2@14 bb2@13 ~@2 c3@14 f4@24 ~@12, ~@5 bb3@6 ~@6 f3@13 ~@2 g3@9 g3@7 ~@32, ~@8 d4@16 d4@6 ~@4 c4@5 c4@12 ~@29, ~@20 eb4@11 ~@6 e4@16 ~@27]/5",
})).s("gm_distortion_guitar").gain(0.22).pan(0)

// chords · distortion guitar · "Guitar" · soft notes
const distortion_guitar_soft = note("<A ~@3 B C ~@58 D E F G H ~ C I ~@27 J@2 K@3 ~@7>".pickRestart({
  A: "~@10 ab3@3 ~@3", B: "~@6 [ab3,db4] ~@9", C: "~@14 bb2 ~", D: "~ eb3@2 ~@2 ab3@2 ~",
  E: "~@2 c4 ~@3 c4 ~, ~@5 f4@2 ~", F: "~@6 db4 ~, ~@5 ab3@2 ~", G: "~@4 g3@2 ~@6 f4@3 ~, ~@10 c4@5 ~",
  H: "[ab2,ab3]@3 ~@5", I: "~ g3@2 [f3,c4]@4 ~, c3@3 ~@5",
  J: "[~@3 f3@8 ~ f3@5 ~@5 bb3@4 bb3@4 ~@2, ~@11 bb3@11 ~@10]/2", K: "[~@7 e4@5 ~@4, ~@7 c3@11 ~@6, ~@19 c4@17 ~@12]/3",
})).s("gm_distortion_guitar").gain(0.09).pan(0)

// bass · electric bass pick · "Bass"
const bass = note(`<
  ~@8 A B C D A B E D A B A F G H I H J H J H J H J H K@2 L F M N A F O N P F E N A B P F P Q ~@2 R S T U V W V X Y@2
  ~@3 Z AA AB AC AD AE AF E D P B AG D P B P F P F P B A AH P F P F P F P F ~@5 AI@5 AJ@3
>`.pickRestart({
  A: "ab1!8", B: "c2!8", C: "db2!8", D: "bb1!8", E: "db2!7 f2", F: "c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2 ~",
  G: "ab1 ~ ab1@2 c1 ~ db2@2 db2@2 db2@2 c1 ~ c2@2", H: "c2@2 c2@2 c1 ~ f2@2 f2@2 f2@2 c1 ~ ab1@2",
  I: "ab1@2 ab1@2 c1 ~ db2@2 db2@2 db2@2 ~@2 c2@2", J: "ab1@2 ab1@2 c1 ~ db2@2 db2@2 db2@2 c1 ~ c2@2",
  K: "[ab1@2 ab1@2 c1 ~ db2@2 db2@2 db2@2 c1 ~ c2@4 c2@2 ~@4 f2@2 f2@2 ~@2 ab1 ~]/2",
  L: "~@2 ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 ab1 ~", M: "db2@2 db2@2 db2@2 db2@2 db2@2 db2@2 db2 ~ f2@2",
  N: "bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1 ~", O: "db2@2 db2@2 db2@2 db2@2 db2@2 db2@2 db2@2 db2 ~",
  P: "ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 ab1 ~", Q: "c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2 ~@3",
  R: "ab1@2 ab1@2 ab1@2 ab1!4 ab1@2 ab1@2 ab1!2", S: "c2 ~ c2@2 c2@2 c2!4 c2@2 c2@2 c2@2",
  T: "ab1@2 ab1@2 ab1@2 ab1!4 ab1@2 ab1@2 ab1@2", U: "c2@2 c2@2 c2@2 c2!4 c2@2 c2@2 c2@2",
  V: "ab1@2 ab1@2 ab1@2 ab1!4 ab1@2 ab1@2 ab1 ~", W: "~@2 c2@2 c2@2 c2!4 c2@2 c2@2 c2 ~",
  X: "~@2 c2@2 c2@2 c2!4 c2@2 c2@2 c2@2", Y: "[ab1@7 ~]/2", Z: "~@6 f3@7 ~@3", AA: "ab1!2 ~ db2!3 ~ c2",
  AB: "c2@2 c2@2 ~@2 f2@2 f2@2 f2@3 ~@3", AC: "ab1@5 ~ db2@9 ~", AD: "c2@6 f1@7 ~@3",
  AE: "ab1@2 ab1@2 ab1@2 ab1@2 ab1 ~ ab1@2 ab1@2 ab1@2", AF: "c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2 ~ c2@2",
  AG: "db2@2 db2@2 db2@2 db2@2 db2@2 db2@2 db2@2 f2 ~", AH: "~@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2 ~",
  AI: "ab1!2 ~ ab1!3 ~ ab1", AJ: "[ab1!2 ~ ab1!3 ~ ab1@16 ~]/3",
})).s("gm_electric_bass_pick").gain(0.22)

// chords · distortion guitar · "Guitar"
const distortion_guitar_2 = note(`<
  ~@8 A B C D A B C D A B A E@2 ~@7 F ~ G@2 H@2 I J K D I L K D A M K D A M A J A N ~@2 A O P B I Q I Q R@2 ~@2 S T ~ U
  V W A J X D A M K Y A L A L I J A J I Z A L A L I J AA J ~@5 AB@3 AC AB AD@3
>`.pickRestart({
  A: "[ab2,eb3,ab3]!8", B: "[c3,g3,c4]!8", C: "[db3,ab3,db4]!8", D: "[bb2,f3,bb3]!8",
  E: "[[c3,g3,c4]!6 [c3,c4] c4@3 ~@6, ~@3 g3 ~@4, ~@7 c3 ~@8]/2", // C5 C
  F: "[ab2,eb3,ab3]@5 ~ [db3,ab3,db4]@2 [db3,ab3,db4]@2 [db3,ab3,db4]@2 ~@4", // Ab5 Db5
  G: "[[ab2,eb3,ab3]@4 ~@2 [db3,ab3,db4]@2 [db3,ab3,db4]@2 [db3,ab3,db4] ~@3 bb2 ~@5 c4@2 ~@6 c4@2 f3 ~, ~@15 c3@7 ~@2 c4@4 ~@4, ~@9 g3@2 f3@4 ~, ~@26 f4@5 ~]/2", // Ab5 Db5
  H: "[[ab2,eb3,ab3]@4 ab2 ~ [ab3,db4]@2 [ab3,db4]@2 [ab3,db4]@2 db3 ~@7 g3 ~@7 c4@2 f3 ~, ~@6 db3@6 ~@2 c3@8 ~@4 f4@5 ~, ~@8 g3@2 ~ f3@4 ~, ~@9 c4@2 ~ c4@2 ~@2]/2", // Ab5 Db5
  I: "[ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3] ~", // Ab5
  J: "[g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3] ~", // C5
  K: "[ab2,db3,ab3]!8", L: "[g2,c3,g3]!8",
  M: "[g2,c3,g3] ~ [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2", // C5
  N: "[g2,c3,g3] ~ [g2,c3,g3] ~ [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3] ~@3", // C5
  O: "[c3,g3,c4] ~ [c3,g3,c4]@2 [c3,g3,c4]@2 [c3,g3,c4]@2 [c3,g3,c4]@2 [c3,g3,c4]@2 [c3,g3,c4]@2 [c3,g3,c4]@2", // C5
  P: "[ab2,eb3,ab3] ~ [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2", // Ab5
  Q: "~ [c3,g3,c4]!7", R: "[[ab2,eb3,ab3]@29 ~@3]/2", S: "gb4@13 ~@3", T: "~ g3@3 ~@8 f4@3 ~, ~@4 c4@11 ~, ~@6 f3@9 ~",
  U: "c4@6 f4@5 ~@5", V: "[ab3,eb4,ab4]@3 db4@3 ~@2", W: "[g3,c4]@2 ~ [f3,c4,f4]@3 ~@2",
  X: "[ab2,db3,ab3]@2 [ab2,db3,ab3]@2 [ab2,db3,ab3]@2 [ab2,db3,ab3]@2 [ab2,db3,ab3]@2 [ab2,db3,ab3]@2 [ab2,db3,ab3]@2 [ab2,db3,ab3] ~", // Db5
  Y: "[bb2,f3,bb3]@2 [bb2,f3,bb3]@2 [bb2,f3,bb3]@2 [bb2,f3,bb3]@2 [bb2,f3,bb3]@2 [bb2,f3,bb3]@2 [bb2,f3,bb3]@2 [bb2,f3,bb3] ~", // Bb5
  Z: "~@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3]@2 [g2,c3,g3] ~, ~@2 f2@13 ~", // C5
  AA: "[ab2,eb3,ab3] ~ [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@2 [ab2,eb3,ab3] ~", // Ab5
  AB: "ab2!2 ~ ab2!3 ~ ab2", AC: "ab2@2 ab2 ~@3 ab2@2 ab2@2 ab2@2 ~@2 ab2@2", AD: "[ab2!2 ~ ab2!3 ~ ab2@16 ~]/3",
})).s("gm_distortion_guitar").gain(0.22).pan(0)

// chords · distortion guitar · "Guitar"
const distortion_guitar_3 = note("<~@19 A ~@8 B ~ B C D E ~@3 F ~@7 G ~@21 H ~@43>".pickRestart({
  A: "~@7 [g2,g3]", B: "~ [ab2,eb3,ab3] ~@6", C: "c3@3 ~@3 f3 c4", D: "~@2 eb3 ~@5", E: "~@4 c3 ~@11", F: "eb4 ~@7",
  G: "eb4 ~@3", H: "~@13 f4@3",
})).s("gm_distortion_guitar").gain(0.22).pan(1)

// other · distortion guitar · "Guitar"
const distortion_guitar_4 = note("<~@58 [~ ab4 ~@6] ~@52>").s("gm_distortion_guitar").gain(0.24).pan(0)

// other · distortion guitar · "Guitar"
const distortion_guitar_5 = note(`<
  ~@8 A B C D E B F G H I E J ~@8 K ~ K ~ K ~ E B L M E N O P E Q R S T U H V H W X@2 Y@2 Z@2 AA AB AC AB AD@2 ~@8 E B R
  S AE B R AF E AG AH V AI@2 AJ@2 AK AL H AB H AB AM AN AO@2 AP@2 ~@11
>`.pickRestart({
  A: "ab4@2 ab4@2 ab4@2 ab4 ~ ab4@2 ab4@2 ab4@2 ab4@2", B: "g4!8",
  C: "~ db5 ~@5 ab4, ab4@3 ab4@2 ab4@2 ~, ~ db5 [c5,db5]@2, ~@3 db4", // Dbmaj7
  D: "~ bb4 ~ f4 ~ bb4 ~ ab4, f4@3 ~ f4@4, ~@2 bb4@3 ~ bb4@2", E: "ab4!8",
  F: "~ db5 ~@5 ab4, ab4@3 ab4@2 ab4@2 ~, ~ db5@2 db5, ~ db4", G: "~ bb4 ~ f4 ~ bb4!3, f4@3 ~ f4@4, ~@2 bb4@3 ~@3",
  H: "ab4!4 g4!4", I: "g4!2 f4!2 e4 ~ c4!2, ~@5 e4@3", J: "g4@2 ~@2 f4@2 f4@2 e4@2 e4@2 c4 ~ c4 ~, ~ g4@2 ~@5",
  K: "[ab2,eb3,ab3]@2 ~ [db3,ab3,db4]!3 ~@2", L: "~ db5!2 ab4 ~@3 ab4, ab4@3 ~@2 ab4@2 ~, ~ c5@2 ~ db5@4, ~@3 db4",
  M: "~@2 bb4@2 bb4 ~ ab4@2 eb4 ~ bb4@2 bb4@2 ab4 ~, bb3@5 ~@3 f4@7 ~", N: "g4@2 g4@2 g4@2 g4@2 g4@2 g4@2 g4@2 g4 ~",
  O: "~ db5!2 ~@2 ab4 ~ ab4, ab4@3 ab4@2 ~ db4@2, ~ c5@2 ~ db5@2 ~@2",
  P: "~@2 bb4 ~@3 ab4@2 ~@2 bb4@2 bb4@2 ab4 ~, bb3 ~, ~@2 bb4@2 f4@3 ~", Q: "g4@2 g4 ~ g4@2 g4@2 g4@2 g4@2 g4@2 g4@2",
  R: "~ db5!2 ~@2 ab4 ~ ab4, ab4@3 ab4@2 ~ db4@2, ~@2 db5 ~", S: "~ bb4 ~ ab4 ~ bb4!2 ab4, bb3 ~, ~@4 bb4@4 f4@7 ~",
  T: "ab4!4 g4!4, ~@3 ab4", U: "g4@2 g4@2 f4@2 f4@2 e4@2 e4@2 c4 ~ c4@2", V: "g4@2 g4@2 f4@2 f4@2 e4@2 e4 ~ c4@2 c4@2",
  W: "g4@2 g4@2 f4@2 f4 ~ e4!2 e4@2 c4@2 c4@2", X: "e4!16", Y: "[ab3!4 c4 eb4@2 eb4@2 c4 e4 c4 e4 c4 e4 c4]/2",
  Z: "[ab3@2 ab3@2 ab3 ~ ab3 ~ c4@2 eb4@3 ~ eb4@4 c4@2 [e4,gb4]@2 c4@2 e4@2 c4@2 e4@2 c4@2]/2", // Esus2
  AA: "ab4@2 ~ ab4 ab4@2 ab4@2 g4!8", AB: "~ c5!4 e5!3", AC: "ab4!8 g4!8", AD: "[ab4@31 ~]/2",
  AE: "ab4 ~ ab4@2 ab4@2 ab4@2 ab4@2 ab4@2 ab4@2 ab4@2", AF: "~ bb4 ~ ab4 ~ bb4 ~ ab4, bb3@2 ~ bb4, ~ bb4 f4@2",
  AG: "g4@2 g4 ~ f4@2 f4@2 e4@2 e4@2 c4@2 c4@2", AH: "[g4,ab4] ab4!3 g4!4",
  AI: "[ab3!4 c4 eb4@2 eb4@2 c4 e4 ~ e4 ~@2 c4, ~@11 c4@2 c4@2 ~, ~@7 e4]/2",
  AJ: "[ab3!4 c4 eb4@2 eb4@2 c4 e4 ~ e4 c4 ~ c4, ~@11 c4@2 ~ e4@2]/2",
  AK: "ab4 ~ ab4@2 ab4@2 ab4@2 g4@2 g4@2 g4@2 g4@2", AL: "g4 c5!4 e5!3", AM: "ab5!8", AN: "e5@4 e5!4",
  AO: "[e5!6 ~ f5@2 e5@3 e5!4, ~@3 e5 ~@4]/2", AP: "[ab5@27 ~@5]/2",
})).s("gm_distortion_guitar").gain(0.22).pan(1)

// other · electric guitar muted · "Guitar"
const electric_guitar_muted = note(`<
  ~@23
  [~@7 ab2]
  [ab2@2 ab2@2 ~@2 db3@2 db3@2 db3 ~@3 c3@2]
  [c3!2 ~ f3!3 ~ ab2]
  [ab2!2 ~ db3!3 ~ c3]
  [c3@2 c3 ~@3 f3@2 f3@2 f3@2 ~@2 ab2@2]
  ~@83
>`).s("gm_electric_guitar_muted").gain(0.22).pan(1)

// chords · electric guitar clean · "Guitar"
const electric_guitar_clean = note("<~@30 A@2 B@2 ~@77>".pickRestart({
  A: "[~@20 g3@2 ~@6 c4@2 f3 ~, ~@14 c3@8 ~@4 f4@5 ~, ~@8 g3@2 ~ f3@4 ~, ~@18 c4@5 ~ c4@4 ~@4]/2",
  B: "[ab2@4 ab2@2 ~@6 db4@2 ~@2 g3@2 ~@2 c3@2 c4@2 ~@4 [c4,f4]@2 f3 ~, [eb3,ab3]@3 db4@3 ~@2 c4@3 f4@3 ~@2, ~@3 ab3@2 ab3@2 ~@2 g3@2 f3@2 f3@2 ~, ~@4 db3@3 c3@3 ~@2 c4@2 ~@2]/2", // F5 Ab5
})).s("gm_electric_guitar_clean").gain(0.2).pan(0)

// chords · guitar harmonics · "Harmonic"
const guitar_harmonics = note("<~@30 A@5 ~@27 B@2 ~@2 C D E F E G ~@39>".pickRestart({
  A: "[~@30 ab3@3 ~@7, ab3 ~, ~@22 eb4@27 ~ eb4@18 ~@12, ~@30 ab4@23 ~ ab4@12 ~@14]/5", B: "[eb2@15 ~]/2",
  C: "~@3 db1@4 ~", D: "~@6 f2 ~, ~@6 f1@9 ~", E: "~ eb1 ab1 ~@3 db2 ~, ~@5 ab1@2 ~", F: "~@2 g1@3 ~@7 c2@2 ~@2",
  G: "~@3 f2@4 ~",
})).s("gm_guitar_harmonics").gain(0.1)

// chords · guitar harmonics · "Harmonic" · soft notes
const guitar_harmonics_soft = note(`<
  ~@66
  [~@6 db2 ~, ~@5 ab1@2 ~]
  [~@2 g1@2 c2 ~@5 c2@5 ~, c1 ~@3]
  ~
  [~@4 c2 ~@5 f2@4 ~@2]
  ~@41
>`).s("gm_guitar_harmonics").gain(0.05)

// chords · distortion guitar · "Guitar"
const distortion_guitar_6 = note("<A B C D E F G H ~@12 I J I K ~@40 L M N O P Q R S ~@26 T U@5 ~@7>".pickRestart({
  A: "[ab2,eb3,ab3]@5 ~ db3@6 db4 ~ bb2 ~", B: "c3@6 ~@6 f4@2 bb2 ~, ~@3 f3@4 ~, ~@5 c4@2 ~",
  C: "ab2@6 ~@6 ab3@2 bb2 ~, ~@3 db3@4 ~, ~@5 db4@2 ~", D: "[c3,g3,c4]@3 ~@3 f4@2, ~@3 f3@5, ~@5 c4@3",
  E: "ab2@6 ~@4 ab3@2 db4@2 bb2 ~, ~@3 db3@3 ~@2", F: "[c3,g3,c4]@6 ~@4 c4@2 f4 ~@3, ~@6 f3@7 ~@3",
  G: "[ab2,eb3,ab3]@6 ~@6 db4@3 ~, ~@6 db3@9 ~, ~@10 ab3@5 ~", H: "[g3,c4]@2 [g3,c4]@3 ~ [f3,c4,f4]@8 ~@2, c3@5 ~@11",
  I: "ab2!2 ~ db3!3 ~ c3", J: "c3!2 ~ f3!3 ~ ab2", K: "c3!2 ~ f3!3 ~@2", L: "~@2 ab3 ~@3 db4 ~, ab2@3 db3@4 ~",
  M: "~ g3@2 f3@4 ~, c3@3 ~@5", N: "~@4 ab3@2 db3@8 bb2 ~, ab2@3 ~@5, ~ eb3@2 ~@5", O: "~@2 c4@4 f3@9 ~, c3@3 ~@5",
  P: "eb3@6 ~@6 ab3@2 bb2 ~, ~@3 db3@4 ~, ~@5 db4@2 ~", Q: "~@4 c4@2 ~@6 f4@3 ~, c3@6 ~@4 c4@5 ~, ~@2 g3@4 f3@9 ~",
  R: "[ab2,eb3,ab3]@5 ~@7 db4@2 ~@2, ~@3 db3@4 ~, ~@5 ab3@2 ~", S: "~@2 c4 f4@4 ~", T: "[db3,ab3,db4]",
  U: "[~@28 bb2@2 ~@19 g3@19 ~@12, ~ bb2@14 bb2@13 ~@2 c3@14 f4@24 ~@12, ~@5 bb3@6 ~@6 f3@13 ~@2 g3@9 g3@7 ~@32, ~@8 d4@16 d4@6 ~@4 c4@5 c4@12 ~@29, ~@20 eb4@11 ~@6 e4@16 ~@27]/5",
})).s("gm_distortion_guitar").gain(0.22).pan(1)

// chords · distortion guitar · "Guitar" · soft notes
const distortion_guitar_soft_2 = note("<A ~@3 B C ~@58 D E F G H ~ C I ~@27 J@2 K@3 ~@7>".pickRestart({
  A: "~@10 ab3@3 ~@3", B: "~@6 [ab3,db4] ~@9", C: "~@14 bb2 ~", D: "~ eb3@2 ~@2 ab3@2 ~",
  E: "~@2 c4 ~@3 c4 ~, ~@5 f4@2 ~", F: "~@6 db4 ~, ~@5 ab3@2 ~", G: "~@4 g3@2 ~@6 f4@3 ~, ~@10 c4@5 ~",
  H: "[ab2,ab3]@3 ~@5", I: "~ g3@2 [f3,c4]@4 ~, c3@3 ~@5",
  J: "[~@3 f3@8 ~ f3@5 ~@5 bb3@4 bb3@4 ~@2, ~@11 bb3@11 ~@10]/2", K: "[~@7 e4@5 ~@4, ~@7 c3@11 ~@6, ~@19 c4@17 ~@12]/3",
})).s("gm_distortion_guitar").gain(0.09).pan(1)

// drums · kick
const kick = s("bd").struct(`<
  ~@8 A@12 ~@14 B A@6 C B A@2 C B C B D A E ~@2 F G@2 F A H F I J ~@9 A@7 D E A F K E A E H F I E@4 L E M A J ~@12
>`.pickRestart({
  A: "x!2 ~@2 x!2 ~@2", B: "x ~@3 x!2 ~@2", C: "x!2 ~@2 x ~@2 x", D: "x!2 ~@2 x ~@3", E: "x!2 ~@3 x ~@2",
  F: "x!2 ~ x!3 ~@2", G: "x!2 ~ x!3 ~ x", H: "~ x ~@2 x!2 ~@2", I: "~ x ~ x!3 ~@2", J: "x", K: "~ x ~ x ~ x ~@2",
  L: "x!2 ~@2 x!2 ~ x", M: "x!2 ~ x ~ x ~@2",
})).gain(0.72)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  ~@35 A ~@2 A@3 B C D@2 B E B C F D B ~@2 A ~@2 A B D ~ A ~@17 G H B ~ I D B J B ~@2 K J K J B J A B ~@13
>`.pickRestart({
  A: "~@7 x", B: "~@3 x ~@4", C: "~ x ~ x ~@3 x", D: "~@3 x ~@3 x", E: "~ x ~@5 x", F: "~@3 x ~ x ~ x", G: "~@11 x ~@4",
  H: "~@4 x ~@2 x", I: "x", J: "~@3 x!2 ~@3", K: "~@3 x!2 ~@2 x",
})).gain(0.32)

// drums · snare
const snare = s("sd").struct(`<
  ~@8 A@3 B A@3 B A B A@2 ~@13 C A@3 B A@3 D A@3 D A D A@3 E ~@2 F@4 G F G F ~@10 A@3 B A@3 H I G@2 J I G@4 K I G I G I
  G I G ~@13
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@7 x ~ x!2", C: "~@14 x!2", D: "~@4 x ~@5 x ~ x!2 ~@2", E: "~@4 x ~@3 x!2 ~@2 x ~@3",
  F: "~@4 x ~@2 x ~ x ~@2 x ~@3", G: "~@4 x ~@2 x ~ x ~@2 x ~ x!2", H: "~@4 x ~@4 x ~@2 x ~ x!2",
  I: "~@4 x ~@2 x ~ x ~@2 x ~@2 x", J: "~ x ~@2 x ~@2 x ~ x ~ x ~ x ~ x", K: "~@4 x ~@2 x ~ x ~@2 x!2 ~@2",
})).gain(0.8)

// drums · low tom
// … 36 more lines

More by Bush