Strudelify

Lancer's Theme

Toby Fox

KeyC♯ minorTempo167 bpm
0:00/0:00
// Lancer's Theme — Toby Fox
// 167 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 4/4 at bar 2, 2/4 at bar 34, 4/4 at bar 34) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5901348; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 66 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(167/4)

// 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 · "B♭ Trumpet"
const trumpet = note(`<
  ~ A B@2 C D E F G A B@2 C D E F G H I J@2 K@2 L@2 H I J@2 K@2 M N O P Q R S T U V@2 P Q R S T U W@2 X Y Z AA AB AC AD
  AE X Y Z AA AB AF@3
>`.pickRestart({
  A: "c#4@3 g#4 ~@3 c#4 g#4@3 ~ c#4@3 g#4", B: "[~@4 c#4@3 g#4 ~@3 g#4 ~@3 d#4@4 a#4 ~@3 d#4 a#4@3 ~ a#4@3 ~]/2",
  C: "a4 ~@2 a4 ~@3 a#4 ~@8", D: "c#4@3 a4 ~@3 c#4 a4@3 c#4 a4@3 ~", E: "c5@3 ~@4 c5 ~@4 c5@3 ~",
  F: "~@3 c#4@4 c#4 b3@2 ~@2 b3@2 ~@2", G: "g3@2 ~@2 g3@3 g#3@9", H: "a3 c#4 e4 c#4", I: "g#3 a#3 b3 c4",
  J: "[c#4@4 e4@4 f#4@4 g#4@3 f#4@4 f#4 e4@4 d#4@4 c#4@4]/2",
  K: "[a3@4 c#4@4 e4@4 f#4@3 g#4@4 g#4 g4@3 g4 f#4@3 f#4 d#4@4]/2",
  L: "[e4@4 f#4@4 g#4@4 e4@3 f#4@4 f#4 c#4@4 f#4@4 e4@4]/2", M: "g#3", N: "g#4", O: "~@8 c#4@3 g#4 ~@3 c#4",
  P: "g#4@3 ~ c#4@3 g#4 ~@4 c#4@3 g#4", Q: "~@3 g#4 ~@3 d#4@4 a#4 ~@3 d#4", R: "a#4@3 ~ a#4@3 ~ a4 ~@2 a4 ~@3 a#4",
  S: "~@8 c#4@3 a4 ~@3 c#4", T: "a4@3 c#4 a4@3 ~ c5@3 ~@4 c5", U: "~@4 c5@3 ~@4 c#4@4 c#4",
  V: "[b3@2 ~@2 b3@2 ~@2 g3@2 ~@2 g3@3 g#3@9 c#4@3 g#4 ~@3 c#4]/2",
  W: "[b3@2 ~@2 b3@2 ~@2 g3@2 ~@2 g3@3 g#3@9 a3@4 c#4@4]/2", X: "e4 c#4 g#3 a#3", Y: "b3 c4 c#4 e4",
  Z: "f#4@4 g#4@3 f#4@4 f#4 e4@4", AA: "d#4 c#4 a3 c#4", AB: "e4@4 f#4@3 g#4@4 g#4 g4@3 g4",
  AC: "f#4@3 f#4 d#4@4 e4@4 f#4@4", AD: "g#4@4 e4@3 f#4@4 f#4 c#4@4", AE: "f#4 e4 a3 c#4",
  AF: "[f#4@3 f#4 d#4@4 g#3@16 g#4@16 ~@8]/3",
})).s("gm_trumpet").gain(0.3)

stack(trumpet)

More by Toby Fox