Strudelify

The Incredibles

Michael Giacchino

KeyB♭ majorTempo210 bpm
0:00/0:00
// The Incredibles — Michael Giacchino
// 210 bpm, 5/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (5/4 at bar 1, 6/4 at bar 15, 5/4 at bar 20, 6/4 at bar 23, ...) are rendered on a constant 5/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5843382; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 73 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(210/5)

// 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.

// other · soprano sax · "Soprano Saxophone"
const soprano_sax = note(`<
  A ~@3 B C ~@2 B D ~@3 E F G H@2 I J ~@2 K L ~@3 M@2 ~@2 N O ~@2 P@5 Q R@3 S@3 T U V W X@2 Y Z AA AB AC@4 AD AE AF@3 AG
  ~@2 AH AI@3
>`.pickRestart({
  A: "f5@5 ~@19", B: "f5@7 ab5@7 bb5@3 ~@2 b5@3 ~@2", C: "c6@5 ~@19", D: "f5@7 b4@7 bb4@3 ~@2 eb4@3 ~@2",
  E: "c5@7 eb5@7 f5@3 ~@2 gb5@3 ~@2", F: "g5@7 bb5@7 b5@5 c6@5", G: "f5@2 c5@2 ~ b4@2 bb4 ~@4 f4@2 ab4@5 bb4@5",
  H: "[b4@5 ab5@2 g5@2 ~ f5@2 bb4 ~@4 b4@2 c5@14 ~ f5@2 c5@2 b4@2 ~ bb4 ~@4 f4@2]/2",
  I: "ab4@5 bb4@5 b4@4 ab5@2 ~ g5@2 f5@2 ~ bb4 ~", J: "~@2 b4@2 ~ c5@14 ~@5", K: "~@19 e5@2 ~ e5@2",
  L: "~@5 e5@2 e5@2 ~@5 e5@2 ~ e5@2 ~@5",
  M: "[c6@2 ~ c6@2 ~ c6@2 db6@2 ~ db6@2 ~ b5@2 c6@2 ~ c6@10 ~@19, ~@2 db6@2 ~ b5@2 ~@3 c6@2 ~ c6@2 ~@3 db6@2 ~@28]/2",
  N: "~@5 g5 ab5@4 ~@4 g5 ab5@4 ~@5", O: "g5 ab5@4 ~@19",
  P: "[~@10 bb5@4 bb5@19 ~ db6@24 bb5@24 f5@24 f4@2 bb4@2 ~@3 gb5@2 ~@3 e5@2]/5", Q: "f5",
  R: "[db5@2 c5@2 ~ bb4@3 ~@2 c5@3 ~ bb4@2 ~ gb5@17 eb5@7 ~@2 eb5@7 ~@3 eb5@7 ~@2 f4@2 ~ bb4@2 ~@3 gb5@2]/3",
  S: "[~@2 e5@2 ~ f5@24 db5@2 c5@2 ~ bb4@3 ~ ab5@24 bb3@2 c4@2 ~ eb4@2 ~ gb4@2, ~@66 d4@2 ~ f4@2 ~]/3",
  T: "ab4@2 ~ c5@2 ~ eb5@2 f5@2 ~ ab5@2 ~ bb5@2 ~ f5@2 e5@2 ~ eb5@2, ~@2 bb4@2 ~ d5@2 ~@3 gb5@2 ~ a5@2 ~@9",
  U: "~@2 bb4@2 ~ db5@5 eb5@4 e5@5 db6@2 ~ c6@2", V: "bb5@2 eb5@2 ~@3 e5@2 ~ f5@14",
  W: "bb5@2 f5@2 ~ e5@2 eb5@2 ~@3 bb4@2 db5@5 eb5@5",
  X: "[e5@5 db6@2 c6@2 ~ bb5@2 eb5@2 ~@3 e5@2 f5@14 ~ b5@2 gb5@2 f5@2 ~ e5@2 ~@3 b4@2]/2",
  Y: "d5@5 e5@5 f5@4 d6@2 ~ db6@2 b5@2 ~ e5@2", Z: "~@2 f5@2 ~ gb5@14 b5@2 ~ gb5@2",
  AA: "f5@2 e5@2 ~@3 b4@2 ~ d5@4 e5@5 f5@5", AB: "f4@5 f4@2 c5@14 ~@3",
  AC: "[f4@5 f4@3 g4@3 ab4@3 g4@5 f4@2 ~ db5@12 ~@4 eb5@14 ~ f4@5 f4@2 c5@14 ~@3 f4@5 f4@3 g4@3 ab4@3 g4@5]/4",
  AD: "f4@2 eb5@7 ~ db5@4 e5 g5 [e5,g5]!2 e5 [e5,g5]!2 g5 [e5,g5]!2", // Em
  AE: "e5 [e5,g5]!2 g5 [e5,g5]!2 e5 [e5,g5]!2 g5 b5@7 b5@2 ~@5", AF: "b5@3 ~@2 b5@3 ~@2 b5@7 b5@2 ~@5",
  AG: "e5@3 ~@2 a4@3 ~@16", AH: "~@14 c4@2 ~ ab4@2 ~@3 db5@2", AI: "[~@2 b4@2 ~ c5@26 ~@7 e5@24 ~@10]/3",
})).s("gm_soprano_sax").gain(0.4)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  A ~ B C B D@2 E B C F G H I J K@3 L M N O P Q R S T U@5 V W X Y@5 Z AA@3 AB@3 AC AD@2 AE AF AG AH AI@2 AJ AK@4 AL AM
  AN AO AP AQ ~@2 AR AS@3
>`.pickRestart({
  A: "f5@5 ~@19", B: "f4@7 ab4@7 bb4@3 ~@2 b4@3 ~@2", C: "f5@7 b4@7 bb4@3 ~@2 eb4@3 ~@2",
  D: "[c4@2 ab4@2 ~@3 db5@2 ~@3 b4@2 c5@24 ab4@2 ~ g4@2 f4@3 ~@2]/2", E: "g4@5 f4@2 db5@17",
  F: "c4@2 ab4@2 ~@3 db5@2 ~@3 b4@2 c5@10", G: "c5@14 ab4@2 ~ g4@2 f4@5", H: "d5", I: "c4@7 eb4@7 f4@3 ~@2 gb4@3 ~@2",
  J: "g4@7 bb4@7 ab4@5 a4@5", K: "[f4@7 f4 ~@6 f4@14 ~ eb4@7 eb4 ~@6 eb4@14 ~ f4@7 f4 ~@6]/3", L: "f4@14 eb4@7 ~ eb4 ~",
  M: "~@5 eb4@14 c4@2 ~ f4@2", N: "ab4@2 c5@2 ~@3 ab4@2 ~ b4@9 c4@2 ~ f4@2",
  O: "ab4@2 b4@2 ~@3 ab4@2 ~ bb4@9 c4@2 ~ f4@2", P: "ab4@2 bb4@2 ~@3 g4@2 ~ ab4@9 c5@2 ~ c5@2",
  Q: "~@5 c5@2 c5@2 ~@5 c5@2 ~ c5@2 ~@5", R: "c4@2 f4@2 ~ ab4@2 c5@2 ~@3 ab4@2 b4@10",
  S: "c4@2 f4@2 ~ ab4@2 b4@2 ~@3 ab4@2 bb4@10", T: "c4@2 f4@2 ~ ab4@2 bb4@2 ~@3 gb4@2 bb4@10",
  U: "[~@5 e4@24 db4@2 gb4@2 ~ a4@2 db5@2 ~@3 a4@2 b4@10 db4@2 gb4@2 ~ a4@2 db5@2 ~@3 a4@2 b4@10 db4@2 gb4@2 ~ a4@2 db5@2 ~@3 a4@2 b4@10 db5@5 ~@4 b4@5 ~@5]/5",
  V: "db5@5 ~@5 db4@2 gb4@2 a4@2 ~ db5@2 ~@3 a4@2", W: "b4@10 db4@2 gb4@2 a4@2 ~ db5@2 ~@3 a4@2",
  X: "b4@10 db4@2 gb4@2 a4@2 ~ b4@2 ~@3 ab4@2",
  Y: "[a4@10 bb4@4 f4@19 ~ a4@24 f4@24 c4@24 f3@2 bb3@2 ~@3 gb4@2 ~@3 e4@2]/5", Z: "f4",
  AA: "[db4@2 c4@2 ~ bb3@3 ~@2 c4@3 ~ bb3@2 ~ gb4@17 c5@7 ~@2 c5@7 ~@3 c5@7 ~@2 f3@2 ~ bb3@2 ~@3 gb4@2]/3",
  AB: "[~@2 e4@2 ~ f4@24 db4@2 c4@2 ~ bb3@3 ~ ab4@24 ~@10]/3", AC: "~@14 db4@7 ~ db4@2",
  AD: "[~@19 f4@7 f4@2 ~@10 f4@2 ~ f4@2 f4@2 ~ f4@2]/2", AE: "db4@7 db4@2 ~@15", AF: "~@5 f4@7 f4@2 ~@10",
  AG: "e4@2 f4@2 ~ e4@2 f4@2 ~ d4@7 d4@2 ~@5", AH: "~@14 gb4@7 ~ gb4@2",
  AI: "[~@10 gb4@2 gb4@2 gb4@2 ~ gb4@2 d4@7 d4@2 ~@20]/2", AJ: "f3@5 f3@2 c4@14 ~@3",
  AK: "[f3@5 f3@3 g3@3 ab3@3 g3@5 f3@2 ~ db4@12 ~@4 bb4@14 ~ f3@5 f3@2 c4@14 ~@3 f3@5 f3@3 g3@3 ab3@3 g3@5]/4",
  AL: "f3@2 eb4@7 ~ db4@5 ~@9", AM: "~@10 gb4@7 gb4@2 ~@5", AN: "gb4@3 ~@2 f4@3 ~@2 gb4@7 f4@2 ~@5",
  AO: "f4@3 ~@2 e4@3 ~@2 gb4@7 gb4@2 ~@5", AP: "gb4@3 ~@2 f4@3 ~@2 gb4@7 gb4@2 ~@5", AQ: "e4@3 ~@2 a3@3 ~@16",
  AR: "~@14 c4@2 ~ ab4@2 ~@3 db5@2", AS: "[~@2 b4@2 ~ c5@26 ~@7 c5@24 ~@10]/3",
})).s("gm_alto_sax").gain(0.3)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B A B A@5 B C@2 D E F G@3 H I@4 J C@3 K@2 L@2 M N O@2 P Q R Q R S@2 T@6 U@2 V W X Y Z@2 AA AB AC@2 AA AD AE AF AG AF
  AH AI@3 AJ@3
>`.pickRestart({
  A: "f2@7 ab2@7 bb2@3 ~@2 b2@3 ~@2", B: "f3@7 b2@7 bb2@3 ~@2 eb2@3 ~@2", C: "f2@7 ab2@7 bb2@2 ~@3 b2@2 ~@3",
  D: "c3@7 bb2@7 b2@2 ~@3 c3@2 ~@3", E: "c3@7 eb3@7 f3@3 ~@2 gb3@3 ~@2", F: "g2@7 bb2@7 b2@5 c3@5",
  G: "[ab2@7 ab2 ~@6 ab2@14 ~ g2@7 g2 ~@6 g2@14 ~ ab2@7 ab2 ~@6]/3", H: "ab2@14 g2@7 ~ g2 ~",
  I: "[~@5 g2@14 f2@7 ab2@7 ~ bb2@2 ~@2 b2@2 ~@3 f2@7 ab2@7 ~ bb2@2 ~@2 b2@2 ~@3 f2@7 ab2@7 ~ bb2@2 ~@2 b2@2 ~@8]/4",
  J: "f2@5 ~@5 f2@5 ~@4 f2@5", K: "[~@5 ab3@24 gb2@7 a2@7 b2@3 ~@2]/2", L: "c3@3 ~@2 gb2@7 a2@7 b2@3 ~@2",
  M: "c3@3 ~@7 gb2@5 ~@4 a2@5", N: "~@5 c3@5 gb2@7 a2@7", O: "b2@3 ~@2 c3@3 ~@2 gb2@7 a2@7",
  P: "b2@3 ~@2 c3@3 ~@2 bb2@7 db3@7", Q: "eb3@3 ~@2 e3@3 ~@2 bb3@7 e3@7", R: "eb3@3 ~@2 ab2@3 ~@2 bb2@7 db3@7",
  S: "eb3@2 ~@3 e3@2 ~@3 bb2@7 db3@7",
  T: "[eb3@2 ~@3 e3@2 ~@3 gb2@7 ~@2 gb2@7 ~@3 gb2@7 ~@2 bb2@7 ~ db3@7 eb3@5 e3@4 bb2@7 ~ db3@7 eb3@5 e3@4 eb3@7 ~ gb3@7 a3@5 bb3@4 c4@7 ~ a3@7 bb3@5 d3@4 eb3@7 ~ eb3@2]/6",
  U: "[~@19 ab3@7 ab3@2 ~@10 ab3@2 ~ ab3@2 ab3@2 ~ ab3@2]/2", V: "eb3@7 eb3@2 ~@15", W: "~@5 ab3@7 ab3@2 ~@10",
  X: "~@10 e3@7 e3@2 ~@5", Y: "~@14 a3@7 ~ a3@2", Z: "[~@10 a3@2 a3@2 a3@2 ~ a3@2 e3@7 e3@2 ~@20]/2",
  AA: "f3@2 ~@3 f3@2 ab3@7 f3@2 ~@3 f3@2 ~@3", AB: "f3@2 ab3@7 ~ f3@2 ~@2 f3@2 ~@3 f3@2 ~ ab3@2",
  AC: "[ab3@2 a3@2 ~ bb3@2 b3@2 ~ c4@2 ~@2 eb3@14 ~ f3@2 ~@3 f3@2 ab3@7 f3@2 ~@3]/2",
  AD: "f3@2 ab3@5 ab3@2 ~ eb3@2 ab3@2 f3@5 ~@5", AE: "gb3@2 g3@2 ~ ab3@2 a3@2 ~ b2@7 d3@7",
  AF: "e3@3 ~@2 f3@3 ~@2 b3@7 f3@7", AG: "e3@3 ~@2 a2@3 ~@2 b2@7 d3@7",
  AH: "e3@3 ~@2 a2@3 ~@2 gb3@2 d3@2 ~@3 g3@2 ~@3 f3@2", AI: "[gb3@62 c3@2 ~ ab3@2 ~@3 db4@2]/3",
  AJ: "[~@2 b3@2 ~ c4@26 ~@7 f3@24 ~@10]/3",
})).s("gm_baritone_sax").gain(0.3)

stack(soprano_sax, alto_sax, baritone_sax)

More by Michael Giacchino