Strudelify

Sometimes (12'' mix)

Erasure

KeyE♭ majorTempo130 bpm
0:00/0:00
// Sometimes (12'' mix) — Erasure
// 130 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 196 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(130/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// other · electric guitar muted
const electric_guitar_muted = note(`<
  A B C D A B C E A B C D A B C E ~@84 F G H F@2 G H I@2 J K L@2 J K M@2 ~@15 F G H F@2 G H F ~@12 N O P Q R S T U ~@33
  A B V
>`.pickRestart({
  A: "eb3 bb2@2 eb3 bb2@2 eb3 bb2", B: "f3 bb2@2 f3 bb2@2 f3 bb2", C: "eb3 b2 gb2 b1@2 b2 eb3 b2",
  D: "db3 ab2 f2 db2@2 db3 f3 db3", E: "db3 ab2@2 db3 ab2@2 db3 ab2", F: "c1@6 bb2@2 bb2@2 bb2@2 bb2 c3@3",
  G: "c1@4 eb1@2 c3@2 c3@2 c3@2 c3 eb3@3", H: "g1@6 f2@2 f2@2 f2@2 f2 g2@3", I: "[c1@6 bb2@2 bb2@2 bb2@2 bb2 c3@19]/2",
  J: "f1@2 ~@5 eb1", K: "f1@2 ~@5 g1", L: "[c1@2 ~@5 c1@9]/2", M: "[c1@2 ~@5 c1@2 ~@7]/2",
  N: "bb1@2 bb2 bb2@3 bb1@2 bb1@2 bb2 bb2@5", O: "c2@2 c3 c3@3 c2@2 c2@2 c3 c3@3 c2@2",
  P: "bb1@2 bb2 bb2@3 bb1@2 f2@2 f3 f3@3 f2 f3", Q: "c2@2 c3 c3@3 c2 c3 c2@8",
  R: "bb1@2 bb2 bb2@6 bb1@2 bb2 bb2@2 bb1@2", S: "c2@2 c3 c3@4 c2 c2@2 c3 c3@2 c2@2 c3",
  T: "bb1@2 bb2 bb2@3 bb1@2 f2@2 f3 f3@3 f2 e2", U: "c2@2 c3 c3@3 c2 c3 c2@6 ~@2",
  V: "eb3@2 eb3@4 eb3 eb3@2 eb3@2 eb3 eb3@2 eb3@2",
})).s("gm_electric_guitar_muted").gain(0.45).pan(0.2)

// bass · synth bass 2
const bass = note(`<
  ~@8 A B C D A B C E B F B F B F B F G H I B A B C D A B C D B F B F B F B F G H I B A B C D A B C D ~@6 J K L@2 M N
  L@2 O P M Q M@2 L@2 R L S T U@2 V@4 W@4 X Y Z AA X Y Z Y AB AC AD AB@2 AC AD AE AF AG AH AB AF AG AH AB AI@2 AJ@2 AD@2
  AK AL X Y Z AA X Y Z Y AB AC AD AB@2 AC AD AE B AM B AM B AM B AN AO AP AO AQ AR AS AT AU AR AV AW AX B AM B AM B AM B
  AN AY AZ BA AZ AY AZ AY AZ BB BC BD BE BA BF BG BH BI B@2 BJ@2 BK BL BM B A B BN
>`.pickRestart({
  A: "eb2@2 eb2 eb2@3 eb2!2 eb2@2 eb2 eb2@3 eb2!2", B: "bb1@2 bb1 bb1@3 bb1!2 bb1@2 bb1 bb1@3 bb1!2",
  C: "b1@2 b1 b1@3 b1!2 b1@2 b1 b1@3 b1!2", D: "db2@2 db2 db2@3 db2!2 db2@2 db2 db2@3 db2!2",
  E: "db2@2 db2!2 ~@2 db2!2 db2@2 db2!2 ~@2 db2!2", F: "ab1@2 ab1 ab1@3 ab1!2 eb2@2 eb2 eb2@3 eb2!2",
  G: "c2@2 c2 c2@3 c2!2 c2@2 c2 c2@3 c2!2", H: "f1@2 f1 f1@3 f1!2 f1@2 f1 f1@3 f1!2",
  I: "db2@2 db2 db2@3 db2!2 ab1@2 ab1 ab1@3 ab1!2", J: "eb2@4 eb2!3 eb2@3 eb2!2 g2@2 eb2@2",
  K: "db2@4 db2!3 db2@3 db2!2 c2@2 bb1@2", L: "ab1@4 ab1!3 ab1@3 ab1@2 c2@2 ab1@2",
  M: "eb2@4 eb2!3 eb2@3 eb2@2 g2@2 eb2@2", N: "db2@4 db2!3 db2@3 c2@2 bb1@2 ab1@2",
  O: "eb2 eb2@2 eb2 eb2@2 eb2 eb2@2 eb2 eb2@2 eb2!4", P: "eb2 eb2@2 eb2 eb2@2 eb2 eb2@2 eb2 eb2@2 eb2@4",
  Q: "db2@4 db2!3 db2@3 c2@2 bb1@2 c2@2", R: "bb1@4 bb1!3 bb1@3 bb1@2 d2@2 bb1@2", S: "c2@4 c2!3 c2@3 c2@2 c2@2 c2@2",
  T: "ab1@4 ab1!3 bb1@3 bb1@2 d2@2 bb1@2", U: "[bb1@20 bb1!4 eb2@4 eb2!4]/2",
  V: "[eb2@2 eb2@2 g2@2 eb2@2 f2@4 f2!3 f2@3 f2@2 ab2@2 f2@2 ab1@4 ab1!3 ab1@3 ab1@2 c2@2 ab1@2 bb1@4 bb1!3 bb1@3 bb1@2 d2@2 bb1@2 eb2@4 eb2!4]/4",
  W: "[eb2@2 eb2@2 g2@2 eb2@2 f2@4 f2!3 f2@3 f2@2 ab2@2 f2@2 ab1@4 ab1!3 ab1@3 ab1@2 c2@2 ab1@2 bb1@4 bb1!3 bb1@3 bb1@2 d2@2 bb1@2 ab1!8]/4",
  X: "c1@2 c2!2 c1@2 c2!2 ab1@2 ab2!2 ab1@2 ab2!2", Y: "bb1@2 bb2!2 bb1@2 bb2!2 c1@2 c2!2 c1@2 c2!2",
  Z: "ab1@2 ab2!2 ab1@2 ab2!2 c1@2 c2!2 c1@2 c2!2", AA: "bb0@2 bb1!2 bb0@2 bb1!2 c1@2 c2!2 c1@2 c2!2",
  AB: "c1@2 c2!2 c1@2 c2!2 c1@2 c2!2 c1@2 c2!2", AC: "c1@2 c2!2 eb1@2 eb2!2 eb1@2 eb2!2 eb1@2 eb2!2",
  AD: "g1@2 g2!2 g1@2 g2!2 g1@2 g2!2 g1@2 g2!2", AE: "c1@2 c2!2 c1@2 c2!2 c1@2 c2!2 c1@4", AF: "c1",
  AG: "f1@2 f2!2 f1@2 f2!2 f1@2 f2!2 f1@2 eb2!2", AH: "f1@2 f2!2 f1@2 f2!2 f1@2 f2!2 f1 f2 eb1 eb2",
  AI: "ab1@2 ab2!2 ab1@2 ab2!2 ab1@2 ab2!2 ab1@2 ab2!2", AJ: "f1@2 f2!2 f1@2 f2!2 f1@2 f2!2 f1@2 f2!2",
  AK: "c1!4 c1@2 c1!2 c1@2 c1@2 c1 c1@2 c1", AL: "c1!4 c1@2 c1!2 c1@2 c1@6", AM: "c2@2 c2 c2@3 c2!2 d2@2 d2 d2@3 d2 c2",
  AN: "f2@2 f2 f2@3 f2!2 f2@2 f2 f2@3 f2!2", AO: "c2@3 c2@4 c2 c2@2 c2 c2@4 c2",
  AP: "c2@3 c2@4 c2 c2@2 c2 c2@2 bb1!2 b1", AQ: "c2@2 c2 c2@2 c2 c2@2 c2@8",
  AR: "bb1@2 bb1 bb1@4 bb1 bb1@2 bb1 bb1@2 bb1@2 bb1", AS: "c2@2 c2 c2@4 c2 c2@2 c2 c2@3 c2!2",
  AT: "bb1@2 bb1 bb1@3 bb1!2 f2@2 f2 f2@3 f2!2", AU: "c2@2 c2 c2@3 c2!2 c2@2 c2 c2@3 c2@2",
  AV: "c2@2 c2 c2@4 c2 c2@2 c2 c2@3 c2@2", AW: "bb1@2 bb1 bb1@4 bb1 f2@2 f2 f2@2 f2@2 f2",
  AX: "c2@2 c2 c2@2 c2@2 c2!3 c2@2 c2@2 c2@2", AY: "bb1@2 bb1@4 bb1 bb1@2 bb1 bb1@4 bb1@2",
  AZ: "eb2@2 eb2@4 eb2 eb2@2 eb2 eb2@4 eb2@2", BA: "bb1@2 bb1@4 bb1 bb1@2 bb1 bb1@2 bb1@2 bb1@2",
  BB: "c2@2 c2@4 c2 c2@2 c2 c2@4 c2@2", BC: "f1@2 f1@4 f1 f1@2 f1 f1@4 f1@2", BD: "d1@2 d1@4 d1 d1@2 d1 d1@4 d1@2",
  BE: "eb1@2 eb1@4 eb1 eb1@2 eb1 eb1@4 eb1@2", BF: "c2@2 c2@4 c2 c2@2 c2 c2@2 c2@2 c2@2",
  BG: "eb2@2 eb2@4 eb2 eb2@2 eb2 eb2@2 eb2@2 eb2@2", BH: "f2@2 f2@4 f2 f2@2 f2 f2@2 f2@2 f2@2",
  BI: "f1@2 f1 f1@2 f1 f1@2 f1@2 f1@2 f1@2 f1@2", BJ: "eb1@2 eb1 eb1@3 eb1!2 eb1@2 eb1 eb1@3 eb1!2",
  BK: "c1@2 c1 c1@3 c1 c1@2 c1 c1@4 c1@2", BL: "eb1@2 eb1 eb1@3 eb1 eb1@2 eb1 eb1@2 eb1@2 eb1@2",
  BM: "g1@2 g1!2 g1@2 g1@2 eb1@2 eb1 eb1@2 eb1 eb1@2", BN: "eb2@2 eb2@2 eb2!3 eb2@2 eb2!7",
})).s("gm_synth_bass_2").gain(0.4)

// other · melodic tom
const melodic_tom = note("<~@7 A ~@53 B ~@3 C@4 B ~@126>".pickRestart({
  A: "~@6 e5!6 a4!2 f4!2", B: "~@9 g5!3 d5!2 a4!2", C: "[~@9 g5!3 d5!2 a4 a4@49]/4",
})).s("gm_melodic_tom").gain(0.4)

// other · synth brass 1
const synth_brass_1 = note(`<
  ~@16 A B ~@2 A B ~@2 C D E F ~@8 A B ~@2 A B ~@2 C D E F ~@24 G H I@3 J@2 K L M ~@17 N O P Q O@2 P Q R ~@23 N O P Q
  O@2 P Q R ~@19 S ~@8 T@2 U@2 T@2 V@2 W@2 ~ X Y Z AA@3 ~@11
>`.pickRestart({
  A: "d5@2 c5 d5@2 eb5@2 f5@2 eb5@2 d5@3 d5!2", B: "c5@2 c5 c5@2 c5@2 c5@2 bb4@3 ~@4",
  C: "eb5@2 eb5 eb5@2 eb5@2 f5@2 eb5@5 eb5!2", D: "d5@2 c5 c5@2 bb4@2 c5@9", E: "f5@2 f5 f5@2 f5@2 f5@2 eb5@5 eb5!2",
  F: "g5@2 f5 f5@2 eb5@2 f5@2 ~@7", G: "g5!3 f5@2 eb5@3", H: "db5@2 db5@2 eb5@2 db5 f5@3 bb4@6",
  I: "[g5@2 g5@2 g5@2 ab5@4 bb5@10 ab5@2 bb5@4 bb5@2 ab5@2 g5 ab5@3 g5 f5 eb5@12]/3",
  J: "[~@5 c5 eb5 f5@2 bb4@6 bb4]/2", K: "ab5@2 g5@2 eb5@2 c5 eb5@3 f5@4 bb4@2",
  L: "ab5@2 g5@2 eb5@2 c5 ab5@2 g5@5 eb5 c5", M: "eb5@2 c5@2 eb5@2 c5 eb5@2 f5@5 ~@2", N: "~@10 c4 g4 c5@2 c5 g4",
  O: "c4@10 c4 g4 c5@2 c5 g4", P: "c4 d4 eb4 f4 g4@6 g4 bb4 eb5@2 eb5 bb4", Q: "g4@10 g4 bb4 d5@2 d5 bb4", R: "c4@3 ~",
  S: "~@7 a4", T: "[d5 f5!2 d5 f5!2 g5 db5@2 c5 bb4 f4 g4 bb4!2 c5]/2", U: "[c5@2 bb4@4 g4 bb4@8 bb4]/2",
  V: "[c5@2 bb4@4 g4 bb4@6 bb4!3]/2", W: "[bb5@2 bb5@2 g5@2 d5 f5@2 g5@6 ~]/2", X: "~@13 bb4!2 g4",
  Y: "bb4@2 bb4@4 g4@7 bb4!2 g4", Z: "bb4 bb4@2 g4@2 bb4!3", AA: "[g5@2 f5@2 db5@2 bb4 db5@2 c5@12 ~@3]/3",
})).s("gm_synth_brass_1").gain(0.4).pan(0.3)

// other · epiano2
const epiano2 = note(`<
  ~@65 A ~@3 A ~@7 B ~@13 C ~@17 D@2 E ~ D@2 E ~@52 F G F G F G F G H I J G ~@13 K L M
>`.pickRestart({
  A: "ab3!2 ab3@2 ab3!3 ab3@2 ~@7", B: "ab3!2 ab3@2 ab3!3 ab3@3 ~@6", C: "~@8 ab4 ab3!3 ab4 ab3!2 ab4", D: "~@2 f3@5 ~",
  E: "~@2 c3@5 ~", F: "bb3 ~@7", G: "eb4 ~@7", H: "c4 ~@7", I: "f4 ~@7", J: "d4 ~@7", K: "eb4", L: "bb3", M: "eb3",
})).s("gm_epiano2").gain(0.4).pan(0.4)

// other · viola
const viola = note(`<
  ~@72 A B A@2 C@2 D C E F@3 G@2 H I G@2 H J ~@59 K@3 L M@3 L N ~@20 O P Q R@2 S@2 T@2 U@2 V@2 ~@3
>`.pickRestart({
  A: "eb4 eb4@6 eb4", B: "db4 db4@6 c4", C: "ab3 ab3@6 ab3", D: "bb3 bb3@6 bb3", E: "c4 c4@6 c4",
  F: "[ab3@2 ab3@3 ab3@2 bb3@2 bb3@12 bb3@2 bb3@15 bb3@2 eb4@2 ~@2 eb4@2 ~@2]/3", G: "d4@2 eb4 c4@3 eb4@2",
  H: "d4@2 eb4 f4@3 bb3 eb4", I: "ab4 g4!2 g4@3 eb4@2", J: "ab4 g4 f4 eb4 ~@4",
  K: "[~@8 e4@2 f4 g4@2 e4@2 d4@9 d4@2 e4 f4@2 a4@2 g4@16 c4]/3", L: "f4 e4 c4!2 f4 e4 c4 f4",
  M: "[e4 d4 c4@8 e4 f4 g4 e4@2 d4@9 d4@2 e4 f4@2 a4@2 g4@17]/3", N: "e4 d4 c4@10 ~@4", O: "bb3 bb3@3", P: "c4 c4@3",
  Q: "eb4 eb4@3", R: "[f4@2 f4@5 f4@9]/2", S: "[bb3!2 d4 eb4 f4 bb3@2 bb3@2 bb3 d4 eb4 f4 bb3@3]/2",
  T: "[eb4!2 g4 ab4 bb4 eb4@2 eb4@2 eb4 g4 ab4 bb4 eb4@2 eb4]/2",
  U: "[c4!2 eb4 f4 g4 c4@2 eb4@2 eb4 g4 ab4 bb4 eb4@2 eb4]/2", V: "[g4!2 bb4 c5 eb4!2 g4 bb4@9]/2",
})).s("gm_viola").gain(0.25).pan(0.4)

// other · koto
const koto = note("<~@168 A B A B A B A B C D E B ~@16>".pickRestart({
  A: "~ bb3@7", B: "~ eb4@7", C: "~ c4@7", D: "~ f4@7", E: "~ d4@7",
})).s("gm_koto").gain(0.3).pan(0.6)

// drums · rim
const rim = s("rim").struct(`<
  ~@31 A ~@3 A ~@15 A ~@3 A ~@2 B ~@36 C ~@3 C ~@27 C ~@3 C ~@52 D ~ D ~ E F G H ~@4
>`.pickRestart({
  A: "~@3 x", B: "x ~@4 x ~@2", C: "~ x ~@6", D: "~@5 x ~@2", E: "x ~@2 x ~@4", F: "~@3 x ~@2 x ~",
  G: "~ x ~ x ~ x!2 ~", H: "x",
})).gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@8 A@48 B C D B C B A@8 E F G@10 A G@8 H I J K L I J K L G@7 M B N@2 G B N@2 G@7 O P I J K L I J K L G@7 M Q N Q N Q
  N Q B G@3 B G@3 B G@3 D Q N Q N Q N Q B G@15 A@2 G N G I G@2 R G A@2 G
>`.pickRestart({
  A: "x!4", B: "x", C: "x ~@6 x", D: "x ~@2 x", E: "x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!4", F: "x!2 ~ x!2 ~ x!2 ~ x!2 ~ x ~@3",
  G: "x!2", H: "x ~@8 x!3 ~ x!3", I: "x!3 ~", J: "x ~ x ~ x!4", K: "x ~@3 x!4", L: "x ~@2 x!2 ~@3",
  M: "x ~@7 x ~@3 x!2 ~@2", N: "x ~ x!2", O: "x!5 ~ x!3 ~ x ~ x!2 ~ x", P: "x!5 ~ x!3 ~ x ~@5", Q: "x ~@7 x!2 ~@6",
  R: "x!2 ~@2 x ~@3",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  ~@12 A@44 ~@6 A@8 ~@2 A@5 B A@4 ~ C A@7 D A@7 E A@7 F G A@3 G A@3 H I J E A@2 ~@2 A@7 E A@7 F A K A K A K A L A@3 M
  A@3 M A@3 M A K A K A K A L A@15 ~ N A I A@5 O ~@2 P
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@5 x!3 ~ x!2", C: "~@2 x!6 ~@4 x ~@3", D: "~ x!3", E: "~@4 x ~@7 x ~ x!2",
  F: "~@4 x ~@7 x!2 ~@2", G: "~@10 x!6", H: "~ x!4 ~ x ~", I: "x!2 ~ x", J: "~@2 x ~ x ~ x ~ x ~@3 x!2 ~@2",
  K: "~@4 x ~@2 x ~@4 x ~@3", L: "~@4 x ~@2 x!2 ~ x!2 ~ x!2 ~", M: "~@4 x ~@3 x ~ x!2 ~ x!2 ~", N: "~@12 x!4",
  O: "x ~@3 x ~@7 x!4", P: "~@4 x ~@7 x!4",
})).gain(0.4)

// drums · clap
const clap = s("cp").struct(`<
  ~@30 A B ~@2 A B ~@14 A B ~@2 A B ~@2 C ~@24 D ~@3 E ~@4 F G H ~ F G H ~@9 D I J ~ D I J ~ K ~ K ~@5 F G H ~ F G H
  ~@65
>`.pickRestart({
  A: "~ x ~ x ~@2 x!2", B: "~@13 x ~ x", C: "~@3 x ~@4", D: "~@7 x", E: "~@2 x!2 ~@4", F: "~ x ~ x ~ x ~@2",
  G: "~ x ~ x ~@4", H: "~@7 x ~@8", I: "~@3 x ~@3 x", J: "~@3 x ~ x ~@2", K: "~@11 x ~@4",
})).gain(0.4)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@28 A ~ B ~ A ~ B ~@13 A ~ B ~ A ~ B ~ C D E ~ C ~@9 F G ~@10 H I ~@2 J K ~@4 L M N ~ L M N ~@9 O P Q ~ O P Q ~ H ~ H
  R@3 ~@2 L M N ~ L M N ~@9 S T S T S T U K ~@12 S T S T S T U K ~@10 V ~@7 W ~@5 W ~@3
>`.pickRestart({
  A: "x ~@4 x!3", B: "x ~ x ~@2 x ~@2", C: "x ~@2 x ~@2 x ~", D: "x", E: "~@3 x", F: "x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!4",
  G: "x!2 ~ x!2 ~ x!2 ~ x!2 ~ x ~@3", H: "~@7 x", I: "~@2 x ~@2 x ~@2", J: "~@5 x ~ x", K: "~ x ~@6", L: "~@6 x!2",
  M: "~@15 x", N: "~ x!3 ~@4", O: "~@2 x!2", P: "x ~@3 x ~@2 x ~@2 x ~@5", Q: "x ~@3 x ~@2 x ~@8", R: "x!8", S: "~ x",
  T: "x!4 ~ x ~@2", U: "~@8 x ~@3 x!4", V: "~@5 x ~@2", W: "~ x!2 ~@5",
})).gain(0.4)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@6 A B C@7 D C@40 ~@5 E C@8 F G H@5 I H@4 J K H@2 L M H@3 N H@7 O H@7 P ~ H@3 ~ H@6 O H@2 ~@2 H@7 O H@7 P H@7 N H@3 N
  H@3 N H@3 N H@7 N H@16 P H@7 P H@2 P
>`.pickRestart({
  A: "~@5 x!2 ~", B: "~@3 x ~@4", C: "x ~ x!2 ~@2 x!3 ~ x!2 ~@2 x!2", D: "x ~ x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2", E: "x",
  F: "x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!4", G: "x!2 ~ x!2 ~ x!2 ~ x!2 ~ x ~@3", H: "~ x!3 ~ x!2 ~@2 x!3 ~ x!2 ~",
  I: "~ x!3 ~ x!2 ~@2 x ~@3 x ~@2", J: "~ x!3 ~ x!2 ~@2 x!6 ~", K: "x!2 ~@4 x ~@2 x!3 ~ x!2 ~",
  L: "~ x!3 ~ x!2 ~ x!7 ~", M: "x!4 ~ x!2 ~@2 x!3 ~ x!2 ~", N: "~ x!3 ~ x!2 ~@9", O: "~ x!3 ~ x!2 ~@2 x!3 ~ x ~@2",
  P: "~ x!3 ~ x!2 ~@2 x!3 ~@4",
})).gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@6 A ~@133 B ~ B ~ B ~ B A ~@12 B ~ B ~ B ~ B A ~@28>".pickRestart({
  A: "x", B: "~@7 x ~@8",
})).gain(0.4)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@6 A B C@4 ~@49 A ~@46 D ~@3 D ~@27 A ~ A ~ A ~ A ~@13 A ~ A ~ A ~ A ~@10 E F G ~@6 A ~@5 A ~@3
>`.pickRestart({
  A: "~@3 x ~@4", B: "x", C: "~ x ~ x", D: "~ x ~@2", E: "~@7 x", F: "~@2 x!3 ~ x ~", G: "~ x ~@6",
})).gain(0.4)

// drums · high tom
const high_tom = s("ht").struct("<~@107 A B ~@3 B ~@26 A ~ A ~ A ~ A ~@13 A ~ A ~ A ~ A ~@12 C B ~@16>".pickRestart({
  A: "~@7 x", B: "x", C: "~ x ~@6",
})).gain(0.4)

// drums · crash
const crash = s("cr").struct("<~@178 [x ~@6 x] ~@17>").gain(0.4)

stack(
  electric_guitar_muted, bass, melodic_tom, synth_brass_1, epiano2, viola, koto, rim, kick, snare, clap, low_tom, hihat,
  mid_tom, open_hat, high_tom, crash
// … 1 more lines

More by Erasure