Strudelify

Mission Impossible Theme

Stanky

KeyB♭ majorTempo120 bpm
0:00/0:00
// Mission Impossible Theme — Stanky
// 120 bpm, 5/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 5/4 at bar 3) are rendered on a constant 5/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 5 "Bb Clarinet" clarinet (copy of ch 2 "Bb Trumpet" trumpet)
// note: Transcription provider: pdmx. https://musescore.com/score/87783; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 19 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/5)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · "Bb Trumpet"
const trumpet = note("<A@2 B ~@3 C D E F G H I J K L M@2 N>".pickRestart({
  A: "[~@13 c5@25 c5@13 c5@3 d5@3 ~ eb5@3 e5@3]/2", B: "f5@3 ~@13", C: "ab4@3 f4@3 c4@26", D: "ab4@3 f4@3 b3@26",
  E: "ab4@3 f4@3 bb3@26", F: "a3@3 bb3@3 ~@26", G: "ab4@3 f4@3 e5@26", H: "ab4@3 f4@3 eb5@26", I: "ab4@3 f4@3 d5@26",
  J: "db5@3 c5@3 ~@26", K: "f4@3 ~@7 f4@3 ~@6 ab4@3 ~@4 bb4@3 ~@3", L: "f4@3 ~@7 f4@3 ~@6 eb4@3 ~@4 e4@3 ~@3",
  M: "[~@19 bb4@3 c5@35 ~ eb5@3 e5@3]/2", N: "f4@3 ~@13",
})).s("gm_trumpet").gain(0.4)

// other · flute
const flute = note("<A@2 B ~@3 C D E F G H I J K L M@2 B>".pickRestart({
  A: "[~@13 c5@25 c5@13 c5@3 d5@3 ~ eb5@3 e5@3]/2", B: "f5@3 ~@13", C: "ab5@3 f5@3 c5@26", D: "ab5@3 f5@3 b4@26",
  E: "ab5@3 f5@3 bb4@26", F: "a4@3 bb4@3 ~@26", G: "ab5@3 f5@3 e6@26", H: "ab5@3 f5@3 eb6@13 eb6@13",
  I: "ab5@3 f5@3 d6@13 d6@13", J: "db6@3 c6@3 ~@26", K: "f5@3 ~@7 f5@3 ~@6 ab5@3 ~@4 bb5@3 ~@3",
  L: "f5@3 ~@7 f5@3 ~@6 eb5@3 ~@4 e5@3 ~@3", M: "[~@19 bb5@3 c6@35 ~ eb6@3 e6@3]/2",
})).s("gm_flute").gain(0.4)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<~@2 A B A B A B A B A B A B A B C@2 D>".pickRestart({
  A: "f4@3 ~@7 f4@3 ~@6 ab4@3 ~@4 bb4@3 ~@3", B: "f4@3 ~@7 f4@3 ~@6 eb4@3 ~@4 e4@3 ~@3",
  C: "[~@19 bb4@3 c5@35 ~ eb5@3 e5@3]/2", D: "f4@3 ~@13",
})).s("gm_alto_sax").gain(0.45)

stack(trumpet, flute, alto_sax)