Strudelify

Lullaby for a Deadman (Marching band)

Elena Siegman & Kevin Sherwood

KeyB♭ majorTempo160 bpm
0:00/0:00
// Lullaby for a Deadman (Marching band) — Elena Siegman & Kevin Sherwood
// 160 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/4666826; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 47 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/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 · "B♭ Trumpet"
const trumpet = note(`<
  ~@2 A B@2 C A B@2 C D@2 E@2 F G H@2 D@2 E@2 F G H@2 I J K L M N@2 O P Q@2 A R A B@2 C A B@2 S
>`.pickRestart({
  A: "db4 bb3 db4 bb3", B: "db4 ab3 db4 ab3", C: "g4 eb4!2 bb4", D: "[bb4!2 f4 e4@2 f4 ~@2]/2",
  E: "[bb4@2 bb4@2 f4@2 e4@4 f4@2 bb3 ~@3]/2", F: "c5@2 bb4 bb4@2 db4@3", G: "c4 bb3!2 f4",
  H: "[gb4@2 f4@2 f4@2 eb4 f4@2 f4@4 ~@3]/2", I: "~ f4 bb4@2", J: "bb4@3 ~", K: "~ bb3 c4@2", L: "c4@3 ~",
  M: "db4@2 c4 bb3", N: "[a3@4 db4@16 c4@6 db4 c4 bb3@4]/2", O: "~ db4", P: "eb4@2 eb4 e4@3 f4@2",
  Q: "[f4@2 eb4@4 eb4@4 db4 c4@3 bb3@2]/2", R: "eb4 db4 c4 bb3", S: "g4 bb4!2 c5",
})).s("gm_trumpet").gain(0.3)

// other · flute
const flute = note(`<
  ~@2 A B@2 C A B@2 C D E D E F E G ~ D E D E F E G ~ H I J K L M@2 N O P@2 A G A B@2 C A B@2 C
>`.pickRestart({
  A: "db5 bb4 db5 bb4", B: "f5 db5 f5 db5", C: "g5 eb5 g5 eb5", D: "~@2 c5 db5 e5 f5 e5 ~", E: "~@2 f5 ~@5",
  F: "db5 eb5 f5 g5 bb5 ~ ab5 ~", G: "eb5 db5 c5 bb4", H: "~ bb4 f5@2", I: "f5@11 ~@5", J: "~ bb4 g5@2", K: "g5@11 ~@5",
  L: "db5@2 c5 bb4", M: "[a4@4 db5@15 ~ c5@6 db5 c5 bb4@4]/2", N: "~ db5", O: "c5@2 bb4 a4@3 bb4@2",
  P: "[f5@2 eb5@4 eb5@4 db5 c5@3 bb4@2]/2",
})).s("gm_flute").gain(0.3)

// other · clarinet · "B♭ Clarinet"
const clarinet = note(`<
  ~@2 A B@2 C A B@2 C D E D E F G H ~ D E D E F G H ~ I J K L M N@2 O P Q@2 A H A B@2 C A B@2 C
>`.pickRestart({
  A: "db5 bb4 db5 bb4", B: "f5 db5 f5 db5", C: "g5 eb5 g5 eb5", D: "~@2 c5 db5 e5 f5 e5 ~", E: "~@2 f5 ~@5",
  F: "db4 eb4 f4 g4 c5 ~ bb4 ~", G: "~@2 f4 ~@5", H: "eb5 db5 c5 bb4", I: "~ f4 bb4@2", J: "bb4@3 ~", K: "~ f4 c5@2",
  L: "c5@3 ~", M: "db5@2 c5 bb4", N: "[a4@4 db5@16 c5@6 db5 c5 bb4@4]/2", O: "~ db5", P: "c5@2 bb4 a4@3 bb4@2",
  Q: "[f5@2 eb5@4 eb5@4 db5 c5@3 bb4@2]/2",
})).s("gm_clarinet").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  ~@2 A B@2 C A B@2 C D E D E F G H@2 D E D E F G H@2 I J K L M N@2 O P Q@2 A R A B@2 C A B@2 S
>`.pickRestart({
  A: "db4 bb3 db4 bb3", B: "f4 db4 f4 db4", C: "g4 eb4 g4 eb4", D: "bb3!3 a3", E: "a3 bb3!3", F: "c4 db4!3",
  G: "c4 bb3!2 f4", H: "[gb4@2 f4@2 f4@2 eb4 f4@2 f4@3 f4@2 f4@2]/2", I: "~ f3 bb3@2", J: "bb3@3 ~", K: "~ f3 c4@2",
  L: "c4@3 ~", M: "db4@2 c4 bb3", N: "[a3@4 db4@16 c4@6 db4 c4 bb3@4]/2", O: "~ db4", P: "c4@2 bb3 a3@3 bb3@2",
  Q: "[f4@2 eb4@4 eb4@4 db4 c4@3 bb3@2]/2", R: "eb4 db4 c4 bb3", S: "g4 eb4 bb4 g4",
})).s("gm_alto_sax").gain(0.3)

// other · trombone
const trombone = note(`<
  A@2 B C D E B C D E F G F G H I J@2 F G F G H I J@2 K L M N O P@2 Q R S@2 T U T V@2 W T V@2 W
>`.pickRestart({
  A: "[~@11 ab2@21]/2", B: "db3!4", C: "f3!4", D: "bb2!4", E: "eb3!2 g3 eb3", F: "bb2!3 a2", G: "a2 bb2!3",
  H: "c3 db3!3", I: "c3 bb2!2 f3", J: "[gb3@2 f3@2 f3@2 eb3 f3@2 f3@3 f3@2 f3@2]/2", K: "~ f3 f3@2", L: "f3@3 ~",
  M: "~ f3 a3@2", N: "a3@3 ~", O: "db3!2 c3!2", P: "[c3@2 db3@8 c3@3 c3@3]/2", Q: "c3!2 db3@2", R: "c3 bb2!3",
  S: "[f3@2 eb3@4 eb3@4 db3 c3@3 db3@2]/2", T: "db3 bb2 db3 bb2", U: "eb3 db3 c3 bb2", V: "db3 ab2 db3 ab2",
  W: "g3 eb3 g3 eb3",
})).s("gm_trombone").gain(0.25)

// bass · tuba
const bass = note(`<
  ~@2 A B C D A B C D E F E F G H I@2 E F E F G H I@2 C J K L M G N O P C@2 Q R A B A S A B A T
>`.pickRestart({
  A: "db2!4", B: "f2!4", C: "bb2!4", D: "eb2!4", E: "bb2!3 a2", F: "a2 bb2!3", G: "c3 db3!3", H: "c3 bb2 c3 f2",
  I: "[gb2@2 f2@2 f2@2 eb2 f2@2 f2@3 f2@2 f2@2]/2", J: "f2 eb2 db2 ~", K: "bb2!2 c3!2", L: "c3 bb2 ab2 ~",
  M: "db3!2 c3!2", N: "db3@2 c3@3 c3@3", O: "c3!2 db3@2", P: "c3 bb2!3", Q: "db3!4", R: "db3 c3 bb2!2", S: "g2!3 eb2",
  T: "g2 eb2 g2 eb2",
})).s("gm_tuba").gain(0.2)

stack(trumpet, flute, clarinet, alto_sax, trombone, bass)