Strudelify

Tree Of Life

Reiss D. Hozak

KeyF majorTempo80 bpm
0:00/0:00
// Tree Of Life — Reiss D. Hozak
// 80 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/173089; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 46 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · french horn · "Horn"
const french_horn = note(`<
  ~@8 A B C D E F G H I@2 B C D E J K H L@2 M N O P Q R ~@2 S T ~ U V W T X ~ Y Z
>`.pickRestart({
  A: "~@3 bb4@4 ~", B: "~@2 d4 c4", C: "bb3 a3 g3@2", D: "~@2 a3 g3", E: "f3 eb3 d3@2", F: "~@2 f4 eb4",
  G: "d4 c4 d4@2", H: "~@2 g4 f4", I: "[eb4 d4 f4@4 ~@2]/2", J: "~@2 d5 c5", K: "bb4 a4 g4@2",
  L: "[g4 bb3 bb4@4 ~@2]/2", M: "~@14 d4!2", N: "d4 ~ d4 ~@3 d4 ~ d4 ~@6 d4", O: "~@14 f3!2", P: "f3 ~ f3 ~@13",
  Q: "~@14 a4!2", R: "a4 ~ bb4 ~@3 f4 ~ f4 ~@7", S: "bb3 a3 bb3 c4 d4 c4 d4 eb4 f4 d4 eb4 f4!2 eb4 g4 bb4", T: "c5",
  U: "g4", V: "f4", W: "a4", X: "bb4", Y: "eb3 g3", Z: "bb3",
})).s("gm_french_horn").gain(0.4)

// other · french horn · "Horn" · soft notes
const french_horn_soft = note("<~ A@2 B@2 C@2 D@2 ~@34 E ~@2>".pickRestart({
  A: "[eb3 g3 bb3@4 ~@2]/2", B: "[eb3 g3 f3@4 ~@2]/2", C: "[eb3 g3 d4@4 ~@2]/2", D: "[bb3@2 d4@2 eb4@7 ~@5]/2",
  E: "bb3",
})).s("gm_french_horn").gain(0.2)

// other · french horn · "Horn"
const french_horn_2 = note(`<
  ~@8 A B@2 C@2 D@2 E F@2 G H ~@2 G H I J@2 B@2 C@2 D@2 K@2 ~ L ~ M N O P Q ~ R S
>`.pickRestart({
  A: "g4!2", B: "[eb3 g3 bb3@4 ~@2]/2", C: "[eb3 g3 f3@4 ~@2]/2", D: "[eb3 g3 d4@4 ~@2]/2", E: "bb3 d4 ~@2",
  F: "[~ bb4@2 ~]/2", G: "~@14 d4!2", H: "d4 ~ d4 ~@3 d4 ~ d4 ~@6 d4", I: "f4 a4 bb4 a4", J: "[g4 f4 f4@4 ~@2]/2",
  K: "[bb3@2 d4@2 eb4@7 bb4@4 ~]/2", L: "~ f5", M: "eb4", N: "c4", O: "f4", P: "f5", Q: "g5", R: "eb4 g4", S: "bb4",
})).s("gm_french_horn").gain(0.4)

// other · french horn · "Horn" · soft notes
const french_horn_soft_2 = note("<A@2 ~ B C D@2 ~@39>".pickRestart({
  A: "eb3/2", B: "~@8 a3 f3 a3 f3 a3 f3 a3 f3", C: "a3 f3 a3 f3 a3 f3 a3 f3 a3 ~@7", D: "[~ bb2@3]/2",
})).s("gm_french_horn").gain(0.2)

stack(french_horn, french_horn_soft, french_horn_2, french_horn_soft_2)

More by Reiss D. Hozak