Strudelify

The Incredibles

Robby Potterf

KeyA♭ majorTempo180 bpm
0:00/0:00
// The Incredibles — Robby Potterf
// 180 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 7 "B♭ Trumpet" named as a brass, played on trumpet (its slap bass 1 patch is not one); ch 9 "Trombone" named as a brass, played on trombone (its distortion guitar patch is not one); ch 11 "Trombone" named as a brass, played on trombone (its overdriven guitar patch is not one); ch 12 "Trombone" named as a brass, played on trombone (its electric guitar muted patch is not one); ch 13 "Trombone" named as a brass, played on trombone (its electric guitar jazz patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5890999; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 33 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/4)

// 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 · trumpet · "Alto Saxophone"
const trumpet = note("<~@5 A@3 B@6 C@3 ~@4 D@2 E ~@9>".pickRestart({
  A: "[~@2 g4@5 f5]/3",
  B: "[~@3 f5@3 ~@5 c4@4 f4@3 ab4@2 g4@2 gb4@2 f5@6 f5@4 g5@4 ab5@4 [e5,e6]@48 gb4@3 ~@3, ~ c6@3 f4@3 ~@9]/6", // E
  C: "gb4/3", D: "[c5@2 ~ c5@13]/2", E: "c5!2 ~@6",
})).s("gm_trumpet").gain(0.25)

// other · muted trumpet · "Alto Saxophone"
const muted_trumpet = note("<~@5 A@3 B@6 C@3 ~@4 D@2 E ~@9>".pickRestart({
  A: "[~@2 eb4@5 ~]/3", B: "[~@11 c4@4 f4@3 ab4@6 f4@18 db5@48 eb4@3 ~@3]/6", C: "eb4/3", D: "[e4@2 ~ e4@13]/2",
  E: "e4!2 ~@6",
})).s("gm_muted_trumpet").gain(0.25)

// other · trumpet · "Tenor Saxophone"
const trumpet_2 = note("<A@2 B C@5 D@6 E@3 ~@4 F@2 G ~ H@2 I@2 H@2 J@2>".pickRestart({
  A: "[~@2 f4@9 f4@3 c5@18]/2", B: "f4@3 f4@2 g4@2 ab4", C: "[~@2 g4@9 f4@3 db5@30 g3@30 f5@6]/5",
  D: "[~@3 f5@3 ~@5 c3@4 f3@3 ab3@6 f5@6 f5@4 g5@4 ab5@4 [g3,g5]@48 gb3@3 ~@3, ~ c6@3 f3@3 ~@9]/6", E: "gb3/3",
  F: "[g4@4 ~@23 f4@2 ab4@3, ~@3 g4@13]/2", G: "g4!2 ~ eb5@5, e5@3 ~@5", H: "[f4@6 f4@2 c5@14 f4@2 f4@3 g4@2 ab4@3]/2",
  I: "[g4@3 f4 db5@10 ~@2]/2", J: "[g4@3 f4 eb5 db5@9 ~@2]/2",
})).s("gm_trumpet").gain(0.4)

// other · muted trumpet · "Tenor Saxophone"
const muted_trumpet_2 = note("<~@5 A@3 B@6 C@3 ~@4 D@2 E ~@9>".pickRestart({
  A: "[~@2 eb3@5 ~]/3", B: "[~@11 c3@4 f3@3 ab3@6 f3@18 e3@48 eb3@3 ~@3]/6", C: "eb3/3", D: "[e4@2 ~ e4@13]/2",
  E: "e4!2 ~@6",
})).s("gm_muted_trumpet").gain(0.25)

// other · trumpet · "Baritone Saxophone"
const trumpet_3 = note("<A@2 B C@5 D@6 E@3 ~@4 F@2 G ~ H@2 I@2 H@2 J@2>".pickRestart({
  A: "[~@2 f4@9 f4@3 c5@18]/2", B: "f4@3 f4@2 g4@2 ab4", C: "[~@2 g4@9 f4@3 db5@30 c3@30 f4@6]/5",
  D: "[~@3 f4@3 ~@5 c3@4 f3@3 ab3@6 ab4@6 ab4@4 bb4@4 c5@4 [db3,db5]@48 c3@3 ~@3, ~ c5@3 f3@3 ~@9]/6", E: "c3/3",
  F: "[c3@4 ~@23 f4@2 ab4@3, ~@3 c3@13]/2", G: "c3!2 ~ eb5@5, e5@3 ~@5", H: "[f4@6 f4@2 c5@14 f4@2 f4@3 g4@2 ab4@3]/2",
  I: "[g4@3 f4 db5@10 ~@2]/2", J: "[g4@3 f4 eb5 db5@9 ~@2]/2",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "B♭ Trumpet"
const trumpet_4 = note("<A@2 B@4 ~ C@7 ~@11 D@2 E@2 D@2 F@2>".pickRestart({
  A: "[~@2 f4@9 f4@3 c5@18]/2", B: "[f4@6 f4@4 g4@4 ab4@4 g4@9 f4@3 db5@30 ~@4]/4",
  C: "[~@10 f4@9 f4@3 c5@18 f4@6 f4@4 g4@4 ab4@4 db5@48 ~@6]/7", D: "[f4@6 f4@2 c5@14 f4@2 f4@3 g4@2 ab4@3]/2",
  E: "[g4@3 f4 db5@10 ~@2]/2", F: "[g4@3 f4 eb5 db5@9 ~@2]/2",
})).s("gm_trumpet").gain(0.4)

// other · trombone
const trombone = note("<~ A ~@2 B C@3 ~@2 D@4 E F@2 G@2 H ~ G@2 H ~@9>".pickRestart({
  A: "~@5 f3 ~ f3", B: "~@10 c4@3 eb4@3", C: "[~ ab4 ~ gb4 g4@10 ~@2]/3", D: "[~@5 g3@24 ~@3]/4", E: "~@6 c4 ~",
  F: "[~ c5@2 ~@2 gb4@27]/2", G: "[g4@2 ~ g4@13]/2", H: "g4!2 ~@6",
})).s("gm_trombone").gain(0.4)

// other · trombone
const trombone_2 = note("<~ A ~ B@3 C D@7 ~@3 E@2 F ~ E@2 F ~@9>".pickRestart({
  A: "~@5 c3 ~ c3", B: "[~@7 db4@15 ~@2]/3", C: "~@5 c4@3 ab3@3 g3@3 gb3@2",
  D: "[~ eb3@3 eb3@2 eb3@2 eb3@2 f3@18 eb3@6 d3@24 e3@48 ~@6]/7", E: "[e4@2 ~ e4@13]/2", F: "e4!2 ~@6",
})).s("gm_trombone").gain(0.3)

// other · trombone
const trombone_3 = note("<~ A ~ B@3 C D@7 ~@3 E@2 F ~ E@2 F ~@9>".pickRestart({
  A: "~@5 f2 ~ f2", B: "[~@7 bb3@15 ~@2]/3", C: "~@5 c4@3 ab3@3 g3@3 gb3@2",
  D: "[~ eb3@3 c3@2 b2@2 bb2@2 f2@18 eb3@6 d3@24 db3@48 ~@6]/7", E: "[c4@2 ~ c4@13]/2", F: "c4!2 ~@6",
})).s("gm_trombone").gain(0.3)

// other · trombone
const trombone_4 = note("<~ A ~ B@3 C D@7 ~@3 E@2 F ~ E@2 F ~@9>".pickRestart({
  A: "~@5 f2 ~ f2", B: "[~@7 g3@15 ~@2]/3", C: "~@5 c4@3 ab3@3 g3@3 gb3@2",
  D: "[~ eb3@3 ab2@2 g2@2 gb2@2 f2@18 eb2@6 d2@24 db2@48 ~@6]/7", E: "[c3@2 ~ c3@13]/2", F: "c3!2 ~@6",
})).s("gm_trombone").gain(0.3)

// bass · electric bass finger · "Electric Bass"
const bass = note("<~@3 A@3 B C@7 ~@3 D@16>".pickRestart({
  A: "[~@7 c2@15 ~@2]/3", B: "~@5 c3@3 ab2@3 g2@3 gb2@2",
  C: "[~ eb2@3 ab2@2 g2@2 gb2@2 f2@18 eb2@6 d2@24 db2@48 ~@6]/7", D: "f1 g1 ab1 f1 g1 ab1 f1 g1",
})).s("gm_electric_bass_finger").gain(0.45)

// other · electric guitar clean · "Electric Guitar"
const electric_guitar_clean = note("<~@21 [f3 g3 ab3 f3 g3 ab3 f3 g3]!12>").s("gm_electric_guitar_clean").gain(0.3)

stack(
  trumpet, muted_trumpet, trumpet_2, muted_trumpet_2, trumpet_3, trumpet_4, trombone, trombone_2, trombone_3,
  trombone_4, bass, electric_guitar_clean
)