Strudelify

les mysterieuses cites d'or

Ryuji Sasai

KeyB♭ majorTempo120 bpm
0:00/0:00
// les mysterieuses cites d'or — Ryuji Sasai
// 120 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 11, 4/4 at bar 12) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5848776; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 34 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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@3 B C D E B F D G H I J K H I L M N O P Q R S P T R U H I L V@2>".pickRestart({
  A: "[~@8 g3 a3 bb3 c4 d4 g4 a4 bb4@3 g4 a4 bb4 a4 g4@2 f3@3 bb3@3 g3@6 d5@2 f5@2 [bb2,bb3,f5]@4 [f2,f3,eb5]@4, ~@8 [g1,g2]@15 ~ [g1,g2]@15 ~@9]/3", // Bb5 F7 G
  B: "[bb2,bb3,d5]@2 d5 f5!3 eb5!2, ~@2 [bb2,bb3] [f2,f3]", C: "[bb2,bb3,d5]@2 bb4 d5 [g2,g3,d5]@2 [d2,d3,c5]@2",
  D: "[g2,g3,bb4]@4 g4@2 bb4@2 a4@2 a4 a4@3 [d2,d3,d5]@2, ~@2 [d2,d3] ~", // Gm D
  E: "[g2,g3,g4]@2 d5 f5 [bb2,bb3,f5]@2 [f2,f3,eb5]@2", F: "[bb2,bb3,d5]@3 bb4 bb4@2 d5@2 [g2,g3,d5]@4 [d2,d3,c5]@4",
  G: "[g2,g3] ~@3, g4 ~", H: "[c3,c4]@3 [c3,c4] ~ a4 c5 [d2,d3,a4], c5@4 [c3,c4]@3 ~",
  I: "[g2,g3]@3 [g2,g3] g4 a4 bb4 [g2,g3,g4], bb4@4 [g2,g3]@3 ~", // G
  J: "[f2,f3,a4]@3 [f2,f3,a4] a4 gb4 g4 [d2,d3,a4], ~@4 [d2,d3]@3 ~", // F D5 D
  K: "[g2,g3]@3 [g2,g3] [g2,g3]@2 [g2,g3]@2, bb4 b4", // G
  L: "[f2,f3,a4]@3 [f2,f3,a4] a4 c5 bb4 [d2,d3,a4], ~@4 [d2,d3]@3 ~", M: "[g2,g3]@3 [g2,g3] [g2,g3]@4, g4@15 ~",
  N: "f4@3 g4@3 a4@2 ~@2 c5@2 bb4@2 g4@2, [d2,d3]@15 ~", O: "g4@4 ~@2 d5 f5, [g1,g2]@15 ~",
  P: "[bb2,bb3,f5]@2 [f2,f3,eb5]@2 [bb2,bb3,d5]@2 d5 f5", Q: "f5!2 eb5!2 [bb2,bb3,d5]@2 bb4 d5, [bb2,bb3] [f2,f3] ~@2",
  R: "[g2,g3,d5]@2 [d2,d3,c5]@2 [g2,g3,bb4]@2 g4 bb4", // G5 D7 Gm
  S: "a4@2 a4 a4@3 [d2,d3,d5]@2 [g2,g3,g4]@4 d5@2 f5@2, [d2,d3] ~@3", // D G D
  T: "f5@2 f5@2 eb5@2 eb5@2 [bb2,bb3,d5]@3 bb4 bb4@2 d5@2, [bb2,bb3] [f2,f3] ~@2", // Bb F
  U: "a4@2 a4 a4@3 [d2,d3,d5]@2 [g2,g3]@4 ~@4, [d2,d3] ~ g4@2", V: "[[g2,d3,g3,bb3,g4]@15 ~]/2",
})).s("gm_piano").gain(0.3)

stack(piano)