Strudelify

The Avengers Main Theme

Tyler Moffitt

KeyD minorTempo120 bpm
0:00/0:00
// The Avengers Main Theme — Tyler Moffitt
// 120 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5570146; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 55 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.
// 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(`<
  A B C D E F G H E F G H A B C I A B C I J K L M N O P Q E R S T U V@2 W V X E Y S Z E Y AA R AB AC Y AD AE AF AG@2 AH
>`.pickRestart({
  A: "c4 ~ c4 ~@3 c4 ~ c4@2 ~@2 c4@2 ~@2", B: "db4 ~ db4 ~@3 db4 ~ d4@2 ~@2 d4@2 ~@2",
  C: "eb4 ~ eb4 ~@3 eb4 ~ d4@2 ~@2 d4@2 ~@2", D: "db4 ~ db4 ~@3 db4 ~ f4@2 ~@2 eb4@2 ~@2", E: "f4",
  F: "c4@4 bb3 ~@2 ab3 ab3@4 bb3 ~@2 c4", G: "c4 f3@3", H: "c4@4 bb3 ~@2 ab3 ab3@4 g3@4",
  I: "db4 ~ db4 ~@3 db4 ~ ab3@4 bb3@4", J: "~ d4 d5@2", K: "~@4 bb4@3 f4", L: "c5 ab4 f4@2 f5@4", M: "gb4 f4",
  N: "~ f4 f5@2", O: "~@8 eb5@7 bb4", P: "c5", Q: "d5 db5", R: "a3", S: "c4", T: "f4 g4", U: "a4",
  V: "f4 ~ d4 ~ d4 ~ f4 ~ f4 ~ d4 ~ d4 ~ f4 ~", W: "a4 ~ e4 ~ e4 ~ a4 ~ a4 ~ e4 ~ e4 ~ a4 ~",
  X: "f4 ~ f4 ~@5 g4 ~ g4 ~@5", Y: "g4", Z: "bb3 c4", AA: "b3 g3", AB: "d4", AC: "~@2 d4@2 d4@3 a4", AD: "f4 e4",
  AE: "f4 ~ f4 ~@5 g4 ~ g4 a4 bb4 c5 d5 e5", AF: "f5 ~ c5 ~@5 c5 ~ c5 ~@5", AG: "d5", AH: "d5 ~@7",
})).s("gm_trumpet").gain(0.3)

// other · flute
const flute = note(`<
  ~@12 A B C D A B C D E F G H ~ I J K L@5 M N O P Q R M N S T M L U A V R W X Y Z AA AB
>`.pickRestart({
  A: "f5@15 ~", B: "c6@4 bb5 ~@2 ab5 ab5@4 bb5 ~@2 c6", C: "c6@4 f5@11 ~", D: "c6@4 bb5 ~@2 ab5 ab5@4 g5@4",
  E: "~ bb4 bb5@2", F: "bb5@15 ~", G: "~ d5 d6@2", H: "db5 c5", I: "bb4@15 ~", J: "a4@15 ~", K: "e5!2",
  L: "f5 ~ d5 ~ d5 ~ f5 ~ f5 ~ d5 ~ d5 ~ f5 ~", M: "~@2 d5@2 d5@3 a5", N: "g5@15 ~", O: "d5 db5", P: "f5 g5",
  Q: "bb5 ~ bb5 ~@5 c6 ~ c6 ~@5", R: "d6@15 ~", S: "f5 e5", T: "d5@15 ~", U: "a5 ~ e5 ~ e5 ~ a5 ~ a5 ~ e5 ~ e5 ~ a5 ~",
  V: "~@2 d6@2 d6@3 d6", W: "d6 e6", X: "d6 ~ d6 ~@5 e6 ~ e6 ~@5", Y: "c6 ~ d6 ~@5 d6 ~ e6 ~@5", Z: "d5", AA: "d6",
  AB: "d6 ~@7",
})).s("gm_flute").gain(0.3)

stack(trumpet, flute)