Strudelify

House of Gold

Alex Voss

KeyE♭ majorTempo115 bpm
0:00/0:00
// House of Gold — Alex Voss
// 115 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "Marimba" marimba (copy of ch 2 "Flute" flute)
// note: Transcription provider: pdmx. https://musescore.com/score/2425396; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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.

// chords · piano
const piano = note(`<
  A B C D C E C D F G H I J K H L M N O P Q R S@3 T H L J K H L U V T H W J K H L M N O P Q R S@3 X H L J Y H L U Z T H
  W J AA H AB AC AD AE AF AG AH AI@4
>`.pickRestart({
  A: "[b2,b3] b3@2 b3@2 b3@2 b3", B: "[b2,b3]@2 b3@4 b3@4 b3@4 db5 d5, ~@7 b3",
  C: "b2 ~@6 b3, eb5 db5 b4 db5, ~ b3@2 b3@2 b3@2 ~", D: "b2 ~@4 b3@2 [b3,db5], eb5@2 gb5@2 eb5@3 ~, ~ b3@2 b3@2 ~@3",
  E: "b2 ~@4 b3@2 [b3,db5], bb4@2 ab4@2 gb4@3 ~, ~ b3@2 b3@2 ~@3", // Bsus2
  F: "b2 b3@2 db5 ~ b3@2 [b3,gb4], eb5@3 b3@2 ~@3, ~@4 db5@3 ~", G: "b2 b3@2 b3@2 b3@2 [b3,db5], b4@13 ~@3",
  H: "b2 ~@6 [gb3,b3], eb5 db5 b4 db5, ~ [gb3,b3]@2 [gb3,b3]@2 [gb3,b3]@2 ~", // B5
  I: "b2 ~@4 [gb3,b3]@2 [gb3,b3,db5], eb5@2 gb5@2 eb5@3 ~, ~ [gb3,b3]@2 [gb3,b3]@2 ~@3", // B5 Gbsus4 B5
  J: "ab2 ~@6 [eb3,ab3], eb5 db5 b4 db5, ~ [eb3,ab3]@2 [eb3,ab3]@2 [eb3,ab3]@2 ~", // Ab5
  K: "gb2 ~@4 [db3,gb3]@2 [db3,gb3,db5], bb4@2 ab4@2 gb4@3 ~, ~ [db3,gb3]@2 [db3,gb3]@2 ~@3", // Gb5
  L: "e3 ~@4 [ab3,b3]@2 [ab3,b3,db5], eb5@2 gb5@2 eb5@3 ~, ~ [ab3,b3]@2 [ab3,b3]@2 ~@3", // Abm Db7 Abm
  M: "ab2 [eb3,ab3]@2 [eb3,ab3,db5] gb2 [db3,gb3]@2 [db3,gb3,gb4], eb5@3 ~ db5@3 ~", // Ab5 Dbsus2 Gb5
  N: "b2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3], b4@13 ~@3", // B5
  O: "e3 [ab3,b3]@2 ~@2 [ab3,b3]@2 [ab3,b3], ab4 b4, ~@3 [ab3,b3]@2 ~@3", // Abm
  P: "ab3 [c4,eb4]@2 ~@2 [c4,eb4]@2 [c4,eb4], ab5 eb5, ~@3 [c4,eb4]@2 ~@3", // Cm
  Q: "db3 [ab3,db4]@2 ~@2 [ab3,db4]@2 [ab3,db4], e5 db5, ~@3 [ab3,db4]@2 ~@3", // Db5
  R: "a3 [c4,e4]@2 e5 ~@3 [c4,e4], a5@3 [c4,e4]@2 [c4,e4]@2 ~, ~@2 e5 c5", // C
  S: "[e3@2 [ab3,b3]@4 ab4@2 ab4@2 ab4@2 gb4@2 e4 ~ b2@2 [gb3,b3]@4 a4@2 a4@2 a4@2 ab4@2 gb4 ~ e3@2 [ab3,b3]@4 [ab3,b3]@4 [ab3,b3]@4 [ab3,b3]@2, b4@3 [ab3,b3]@2 [ab3,b3]@2 [ab3,b3] ~@3 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3] ~@8, ~@15 gb4@7 ~@9 e4@8 ~@9]/3", // Abm B5 Abm B5
  T: "b2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3,db5]", // B5 Gbsus4
  U: "ab2 ~@2 [eb3,ab3] gb2 ~@2 [db3,gb3], eb5 db5!2 gb4, ~ [eb3,ab3]@2 ~@2 [db3,gb3]@2 ~", // Ab5 Gb5 Ab5 Gb5
  V: "b2 ~@4 [gb3,b3]@2 [gb3,b3], b4!2 b4@2, ~ [gb3,b3]@2 [gb3,b3]@2 ~@3", // B5
  W: "e3 ~@4 [ab3,b3]@2 [ab3,b3,db5], eb5@2 gb5@2 gb5@3 ~, ~ [ab3,b3]@2 [ab3,b3]@2 ~@3", // Abm Db7 Abm
  X: "b2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3,db5], eb5@13 ~@3", // B5 Gbsus4
  Y: "gb2 ~@4 [db3,gb3]@2 [db3,gb3], bb4@2 ab4@2 gb4@3 ~, ~ [db3,gb3]@2 [db3,gb3]@2 ~@3", // Gb5
  Z: "b2 ~@4 [gb3,b3]@2 [gb3,b3], b6!2 b6@2, ~ [gb3,b3]@2 [gb3,b3]@2 ~@3", // B5
  AA: "gb2 ~@4 [db3,gb3]@2 [db3,gb3,db5], db5@2 eb5@2 db5@3 ~, ~ [db3,gb3]@2 [db3,gb3]@2 ~@3", // Gb5
  AB: "e3 ~@4 [ab3,b3]@2 [ab3,b3,gb5], eb5@2 gb5@2 gb5@3 ~, ~ [ab3,b3]@2 [ab3,b3]@2 ~@3", // Abm Abm7 Abm
  AC: "ab2 [eb3,ab3]@2 [eb3,ab3,gb5] gb2 [db3,gb3]@2 [db3,gb3,f5], gb5@3 ~ gb5@3 ~", // Ab5 Ab7 Gb5 Gbmaj7
  AD: "b2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3]@2 [gb3,b3], gb5@13 ~@3", AE: "~ b4, [e3,ab3], ab4 ~, ~ b3@15",
  AF: "~ eb5, [eb3,ab3], ab5 ~, ~ c4@15", AG: "~ db5, [db3,e3], e5 ~, ~ ab3@15",
  AH: "~@3 e5 e5@2 c5@2, [c3,e3], a5@3 ~@5, ~ a3@15", // C
  AI: "[~@6 ab4@2 ab4@2 ab4@2 gb4@2 e4 ~@7 a4@2 a4@2 a4@2 ab4@2 gb4 ~@2 [b3,b4]@22 ~@9, [e3,ab3]@16 [eb3,gb3]@16 [e3,ab3,ab4]@23 ~@9, b4@6 ~@9 gb4@7 ~@9 e4@24 ~@9, ~ b3@15 ~ b3@15 ~@32]/4", // B E Ebm E
})).s("gm_piano").gain(0.5)

// other · bassoon
const bassoon = note(`<
  ~ A B C B D B C E F B C B D B C E G H I J K L@3 M B C B D B C N O M B P B D B C E G H I J K L@3 Q B C B R B C N S M B
  P B T B U V W H I J K X@4
>`.pickRestart({
  A: "~@14 db4 d4", B: "eb4 db4 b3 db4", C: "eb4@2 gb4@2 eb4@3 db4", D: "bb3@2 ab3@2 gb3@3 db4",
  E: "eb4@3 db4 db4@3 gb3", F: "b3@7 db4", G: "b3@7 ~", H: "ab3 b3", I: "ab4 eb4", J: "e4 db4", K: "a4@3 e4 e4@2 c4@2",
  L: "[b3@6 ab3@2 ab3@2 ab3@2 gb3@2 e3 gb3@7 a3@2 a3@2 a3@2 ab3@2 gb3 e3@8 ~@9]/3", M: "~@7 db4", N: "eb4 db4!2 gb3",
  O: "b3!2 b3@2", P: "eb4@2 gb4@2 gb4@3 db4", Q: "eb4@7 db4", R: "bb3@2 ab3@2 gb3@3 ~", S: "b4!2 b4@2",
  T: "db4@2 eb4@2 db4@3 db4", U: "eb4@2 gb4@2 gb4@3 gb4", V: "gb4@3 gb4 gb4@3 f4", W: "gb4@7 ~",
  X: "[b3@6 ab3@2 ab3@2 ab3@2 gb3@2 e3 gb3@7 a3@2 a3@2 a3@2 ab3@2 gb3 ~@2 b3@22 ~@9, ~@31 e3@24 ~@9, ~@16 ab3@11 ~@5]/4",
})).s("gm_bassoon").gain(0.5)

stack(piano, bassoon)

More by Alex Voss