Strudelify

The Avengers Main Theme

Alan Sivestri

KeyF majorTempo120 bpm
0:00/0:00
// The Avengers Main Theme — Alan Sivestri
// 119.5 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5971898; 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(119.5/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 · cello · "Violoncel"
const cello = note(`<
  ~@8 A ~@3 B C D E B C D E B C D E F ~@2 G ~ H I J K@5 L M N O P K L M Q K L R N K L R S K L R N P T U
>`.pickRestart({
  A: "g3", B: "d3", C: "g3@4 g3@3 g3 g3@4 g3@3 g3", D: "g3 g2@3", E: "g3@4 g3@3 g3 bb2@4 a2@4", F: "~ g2", G: "eb3 d3",
  H: "c4", I: "a3", J: "b3 bb3", K: "g3 e3!2 g3!2 e3!2 g3", L: "g3 e3!2 g3!2 e3!2 b3", M: "a3 e3!2 g3!2 e3!2 g3",
  N: "b3 gb3!2 b3!2 gb3!2 b3", O: "e3@6 d3 e3 gb3@8", P: "g3 g3@3 g3 a3@3", Q: "g3 gb3", R: "db4 e3!2 g3!2 e3!2 g3",
  S: "g3 e3!2 g3 gb3 e3!2 g3", T: "d4 e4@3 e4 gb4@3", U: "e3",
})).s("gm_cello").gain(0.4)

// other · cello · "Violoncel"
const cello_2 = note(`<
  A@4 B C D E B C D E B C D E B C D E B C D E F G@2 H I J K L M N O P M N O Q P R S T O P S N O Q S N O U S N O Q V@2 M
>`.pickRestart({
  A: "[d3@28 bb2 ~ c3 ~]/4", B: "d3!2 d3@4 d3!2 d3@4 d3!4", C: "eb3!2 eb3@4 eb3!2 e3@4 e3!4",
  D: "f3!2 f3@4 f3!2 e3@4 e3!4", E: "eb3!2 eb3@4 eb3!2 bb2@4 c3@4", F: "~ g3@3", G: "[c3 c4@3]/2", H: "ab3 g3", I: "g3",
  J: "c4", K: "~ a3", L: "b3 bb3", M: "b2", N: "c3", O: "db3", P: "g2 a2", Q: "b2!2", R: "g2 g2@3 a2 a2@3",
  S: "b2 b2@3", T: "g2", U: "c3 d3", V: "c3 c3@3 d3 d3@3",
})).s("gm_cello").gain(0.3)

// other · cello · "Violoncel"
const cello_3 = note(`<
  A@4 B@4 C D E F C D E F G H I J G H I J K L@2 M N O P Q R S T U R S T V U W X Y T U X Y T V X Y T U X Y T V W@2 R
>`.pickRestart({
  A: "[d2@28 bb2 ~ c3 ~]/4", B: "[d2@14 bb2 c3]/4", C: "d2", D: "eb2 e2", E: "f2 e2", F: "eb2@2 bb2 c3",
  G: "d2 d3 d3@4 d3!2 d3@4 d3!4", H: "eb3!2 eb3@4 eb3!2 e3@4 e3!4", I: "f3!2 f3@4 f3!2 e3@4 e3!4",
  J: "eb3!2 eb3@4 eb3!2 bb2@4 c2@4", K: "~ g2@3", L: "[g2 g3@3]/2", M: "eb3 d3", N: "c3", O: "f3", P: "~ d3",
  Q: "e3 eb3", R: "e2", S: "g2", T: "db2", U: "c2 d2", V: "gb2!2", W: "c2 c2@3 d2 d2@3", X: "e2 e2@3", Y: "c2",
})).s("gm_cello").gain(0.3)

stack(cello, cello_2, cello_3)