Strudelify

Married Life

Michael Giacchino

KeyF majorTempo170 bpm
0:00/0:00
// Married Life — Michael Giacchino
// 170 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5888463; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 127 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(170/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 · cello
const cello = note(`<
  A B C D A B E F G H G H I J K L A@2 M N A B E F G H G H I J K L A@2 M N A B A B G H G H O P Q R S T S T A U A V W@2
  X@2 Y Z AA AB AC AD AE AD AF AG AF AH AI AJ AK AL AM@2 AN@2 AO AP AQ AR@3 AS@2 ~@39
>`.pickRestart({
  A: "f2@5 [f3,a3]@5 ~ [f3,a3]@5", B: "c2@5 [f3,a3]@5 ~ [f3,a3]@5", C: "d2@5 [f3,a3]@5 ~ [f3,a3]@5",
  D: "c3@5 d3@5 ~ e3@5", E: "d2@5 [c3,a3]@5 ~ [c3,a3]@5", F: "c2@5 [c3,a3]@5 ~ [c3,a3]@5",
  G: "b2@5 [d3,f3]@5 ~ [d3,f3]@5", H: "b2@5 [d3,g3]@5 ~ [d3,g3]@5", I: "e2@5 [c3,g3]@5 ~ [c3,g3]@5",
  J: "d2@5 [c3,g3]@5 ~ [c3,g3]@5", K: "c2@5 [g2,e3]@5 ~ [g2,e3]@5", L: "bb2@5 [e3,g3]@5 ~ [e3,g3]@5",
  M: "c3@5 [e3,g3]@5 ~ [e3,g3]@5", N: "[c2,g2]", O: "[e3,c4]", P: "[d3,c4]", Q: "[c3,e3]", R: "e3@11 g3@5, bb2",
  S: "c3@5 [e3,c4]@5 ~ [e3,c4]@5", T: "g2@5 [e3,c4]@5 ~ [e3,c4]@5", U: "c3@5 [f3,a3]@5 ~ [f3,a3]@5",
  V: "d3@5 [f3,b3]@5 ~ [f3,b3]@5", W: "[b2@5 f3@11 f3@16, ~@5 b3@27]/2", X: "[d3@5 f3@11 f3@16, ~@5 b3@27]/2",
  Y: "c4@5 g3@5 ~ e3@5", Z: "e3@5 g3@5 ~ c4@5", AA: "ab3@5 c4@5 ~ e4@5", AB: "e4@5 c4@5 ~ ab3@5", AC: "f3@5 [a3,c4]@11",
  AD: "c3@5 [a3,c4]@11", AE: "d3@5 [a3,c4]@11", AF: "b2@5 [g3,b3]@11", AG: "g2@5 [g3,b3]@11", AH: "d3@5 [g3,b3]@11",
  AI: "e3@5 [g3,c4]@11", AJ: "d3@5 [g3,c4]@11", AK: "c3@5 [g3,c4]@11", AL: "bb2", AM: "[f3,a3]/2", AN: "[c3,e3]/2",
  AO: "f3@5 [a3,c4]@5 ~ [a3,c4]@5", AP: "c3@5 [a3,c4]@5 ~ [a3,c4]@5", AQ: "d3@5 [a3,c4]@5 ~ [a3,c4]@5",
  AR: "[c2@5 [a3,c4]@21 ~ f4@2 e4@19]/3", AS: "[f4@21 ~@11]/2",
})).s("gm_cello").gain(0.3)

// chords · pizzicato strings
const pizzicato_strings = note(`<
  ~@88 A B A C D E D E F G H I J@2 K L M N M N M N M O P Q R S H T U@2 V@2 W@2 X Y X
>`.pickRestart({
  A: "[f2,c3,a3]", B: "[e2,c3,a3]", C: "[eb2,c3,a3]", D: "[d2,b2,g3]", E: "[d3,g3]", F: "[e3,c4]", G: "[d3,c4]",
  H: "[c3,e3]", I: "[bb2,e3]", J: "[f2,a2]/2", K: "[e2,g2]", L: "[e2,c3]", M: "[a3,f4]", N: "[a3,e4]", O: "[eb3,a3]",
  P: "[b2,d3]", Q: "[a2,g3]", R: "[g2,b2,d3]", S: "[f2,b2,d3]", T: "c2", U: "[g3,bb3]", V: "[c3,f3,a3]/2",
  W: "[g2,e3,c4]/2", X: "[f2,c3,a3,f4]", Y: "[f2,c3,a3,e4]",
})).s("gm_pizzicato_strings").gain(0.3)

stack(cello, pizzicato_strings)

More by Michael Giacchino