Strudelify

Metal Crusher

Toby Fox

KeyE♭ majorTempo120 bpm
0:00/0:00
// Metal Crusher — Toby Fox
// 120 bpm, 2/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1680881; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 48 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/2)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · vibraphone
const vibraphone = note("<A B C D E@7 F E@7 G ~ H ~ I J K L M N O P Q R ~ S T E@7 F U V W F>".pickRestart({
  A: "eb5@3 eb5 b4@2 b4@2", B: "b4@3 b4 eb4@3 ~", C: "[eb4,eb5]@3 [eb4,eb5] [eb4,eb5]@2 [eb4,eb5]@2", D: "ab4",
  E: "~ [eb5,g5] ~ [eb5,g5]", F: "[ab4,ab5]!3 ~", G: "ab4!2 b4!2 eb5!2 ab5!2", H: "[d5,g5]@5 [d5,g5]@5 ~ [d5,g5]@5",
  I: "[bb4,eb5]@5 [bb4,eb5]@5 ~ [eb5,g5]@5", J: "~@2 [eb4,eb5]@2 [eb4,eb5]!2 ~@2", K: "~@2 [eb4,eb5]@2 [eb4,eb5]!3 ~",
  L: "[eb4,ab5] [ab4,eb5]", M: "[ab4,b5] [b4,ab5]", N: "[e4,db5]@5 [e4,db5]@5 ~ [c5,ab5]@5",
  O: "[e4,e5]@5 [e4,e5]@5 ~ [g4,d5]@5", P: "eb5!3 b4 ab5!3 eb5", Q: "ab5 eb5 b4 eb5 ab5 eb5 b4 ab4", R: "[db4,db5]",
  S: "[b3,b4]", T: "[bb3,bb4]", U: "~ eb5 eb6 eb5 ~ eb5 eb6 eb5", V: "~ ab5 ab6 ab5 ~ ab5 ab6 ab5",
  W: "[eb4,b5] [ab4,eb6] [eb4,eb5] [g4,g5]", // Abm Ab5 Eb G
})).s("gm_vibraphone").gain(0.3)

// other · marimba
const marimba = note(`<
  ~@2 A B C D C E F G H I C D C E F G H J K L M N O P Q R S T U V W ~ X ~ C D C E F G H I Y Z AA AB
>`.pickRestart({
  A: "[eb3,eb4]@3 [eb3,eb4] [eb3,eb4]@2 [eb3,eb4]@2", B: "[ab2,ab3]@3 ~@5", C: "[eb3,g4]!2", D: "[ab3,ab4]!2",
  E: "[ab2,ab3]!2", F: "[g3,g4]!2", G: "[ab3,ab4] ab3", H: "eb3@2 eb3!2", I: "ab3", J: "ab3!2 eb3!2 b2!2 eb3!2",
  K: "d4@5 d4@5 ~ d4@5", L: "d4", M: "eb4@5 eb4@5 ~ eb4@5", N: "eb4", O: "db4@5 db4@5 ~ db4@5",
  P: "[eb3,db4]@5 [eb3,db4]@5 ~ [eb3,db4]@5", Q: "[ab3,ab4] [bb3,eb4]", R: "[b3,b4] [eb4,ab4]",
  S: "ab3 ab4!2 ab3 ab4!2 ab3 ab4", T: "e3 e4!2 e3 e4!2 e3 e4", U: "[eb3,eb4]!8", V: "[eb3,eb4]!7 [d3,d4]",
  W: "[db3,db4]", X: "[eb3,g4]", Y: "eb4 g4 bb4 g4", Z: "ab4 b4 eb5 b4", AA: "[ab3,ab4] [g3,g4]",
  AB: "[ab2,ab3]!2 [ab2,ab3]@2", // Ab
})).s("gm_marimba").gain(0.3)

stack(vibraphone, marimba)

More by Toby Fox