Strudelify

Plant Island Fanfare (Low Brass Quartet)

Tyler Decker

KeyE♭ majorTempo140 bpm
0:00/0:00
// Plant Island Fanfare (Low Brass Quartet) — Tyler Decker
// 140 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5638379; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 84 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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.

// bass · tuba · "Euphonium 2"
const bass = note(`<
  ~@12 A B C D E@3 F E@3 F G@3 H G@3 H G@3 H G@3 H I J K D I J K D I J K D I J K D L@3 M L@3 M N O N O P Q P Q ~@4 R C K
  D S T U@2
>`.pickRestart({
  A: "~@14 bb2 ~", B: "c3@11 ~@5", C: "eb3@11 ~@5", D: "f3@11 ~@5", E: "eb3@2 eb3 ~@3 eb3@2 eb3@2 eb3 ~@3 eb3@2",
  F: "d3@2 d3 ~@3 d3@2 d3@2 d3 ~@5", G: "g3@2 g3 ~@3 g3@2 ab3@2 ab3 ~@3 ab3@2", H: "bb3@2 bb3 ~@3 bb3@2 ab3@2 ab3 ~@5",
  I: "c3@8 ~@4 d3@3 ~", J: "eb3@8 ~@4 f3@3 ~", K: "g3@11 ~@5", L: "eb3 ~@2 eb3!2 ~@2 eb3", M: "d3 ~@2 d3!2 ~@3",
  N: "~@8 ab3@2 g3 ~ f3 ~ g3 ~", O: "ab3@2 g3 ~ f3 ~ g3 ~@9", P: "~@8 ab3!2 g3 ~ f3 ~ g3 ~", Q: "ab3@3 g3 ~ f3 g3 ~@9",
  R: "c3@9 ~@5 d3 ~", S: "~@2 eb3@3 f3@3", T: "g3", U: "[c3@9 ~@7]/2",
})).s("gm_tuba").gain(0.4)

// bass · tuba · "Euphonium 2" · soft notes
const bass_soft = note("<~@12 A ~@43 B@3 C B@3 C ~@11 D ~@8>".pickRestart({
  A: "c3@9 ~@7", B: "~@2 eb3 ~@7 eb3 ~@5", C: "~@2 d3 ~@7 d3 ~@5", D: "d3@11 ~@5",
})).s("gm_tuba").gain(0.2)

// bass · tuba · "Tuba 1"
const bass_2 = note(`<
  A B C D A B C D A B C D A B C D A B C E A B C E A B C E A B C E A B C E A B C E A B C E A B C E A B C E A B C E F G H
  I F G H I J ~ J ~ J ~ J ~ K B C E A B C E L M N@2
>`.pickRestart({
  A: "c2@9 ~@5 d2 ~", B: "eb2@11 ~@5", C: "ab2@11 ~@5", D: "g2@11 ~@5", E: "g2@4 ~@2 g2@2 g2 ab2 g2 ~ f2 ~ eb2 ~",
  F: "~@2 c3!2 c3@2 c3@2 ~@6 c3!2", G: "~@2 ab2!4 ~@2 ab2@2 ab2@2 ab2!4", H: "eb2@3 eb2@3 eb2!2 ~@4 eb2!4",
  I: "g2@3 g2@3 g2!2 ~@8", J: "g2@3 ~ g2@3 ~@9", K: "~@14 d2 ~", L: "eb2",
  M: "g2@2 f2 ~ eb2 ~ f2 ~ g2@2 f2 ~ eb2 ~ f2 ~", N: "[c2@9 ~@7]/2",
})).s("gm_tuba").gain(0.4)

// bass · tuba · "Tuba 2"
const bass_3 = note(`<
  ~@8 A B C D E B C D E B C D E B C D E B C D E B C D E B C D E B C D E B C D E B C D E B C D E B C D ~@3 F ~@3 F G H I
  J G H I J ~@2 C D E B C D K L M@2
>`.pickRestart({
  A: "~@14 bb1 ~", B: "c2@11 ~@5", C: "eb2@11 ~@5", D: "d2@11 ~@5", E: "c2@9 ~@5 bb1 ~",
  F: "~@6 g2@2 g2 ab2 g2 ~ f2 ~ eb2 ~", G: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~", H: "ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~",
  I: "eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~", J: "g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~", K: "c2", L: "b1", M: "[c2@9 ~@7]/2",
})).s("gm_tuba").gain(0.4)

// bass · tuba · "Tuba 2" · soft notes
const bass_soft_2 = note("<~@8 A ~@47 B C D E B C D E ~@8 F G ~@10>".pickRestart({
  A: "c2@9 ~@7", B: "c2@9 ~@5 d2 ~", C: "eb2@11 ~@5", D: "ab2@11 ~@5", E: "g2 ~@3", F: "c2@9 ~@5 bb1 ~", G: "c2@11 ~@5",
})).s("gm_tuba").gain(0.25)

stack(bass, bass_soft, bass_2, bass_3, bass_soft_2)