Strudelify

Gladiator

Hans Zimmer

KeyF majorTempo120 bpm
0:00/0:00
// Gladiator — Hans Zimmer
// 120 bpm, 4/4, key F 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/5031762; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 138 bars on a 24-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 · clarinet · "B♭ Clarinet"
const clarinet = note(`<
  ~ A B@2 C@2 D E F@2 G@4 H@4 ~@9 I J@2 K L M N ~ O N P Q R@2 S@2 O T U V@2 W X Y@2 Q Z AA@2 W Z AB@2 U AC@2 W X Y@2 Q Z
  AD@2 W Z AE W AF AG AH AI AJ@2 AK@2 AF AG AH AI AJ@2 AK AL ~ AM AN@8 AO@2 AP AQ@6 AR@4 AS@8 AT@2 AU@2 ~ AV AW AX AY@8
>`.pickRestart({
  A: "~@3 g3@7 g3@7 b3@7", B: "[c4@10 g3@3 ~ g3@20 g3@7 g3@7]/2", C: "[c4@7 bb3@27 ~@7 f3@7]/2", D: "bb3@7 d4@7 eb4@10",
  E: "d4 bb3@7", F: "[bb3@7 d4@7 eb4@7 d4@27]/2",
  G: "[~@7 d4@7 c4@7 e4@6 f4@10 ~ e4@3 c4@14 ~@7 ab3@7 ab3@6 b3@7 c4@14]/4",
  H: "[b3@14 g4@7 c4@6 c4@7 d4@7 eb4@10 d4@3 ~ c4@14 d4@27]/4", I: "~@3 g4", J: "[g4@6 a4 a4@9]/2",
  K: "~@2 g4@2 g4@3 a4", L: "c5@7 b4", M: "c5@4 b4 a4", N: "g4", O: "~ gb4", P: "g4 a4 c5@5 b4", Q: "c5",
  R: "[~@2 b4 a4 a4@3 e5@3 d5@6]/2", S: "[~@7 d5@2 c5 b4 a4@5]/2", T: "g4@3 ~", U: "e5@3 e5@3 e5@2", V: "[a5@3 g5]/2",
  W: "d5", X: "d5@3 d5@3 d5@2", Y: "[e5@3 d5]/2", Z: "b4@3 b4@3 b4@2", AA: "[c5@3 e5]/2", AB: "g4/2", AC: "[a5@3 a5]/2",
  AD: "[a4@3 a4]/2", AE: "e5", AF: "g3@3 g3@3 g3@2", AG: "a3@3 a3@3 a3@2", AH: "b3@3 b3@3 b3@2", AI: "c4@3 c4@3 c4@2",
  AJ: "d4@3 d4@3 d4@2", AK: "e4@3 e4@3 e4@2", AL: "gb4@3 gb4@3 gb4@2", AM: "~ b3@23",
  AN: "[~@3 a3@26 e4@26 g3@26 b3@26 a3@26 ~ a3@26 g3@26 ~@6]/8", AO: "[~@7 d4@13 d4@26 c4@2]/2", AP: "~@2 e4@3 c4@19",
  AQ: "[~@14 d4@9 e4@3 ~ g4@19 g4@10 gb4@3 e4@3 ~ d4@16 ~@13 d4@13 e4@26 ~@13]/6",
  AR: "[~ d4@13 d4@26 d4@3 e4@3 g4@16 ~ gb4@3 g4@26 ~@4]/4",
  AS: "[~@3 gb4@3 e4@3 e4@10 c5@10 b4@33 ~@9 b4@7 a4@3 g4@3 ~ e4@16 ~@13 d4@13 e4@26 e4@3 ~ gb4@3 e4@20 ~@12]/8",
  AT: "[~ e4@9 gb4@3 ~ a4@19 a4@10 g4@3 gb4@2]/2", AU: "[~ e4@8 d4@13 ~@2]/2", AV: "~@11 d4@13", AW: "~ e4@23",
  AX: "~ d4@7", AY: "[~@5 d4@26 g3@26 b3@26 a3@26 ~ g3@26 a3@26 b3@26 ~@4]/8",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "B♭ Clarinet"
const clarinet_2 = note(`<
  A@2 B@8 C@4 D@4 E F E G E F E F H@2 E F I J K L I J K M I J K M I J I N O@2 K P Q@2 L N O@2 K R S@2 N O@2 K P Q@2 L N
  O@2 K R T@2 U V U W U V U W U V U W U V U W ~ X Y Z AA AB@8 AC AD AE AF AG@8 AH AI AJ AK AL@8 X AM AN@8
>`.pickRestart({
  A: "[~@7 g3@9]/2", B: "[c4@27 c4@27 ~ f3@27 bb3@27 ~ bb3@27 g3@27 ~ bb3@27]/8",
  C: "[d4@14 c4@7 bb3@6 c4@10 ~ c4@3 c4@14 c4@7 c4@7 c4@6 b3@7 g3@14]/4", D: "[g3@14 c4@13 ab3@14 c4@27 ~ b3@27]/4",
  E: "b3 ~@2 b3 ~@2 g3 ~@2 g3 ~@2 b3 ~@2 b3 ~@2 g3 ~@2 g3 ~@2",
  F: "a3 ~@2 a3 ~@2 gb3 ~@2 gb3 ~@2 a3 ~@2 a3 ~@2 gb3 ~@2 gb3 ~@2",
  G: "c4 ~@2 c4 ~@2 g3 ~@2 g3 ~@2 c4 ~@2 c4 ~@2 g3 ~@2 g3 ~@2",
  H: "a3 ~@2 a3 ~@2 g3 ~@2 g3 ~@2 a3 ~@2 a3 ~@2 g3 ~@2 g3 ~@2", I: "g4", J: "e4", K: "d4", L: "c4", M: "gb4",
  N: "b3@3 e4@3 g4@2", O: "[e4@3 e4]/2", P: "a3@3 b3@3 d4@2", Q: "[e4@3 d4]/2", R: "d4@3 b3@3 b3@2", S: "b3/2", T: "b3",
  U: "g5@2 gb5 e5@2 d5 d5@2", V: "c5 c5@2 d5 d5@4", W: "c5 c5@2 b4 a4@2 g4@2", X: "~ d4@23", Y: "~ gb4@7",
  Z: "~@5 g4@19", AA: "~@7 e4@17", AB: "[~@9 d4@26 g3@26 ~ gb3@26 e3@26 gb3@26 b3@26 c4@26]/8", AC: "~ g3@23",
  AD: "~ e4@7", AE: "~@5 g3@19", AF: "~@7 gb3@17", AG: "[~@9 e3@26 gb3@26 ~ b3@26 c4@26 g3@26 e4@26 g4@26]/8",
  AH: "~ gb4@23", AI: "~ c4@7", AJ: "~@5 d4@19", AK: "~@7 d4@17",
  AL: "[~@9 g4@26 g4@26 ~ e4@26 g4@26 gb4@26 e4@26 d4@26]/8", AM: "~ g4@7",
  AN: "[~@5 g4@26 e4@26 g4@26 gb4@26 ~ d4@26 gb4@26 d4@26 ~@4]/8",
})).s("gm_clarinet").gain(0.25)

// other · clarinet · "B♭ Clarinet"
const clarinet_3 = note(`<
  A@2 B@8 C@4 D@4 E F G H E F G F H@2 E F I J I K I J I K I J I K I J L M N@2 O P Q@2 R M N@2 O S T@2 M N@2 O P Q@2 R M
  N@2 O S R@2 U R@2 V R W R X U R@2 V R W R O ~ Y Z AA AB AC@8 AD AE AF AG AH@8 AI AJ AF AK AL@8 Y AM AN@8
>`.pickRestart({
  A: "[~@7 d3@9]/2", B: "[eb3@27 eb3@27 ~ d3@27 f3@27 ~ eb3@27 eb3@27 ~ f3@27]/8",
  C: "[bb3@14 ab3@7 g3@6 f3@10 ~ f3@3 f3@14 f3@7 f3@7 eb3@6 g3@7 c4@14]/4", D: "[d4@14 eb4@13 ab3@14 g3@27 ~ g3@27]/4",
  E: "d4", F: "gb4", G: "g4", H: "e4", I: "b3 ~@2 b3 ~@2 g3 ~@2 g3 ~@2 b3 ~@2 b3 ~@2 g3 ~@2 g3 ~@2",
  J: "c4 ~@2 c4 ~@2 g3 ~@2 g3 ~@2 c4 ~@2 c4 ~@2 g3 ~@2 g3 ~@2",
  K: "a3 ~@2 a3 ~@2 gb3 ~@2 gb3 ~@2 a3 ~@2 a3 ~@2 gb3 ~@2 gb3 ~@2", L: "b3", M: "b3@3 e4@3 g4@2", N: "[c4@3 c4]/2",
  O: "a3", P: "a3@3 b3@3 d4@2", Q: "[b3@3 b3]/2", R: "g3", S: "b3@3 gb3@3 gb3@2", T: "g3/2", U: "d3", V: "e3", W: "gb3",
  X: "c4", Y: "~ g3@23", Z: "~ d4@7", AA: "~@5 e4@19", AB: "~@7 c4@17",
  AC: "[~@9 g3@26 d4@26 ~ d4@26 c4@26 b3@26 g3@26 g3@26]/8", AD: "~ b3@23", AE: "~ c4@7", AF: "~@5 b3@19",
  AG: "~@7 b3@17", AH: "[~@9 c4@26 b3@26 ~ g3@26 g3@26 c4@26 c4@26 d4@26]/8", AI: "~ d4@23", AJ: "~ e4@7",
  AK: "~@7 g3@17", AL: "[~@9 a3@26 b3@26 ~ c4@26 d4@26 d4@26 c4@26 b3@26]/8", AM: "~ a3@7",
  AN: "[~@5 b3@26 c4@26 d4@26 d4@26 ~ b3@26 d4@26 g3@26 ~@4]/8",
})).s("gm_clarinet").gain(0.25)

stack(clarinet, clarinet_2, clarinet_3)

More by Hans Zimmer