Strudelify

grossvater

STS

KeyB♭ majorTempo85 bpm
0:00/0:00
// grossvater — STS
// 85 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/16 at bar 1, 4/4 at bar 1) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 3 "Euphonium (Violinschlüssel)" named as a string part, played on violin (its tuba patch is not one); ch 4 "Euphonium (Violinschlüssel)" named as a string part, played on violin (its tuba patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/1132146; 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(85/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 · trumpet · "Flügelhorn"
const trumpet = note("<A B C D A B C D ~@5 A B C D A B C D ~@4 E F G H@3 I@4 J@2 K@2 I@4 L@2>".pickRestart({
  A: "~@13 eb4 f4 g4", B: "ab4 ab4@3 ab4@2 ab4@2 ab4 g4@3 g4@2 f4@2", C: "f4 eb4 eb4@2 f4 eb4!2 db4", D: "eb4@3 ~",
  E: "~@11 ab4 ab4@2 ab4@2", F: "f4@5 db5!3", G: "bb4@5 db5!3",
  H: "[c5@6 c5@2 bb4@4 bb4@2 ab4@8 bb4@6 f5@2 eb5 eb5@5 ~ eb5!4 db5@2 db5@3 c5@2]/3",
  I: "[c5@2 bb4@2 bb4@2 ab4 bb4@5 f5@2 eb5 eb5@5 ~ eb5!4 db5@2 db5@3 c5@2]/2",
  J: "[c5@2 bb4@2 bb4@2 ab4 bb4@5 db5@2 c5 ab4@9 ~ eb4 f4 g4 ab4 bb4 c5 db5]/2",
  K: "[c5@6 eb5@6 f5@2 eb5 eb5@5 ~ eb5!4 db5@2 db5@3 c5@2]/2", L: "[c5@2 bb4@2 bb4@2 ab4 bb4@5 db5@2 c5 ab4@17]/2",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "Flügelhorn"
const trumpet_2 = note(`<
  A B C D A B C D E F G H I A B C D A B C D E F G H J K L M@3 N@2 O@2 P@2 Q@2 N@2 O@2 R@2
>`.pickRestart({
  A: "~@13 eb4 f4 g4", B: "eb4 eb4@3 eb4@2 eb4@2 eb4 db4@3 db4@2 db4@2", C: "db4 bb3 bb3@2 db4 bb3 c4 db4",
  D: "eb4@3 ~", E: "~@5 g4 bb4!2", F: "ab4@5 ab4 bb4 ab4", G: "g4@6 ab4!2", H: "ab4@5 ab4 f4!2", I: "g4@3 ~",
  J: "bb4@8 ~@3 f4 f4@2 f4@2", K: "db4@5 ab4!3", L: "g4@5 f4!3",
  M: "[eb4@6 eb4@2 g4@4 e4@2 c4@8 eb4@6 db5@2 c5 c5@5 ~ c5!4 ab4@2 ab4@3 ab4@2]/3",
  N: "[ab4@2 g4@2 g4@2 f4 g4@5 db5@2 c5 c5@5 ~ c5!4 ab4@2 ab4@3 ab4@2]/2",
  O: "[ab4@2 g4@2 g4@2 f4 g4@5 c5@2 bb4 ab4@5 ~ c5!4 ab4@2 ab4@3 ab4@2]/2",
  P: "[ab4@2 g4@2 g4@2 f4 g4@5 bb4@2 ab4 eb4@9 ~@4 db4 eb4 f4 g4]/2",
  Q: "[ab4@6 bb4@6 db5@2 c5 c5@5 ~ c5!4 ab4@2 ab4@3 ab4@2]/2", R: "[ab4@2 g4@2 g4@2 f4 g4@5 bb4@2 ab4 eb4@17]/2",
})).s("gm_trumpet").gain(0.3)

// other · violin · "Euphonium (Violinschlüssel)"
const violin = note(`<
  ~ A B C ~ A B C D E F E G ~ A B C ~ A B C D E F E H I J K@3 L@2 M@2 N@2 O@2 L@2 M@2 P@2
>`.pickRestart({
  A: "eb3@4 eb3@2 eb3@2 eb3 f3@3 f3@2 f3@2", B: "f3 g3 g3@2 bb2!2 eb3 db3", C: "c3@3 ~", D: "~@5 eb4 f4!2",
  E: "eb4@5 eb4 f4 ab4", F: "eb4@6 f4!2", G: "eb4@3 ~", H: "eb4@8 ~@3 ab3 ab3@2 ab3@2", I: "ab3@5 f3!3", J: "g3@5 f3!3",
  K: "[eb3@6 eb3@2 e3@4 e3@2 f3@8 g3@6 f3@2 eb3 eb3@5 ~ ab3!4 f3@2 f3@3 f3@2]/3",
  L: "[f3@2 eb3@2 eb3@2 db3 eb3@5 f3@2 eb3 eb3@5 ~ ab3!4 f3@2 f3@3 f3@2]/2",
  M: "[f3@2 eb3@2 eb3@2 db3 eb3@5 ab3@2 ab3 ab3@5 ~ ab3!4 f3@2 f3@3 f3@2]/2",
  N: "[f3@2 eb3@2 eb3@2 db3 eb3@5 eb3@2 db3 c3@9 ~@8]/2", O: "[f3@6 g3@6 f3@2 eb3 eb3@5 ~ ab3!4 f3@2 f3@3 f3@2]/2",
  P: "[f3@2 eb3@2 eb3@2 db3 eb3@5 eb3@2 db3 c3@17]/2",
})).s("gm_violin").gain(0.3)

// bass · tuba · "B Tuba"
const bass = note(`<
  ~ A B A B A B A B A B A C B A B A B A B A B A B A D E F G@2 H I H I H I J K H I H I H I L
>`.pickRestart({
  A: "ab1@3 db2", B: "eb2@3 db2", C: "eb2@3 bb1", D: "eb2 ~", E: "db2@3 db2@3 ab2@2", F: "eb2@3 eb2@3 eb2@2",
  G: "[ab2@4 bb2@3 f2@4 eb2@3 ~@2]/2", H: "ab2 db2", I: "eb2", J: "ab1 ~", K: "f2@3 eb2@3 db2@2", L: "ab1",
})).s("gm_tuba").gain(0.3)

stack(trumpet, trumpet_2, violin, bass)

More by STS