Strudelify

Dragonborn

Jeremy Soule

KeyE♭ majorTempo120 bpm
0:00/0:00
// Dragonborn — Jeremy Soule
// 120 bpm, 6/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/3709516; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 54 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/6)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano
const piano = note(`<
  A@5 B C D E B F G E H F I J K L M N O P Q R S T U T@2 V@2 T@2 V U W X W X W X W X A Y Z AA A AB AC AD AE AF
>`.pickRestart({
  A: "~@2 c4, c3, ~ g3@5, ~ eb4@2", B: "c3 bb2 ~@2 g4@2, ~ eb3@2, ~ bb3", C: "~@2 d4, eb4, ~ bb2@2, ~ f3",
  D: "~@2 ab3, bb3, ~ f2@2, ~ c3", E: "~@2 eb4, f3, ~ c3@2, ~ g3", F: "~@2 c4, eb4, ~ ab2@2, ~ eb3",
  G: "~@2 ab3, ab3@2 ~, ~ f2@2, ~ c3", H: "~@2 g4, c4, ~ eb3@2, ~ bb3", I: "~@2 d4, ab3, ~ bb2@2, ~ f3",
  J: "bb3 ~@4 eb3, ~ c3@5, ~ g3@2, ~ c4, ~@2 ab2", K: "~@5 c3, bb3!2, ~ bb2@5, ~ f3@2, ~@2 f2",
  L: "~@5 eb3, f3@2 ab2, ~ c3@5, ~ g3@2, ~ c4", M: "~@5 c3, ab3@2 f2, ~ bb2@5, ~ f3@2, ~ bb3",
  N: "~@2 eb5@2 eb5!2 ~@2 d5@2 [g3,d5]@2, f3, ~ c3@3 c3@2, ~@2 g3@3 ~, ~ [c4,eb5]", // G5 Cm
  O: "~@2 c5@2 c5!2 ~@2 bb4@2 [f3,bb4]@2, d5@2 bb2, c4 [c4,c5], ~ c3@5, ~ g3@2", // Bb5 C
  P: "~@2 ab4@2 ab4!2 ~@2 g4@2 [eb3,g4]@2, [bb3,bb4], ~ ab2@3 ab2@2, ~@2 eb3@3 ~, ~ [ab3,ab4]", // Eb Bb Ab
  Q: "~@2 f4@2 f4!2 ~@2 eb4@2 [f3,eb4]@2, g4@2 bb2, ab3 [ab3,f4], ~ ab2@5, ~ eb3@2", R: "[bb3,eb4] c3 g3 c4 c3 g3",
  S: "c4 f2 c3 g2 d3 g3", T: "c3 g3 c4 c3 g3 c4", U: "bb2 f3 bb3 bb2 f3 bb3", V: "g2 d3 g3 g2 d3 g3",
  W: "c3 g3 c4 ab2 eb3 ab3", X: "bb2 f3 bb3 f2 c3 f3", Y: "~@2 eb4, eb3, ~ bb3@5, ~ g4@2",
  Z: "bb2 ~@3 bb3@2, ~ f3@5, ~ d4@2", AA: "c3@23 ~", AB: "~@2 c4, [c3,c5], ~ [g3,d5]@5, ~ [eb4,eb5]@2",
  AC: "~@2 g4, [c3,eb5], ~ [bb2,f5]@5, ~ [eb3,g5]@2, ~ bb3", AD: "~@2 d4, [eb4,g5], ~ bb5@5, ~ [bb2,f5]@2, ~ f3",
  AE: "g5 f5 eb5@2 d5@2 ~@10 ab3@8, bb3 f2@2, ~ c5@3, ~ c3", AF: "~ [ab3,c4]@23, f3",
})).s("gm_piano").gain(0.3)

stack(piano)

More by Jeremy Soule