Strudelify
KeyD majorTempo80 bpm
0:00/0:00
// Cây — Phan Máºnh Quá³nh
// 80 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5902636; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 66 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(80/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// melody · piano
const piano = note(`<
  A B C B D E F G A H C B D I F J K L M N O P Q R@2 L S T U V Q W@2 A B C B D E F G A H C B D I F J K L M N O P Q R@2 L
  S T U V Q X@2
>`.pickRestart({
  A: "~@3 f#4 e4 f#4 a4 f#4", B: "f#4@3 e4 f#4!3 a4", C: "a4@2 ~ f#4 e4 f#4 a4 f#4", D: "a4@2 ~ f#4 e4 f#4 e4 f#4",
  E: "f#3 b3 d4 b3 d4@4", F: "~@3 f#4 e4 f#4 e4 f#4", G: "f#4@6 b3 d4@9", H: "f#4@6 e4@2 f#4@2 f#4 f#4@3 a4@2",
  I: "f#3 b3 d4 b3 e4@2 d4@2", J: "a4@2 e4 d4 e4 f#4 b3 d4", K: "d4@4 ~ a4 c#5 e5", L: "d5@2 d5@2 d5@2 c#5@2 d5@7 a4",
  M: "d5@2 d5@2 d5@2 c#5 d5@3 d5@2 d5@2 a4@2", N: "e5@4 c#5!2 ~ b4 c#5@2 f#4@6", O: "~ c#5!2 b4 c#5@2 a4 f#4",
  P: "b4@2 d5@2 d5@2 f#4@2 d5@3 b4@5", Q: "~ d5!3 d5@2 d5 e5",
  R: "[a4@2 a4@2 a4@2 a4@2 g4@4 a4@2 b4@9 ~@3 a4@2 c#5@2 e5@2]/2", S: "d5@2 d5@2 d5@2 c#5 d5@3 e5@2 e5@2 d5@2",
  T: "f#5@4 c#5 c#5@2 b4 c#5@2 f#4@6", U: "~ c#5!2 b4 c#5@2 f#4!2", V: "b4 d5!2 f#4 d5 b4@3",
  W: "[a4@2 g4@2 g4@2 g4@2 g4@4 d4@3 d4@16 ~]/2", X: "[a4@4 a4 g4 ~ g4 g4@4 d4@3 d4@16 ~]/2",
})).s("gm_piano").gain(0.3)

stack(piano)