Strudelify

gusty garden galaxy

Mahito Yokota & Koji Kondo

KeyD♭ majorTempo147 bpm
0:00/0:00
// gusty garden galaxy — Mahito Yokota & Koji Kondo
// 147 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5946651; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 142 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(147/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.

// other · flute
const flute = note(`<
  A@2 B ~@3 C D E@2 F G H@2 I J K L M N O P Q R S@2 T U V@2 W X Y Z AA AB@3 ~@8 AC AD AE AF AG@2 AH AI AJ@2 AK@2 AL@4
  AM@2 AN@2 AO@8 C D E@2 F G H@2 I J K L M N O P Q R S@2 T U V@2 W X Y Z AA AB@3 ~@8 AC AD AE AF AG@2 AH AI AJ@2 AK@2
  AL@4 AM@2 AN@2 AO@8
>`.pickRestart({
  A: "[~@4 db5 eb5 ~ db5 ab5@11 ~ ab5 bb5 ~ b5 gb6 ~@2 f6 ~ eb6 ~@2]/2", B: "db6 ~@3", C: "db5@5 c5 eb5 db5",
  D: "ab4@5 f4 gb4 ab4", E: "[ab4@4 ~@2 gb4@25 ~]/2", F: "eb5@5 d5 f5 eb5", G: "db5@2 ~ c5@2 bb4@2 c5",
  H: "[c5 bb4@3 ~@2 ab4@21 ~ ab4 [bb4,c5] [db5,eb5] [f5,gb5]]/2", I: "ab5@5 g5 bb5 ab5", J: "gb5@4 ~@2 f5@9 ~",
  K: "gb5@5 f5 ab5 gb5", L: "f5@4 ~@2 eb5@9 ~", M: "f5@5 e5 gb5 f5", N: "eb5@2 ~ d5@2 f5@2 eb5", O: "db5@4 ~@2 c5@9 ~",
  P: "db5@4 ~@2 eb5@4 eb5 f5 gb5 ab5 bb5 c6", Q: "db6@5 c6 eb6 db6", R: "ab5@5 f5 gb5 ab5", S: "[ab5@4 ~@2 g5@25 ~]/2",
  T: "eb6@5 d6 f6 eb6", U: "db6@2 ~ b5@2 a5@2 b5",
  V: "[a5 a5@3 ~@2 ab5@21 ~ ab5 [bb5,c6] [db6,eb6] [f6,gb6], ~ b5 ~@30]/2", W: "ab6@5 g6 bb6 ab6",
  X: "gb6@4 ~@2 f6@9 ~", Y: "gb6@5 f6 ab6 gb6", Z: "f6@4 ~@2 eb6@9 ~", AA: "f6@5 eb6 gb6 f6",
  AB: "[eb6@2 ~ a5 ~ b5 ~ db6@3 ab5@2 f5 gb5 ab5 a5@2 ab5 gb5 ab5 ~@4]/3", AC: "~@4 e4@3 e4 a4@8",
  AD: "~@4 ab4@3 ab4 e5@4 b4@4", AE: "db5@3 a4@3 db5@2", AF: "b4@4 ~@2 e5@9 ~",
  AG: "[~@4 gb4@3 gb4 db4@10 ~ db4@2 gb4@3 bb4@3 [gb4,bb4]@2 [bb4,db5]@3]/2", AH: "[db5,e5]@11 ~ [a4,db5]@4",
  AI: "[gb4,b4] ~@2 [b4,eb5] ~@2 [eb5,gb5] ~@2 [gb5,b5] ~@2 [b5,eb6]@4", AJ: "eb5@3 db5@3 ab4@2",
  AK: "[f5@6 eb5@13 ~ eb5@4 f5@4 gb5@4]/2",
  AL: "[ab5@9 ~ ab5@2 bb5@2 f5@11 ~ eb5@2 f5@2 gb5@11 ~ ab5@2 gb5@2 f5@4 db5@2 f5@2 eb5@6 ab5@4]/4",
  AM: "eb6@3 db6@3 ab5@2", AN: "[f6@6 eb6@13 ~ eb5@4 c6@4 bb5@4]/2",
  AO: "[ab5@9 ~ ab5@2 bb5@2 b5@6 bb5@2 ab5@2 ~@2 f5@2 ~@2 gb5@11 ~ gb5@2 ab5@2 a5@6 ab5@2 a5@2 ~@2 b5@2 ~@2 db6@63 ~@3]/8",
})).s("gm_flute").gain(0.3)

stack(flute)