Strudelify

madness

Muse

KeyD♭ majorTempo120 bpm
0:00/0:00
// madness — Muse
// 120 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/233236; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 156 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · flute
const flute = note(`<
  ~@8 A@2 B C D E F G H@2 I J K@3 ~ L@2 B C D E F G H@2 I J M@3 N A@2 O@2 P@4 A@2 O@2 P@4 ~@4 Q@8 R@2 S@2 ~@4 Q@8 R@2
  S@2 ~@4 T@2 U@2 P@4 T@2 U@2 P@4 ~@8 T@2 U@2 P@4 T@2 U@2 P@4 T@2 U@2 P@4 T@2 V@2 W@4 X@4 ~@4
>`.pickRestart({
  A: "f5/2", B: "~ ab4 bb4 db5", C: "f5 eb5!2 db5", D: "eb5@5 f5 eb5 db5", E: "eb5 db5@7", F: "~@3 ab4",
  G: "f5@3 eb5@3 db5@2", H: "eb5/2", I: "db5", J: "ab4@2 bb4@2 db5@2 eb5 db5", K: "[f5@7 ab5@5]/3", L: "f4/2",
  M: "[f5@7 db5@5]/3", N: "ab5", O: "ab5/2", P: "bb4/2", Q: "ab5/8", R: "gb5/2", S: "gb4/2", T: "db5/2", U: "c5/2",
  V: "c6/2", W: "bb5/4", X: "ab5/4",
})).s("gm_flute").gain(0.2)

// other · trumpet · "Bb Trumpet"
const trumpet = note(`<
  A B C B C B C B ~ B C B ~ B C B ~@5 B C B ~ B C B ~ B C B ~@5 B C B ~@17 B C B ~ B C B C B C B D@2 E@2 F@3 ~ G@2 H I J
  K C B ~@3 L F@3 ~ M@2 N@2 O P ~@2 M@2 N@2 O P ~@7 B C B ~@2 Q@2 R@2 S@2 E@2 Q@2 R@2 S@2 T@2 U@2 V@4 T@2 U@2 V@2 W@2 C
  B C B C B ~@2
>`.pickRestart({
  A: "~@2 db4!6", B: "db4@3 db4@3 db4@2", C: "db4!8", D: "b4/2", E: "bb4/2", F: "[f5@7 db5@5]/3", G: "f5/2",
  H: "~ ab4 bb4 db5", I: "f5 eb5!2 db5", J: "eb5@5 f5 eb5 db5", K: "eb5 db5@7", L: "ab4@2 bb4@2 db5@2 eb5 db5",
  M: "[f5@6 eb5 f5]/2", N: "[ab5@5 gb5 f5@2]/2", O: "gb5@3 f5", P: "db5", Q: "c5/2", R: "db5/2", S: "eb5/2",
  T: "[db4@3 db4@3 db4@3 db4@3 db4@4]/2", U: "[c4@3 c4@3 c4@3 c4@3 c4@4]/2", V: "[bb3@3 bb3@3 bb3@3 bb3@3 bb3@4]/2",
  W: "[bb3@3 bb3@3 bb3@3 bb3@3 ~@4]/2",
})).s("gm_trumpet").gain(0.25)

// other · trumpet · "Bb Trumpet"
const trumpet_2 = note(`<
  ~@16 A@2 B@2 ~@40 C@2 D E F G H I J@2 K L M@3 ~ N@2 O P Q R H I J@2 K L S@3 ~ T@2 U@2 V W ~@2 X@2 Y@2 Z K ~ AA K AB AC
  AB ~@4 N@2 AD@2 AE@2 AF@2 N@2 AD@2 AE@2 AF@2 ~@16 AG@4 ~@4
>`.pickRestart({
  A: "b3/2", B: "bb3/2", C: "f4/2", D: "~ ab3 bb3 db4", E: "f4 eb4!2 db4", F: "eb4@5 f4 eb4 db4", G: "eb4 db4@7",
  H: "~@3 ab3", I: "f4@3 eb4@3 db4@2", J: "eb4/2", K: "db4", L: "ab4@2 bb4@2 db5@2 eb5 db5", M: "[bb4@7 gb4@5]/3",
  N: "bb4/2", O: "~ db4 eb4 gb4", P: "bb4 ab4!2 gb4", Q: "ab4@5 bb4 ab4 gb4", R: "ab4 gb4@7", S: "[f5@7 db5@5]/3",
  T: "[f5@6 eb5 f5]/2", U: "[ab5@5 gb5 f5@2]/2", V: "gb5@3 f5", W: "db5", X: "[f4@6 eb4 f4]/2", Y: "[ab4@5 gb4 f4@2]/2",
  Z: "gb4@3 f4", AA: "~@2 bb3 db4", AB: "db4@3 db4@3 db4@2", AC: "db4!8", AD: "c5/2", AE: "db5/2", AF: "eb5/2",
  AG: "f5/4",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "Bb Trumpet" · soft notes
const trumpet_soft = note(`<
  ~@24 A@8 B@2 C@2 ~@4 C@2 D@2 E@2 F@2 C@2 D@2 E@2 F@2 ~@76 C@2 D@2 E@2 F@2 C@2 D@2 E@2 F@2 ~@8
>`.pickRestart({
  A: "ab4/8", B: "b4/2", C: "bb4/2", D: "c5/2", E: "db5/2", F: "eb5/2",
})).s("gm_trumpet").gain(0.2)

// other · trombone
const trombone = note(`<
  ~@8 A@2 B C D E F G H@2 I J K@3 ~ L@3 M D E F G H@2 I J K@3 ~ N@2 O@2 P I ~@2 N@2 O@2 Q I ~ R I ~@75 N@2 O@2 P I ~@2
  N@2 O@2 S@3 T U@4 ~@4
>`.pickRestart({
  A: "f3/2", B: "~ ab2 bb2 db3", C: "f3 eb3!2 db3", D: "eb3@5 f3 eb3 db3", E: "eb3 db3@7", F: "~@3 ab2",
  G: "f3@3 eb3@3 db3@2", H: "eb3/2", I: "db3", J: "ab2@2 bb2@2 db3@2 eb3 db3", K: "[f3@7 db3@5]/3",
  L: "[f3@3 f3@3 ab3@3 f3@2 eb3 db3@6 ab2@2 bb2@2 db3@2]/3", M: "f3@2 eb3@2 eb3 db3@3", N: "[f3@6 eb3 f3]/2",
  O: "[ab3@5 gb3 f3@2]/2", P: "gb3@3 f3", Q: "gb3@6 f3 eb3", R: "~@2 bb2 db3", S: "[gb3@6 f3 gb3@3 bb3@14]/3",
  T: "~@2 bb3 c4", U: "db4/4",
})).s("gm_trombone").gain(0.4)

// other · trombone · soft notes
const trombone_soft = note(`<
  ~@60 A@8 B@2 C@2 ~@4 A@8 B@2 C@2 ~@4 C@2 D@2 E@2 F@2 C@2 D@2 E@2 F@2 ~@8 G@2 H@2 I J ~@2 G@2 H@2 I J ~@26
>`.pickRestart({
  A: "ab3/8", B: "b3/2", C: "bb3/2", D: "c4/2", E: "db4/2", F: "eb4/2", G: "[f3@6 eb3 f3]/2", H: "[ab3@5 gb3 f3@2]/2",
  I: "gb3@3 f3", J: "db3",
})).s("gm_trombone").gain(0.2)

stack(flute, trumpet, trumpet_2, trumpet_soft, trombone, trombone_soft)

More by Muse