Strudelify

Setsunai Omoi

Afonso Henriques 2

KeyA minorTempo85 bpm
0:00/0:00
// Setsunai Omoi — Afonso Henriques 2
// 85 bpm, 3/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5840301; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 49 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(85/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// 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 B C D E F G H A B C D E F I J K L M N O P Q R S T U V W X Y Z ~ AA AB AC AD AE AF AG AH AA AB AC AD AE AF AI AJ
>`.pickRestart({
  A: "a3 c4 e4", B: "g3 b3 e4", C: "f#3 a3 d4", D: "f3 a3 d4", E: "e3 a3 c4", F: "d#3 a3 c4", G: "d3@8 [a3,b3]@15 ~",
  H: "[e3,g#3,e4] [f#3,a3] [g#3,b3]", I: "d3 b3 e3", J: "[a2,a3]@15 ~ [b2,d4,f4]@8",
  K: "[c3,e4,g4] c4 [c4,e4,c5], ~@8 g3@15 ~", L: "[d4,g4,d5]@4 [d4,d5]@4 [g4,d5]@3 g4, b3@23 ~",
  M: "[d4,d5]!2 [g4,d5], a#3@23 ~", N: "[c4,f4,c5] c4 [c4,f4,c5], a3@23 ~", O: "[d#4,f4] b3 [d#4,f4], g#3@23 ~",
  P: "[d#4,g4] a#3 d#4, g3@23 ~", Q: "[d4,a4] c4 [d4,a4], f#3@23 ~", R: "[b3,g4] [b3,d4] [d3,g3,g4], g3@5 ~@3",
  S: "[c4,e4]@2 [g3,g4]@2 [e4,g4] c4, c3@23 ~", T: "[a#2,a#3,g4]@2 [a#3,d4] g4 [a#2,e4]@2, ~ a#2 ~",
  U: "[a2,a3,c4,c5] [a2,a3,c4] [a2,a3,c4,c5]", // Am
  V: "[g#2,g#3,c4,f4]@2 [g#2,g#3]@2 ~ f4, ~@8 [c4,c5]@11 ~@5, ~@2 [g#2,g#3]", W: "[g2,g3,c4,e4] [g2,g3,f4] [g2,g3,g4]",
  X: "[f#2,f#3,e4,a4] [f#2,f#3,b4] [f#2,f#3,c5]", Y: "[b2,f3,d4] [b2,e4] [b2,f3,d4,f4]",
  Z: "[e2,e3,e4,g#4]@4 ~ b5@3 ~@2 e3@2, ~ b4 ~, ~@9 [e5,g#5]@7 ~@8", AA: "~ c4 [e4,a4] c4 [e4,a4] c4, [a2,a3]@23 ~",
  AB: "~ b3 [e4,g4] b3 [e4,g4] b3, [g2,g3]@23 ~", AC: "~ a3 [d4,e4,a4] a3 [d4,e4,a4] a3, f#2@23 ~",
  AD: "~ a3 [c4,e4,a4] a3 [c4,e4,a4] a3, f2@23 ~", AE: "~ c4 [e4,a4] c4 [e4,a4] c4, e2@23 ~",
  AF: "~ c4 [f#4,a4] c4 [f#4,a4] c4, d#2@23 ~", AG: "~ b3 ~ b3 f#4@2, d2@23 ~", AH: "[e2,g#3,e4] [f#2,a3] [g#2,b3]",
  AI: "[d4,f#4] b3 [e2,e4,g#4], d2@5 ~@3", AJ: "[c4,e4]@4 ~@2 e4@2 b4 d5 c5@2, a2@23 ~",
})).s("gm_piano").gain(0.3)

stack(piano)