Strudelify

Hexagon Force

Waterflame

KeyG majorTempo160 bpm
0:00/0:00
// Hexagon Force — Waterflame
// 160 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5929181; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 104 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/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 · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A@2 B C A@2 B C A@2 D E A@2 F G H@2 D E H@2 D E A@2 D E A@2 D E I@2 J ~ K@2 L ~ I@2 J ~ M ~ A@2 B C A@2 B C A@2 D E N
  O P ~ N Q N R S Q T@2 ~@4 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B U A@2
>`.pickRestart({
  A: "g3/2", B: "d#3 ~ d#3@3 d#3 ~ f3", C: "~@2 f3 ~ f3@12", D: "d#3", E: "f3", F: "d#3@2 ~@2 d#3@6 d#3 ~ d3 ~ c3@2",
  G: "~@2 c3 ~ c3@12", H: "d3/2", I: "[g3@3 d3]/2", J: "g3@4 d3@3 g3", K: "[g3@3 a#3]/2", L: "g3@4 a#3@3 g3",
  M: "~ g3 f3 d3 f3 d3 c3 d3", N: "g3", O: "c4", P: "g3@3 ~", Q: "d4", R: "g4@3 ~", S: "g4",
  T: "[a#3@6 ~ f3@2 f3@2 d3 g3@4]/2", U: "~ d4@2 c4@2 a#3 a3 f3",
})).s("gm_tenor_sax").gain(0.14)

// other · bassoon
const bassoon = note(`<
  A@2 B C A@2 B C D@2 E F G@2 H I D@2 E F G@2 H J D@2 E F G@2 H K L@2 M N L@2 M N L@2 M O ~@2 A@2 B C A@2 B C ~@8 P Q
  R@2 S T U@2 V@2 W@2 V@2 X@2 V@2 W@2 V@2 X@2 Y@2 Z AA Y@2 Z AA Y@2 Z AA Y@2 Z AB A@2
>`.pickRestart({
  A: "g3/2", B: "d#3@2 ~@2 d#3@6 d#3 ~ d#3 ~ f3@2", C: "~@2 f3 ~ f3@12", D: "d3 ~@2 d3 ~@2 d3 ~",
  E: "d#3 ~@2 d#3 ~@2 d#3 ~", F: "f3 ~@2 f3 ~@2 f3 ~", G: "g3 ~@2 g3 ~@2 g3 ~", H: "a#3 ~@2 a#3 ~@2 a#3 ~",
  I: "g3 d4@2 c4@2 c4 a3 g3", J: "f3", K: "c4!2 d4 f4", L: "[g3@3 g3 a#3 g3 f3 g3@2 g3 a#3 g3 d3@2 f3 d3]/2",
  M: "g3@3 g3 a#3 g3 f3 g3", N: "~ c3 d3 ~ f3 ~ f#3 ~", O: "~ c4 a#3 g3!2 f3 d3 f3", P: "g2 d3 g2 f2@2 d3 f2 e2",
  Q: "e2 d2 e2 f2@2 d2 f2@2", R: "[g2 d3 g2 f2@2 f2@2 g2@7 ~@2]/2", S: "g2 a2 a#2 a2 a#2 c3 a#2 c3",
  T: "d3 c3 d3 f3 g3@4", U: "[a#2!3 c3@2 c3@2 f2@2 f2@2 d2 g2@4]/2", V: "[g2@2 g2@2 a#2 c3@2 d3@7 g3@2]/2",
  W: "[f3 d3 c3@2 d3@2 a#2 a2@2 a#2 a2@2 a#2@2 a2 f2]/2", X: "[a#3 a3 g3@2 f3@2 d3 c3@2 d3 c3@2 d3@2 f3@2]/2",
  Y: "d3/2", Z: "d#3@2 ~@2 d#3@6 d#3 ~ d3 ~ c3@2", AA: "~@2 c3 ~ c3@12", AB: "~ d4@2 c4@2 a#3 a3 f3",
})).s("gm_bassoon").gain(0.3)

stack(tenor_sax, bassoon)

More by Waterflame