Strudelify

the legend of zelda theme

Jaiden Hayward

KeyF majorTempo150 bpm
0:00/0:00
// the legend of zelda theme — Jaiden Hayward
// 150 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5900223; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 45 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/4)

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

// other · soprano sax · "Soprano Saxophone"
const soprano_sax = note(`<
  A B@2 C D E F G H I J K D E L M N O N P Q R S K D E F G H I J K D E L M N O N P Q R S K T
>`.pickRestart({
  A: "bb4@8 ~@3 bb4!3 ~ bb4", B: "bb4@3 ab4 bb4@4 ~@3 bb4!3 ~ bb4", C: "bb4@2 f4!2 f4@2 f4!2 f4@2 f4!2 f4@2 f4@2",
  D: "bb4@4 f4@7 bb4!2 c5 d5 eb5", E: "f5@8 ~@2 f5@2 f5 gb5 ~ ab5", F: "bb5@8 ~ bb5 ~ bb5!2 ab5 ~ gb5",
  G: "ab5@3 gb5 f5@8 f5@4", H: "eb5@2 eb5 f5 gb5@8 f5@2 eb5@2", I: "db5@2 db5 eb5 f5@8 eb5@2 db5@2",
  J: "c5@2 c5 d5 e5@8 g5@4", K: "f5@2 f4!2 f4@2 f4!2 f4@2 f4!2 f4@2 f4@2", L: "bb5@2 ~ db6", M: "c6 a5 ~ f5",
  N: "gb5@2 ~ bb5", O: "a5 f5 ~ f5", P: "a5 f5 ~ d5", Q: "eb5@2 ~ gb5", R: "f5 db5 ~ bb4",
  S: "c5@2 c5 d5 e5@4 ~@4 g5@4", T: "bb4",
})).s("gm_soprano_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A B C D E F G H I J K D E F G L M N M N I J K D E F G H I J K D E F G L M N M N I J K D O
>`.pickRestart({
  A: "bb2@2 ~@2 bb2!2 ~ bb2 bb2@2 ~@2 bb2!2 ~ bb2", B: "ab2@2 ~@2 ab2!2 ~ ab2 ab2@2 ~@2 ab2!2 ~ ab2",
  C: "gb3@2 ~@2 gb3!2 ~ gb3 gb3@2 ~@2 gb3!2 ~ gb3", D: "f3 ~ f3 ~ f3 ~ g3 a3",
  E: "bb2@2 ~@2 bb2!2 ~ ab2 bb2@2 ~@2 bb2@2 ~@2", F: "ab3@2 ~@2 ab3!2 ~ gb3 ab3@2 ~@2 ab3@2 ~@2",
  G: "gb3@2 ~@2 gb3!2 ~ e3 gb3@2 ~@2 gb3@2 ~@2", H: "db3@2 ~@2 db3!2 ~ c3 db3@2 ~@2 db3@2 ~@2",
  I: "b2@2 ~@2 b2!2 ~ bb2 b2@2 ~@2 b2!2 ~ b2", J: "bb2@2 ~@2 bb2!2 ~ ab2 bb2@2 ~@2 bb2!2 ~ bb2",
  K: "c3@2 ~@2 c3!2 ~ b2 c3@2 ~@2 c3!2 ~ c3", L: "f3@2 ~@2 f3!2 ~ eb3 f3@2 ~@2 f3@2 ~@2",
  M: "e3 bb2 ~ db3 e3 bb3 ~ db4 e4@4 ~@4", N: "f4@2 ~@2 f3!2 ~ f3 f3@2 ~@6", O: "bb3",
})).s("gm_tenor_sax").gain(0.3)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D A B C E F A G D A B C D H I H I F A G D A B C E F A G D A B C D H I H I F A G D A
>`.pickRestart({
  A: "bb2", B: "ab2", C: "gb2", D: "f2", E: "db3", F: "b2", G: "c3", H: "e2", I: "f3",
})).s("gm_baritone_sax").gain(0.3)

stack(soprano_sax, tenor_sax, baritone_sax)