Strudelify

misc soundtrack

George Stiles Anthony Drewe

KeyE♭ majorTempo150 bpm
0:00/0:00
// misc soundtrack — George Stiles Anthony Drewe
// 150 bpm, 3/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 13) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/1329506; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 50 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/3)

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

// chords · piano
const piano = note("<A@6 B@6 C@5 D@5 E@5 F@3 G@2 H I J K@3 L M N O@8 ~>".pickRestart({
  A: "[~@5 [eb2,eb3]@22 ~ eb4@11 ~ [d4,eb4,g4]@11 c4@11 bb3@11 ~ [f4,ab4,c5]@11 [g4,c5,eb5]@11, ~@51 [eb4,f4,g4,bb4]@23 [ab3,c4,eb4]@22]/6", // Eb Ebmaj7 Fm Cm Eb Ab
  B: "[~@12 bb3@11 ~ [bb4,c5,f5,c6]@11 [ab4,eb5,bb5,eb6]@11 ~@37 [eb1,bb1,eb2]@13, ~ [g3,eb4,f4,bb4]@22 ~ [c4,eb4]@22 [d4,eb4,g4,g5,bb5,g6]@22 ~ [d4,eb4,g4,g5,bb5,g6]@25 ~@2, ~@6 [eb1,bb1,eb2]@22 ~ [eb1,bb1,eb2]@12 ~@7]/6", // Bbsus2 Absus2 Eb5 Eb Cm Ebmaj7 Eb5
  C: "[f1 g1 ~@11 g5@3 [b3,eb4,g4,c5,g5]@5 g5@8 g5@3 [g4,c5,g5]@5 [ab4,c5,ab5]@5 ~ [bb3,eb4,g4,c5,g5]@5 ~@5 [a5,f6]@3 c6@3 a5@2 f5@3 a4@3 ~@2 a4@3 ~@3 c2@2 g1@3, [c1,c2]@67 c5@7 ~@6, [g4,c5]@10 ~ [c4,eb4,g4,c5]@5 ~@5 [b3,eb4,g4,c5]@10 ~ [bb3,eb4]@10 ~@6 c4@26 ~@6, ~@5 g5@8 ~@35 f4@24 f4@8, ~@24 [a3,c5,f5]@8 [ab3,f5]@5 ~@3]/5", // Cm C5 Ab Cm7 Dm C C5 Cm …
  D: "[[f4,ab4,c5,f5]@5 ~@8 [f4,f5]@3 [eb4,c5,eb5]@5 ~@8 [eb4,eb5]@3 [gb4,a4,d5]@5 [gb4,a4,db5]@5 ~ [gb3,c4,d4,gb4,a4,d5]@5 ~@5 [b5,g6]@3 d6@3 b5@2 g5@3 ~@3 d5@2 b4@3 g4@3 [f1,a4]@2 [g1,b4]@3, [c1,c2]@9 ~, ~@5 [g4,ab4,c5,g5]@8 ~@8 [f4,c5,f5]@8 ~@19 b4@18 ~@14, ~@11 [ab3,c4]@5 [g3,c4]@10 ~ [g3,c4]@5 [gb3,c4,d4]@10 ~@6 [f3,d4,f4,g4]@25 ~@7, ~@48 [b3,g5]@15 ~ [bb3,bb4,g5]@10 ~@6]/5", // Fm F Cm Eb D Gbm D7 Em …
  E: "[~@13 g5@3 [b3,eb4,g4,c5,g5]@5 g5@8 g5@3 [bb3,c4,eb4,c5,eb5,c6]@5 [g4,c5,g5]@5 ~ [g4,c5,eb5]@5 ~@5 f6@3 c6@3 a5@2 f5@3 c5@3 ~@2 a4@3 f4@3 a4@2 c5@3, [c1,c2]@77 ~@3, [g4,c5]@10 ~ [g4,c5]@5 ~@51 c5@7 ~@6, ~@5 [c4,eb4]@10 ~@6 [b3,eb4,g4,c5]@10 ~@6 [bb3,c4,eb4]@10 ~ [a3,c4,a4,c5]@15 ~ [ab3,c4,ab4,f5]@10 ~@6, ~@5 g5@8 ~@35 f5@13 ~@19]/5", // Cm Cm7 C5 Cm C C5 Cm Cm7 …
  F: "[[ab4,c5]@3 f4@2 [ab4,c5]@3 f4@3 [ab4,c5]@2 f4@3 c5@3 g4@2 c5@3 g4@3 c5@2 g4@3 c5@3 gb4@2 c5@3 gb4@3 b4@2 f4@3, [c1,c2]@23 ~, f5@5 g5@5 ~ [ab3,c4,f5]@5 [g3,eb4]@10 ~ [g3,eb4,eb5]@5 [a3,d4]@10 ~ [b3,d4,d5]@5, ~@16 eb5@5 f5@5 ~@6 d5@5 eb5@5 ~@6]/3", // Ab C Fm Cm D5 Bm
  G: "[eb4@3 c4@2 g3@3 eb3@3 c4@2 g3@3 eb3@3 g3@2 c4@3 g3@3 eb4@2 c4@3, c5@15 ~, [c1,c2]@5 [d1,d2]@5 ~ [eb1,eb2]@10 [f1,f2]@5 ~ [g1,g2]@5]/2", // C D Eb F G
  H: "[c4,ab4,c5]@5 [g4,bb4]@5 ~ [f4,ab4]@5, [f1,f2]@15 ~", I: "[c5,ab5,c6]@5 [g5,bb5]@5 ~ [f5,ab5]@5, [f2,f3]@15 ~",
  J: "ab6@3 c6@3 g6@2 c6@3 f5@3 c5@2, [f3,f4], c7@6 bb6@5 ab6@5", // F
  K: "[~ [g3,eb4,g4]@6 [d4,f4]@6 [c4,eb4]@5 [g4,eb5,g5]@6 ~ [d5,f5]@6 [c5,eb5]@6 eb6@3 g5@3 [d5,f6]@4 g5, ~ [g1,g2]@17 [g2,g3]@18 ~ [g3,g4,g6]@6 d6@3 ~@2]/3", // Cm Dm Cm Dm Cm Dm G
  L: "~@2 c6@3 g5@3 d4@4 c4@4, ~ [eb5,eb6]@3 [f4,g4,b4]@4", M: "b3@3 ab3@4 g3@4 f3@3 eb3@2, ~@7 [f4,g4,c5]@9",
  N: "~@2 d3@4 ~ c3@4 b2@4 ab2, ~@7 [f4,g4,d5]@9", // G7
  O: "[~@3 g2@4 ~@26 [c5,c6]@24 [b4,b5]@24 [bb4,bb5]@24 [a4,a5]@23, ~@7 [c1,c2]@116 ~@5]/8", // C B Bb A C
})).s("gm_piano").gain(0.45)

stack(piano)