Strudelify

Synchronicity Meguru Sekai no Requiem

Hitoshizuku-P Yamaâ³

KeyG majorTempo184 bpm
0:00/0:00
// Synchronicity Meguru Sekai no Requiem — Hitoshizuku-P Yamaâ³
// 184 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/260961; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 255 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(184/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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 B C D E F G H I J C K L M N O P Q C D R S G H T U V K W X N Y W Z AA AB AC AD AE AF AG AH E AI AJ AA AK AL AM AA AN
  AO AP AQ AR AS AT AU AV AW AA AX AY AZ BA BB BC@2 AO BD AQ AA BE AT AU BD AW BD AX BF BG BH BI BJ@2 ~ BK BL BM BN BO
  BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF@2 CG CH CI AO CJ CK@2 CL CM CN@3 J C D CO S G CP CQ CR V K W X N CS
  CT CU AA AB AA AD AE AF AG AH E AI AA CV CW CX CY@4 CZ DA ~ CG AO BD AQ DB AS AT AU BD AO BD AX BF BG DC DD AW DE DF
  DG DH DI DJ DK BD DL DM DN DO DP DQ DR@3 ~@24 CG AO AP AQ AR AS AT AU DS AO AA AX AY AZ BA BB DT DU DV DW DX DY DZ EA
  EB DU EC ED EE CL EF EG CL EH EI EJ@3
>`.pickRestart({
  A: "~ d6", B: "b6@5 ~@6 e5@2 f#5@3", C: "g5@5 ~@6 g5@5", D: "f#5@8 e5@3 d5@5", E: "e5", F: "~@11 c5@2 d5@3",
  G: "e5@5 ~@6 e5@5", H: "d5@8 c5@3 b4@5", I: "b4@11 ~@5", J: "~@11 e5@2 f#5@3", K: "f#5@8 g5@3 a5@5", L: "b5@11 a5@5",
  M: "e5@5 ~@6 e5@2 b5@3", N: "a5@5 ~@6 e5@2 b5@3", O: "a5@8 g5@3 f#5@2 g5@3", P: "f#5@11 e5@5",
  Q: "e5@5 ~@6 e5@2 f#5@3", R: "~@5 c5@3 d5@3 e5@2 f#5@3", S: "g5@5 f#5@5 ~ d5@5", T: "~@5 g4@3 a4@3 b4@2 c5@3",
  U: "b4@5 e5@5 ~ f#5@5", V: "g5@11 g5@5", W: "d6@11 c#6@5", X: "b5@5 ~@6 e5@2 b5@3", Y: "a5@5 f#5@3 g5@3 a5@2 b5@3",
  Z: "b5@5 e5@3 f#5@3 g5@2 a5@3", AA: "b5", AB: "~@5 e5@3 f#5@3 g5@2 b5@3", AC: "a5", AD: "d6@5 e6@5 ~ b5@5",
  AE: "a5@5 a5@3 a5@5 g5@3", AF: "a5@5 g6@5 ~ f#6@5", AG: "e6@5 e5@3 f#5@3 g5@2 a5@3", AH: "g5@5 f#5@5 ~ e5@2 d5@3",
  AI: "~@5 e5@3 f#5@3 g5@2 a5@3", AJ: "b5@8 b5@5 a5@3", AK: "e5@8 f#5@3 g5@5", AL: "f#5@5 ~@6 f#5@2 g5@3",
  AM: "a5@8 g5@3 a5@5", AN: "a5@5 b5@11", AO: "e6@8 d#6@3 c#6@5", AP: "d#6@8 c#6@3 b5@5", AQ: "c#6@8 b5@3 a5@5",
  AR: "b5@8 a5@3 g#5@5", AS: "a5@8 g#5@3 f#5@5", AT: "g#5@5 c#6@5 ~ d#6@5", AU: "e6@8 f#6@3 e6@5", AV: "d#6@5 c#6@11",
  AW: "c#6", AX: "c#6@8 d#6@3 e6@5", AY: "b5@5 ~@6 e6@2 f#6@3", AZ: "g#6@8 f#6@3 e6@5", BA: "d#6@5 e6@5 ~ d#6@5",
  BB: "c#6@11 b5@5", BC: "[c#6@5 ~@6 g#4@3 b4@4 c#5@3 d#5@5 ~@6]/2", BD: "d#6", BE: "a5@5 a5@3 g#5@3 f#5@5",
  BF: "b5@11 e6@2 f#6@3", BG: "g#6", BH: "f#5@5 f#6@8 e6@3", BI: "f#6@11 g#6@5", BJ: "[g#6@21 ~@11]/2",
  BK: "c#5@5 ~@3 c#5@5 b4@3", BL: "c#5@5 e5@5 ~ f#5@5", BM: "g#5@5 ~@3 c#5@3 ~@2 b5@3", BN: "a#5@5 g#5@5 ~ f#5@5",
  BO: "g#5@5 ~@3 c#5@3 ~@2 e5@3", BP: "f#5@5 e5@5 ~ d#5@2 b4@3", BQ: "e5@5 ~@3 d#5@3 ~@2 c#5@3",
  BR: "b5@5 c#6@5 ~ g#5@5", BS: "c#6@5 ~@3 c#6@5 b5@3", BT: "c#6@5 e6@5 ~ f#6@5", BU: "g#6@11 ~@2 b5@3",
  BV: "c#6@5 b5@5 ~@2 b5@2 a#5@2, ~@11 a#5@2 ~@3", BW: "g#5@5 f#5@5 ~ g#5@5", BX: "c#5 f#5", BY: "e5@5 d#5@5 ~ c#5@5",
  BZ: "b4@5 c#5@8 g#4@3", CA: "a4@5 g#5@11", CB: "a4@5 g#5@8 f#5@3", CC: "b5@5 g#5@5 ~ c#5@5",
  CD: "e5@5 d#5@2 e5@2 d#5@2 b4@5", CE: "c#6@5 g#5@5 ~ c#6@5", CF: "g#5/2", CG: "~@11 c#6@2 d#6@3",
  CH: "e6@5 d#6@5 ~ c#6@5", CI: "b5@5 g#5@5 ~ c#6@2 d#6@3", CJ: "d#6@5 g#6@5 ~ f#6@5", CK: "[f#6@21 ~@6 f#6@2 g#6@3]/2",
  CL: "a6", CM: "g#6@13 f#6@3", CN: "g#6/3", CO: "e5@5 c5@3 d5@3 e5@2 f#5@3", CP: "d5@8 e5@3 f#5@2 d5@3",
  CQ: "d5@5 g4@3 a4@3 b4@2 c5@3", CR: "b4@5 e5@5 ~ f#5@2 e5@3", CS: "a5@5 d5@3 e5@3 f#5@2 g5@3", CT: "f#5@11 d5@5",
  CU: "e5@5 e5@3 f#5@3 g5@2 a5@3", CV: "f#5@5 f#5@3 g5@3 f#5@2 d5@3", CW: "g5@8 a5@3 b5@5", CX: "a5 d6", CY: "e6/4",
  CZ: "~@5 d#6@2 d#6@2 ~ d#6@2 d#6!2 d#6@2", DA: "d#6@5 ~@11", DB: "b5@11 ~@5", DC: "f#5@5 b5@8 b5@3",
  DD: "b5@11 c#6@5", DE: "d6@5 f5@3 g5@3 g#5@2 a#5@3", DF: "c6@5 f5@3 g5@3 g#5@2 c6@3",
  DG: "a#5@5 f5@3 g5@3 g#5@2 c6@3", DH: "d#6@5 f6@5 ~ c6@5", DI: "a#5@5 a#5@3 a#5@5 g#5@3", DJ: "a#5@5 g#6@5 ~ g6@5",
  DK: "f6", DL: "f6@5 f5@3 g5@3 g#5@2 a#5@3", DM: "c6@5 f5@3 g5@3 g#5@2 a#5@3", DN: "c6@5 c6@3 c6@5 d#6@3", DO: "c6",
  DP: "g#5@8 a#5@3 c6@5", DQ: "a#5 d#6", DR: "[f6@43 ~@5]/3", DS: "d#6@11 c#6@2 d#6@3",
  DT: "c#6@5 g#5@3 b5@3 c#6@2 d#6@3", DU: "f6@8 e6@3 d6@5", DV: "e6", DW: "d6@8 c6@3 a#5@5", DX: "c6@11 a5@5",
  DY: "a#5@5 a#5@3 a5@3 g5@5", DZ: "a5@5 d6@5 ~ e6@5", EA: "f6@8 g6@3 f6@5", EB: "e6@5 a6@8 g6@3",
  EC: "e6@5 e6@3 d6@3 c6@2 a5@3", ED: "d6@8 e6@3 f6@5", EE: "c6@11 f6@2 g6@3", EF: "g5@5 g6@8 f6@3", EG: "g6@11 a6@5",
  EH: "~@5 g5@3 a#5@3 d6@2 f6@3", EI: "e6@5 g6@8 g6@3", EJ: "[~@11 g6@10 a6@5 ~ a6@21]/3",
})).s("gm_flute").gain(0.4)

// other · flute
const flute_2 = note(`<
  ~@2 A B C ~ C B A ~ A B C D C B A ~ E F E F E F@2 G E F@2 H E F E H I@2 J@2 K L M@2 I@2 J K N F N O@2 E G E G P E G Q
  E G E G P G E H ~ R S R S T R S@2 R S R S T S U A ~@2 V W X Y Z AA AB AC V AD@6 AE AD@2 AE AD@8 AE@7 AF ~ E F E F E
  F@2 G E F@2 H E F ~@2 A E AG F@3 AH@2 A E AG F N AG AI AD AJ AK AI AD AL AE AI AD AJ AK AI AD AL AE AI AD AJ AK AI AD
  AM AN AO@4 AP@4 AQ@4 AR@4 AS ~@25 E G E G P E G Q E G E G P G E H ~ R AT E F AT E AU AT E AT E F E AV AR ~@5
>`.pickRestart({
  A: "e5", B: "d5", C: "c5", D: "b4", E: "~@5 e5@5 ~ e5@5", F: "~@5 d5@5 ~ d5@5", G: "~@5 d#5@5 ~ d#5@5",
  H: "e5@5 ~@11", I: "e5@5 b5@5 ~ g5@5", J: "d5@5 a5@5 ~ f#5@5", K: "d5@5 f#5@5 ~ a5@5", L: "d5@5 f#5@5 ~ b5@5",
  M: "[e5@8 e5@5 e5@8 d5@5 ~ d5@5]/2", N: "e5!2", O: "[d#5@8 d#5@19 ~@5]/2", P: "~@5 c#5@5 ~ c#5@5",
  Q: "d#5@5 g#5@5 ~ f#5@5", R: "~@5 e5@11", S: "~@5 d#5@11", T: "~@5 c#5@11", U: "f#5 e5", V: "c#5@5 ~@3 c#5@5 b4@3",
  W: "c#4@5 e4@5 ~ f#4@5", X: "g#4@5 ~@3 c#4@3 ~@2 b4@3", Y: "a#4@5 g#4@5 ~ f#4@5", Z: "g#4@5 ~@3 c#4@3 ~@2 e4@3",
  AA: "f#4@5 e4@5 ~ d#4@2 b4@3", AB: "e4@5 ~@3 d#4@3 ~@2 c#4@3", AC: "b4@5 c#5@5 ~ g#4@5", AD: "e5@5 e5@5 ~ e5@5",
  AE: "d#5@5 d#5@5 ~ d#5@5", AF: "d#5", AG: "d5!2", AH: "[e5@8 e5@13 d5@5 ~ d5@5]/2", AI: "e5@8 e5@3 ~@5",
  AJ: "f5@8 f5@3 ~@5", AK: "f5@5 f5@5 ~ f5@5", AL: "d#5@8 d#5@3 ~@5", AM: "e4@5 d#4@3 e4@3 f#4@2 g#4@3",
  AN: "a#4@3 b4@2 c#5@3 d#5@3 e5@2 f#5@3", AO: "[f5@21 f5@5 ~ f5@5]/2", AP: "[d#5@21 d#5@5 ~ d#5@5]/2",
  AQ: "[f5@8 f5@13 f5@5 ~ f5@5]/2", AR: "f5", AS: "e5@11 ~@5", AT: "~@5 f5@5 ~ f5@5", AU: "e5@5 a5@5 ~ g5@5",
  AV: "f5!2",
})).s("gm_flute").gain(0.2)

// other · flute
const flute_3 = note(`<
  ~@2 A B C ~ C B A ~ A B C D C B A ~ E F G E G F E@3 F E H G F E I J@2 K@2 L M N@2 J@2 K O P F Q R@2 S E S E F E T U S
  E S E F E S H ~ V W V W X W Y Z V W V W X W Q AA ~@11 AB@6 AC AB@2 AC AB@8 AC AD@6 AE ~ E F G E G F@2 E@2 F E H G F
  ~@2 AE G AF F E@2 AG@2 AE G AF F P AF AH AC AI AD AH AC AJ AK AH AC AI AD AH AC AJ AK AH AC AI AD AH AC ~@2 AL@2 AM@2
  AL@2 AN@2 AO@2 AP@2 AA@2 AE@2 AQ ~@25 S E S E F E T U S E S E F E S H ~ Z AR G T G E AS AR G AR G T G AT AU ~@5
>`.pickRestart({
  A: "b4", B: "a4", C: "g4", D: "f#4", E: "~@5 b4@5 ~ b4@5", F: "~@5 a4@5 ~ a4@5", G: "~@5 c5@5 ~ c5@5",
  H: "c#5@5 ~@11", I: "b4@5 ~@11", J: "c5@5 b5@5 ~ g5@5", K: "a4@5 a5@5 ~ f#5@5", L: "b4@5 f#5@5 ~ a5@5",
  M: "a4@5 f#5@5 ~ b5@5", N: "[b4@8 b4@5 b4@8 a4@5 ~ a4@5]/2", O: "a4@5 ~@11", P: "c5!2", Q: "c#5!2",
  R: "[b4@8 b4@19 ~@5]/2", S: "~@5 c#5@5 ~ c#5@5", T: "~@5 a#4@5 ~ a#4@5", U: "c#5@5 c5@5 ~ f#5@5", V: "~@5 c#5@11",
  W: "~@5 b4@11", X: "~@5 a4@11", Y: "~@5 a#4@11", Z: "~@5 c5@11", AA: "c#5", AB: "c#5@5 c#5@5 ~ c#5@5",
  AC: "b4@5 b4@5 ~ b4@5", AD: "c5@5 c5@5 ~ c5@5", AE: "c5", AF: "a4!2", AG: "[b4@8 b4@13 a4@5 ~ a4@5]/2",
  AH: "b4@8 b4@3 ~@5", AI: "c5@8 c5@3 ~@5", AJ: "a#4@8 a#4@3 ~@5", AK: "a#4@5 a#4@5 ~ a#4@5",
  AL: "[c5@21 c5@5 ~ c5@5]/2", AM: "[c#5@21 c#5@5 ~ c#5@5]/2", AN: "[a#4@21 a#4@5 ~ a#4@5]/2",
  AO: "[c5@8 c5@13 c5@5 ~ c5@5]/2", AP: "[c#5@8 c#5@13 c#5@5 ~ c#5@5]/2", AQ: "c5@11 ~@5", AR: "~@5 d5@5 ~ d5@5",
  AS: "d5@5 c#5@5 ~ g5@5", AT: "d5!2", AU: "d5",
})).s("gm_flute").gain(0.2)

// other · flute
const flute_4 = note(`<
  ~@18 A B A B A B A B A B A C A B@2 D E@2 F@2 G H I@2 E@2 F J K B L M@2 N B O N B N A P N B O N B N@2 Q ~ R S T R S R U
  R@2 S T R S R V W ~@11 X@5 Y Z Y@2 Z X@5 Y@2 X Z X@6 W ~ A B A B A B A B A B A C A B ~@2 AA A AB B@3 AC@2 AA A AB B K
  AB AD AE AD AE AD AE AF AG AD AE AD AE AD AE AF AG AD Z AH Z AD AE ~@2 AI@4 AJ@4 AK@4 W@4 AL ~@25 N B O N B N A AM N B
  O N B N@2 Q ~ T AN O A O N AO O A AN O A O L AP ~@5
>`.pickRestart({
  A: "~@5 g4@5 ~ g4@5", B: "~@5 f#4@5 ~ f#4@5", C: "a4@5 ~@11", D: "g4@5 ~@11", E: "g4@5 b5@5 ~ g5@5",
  F: "f#4@5 a5@5 ~ f#5@5", G: "f#4@5 f#5@5 ~ a5@5", H: "f#4@5 f#5@5 ~ b5@5", I: "[g4@8 g4@5 g4@8 f#4@5 ~ f#4@5]/2",
  J: "f#4@5 ~@11", K: "g4!2", L: "a4!2", M: "[f#4@8 f#4@19 ~@5]/2", N: "~@5 g#4@5 ~ g#4@5", O: "~@5 a4@5 ~ a4@5",
  P: "g#4@5 g#4@5 ~ f#5@5", Q: "g#4@5 ~@11", R: "~@5 g#4@11", S: "~@5 f#4@11", T: "~@5 a4@11", U: "~@5 g4@11",
  V: "g#4!2", W: "g#4", X: "g#4@5 g#4@5 ~ g#4@5", Y: "a4@5 a4@5 ~ a4@5", Z: "f#4@5 f#4@5 ~ f#4@5", AA: "g4",
  AB: "f#4!2", AC: "[g4@8 g4@13 f#4@5 ~ f#4@5]/2", AD: "f4@8 f4@3 ~@5", AE: "f4@5 f4@5 ~ f4@5", AF: "e4@8 e4@3 ~@5",
  AG: "e4@5 e4@5 ~ e4@5", AH: "f#4@8 f#4@3 ~@5", AI: "[g#4@21 g#4@5 ~ g#4@5]/2", AJ: "[g4@21 g4@5 ~ g4@5]/2",
  AK: "[g#4@8 g#4@13 g#4@5 ~ g#4@5]/2", AL: "g#4@11 ~@5", AM: "g#4@5 g#4@5 ~ f#4@5", AN: "~@5 a#4@5 ~ a#4@5",
  AO: "a4@5 a4@5 ~ g4@5", AP: "a4",
})).s("gm_flute").gain(0.2)

// other · flute
const flute_5 = note(`<
  ~@18 A B C D C B E F A B E G C B A H C@2 B@2 D@2 A B C@2 B D C D I J@2 K F L M N A O M K F L M N M K P ~ Q R S T U V W
  T Q R S T U T X@2 ~@2 P Y Z AA AB AC AD AE AF@6 I D I@2 D@2 AF@4 I@2 D@2 AG@6 A ~ A B C D C B E D A B E L C B ~@2 C@2
  B@2 D N A AH C@2 B@2 C B AI@4 AJ AK AL AM AJ AN AO AP AJ AK AL AM AJ AP AO AP AJ AK ~ AM AQ@2 AR@2 AS@2 AT@2 AQ@2 AU@2
  AG@2 AJ AV AW ~@25 AF D I AG AO AL AX AG AF D I AG AO AG X AY ~ AZ BA I BB AJ AL I B C BA I BB I BC@2 ~@5
>`.pickRestart({
  A: "e5", B: "d5", C: "c5", D: "b4", E: "g5", F: "b5", G: "a5@5 ~@11", H: "e5@5 ~@11", I: "a4", J: "[b4@27 ~@5]/2",
  K: "c#6", L: "a5", M: "g#5", N: "f#5", O: "d#5", P: "c#5@5 ~@11", Q: "c#5@11 c#5@5", R: "b4@11 b4@5", S: "a4@11 a4@5",
  T: "g#4@11 g#4@5", U: "f#4@11 f#4@5", V: "e4@11 e4@5", W: "d#4@11 d#4@5", X: "c#4", Y: "~@5 c#5@5 ~@6",
  Z: "b4@5 ~@11", AA: "~@5 b4@5 ~@6", AB: "a#4@5 ~@11", AC: "~@5 a#4@5 ~@6", AD: "a4@5 ~@3 a4@8", AE: "b4@5 ~@3 b4@8",
  AF: "c#5", AG: "g#4", AH: "e5@5 d5@5 ~ d5@5", AI: "e4/4", AJ: "f4", AK: "f4@5 f4@5 ~ f4@5", AL: "e4",
  AM: "e4@5 e4@5 ~ e4@5", AN: "f5@5 f5@5 ~ f5@5", AO: "f#4", AP: "f#4@5 f#4@5 ~ f#4@5", AQ: "f4/2", AR: "d4/2",
  AS: "c5/2", AT: "d#4/2", AU: "c#4/2", AV: "f4@11 g4@5", AW: "e4@11 ~@5", AX: "d#4", AY: "c#4@5 ~@11",
  AZ: "~@5 a4@5 ~ a4@5", BA: "a#4", BB: "g4", BC: "d4",
})).s("gm_flute").gain(0.3)

stack(flute, flute_2, flute_3, flute_4, flute_5)