Strudelify

interstellar

Hans Zimmer

KeyE minorTempo100 bpm
0:00/0:00
// interstellar — Hans Zimmer
// 100 bpm, 3/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4830258; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 156 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/3)

// 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 · trombone
const trombone = note(`<
  ~@4 A B@2 C D E B@2 A E B@2 F D E B@2 F D E G H A B@2 C D E B@2 A B@2 C D E B@2 A E B@2 I D E B@2 C D E G J@2 K@18 ~@5
  L@2 M@2 N@2 O P L@2 M@2 N@2 O P Q@6 R@2 S@2 T@2 U V W X Y Z AA AB AC AD ~@10 AE@2 AF@2 AG@2 AF@2 AH@2 AI@2 AJ@2 AI AK
  AH@2 AI@2 AJ@2 AI@2 AL@4
>`.pickRestart({
  A: "a2", B: "b2/2", C: "a2 b2 c3", D: "b2 a2 b2", E: "c3", F: "a2@2 c3", G: "d3", H: "e3", I: "a2 ~ c3",
  J: "~ e3 ~ e3 ~ e3", K: "e3!3", L: "a2 e3@2", M: "b2 e3@2", N: "c3 e3@2", O: "d3 e3@2", P: "d3 e3 b2", Q: "~ e4 ~",
  R: "a3 e3 c3 e3 f3 c3", S: "b3 e3 d3 e3 g3 d3", T: "c4 a3 e3 c3 e3 c3", U: "g2 d3 e3 g2 d3 e3",
  V: "g2 d3 e3 g2 d3 b2", W: "c3@2 d3@2 f3@2 e3@2 d3 e3 f3 e3", X: "d3@2 e3@2 a3@2 f3@2 f3 g3 a3 b3",
  Y: "c4@2 b3@2 g3@2 a3@2 b3 g3 a3 g3", Z: "a3@2 b3@2 d4@2 a3@2 a3 b3 d4 b3", AA: "c4@2 b3@2 c4@2 d4@2 c4 b3 c4 a3",
  AB: "b3@2 c4@2 a3@2 b3@2 b3 c4 b3 c4", AC: "a3@2 c4@2 b3@2 c4@2 c4 b3 c4 d4", AD: "e4@2 c4@2 d4@2 c4@2 d4 c4 b3 a3",
  AE: "f2 e3!2 f2 e3!2", AF: "g2 e3!2 g2 e3!2", AG: "a2 e3!2 a2 e3!2", AH: "f3 e4!2 f3 e4!2", AI: "g3 e4!2 g3 e4!2",
  AJ: "a3 e4!2 a3 e4!2", AK: "d4 e4!2 g3 e4!2", AL: "c4/4",
})).s("gm_trombone").gain(0.2)

// bass · tuba · "Euphonium"
const bass = note(`<
  A@26 B C@2 D E F C@2 B C@2 D E F C@2 B F C@2 G E F C@2 D E F H I@4 J@2 K@2 L@2 M@2 J@2 K@2 L@2 K@2 N O@2 P Q R@2 S@2
  T@2 U V J@2 K@2 L@2 K@2 W@2 X@2 Y@2 W@2 X@2 Y@2 X@2 Z@2 AA@2 AB@2 AC AD Z@2 AA@2 AB@2 AC AD A@2 Z@2 AA@2 AB@2 AC AD
  Z@2 AA@2 AB@2 AC AD Z@2 AA@2 AB@2 AC AD A@4
>`.pickRestart({
  A: "e3!3", B: "a2", C: "b2/2", D: "a2 b2 c3", E: "b2 a2 b2", F: "c3", G: "a2 ~ c3", H: "d3", I: "e3/4", J: "f3/2",
  K: "g3/2", L: "a3/2", M: "[g3@5 ~]/2", N: "a3 c4 e4 ~ a3 c4 e4 ~ a3 c4 e4 ~", O: "b3 d4 e4 ~ b3 d4 e4 ~ b3 d4 e4 ~",
  P: "a3 c4 e4 ~ g3 b3 e4 ~ a3 c4 e4 ~", Q: "b3 d4 e4 ~ a3 c4 e4 ~ g3 b3 e4 ~", R: "f3 e4 c4 f3 e4 c4",
  S: "g3 e4 d4 g3 e4 d4", T: "a3 e4 c4 a3 e4 c4", U: "g3 d4 e4 g3 d4 e4", V: "g3 d4 e4 g3 d4 a3", W: "f3 ~@2",
  X: "g3 ~@2", Y: "a3 ~@2", Z: "a2 e3@2", AA: "b2 e3@2", AB: "c3 e3@2", AC: "d3 e3@2", AD: "d3 e3 b2",
})).s("gm_tuba").gain(0.25)

// bass · tuba
const bass_2 = note(`<
  A@4 B C@2 D E F C@2 B F C@2 A@2 F C@2 A@2 F G H I@8 J@21 K@4 L@2 M@2 A@2 N@2 L@2 M@2 A@2 M@2 B C@2 O P L@2 M@2 A@2 M@2
  Q@2 R@2 S@2 T U L@2 M@2 A@2 L@2 M@2 A@2 M@2 L@2 M@2 A@2 M@2 L@2 M@2 A@2 M@2 V@2 L@2 M@2 A@2 M@2 L@2 M@2 A@2 M@2 L@2
  M@2 A@2 M@2 W@4
>`.pickRestart({
  A: "a2/2", B: "a2", C: "b2/2", D: "a2 b2 c3", E: "b2 a2 b2", F: "c3", G: "d3", H: "e3", I: "e3!3", J: "e3!6",
  K: "e3/4", L: "f2/2", M: "g2/2", N: "[g2@5 ~]/2", O: "a2 g2 a2", P: "b2 a2 g2", Q: "f2 e3 c3 f2 e3 c3",
  R: "g2 e3 d3 g2 e3 d3", S: "a2 e3 c3 a2 e3 c3", T: "g2 d3 e3 g2 d3 e3", U: "g2 d3 e3 g2 d3 b2", V: "e2/2", W: "a2/4",
})).s("gm_tuba").gain(0.2)

stack(trombone, bass, bass_2)

More by Hans Zimmer