Strudelify

Avengers Theme

Molly Williams

KeyB♭ majorTempo120 bpm
0:00/0:00
// Avengers Theme — Molly Williams
// 120 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5702496; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 61 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 · violin · "Violin II"
const violin = note(`<
  ~@2 A ~@2 B C@3 D E F G H E F G H E F G H E F G H I E ~ J K L M N O L P Q@2 R S T U V W X S Y W X Z AA W X S Y AB AC
  AD@2 AE
>`.pickRestart({
  A: "g4 ~@7", B: "~@4 g3 ~ g3 ~", C: "g3!2 g3@2 ~@2 g3!2 g3@2 ~@2 g3@2 g3!2",
  D: "g3!2 g3@2 ~@2 g3!2 g3@2 ~@2 a3@2 ~@2", E: "g3", F: "d4@4 c4@3 bb3 bb3@4 c4@3 d4", G: "d4 g3@3",
  H: "d4@4 c4@3 bb3 bb3@4 a3@4", I: "bb3", J: "eb4 d4", K: "g4", L: "c4", M: "a4", N: "gb4", O: "e4", P: "db4",
  Q: "g4 e4!2 g4!2 e4!2 g4", R: "g4 ~ e5@2 e5@3 b5", S: "a5", T: "e4 eb4", U: "c4 d4", V: "d5 e5 ~@2 e5 gb5 ~@2",
  W: "e5", X: "c4@2 e5@2 e5@3 b5", Y: "g4 gb4", Z: "db5 a4", AA: "e5 eb5", AB: "g3 c4 ~@2 b3 d4 ~@2",
  AC: "g4 c5 ~@2 b4 e5 ~@2", AD: "e4/2", AE: "e4 ~@7",
})).s("gm_violin").gain(0.4)

// other · viola
const viola = note(`<
  A@2 B C D E B C D E B C D E B C D E B C D E B C D E F G H I J K L M N O P Q N R S T U V N W X U N W K Y N W X U V@2
  Z@2 AA
>`.pickRestart({
  A: "d4!2 d4@2 ~@2 d4!2 d4@2 ~@6", B: "d4!2 d4@2 ~@2 d4!2 d4@2 ~@2 d4@2 d4!2",
  C: "eb4!2 eb4@2 ~@2 eb4!2 e4@2 ~@2 e4@2 e4!2", D: "f4!2 f4@2 ~@2 f4!2 e4@2 ~@2 e4@2 e4!2",
  E: "eb4!2 eb4@2 ~@2 eb4!2 bb3@2 ~@2 c4@2 ~@2", F: "~ g3 g4@2", G: "~@2 c4@3 g3 d4@2", H: "bb3@3 g3 g4@4", I: "c4 b3",
  J: "~ c4 c5@2", K: "a3", L: "~ d4 d5@2", M: "~ b3 b4@2", N: "b3", O: "~@2 e4@2 e4@3 b4", P: "a4",
  Q: "g3@4 a3@2 a3 d4", R: "g3", S: "a3@7 a3", T: "b3@3 b3 b3@2 b3@2", U: "g3 a3", V: "g3!2 ~@2 a3!2 ~@2",
  W: "g3@2 e4@2 e4@3 b4", X: "db4", Y: "b3@3 eb4", Z: "e4/2", AA: "e4 ~@7",
})).s("gm_viola").gain(0.4)

// other · cello · "Violoncello"
const cello = note(`<
  A@2 B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C D E ~ F ~ G H I J D K L J E M N O P J E Q O J E J R J E Q O P@2 S@2 T
>`.pickRestart({
  A: "d3!2 d3@2 ~@2 d3!2 d3@2 ~@6", B: "g2!2 g2@2 ~@2 g2!2 g2@2 ~@2 g2@2 g2!2",
  C: "g2!2 g2@2 ~@2 g2!2 eb2@2 ~@2 c2@2 ~@2", D: "g2", E: "c2", F: "eb2 d2", G: "f2", H: "d3", I: "b2", J: "e2",
  K: "a2", L: "c2@4 d2@2 d2 d3", M: "db2@7 db2", N: "gb2@3 gb2 gb2@2 gb2@2", O: "c2 d2", P: "c2!2 ~@2 d2!2 ~@2",
  Q: "db2", R: "gb2@3 eb2", S: "e2/2", T: "e2 ~@7",
})).s("gm_cello").gain(0.4)

stack(violin, viola, cello)