Strudelify

St. Anthony Chorale

Joseph Haydn

KeyB♭ majorTempo48 bpm
0:00/0:00
// St. Anthony Chorale — JOSEPH HAYDN
// 48 bpm, 2/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1138186; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 58 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(48/2)

// 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 · oboe
const oboe = note("<A B C D E A B C F C A B C D E A B C F C ~@8 A B C F G@4 H@2 I ~@8 A B C F G@4 H@2 I>".pickRestart({
  A: "d5@3 eb5 d5@2 d5@2", B: "eb5 d5", C: "c5 bb4", D: "c5@3 d5 eb5 c5 d5 bb4", E: "d5@4 c5 a4 bb4 c5",
  F: "c5@3 d5 bb4@2 a4@2", G: "bb4/4", H: "bb4!2", I: "bb4",
})).s("gm_oboe").gain(0.16)

// other · oboe · soft notes
const oboe_soft = note("<~@20 A B C D E@2 F G ~@11 A B C D E@2 F G ~@11>".pickRestart({
  A: "f4", B: "e4", C: "eb4", D: "bb4 c5 d5@2", E: "bb4@2 ~@2 bb4 ~ bb4 ~", F: "g4 ~ g4!2", G: "g4 f4",
})).s("gm_oboe").gain(0.08)

// other · flute
const flute = note(`<
  ~@4 A B C D E F ~@4 A B C D E F G H I J K L M N O P Q R S@4 T@2 U G H I J K L M N O P Q R S@4 T@2 U
>`.pickRestart({
  A: "~@5 f4 g4 a4", B: "bb4@3 g4 f4@2 f4@2", C: "g4 f4", D: "a4 d4 g4@2", E: "g4@3 g4 f4@2 f4@2", F: "bb4 f4 bb4@2",
  G: "f4@3 g4 f4@2 f4@2", H: "g4@3 a4 g4@2 g4@2", I: "a4@3 bb4 a4@2 a4@2", J: "f4!2 bb4@2",
  K: "eb5@3 ~@3 f5@2 eb5@2 ~@2 eb5@2 ~@2", L: "d5@3 ~@3 eb5@2 d5@2 ~@2 d5@2 ~@2", M: "c5@3 ~@3 d5@2 c5@4 bb4@4",
  N: "bb4 a4", O: "d5@3 eb5 d5@2 d5@2", P: "eb5 d5", Q: "c5 bb4", R: "c5@3 d5 bb4@2 a4@2", S: "bb4/4", T: "bb4!2",
  U: "bb4",
})).s("gm_flute").gain(0.25)

// other · french horn · "Horn"
const french_horn = note(`<
  ~@4 A B C D E F ~@4 A B C D E F ~@6 G H I J K L M N M N O@2 P ~@6 G H I J K L M N M N O@2 P
>`.pickRestart({
  A: "~@5 a3 bb3 c4", B: "d4@3 eb4 d4@2 d4@2", C: "eb4 d4", D: "c4 bb3", E: "c4@3 d4 bb3@2 a3@2", F: "bb3",
  G: "eb3 ~ eb3 e3", H: "~ f4 f3@2", I: "f3@3 g3 f3@2 f3@2", J: "g3 f3", K: "f3 gb3 g3 f3", L: "eb3@2 f3!2",
  M: "f3@3 g3 ab3@2 ab3@2", N: "g3@3 f3 g3 f3 g3 eb3", O: "f3!2", P: "f3",
})).s("gm_french_horn").gain(0.4)

// other · bassoon
const bassoon = note("<~@5 A B C D E ~@5 A B C D E ~@8 A B C D F@4 A@2 G ~@8 A B C D F@4 A@2 G>".pickRestart({
  A: "bb2!2", B: "eb2 bb2", C: "f2 gb2 g2 f2", D: "eb2@2 f2!2", E: "bb2 f2 bb1@2", F: "bb2/4", G: "bb2",
})).s("gm_bassoon").gain(0.48)

// other · bassoon · soft notes
const bassoon_soft = note("<A B C D E ~@5 A B C D E ~@5 F@3 G H I J K ~@11 F@3 G H I J K ~@11>".pickRestart({
  A: "bb3 bb2", B: "eb3 bb2", C: "f2 gb2 g2 f2", D: "eb2@3 e3", E: "f3 f2 f3@2", F: "f2/3", G: "d3 c3 bb2@2",
  H: "g2@2 ~@2 g2 ~ g2 ~", I: "f2@2 ~@2 f2 ~ f2 ~", J: "eb2 ~ eb2 e2", K: "~ f3 f2@2",
})).s("gm_bassoon").gain(0.32)

stack(oboe, oboe_soft, flute, french_horn, bassoon, bassoon_soft)

More by Joseph Haydn