Strudelify

mad world

Roland Orzabal

KeyF majorTempo120 bpm
0:00/0:00
// mad world — Roland Orzabal
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/65759; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 64 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · piano
const piano = note(`<
  A B C B D E F G D E H I D E F G D J K L M N@2 O P Q R S T@4 D E F G D E H I D E F G D J K L M N@2 O P Q R S T@4 U@2
  V@2
>`.pickRestart({
  A: "~ [ab3,c4] f3 [ab3,c4]", B: "bb3 [d4,f4] bb3 [d4,f4]", C: "f3 [ab3,c4] f3 [ab3,c4]",
  D: "f3 [ab3,c4] f3 [g2,ab3,c4], f2@3 ~", E: "ab3 [c4,eb4] ab3 [c4,eb4], ab2 c3",
  F: "g3 bb3 ~ [g3,bb3], eb3!2, ~ g3@2 ~", G: "~ [d4,f4] ~ [d4,f4], d3, bb3!2", H: "~ [g3,bb3] ~ [g3,bb3], eb3!2",
  I: "bb3 [d4,f4] bb3 [d4,f4], d3", J: "ab3 [c4,eb4] [bb2,ab3] [c3,c4,eb4], ab2 ~",
  K: "~ [g3,bb3] [eb3,g3] [g3,bb3], eb3 ~", L: "~ [d4,f4] ~ [d4,f4], bb3!2",
  M: "[f3,ab4,c5] [ab3,c4,f4] [f3,ab4,c5] [ab3,c4,f4,ab4]", // Fm
  N: "[[bb3,f4,bb4,d5]@2 d4@2 ~ f4 [f4,bb4] ~ f3@2 [ab4,c5] ~@2 f4 [ab3,c4,ab4,c5]@2, ~@2 [f4,bb4,d5]@3 ~ d4@2 ~@2 [ab3,c4]@2 f3@2 ~@2, ~@4 bb3@2 ~ f4@3 ~ f4@2 ~@3]/2", // Bb Bb5 Ab Bb Ab
  O: "[bb3,f4]@2 [f4,bb4,d5] ~@2 f4 [d4,f4,bb4,d5]@2, ~ d4 bb3 ~, ~@3 f4@2 ~@3", // Bb5 Bb
  P: "f4!2 [ab4,c5] ~ f3@2 [ab4,c5] f4, f3 [ab3,c4] ~ [ab3,c4], ~@3 f4@3 ~@2", // Ab
  Q: "[bb3,bb4,d5]@2 [d4,f4]@2 ~ f4 [d4,f4,bb4,d5]@2, ~@2 [bb4,d5]@3 ~@3, ~@2 bb3 ~", // Bb Dm Bb
  R: "[f3,f4]@2 [ab4,c5] ~@2 f4 [ab4,c5] f4, ~ [ab3,c4] f3 [ab3,c4], ~@3 f4@2 ~@3", S: "[bb3,d4,f4]",
  T: "[[ab4,c5] ab4 g4!2 f4!2 eb4 ~ bb3@2 f4@2 bb3@2 ~@3 ab4 g4!2 f4!2 eb4 ~ bb3@2 f4@2 bb3@2 [d4,f4]@2, f3 [ab3,c4] f3 [ab3,c4] ~@4 f3 [ab3,c4] f3 [ab3,c4] ~@4, ~ c5@3 ab4@4 ~@7 ab4@2 c5@3 ab4@3 bb4@9, ~@7 d4@3 d4@4 [d4,f4]@2 ~@7 d4@3 d4@4 ~@2]/4", // Ab Dm Ab Dm
  U: "[[ab4,c5] ab4 g4!2 f4!2 eb4 ~ bb3@2 f4@2 bb3@2 [d4,f4]@2, f3 [ab3,c4] f3 [ab3,c4] ~@4, ~ c5@3 ab4@4 ~@8, ~@7 d4@3 d4@4 ~@2]/2", // Ab Dm Ab
  V: "[ab4!2 g4!2 [c4,f4,ab4] f4 eb4 ~ [bb2,bb3]@8, f3 [ab3,c4] f3 [ab3,c4] ~@4, ~@7 [d4,f4]@9]/2", // Fm Bb Ab Dm
})).s("gm_piano").gain(0.3)

stack(piano)