Strudelify

Up Main Theme

Michael Giacchino

KeyD majorTempo175 bpm
0:00/0:00
// Up Main Theme — Michael Giacchino
// 175 bpm, 3/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/2276881; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 105 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(175/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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.

// chords · piano
const piano = note(`<
  A B C D E F G H I@4 J K L M E@2 L N E F G H I@4 J K L M O P L N E F G H I@4 Q R S T U V U V W X W Y Z@2 AA@2 AB@2 AC@2
  AD AE AF AG AH@2 AI@2 AJ AK AL AM AN@2 AO@2 AP AQ AR AS ~@21
>`.pickRestart({
  A: "f3@5 [a3,c4]@5 ~ [a3,c4]@5, [a4,f5]@15 ~", B: "[a4,e5]@3 ~ [a4,e5] [a3,c4,a4,e5]@5 ~ [a3,c4,a4,e5]@5, c3 ~@3",
  C: "d3@5 [a3,c4]@5 ~ [a3,c4]@5, [a4,f5]@15 ~", D: "c3@5 d3@5 ~ e3@5, [a4,e5]@15 ~",
  E: "f3@5 [a3,c4]@5 ~ [a3,c4]@5, f5@15 ~", F: "c3@5 [a3,c4]@5 ~ [a3,c4]@5, e5@15 ~",
  G: "d3@5 [a3,c4]@5 ~ [a3,c4]@5, d5@15 ~", H: "c3@5 [a3,c4]@5 ~ [a3,c4]@5, c5@15 ~",
  I: "b2@5 [d3,f3,g3]@5 ~ [d3,f3,g3]@5, b4@15 ~", J: "e3@5 [g3,c4]@5 ~ [g3,c4]@5, e5@15 ~",
  K: "d3@5 [g3,c4]@5 ~ [g3,c4]@5, d5@15 ~", L: "c3@5 [e3,g3]@5 ~ [e3,g3]@5, c5@15 ~",
  M: "a#2@5 [e3,g3]@5 ~ [e3,g3]@5, a#4@15 ~", N: "c5@5 e5@3 f5@3 a5@2 f5@3, [c3,e3,g3]@15 ~",
  O: "[f3,f5]@5 [a3,c4,a4]@5 ~ [a3,c4,a#4]@5", P: "f3@5 ~@3 d5@3 [a3,c4,e5]@5, c5 ~, ~@5 [a3,c4]@5 ~@6",
  Q: "[e3,g3,c4,e5]@15 ~", R: "[d3,g3,c4,d5]@15 ~", S: "[c3,e3,g3,g4,c5]@15 ~", T: "[a#2,e3,g3,d5,g5]@15 ~",
  U: "c3@5 [e3,g3]@5 ~ [e3,g3]@5", V: "g2@5 [e3,g3]@5 ~ [e3,g3]@5", W: "f2@5 [f3,a3]@5 ~ [f3,a3]@5",
  X: "c3@5 [f3,a3]@5 ~ [f3,a3]@5", Y: "d2@5 [f3,b3]@5 ~ [f3,b3]@5", Z: "[b2@5 [f3,b3]@25 ~@2]/2",
  AA: "[d3@5 [f3,b3]@25 ~@2]/2", AB: "[[e3,c4]@15 ~ [e3,c4]@15 ~, g3@15 ~]/2",
  AC: "[[a3,c4]@15 ~ [a3,c4]@15 ~, e4@15 ~]/2", AD: "f3@5 [a3,c4]@11, f5@15 ~", AE: "c3@5 [a3,c4]@11, e5@15 ~",
  AF: "d3@5 [a3,c4]@11, d5@15 ~", AG: "c3@5 [a3,c4]@11, c5@15 ~", AH: "[b2@5 [g3,b3]@11 g2@5 [g3,b3]@11, b4@15 ~]/2",
  AI: "[b2@5 [g3,b3]@11 d3@5 [g3,b3]@11, b4@15 ~]/2", AJ: "e3@5 [g3,c4]@11, e5@15 ~", AK: "d3@5 [g3,c4]@11, d5@15 ~",
  AL: "c3@5 [e3,g3]@11, c5@15 ~", AM: "[a#2,a#4]@15 ~",
  AN: "[~@5 a4@5 ~ a#4@5 c5@8 d5@3 e5@5, f3@15 ~, [a3,c4]@15 ~ [a3,c4]@15 ~]/2", // Am
  AO: "[~@5 c5@5 ~ d5@5 [c3,e3]@15 ~, g3@15 ~, [c3,e3]@15 ~ e5@10 ~@6]/2", AP: "f3@5 [a3,c4]@5 ~ [a3,c4]@5",
  AQ: "c3@5 [a3,c4]@5 ~ [a3,c4]@5", AR: "d3@4 [a3,c4] [a3,c4]@5 ~ [a3,c4]@5", AS: "c3@5 [a3,c4]@10 ~",
})).s("gm_piano").gain(0.3)

// chords · piano · soft notes
const piano_soft = note("<~@84 A B A C D E F G H I J K L@2 M@2 N O N O P>".pickRestart({
  A: "[a4,f5]@15 ~", B: "[a4,e5]@15 ~", C: "[d#4,a4,c5]@15 ~", D: "[b3,d4,g4]@15 ~", E: "[a3,d4,g4]@15 ~",
  F: "[g3,b3,d4]@15 ~", G: "[f3,b3,d4]@15 ~", H: "[c5,e5]@15 ~", I: "c5@15 ~", J: "[g4,a#4,c5]@15 ~",
  K: "[g4,a#4]@15 ~", L: "[c4,f4,a4]@15 ~", M: "[g3,c4,e4]@15 ~", N: "[f3,a3,c4]@15 ~", O: "[f3,a3,c4,e4]@15 ~",
  P: "[c3,f3]@15 ~", // F5
})).s("gm_piano").gain(0.15)

stack(piano, piano_soft)

More by Michael Giacchino