Strudelify

Winterspell

Reiss D. Hozak

KeyF majorTempo120 bpm
0:00/0:00
// Winterspell — Reiss D. Hozak
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/173299; 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(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 · french horn · "Horn"
const french_horn = note(`<
  A B C D A B C E F G H I F G H ~@2 J K L M J K N O J P Q R J P S T U V W X Y Z AA AB AC AD@3
>`.pickRestart({
  A: "g3 ~@3", B: "bb3 ~@3", C: "c4 ~@3", D: "eb4 ~@3", E: "eb4@2 ~ f4@2 ~ g4@2 f4@2 ~ g4@2 ~ a4@2", F: "g2", G: "bb2",
  H: "c3", I: "eb3", J: "g3@2 bb3 c4", K: "d4@2 eb4 d4", L: "c4@2 bb3 a3", M: "g3@3 ~", N: "c4@2 bb3 d4", O: "c4@3 ~",
  P: "d4@2 eb4 f4", Q: "c4@2 f4 c4", R: "g4@3 ~", S: "g4@2 f4 eb4", T: "bb4 a4", U: "g4!16", V: "bb3", W: "d4", X: "c4",
  Y: "g4", Z: "bb4", AA: "d5", AB: "c5", AC: "a4@2 ~ bb4@2 ~ c5@2 bb4@2 ~ c5@2 ~ d5@2", AD: "[c5 ~ g2@16 ~@6]/3",
})).s("gm_french_horn").gain(0.45)

// other · french horn · "Horn"
const french_horn_2 = note(`<
  A B C D A B C ~ E F G H E F I J K E F G H E F G H E F G H E F I L M N O P Q N O R J S@3
>`.pickRestart({
  A: "g2", B: "bb2", C: "c3", D: "eb3", E: "eb3!4 ~ f3!4 g3!2 ~ g3 ~ a3 ~", F: "g3!4 ~ a3!4 bb3!2 ~ bb3 ~ c4 ~",
  G: "a3!4 ~ g3!5 f3 ~ f3@2 ~@2", H: "c4!4 ~ bb3!5 a3 ~ a3@2 ~@2", I: "a3!4 ~ bb3!4 c4!2 ~ c4 ~ d4@2",
  J: "eb4@2 ~ f4@2 ~ g4@2 f4@2 ~ g4@2 ~ a4@2", K: "d3!16", L: "g4 f4",
  M: "eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~", N: "g4!4 ~ a4!4 bb4!2 ~ bb4 ~ c5 ~",
  O: "bb4!4 ~ c5!4 d5!2 ~ d5 ~ eb5 ~", P: "c5!4 ~ bb4!5 a4 ~ a4@2 ~@2", Q: "eb5!4 ~ d5!5 c5 ~ c5@2 ~@2",
  R: "c5!4 ~ d5!4 eb5!2 ~ eb5 ~ f5 ~", S: "[eb5 ~ eb2@16 ~@6]/3",
})).s("gm_french_horn").gain(0.3)

stack(french_horn, french_horn_2)

More by Reiss D. Hozak