Strudelify

The Fallen Land

Manami Kiyota

KeyB♭ majorTempo70 bpm
0:00/0:00
// The Fallen Land — Manami Kiyota
// 70 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/3652846; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 53 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/4)

// 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 B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR ~@9
>`.pickRestart({
  A: "g3@2 d4@2 ~@8 g6 d6 eb6 d6, ~@4 [bb4,d5,g5]@11 ~", // Gm
  B: "c6 d6 c6 bb5 a5 bb5 a5 ~ d5@8, g3@2 d4@2 bb4@11 ~, ~@4 [d5,g5]@3 g5@8 ~", C: "g3@2 d4@2 [bb4,d5,g5]@10 d5 eb5",
  D: "g3@2 d4@2 [bb4,d5,g5]@11 ~, d5 ~@3", E: "g3 d4 g4 a4 [bb4,d5,g5]@4", F: "f3 c4 f4 g4 [a4,c5,f5]@4",
  G: "eb3 bb3 eb4 g4 [bb4,d5,g5]@4", H: "bb2 f3 bb3 c4 [d4,f4,bb4]@4",
  I: "a2 e3 g3 c4 d3 gb3 [a3,d4,gb4,a4,d5]@2, ~ [eb4,a4,c5] ~@2", // D Adim
  J: "g2 d3 f2 d3 eb2 bb2 g3 eb3, [d4,g4] [d4,f4] [bb3,eb4,g4]@2", K: "c2 g2 c3 eb3 [g3,bb3,bb4]@4, [eb4,g4]@15 ~",
  L: "d2 a2 d3 g3 [d4,gb4,a4,d5,gb5,a5]@4, [d4,a4] ~", M: "g2 d3 g3 a3 bb3 g3 d4 d3, d5 bb4 g4 ~",
  N: "f2 c3 f3 g3 a3 c3 c4 f3, c5 a4 f4 ~", O: "eb2 bb2 eb3 g3 bb3 bb2 eb3 g3, bb4 g4 eb4 ~",
  P: "bb2 d3 f3 bb3 d4 d3 bb3 f3, bb4 f4 d5 ~", Q: "a2 c3 [eb3,a3] eb4 d3 gb3 a3@2, [a4,c5] ~ [d4,a4,d5]@2",
  R: "g2 d3 f2 d3 eb2 bb2 d2 d3, [g4,d5] [f4,d5] [eb4,bb4] [gb4,a4]", S: "c2 g2 [c3,eb3]@2 d2 a2 [d3,gb3]@2, c4 ~ d4 ~",
  T: "g2 d3 g3 a3 [bb3,g4]@4, g3 bb3 ~@2", U: "c2 g2 c3 eb3 g3 c4 ~ c4, bb4 g4 f4 eb4",
  V: "d2 a2 d3 gb3 a3 gb3 d4 gb4, d4 gb4 g4 a4", W: "g2 d3 bb3 g3 f2 c3 a3 f3, bb4 g4 a4 f4",
  X: "eb2 bb2 eb3 g3 c2 c3 g3 c4, eb4 bb3 eb3@2", Y: "a2 eb3 [a3,eb4] eb4 d3 a3 d4 gb4, ~ a4 [d4,gb4] [a4,d5]",
  Z: "[g3,d4] d3 bb3 d3 [d3,g3,d4] bb2 [g3,bb3,eb4] d3, bb4 c5 [g4,bb4,d5,g5]@2", // G5 Eb Gm
  AA: "c2 g2 c3 eb3 [g3,c4,eb4,g4]@4, eb4 f4 ~@2", AB: "[d2,d3] a2 d3 gb3 [d4,a4]@4, gb4@2 g4@2 [a3,gb4] ~@3",
  AC: "g2 d3 [g3,c5] [bb3,bb4] d4 d3 [bb3,g4]@2, d5 ~ a4 ~", AD: "f2 c3 [f3,bb4] [a3,a4] c4 c3 a3 f3, c5 ~ g4 f4",
  AE: "eb2 bb2 [eb3,f5] [bb3,c5] eb4 bb2 eb3 bb2, bb4 ~ g5 eb5", // Ebsus2 Bbsus2
  AF: "[g2,d3] f2 [bb2,eb5] [d3,d5] [f3,d4,bb5]@2 [d3,bb3,f5]@2, f5 ~@3", // G5 Eb5 D Bb
  AG: "[a2,c3,a4] [eb3,eb4] a3 a2 [d2,gb2,gb4] [a2,d4] gb3 d3, ~ c4 ~ a3", // Am Eb D D5
  AH: "[g2,bb2] d3 [f2,a2] d3 [eb2,g2] [bb2,g4] [d2,f2] [d3,f4], eb4 d4 ~@2", // Gm F Eb Dm
  AI: "[c2,eb2,c3] g2 c3 ~ [g2,eb3,eb4]@4, g4 f4 ~@2, ~@6 bb2@9 ~", // Cm
  AJ: "[d2,a2,d3,gb4] [gb2,eb4] [gb3,d4] [d3,g4] gb4@2 [bb4,g5] [a4,a5], ~ [gb3,a3]", // D Ebm D G5 Eb A Gbm
  AK: "g2 d3 g3 bb3 d4 bb2 [bb3,g4,g5] [g3,a4,a5], [g4,g5]@11 ~@5", // Eb Gsus2 G
  AL: "f2 c3 f3 a3 c4 c3 [a3,g4,g5] [f3,a4,f5], [f4,f5]@11 ~@5", // A7 F
  AM: "eb2 bb2 eb3 g3 [bb3,d5,f6] [eb3,c5,eb6] [bb2,bb4,d6] [eb3,c5,eb6], [eb4,eb5] [eb5,g5] ~@2", // Bb Cm Bb Cm Eb
  AN: "d2 bb2 d3 f3 bb3 d3 [f3,d4,g5,eb6] [d3,f5,d6], [d5,f5]@11 ~@5", // Ebmaj7 Dm
  AO: "a2 eb3 a3 a2 d2 a2 [gb3,d5,c6] [d3,a4,a5], [eb5,c6] [c5,a5] [gb5,d6] ~", // D7 D5 Cm F D
  AP: "[g2,bb2,bb4,g5] [d3,c5,a5] [f2,c3,d5,bb5] [d3,g5,d6] [eb2,eb3] bb2 d2 bb2, ~@2 [d6,g6] [eb5,eb6]", // Gm D7 Bb G5 Eb G5 Eb
  AQ: "[c2,d5,d6] [g2,eb5,c6] [eb3,f5,d6] [c2,g5,eb6] d2 a2 gb3 d2, ~@2 [a5,d6] [a4,c5]", // Csus2 Cm Dm Cm D5 Am
  AR: "g2 d3 ~ bb3 d4@2 g5 ~, g4@11 ~@5, g3@4 g3@7 ~@5",
})).s("gm_piano").gain(0.25)

// chords · piano · soft notes
const piano_soft = note("<~@43 A B C D E F G H I J>".pickRestart({
  A: "~@7 f5", B: "c3 eb3 g3 c4 eb5 d5 c5 eb5, [c5,eb5] eb4", C: "d3 gb3 a3 gb3 a4@2 g4 a4, d5 c5 d4@2",
  D: "[g3,bb4] [bb3,d5] [d4,d5]@2 [f3,a4] [c4,d5] [f4,d5]@2", E: "eb3 g3 [bb3,f4]@2 c3 eb3 g3 c4, g4 ~ eb4@2",
  F: "a2 c3 [eb3,eb5] [a3,d5] d3 gb3 a4 d5, ~@2 c5 a3", G: "g3 bb3 [d4,a4] [f3,bb4] eb3 g3 bb3 eb4, g4 ~ g5@2",
  H: "[c3,g5] [g3,a5] [c4,bb5] [g3,g5] d6 c6 d6 eb6, ~ c4", I: "d3 gb3 a3 d4 a5@2 gb5@2, d6 c6 gb4@2",
  J: "[g2,d3,g3,bb4,d5,g5]@15 ~", // Gm
})).s("gm_piano").gain(0.15)

stack(piano, piano_soft)