Strudelify

æéèªã(Towagatari )ï½El Ragnaï½

jeffgyf

KeyD♭ majorTempo81 bpm
0:00/0:00
// æéèªã(Towagatari )ï½El Ragnaï½ — jeffgyf
// 81 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5869167; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 82 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(81/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 B C D A E F G ~@16 H I J K L M N M O G ~@5 P Q R S T U V W X ~@5 Y Z@2 ~@4 AA AB AC AD AE AF AG AH AI AJ@2 AK AL AK
  AM AN AO AP AQ AR AS@2
>`.pickRestart({
  A: "f4@2 f4 ab4 bb4@2 f4 eb4", B: "eb4@3 eb4 ab4@2 ab4@2 f4@6 ~@2", C: "f4@2 f4 ab4 bb4@2 f4 c5",
  D: "bb4@2 ab4 f4 eb4@2 f4@2", E: "eb4@3 eb4 bb4@2 ab4@2 f4@4 c4@2 db4@2", F: "eb4@2 f4 ab4 bb4@2 ab4@2",
  G: "bb4@15 ~", H: "bb4@4 bb4@2 ab4 bb4 bb4@4 ab4@2 f4@2", I: "ab4@2 bb4 ab4 f4@2 db4 c4",
  J: "db4@2 db4 ab4 f4@2 ab4 f4", K: "eb4@4 eb4@3 db4 eb4@4 eb4@2 eb4@2", L: "~ f4!2 bb4 a4@4",
  M: "~@2 f4!2 bb4@4 ~@2 f4!2 ab4@4", N: "bb4@2 ab4@2 f4@2 eb4@2 f4 eb4 db4@2 c4@4", O: "bb4@3 ab4 bb4 ab4 f4 eb4",
  P: "~@2 f4 c5", Q: "bb4 ab4 f4@2 bb4 ab4 f4@2", R: "bb4 ab4 f4 c5 bb4@2 ab4@2", S: "eb4!3 f4 ab4@2 f4 ab4",
  T: "bb4@4 bb4@2 bb4@2 bb4@2 c5 bb4 ab4@4", U: "bb4 ab4 f4@2 bb4 ab4 eb4@2", V: "bb4!2 c5 bb4 ab4@2 f4@2",
  W: "eb4@4 f4@2 f4@2 ab4@4 f4@2 f4 eb4", X: "f4@2 ab4@2 bb4@11 ~", Y: "~ ab4 bb4 ab4 f4@4",
  Z: "[~@4 [eb4,ab4]@4 [f4,bb4]@15 ~@9]/2", AA: "~@8 bb4@4 bb4@2 ab4 bb4", AB: "bb4@2 ab4 f4 ab4@2 bb4 ab4",
  AC: "f4@2 db4 c4 db4@2 db4 ab4", AD: "f4@4 ab4@2 f4@2 eb4@4 eb4@3 db4", AE: "eb4@2 eb4!2 ~ f4!2 bb4",
  AF: "a4@8 ~@2 f4!2 bb4@4", AG: "~@2 f4!2 ab4@4 bb4@2 ab4@2 f4@2 eb4@2", AH: "f4 eb4 db4@2 c4@4 ~@2 f4!2 bb4@4",
  AI: "~@2 f4!2 ab4@4 bb4@6 ab4@2", AJ: "[bb4@2 ab4@2 f4@2 eb4@2 bb4@15 ~ f4@2 bb4@2 ab4@4]/2",
  AK: "db4 gb4 f4@2 f4 eb4 db4 eb4", AL: "c4@3 f4 f4@2 ~@2 f4@2 bb4@2 ab4@4", AM: "f4 ab4 ~@2",
  AN: "db4 gb4 f4@2 bb4 ab4 f4 ab4", AO: "f4@3 ab4 f4@4 ~@8", AP: "db4 gb4 f4@2 db4 eb4 f4 gb4",
  AQ: "ab4@3 f4 ab4@4 ~@6 f4@2", AR: "eb4 f4@3 f4@4", AS: "[ab4@8 bb4@23 ~]/2",
})).s("gm_flute").gain(0.3)

stack(flute)