Strudelify

jurassic park theme

John Williams

KeyG majorTempo55 bpm
0:00/0:00
// jurassic park theme — John Williams
// 55 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (6/4 at bar 1, 3/4 at bar 5, 6/4 at bar 6, 4/4 at bar 9, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5976244; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 43 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(55/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · french horn · "Horn in F"
const french_horn = note(`<
  ~@8 A B C D E F G H I J K L M N O P Q R S T U V W@2 X Y Z AA AB AC AD AE AF AG@2
>`.pickRestart({
  A: "~@5 c3 a3 g3", B: "c4 f3 g3 a#3 ~ c3 g3 e3", C: "d3@2 a#3 a3 g3@2 c3@2 f3@6 f3 e3",
  D: "f3@6 f3 e3 f3@3 g3 g3@3 a#3", E: "a#3@6 a3 f3 g3@3 e3 c3@2 a3 f3", F: "g3@6 c4 f3 a#3@3 a3 a3@3 g3",
  G: "g3@4 d4@2 c4 ~", H: "c3@2 c3!2 a#3@2 a#3!2", I: "a3@3 e4 e4@3 d4 d4@6 d4@2", J: "e4@2 c4!2 e4@4",
  K: "f4@3 f4 f4@3 e4 e4@8", L: "a3 d4 a3 d4", M: "a3 f4 c4 f4 f4@4", N: "a3 f4 a3 f4",
  O: "a3@2 c4 b3 c4@2 ~@4 g4 f#4 g4@2 f4 e4", P: "a#3@2 c4 b3 c4@6 c4 b3 c4@4", Q: "f4", R: "a3 ~",
  S: "c3@3 c3 d3@3 d3", T: "c3@3 e3 e3@3 f3 f3@4 f3@2 c3@2", U: "e3@2 c3!2 e3@3 f4", V: "f4@3 f4 f4@3 e4 e4@6 ~@2",
  W: "f3@2 f3 e3 f3@4 f3@2 f3 e3 f3@4", X: "f4@3 f4 e4@2 e4@2 d#4@2 ~@4 e4@2", Y: "f4@3 f4 d4@2 g4@2 g4@6 f4 e4",
  Z: "f4@2 c4@2 a#3@2 f4 e4 f4@2 c4@2 a#3@2 f4 e4", AA: "e4 f4@3 c4@2 f3@2 d#4@8", AB: "a3 c4 a3 c4",
  AC: "a3 f4@3 f4@4 a#3@4 g4@4", AD: "a3@4 d4@2 f4 e4 f4@2 c4@2 a#3@2 f4 e4", AE: "e4 f4@3 a#3@2 g3@2 c4@8",
  AF: "g4@8 c4 g3 f3@2 f3 g3 f3@2", AG: "[c4 g3 f3@2 f3 g3 f3@2 a3@16 ~@8]/2",
})).s("gm_french_horn").gain(0.48)

// other · french horn · "Horn in F" · soft notes
const french_horn_soft = note("<~@4 A B C@2 ~@35>".pickRestart({
  A: "~@5 f3@4 a#3@4 f#3@3", B: "~ c4@4 e4@8 c4@3", C: "[~ g4@6 d4@2 g4@4 f4@6 e4@2 f4@4 g4@6 ~]/2",
})).s("gm_french_horn").gain(0.32)

// other · trombone
const trombone = note(`<
  ~@2 A B ~ C D@2 E@3 F G H I J K L M N O N P Q R S T U V W X Y Z AA N AB N AC AD AE AF AG@2
>`.pickRestart({
  A: "~@5 f3@4 a#3@4 f#3@3", B: "~ f4@12 ~@3", C: "~ a3@4 a#3@8 a3@3",
  D: "[~ a#3@6 a#3@2 c4@4 a#3@6 c4@2 c#4@4 d#4@6 ~]/2", E: "[~@4 f2@8 f2@8 a2@3 a2]/3", F: "a#2@3 a#2 a2@2 c3@2",
  G: "c3@3 c3 c3@2 c3 f2", H: "c3@6 a2@2 a#2@3 c3 c3@3 c3", I: "c3@2 c3@3 c3@2 c3", J: "f2@2 f2!2 a#2@2 a#2!2",
  K: "c3@4 c3@3 d3 f2@4 f2@2 f2@2", L: "c3@2 e3 g3 c3@2 c3 a2", M: "d3@3 c3 c3@3 c3 c3@4 c3@4",
  N: "f2!2 a#2!2 f2!2 a#2!2", O: "f2!4 a#2!4", P: "f2 g2 c3 f3", Q: "f2 a#2@2 c3@2 c3@2 c3",
  R: "f2@5 f2 c3!2 f2@4 f2!2 c3!2", S: "f2@6 f2@2 a#2@4 c3 ~ f3 e3", T: "f3@6 f3 e3 f3@6 f3 e3",
  U: "f3@3 g3 g3@3 a#3 a#3@6 a3 f3", V: "g3@3 e3 c3@2 a3 f3 g3@6 c3@2", W: "d3@3 c3 c3@3 c3 c3@2 c3@2 c3@2 c3@2",
  X: "f2@3 f2 a#2@3 a#2", Y: "f2@3 f2 f2@3 f2", Z: "c3!4 d#2!3 c3", AA: "d3@3 c3 a#2@2 g2@2 c3@2 c3@2 c3@2 c3@2",
  AB: "f2!2 a2!2 a#2!4", AC: "f2!4 c3!2 f2!2", AD: "f2 a#2 f3 d4", AE: "c4@2 f2@4 f2@2 ~ a#2 a2 g2 ~ a2 g2 c3",
  AF: "~ [a#2,c3] a2 g2 ~ c3@2 c3 f2@2 f2@2 f2@2 a#2@2", AG: "[f3!3 a#2 f2@8 ~@4]/2",
})).s("gm_trombone").gain(0.21)

stack(french_horn, french_horn_soft, trombone)

More by John Williams