Strudelify

12 Variations on 'Menuet a la Vigano' WoO 68

Ludwig van Beethoven

KeyD majorTempo120 bpm
0:00/0:00
// 12 Variations on 'Menuet a la Vigano' WoO 68 — Ludwig van Beethoven
// 120 bpm, 3/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 3/4 at bar 2, 2/4 at bar 9, 1/4 at bar 9, ...) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/81113; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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.

// other · violin
const violin = note(`<
  A B C D E B F G H B C D E B F G I J K L M B N O P J K L M B N O Q R S T U V W X Y R S T U V W X Y ~ Z AA AB AC AD AE
  AF ~ Z AA AB AC AD AE AG B C D E B F G I J K L M B N O Q R S T U V W X Y ~ Z AA AB AC AD AE AF
>`.pickRestart({
  A: "~@11 d4@4 f#4", B: "a4@5 a4@5 ~ d5 c#5 d5 ~ b4", C: "a4@11 f#4@4 d4", D: "e4@5 [c#4,g4]@5 ~ [c#4,f#4]@5",
  E: "[a3,e4]@11 d4@4 f#4", F: "a4@11 d5@4 f#5", G: "e5@4 c#5 a4@5 ~ g#4@5", H: "a4@11 d4@4 f#4",
  I: "a4@11 e5 f#5 e5 ~ f#5", J: "g5@5 ~@6 f#5 g5 f#5 ~ g5", K: "a5@5 ~@6 a5@4 f#5",
  L: "d5 ~@2 a4 ~ f#4 ~@2 d5 ~@2 b4 ~ g#4 ~@2", M: "a4@3 ~@2 a4@3 ~@3 d4@4 f#4", N: "a4@5 a4@5 ~ f#5 f5 f#5 ~ d5",
  O: "a4@4 f#4 d4@5 ~ e4@5, ~@11 f#4 ~@4", P: "d4@11 e5 f#5 e5 ~ f#5", Q: "d4@11 ~@5",
  R: "a4@3 ~@2 a4@3 ~@3 g5@2 e5 ~@2", S: "a4@3 ~@2 a4@3 ~@3 f#5@2 d5 ~@2", T: "a5@3 f#5 ~ d5@3 a4 ~@2 b4@2 g4 ~@2",
  U: "f#4@3 a4 ~ e4@5 ~ a4@2 d5 ~@2", V: "f#5@3 d5 ~ g5@3 e5 ~@7", W: "g5@3 e5 ~ f#5@3 d5 ~@7",
  X: "a5@3 f#5 ~ e5@3 c#5 ~@2 d5@2 b4 ~@2", Y: "a4@5 ~@11", Z: "[a4,e5]@5 [a4,e5]@5 ~ c#4@2 e4 ~@2",
  AA: "a4@3 e4 ~ c#5@3 a4 ~@2 e5@2 c#5 ~@2", AB: "[a4,g5]@5 [a4,g5]@5 ~@6", AC: "d4@5 d4@5 ~ a5@2 f#5 ~@2",
  AD: "d4@5 d4@5 ~ b5@2 g5 ~@2", AE: "f#5@3 d5 ~ f#5@3 d5 ~@2 e5@2 c#5 ~@2", AF: "d5@3 ~@2 d4@3 ~@8",
  AG: "d5@3 ~@2 d4@3 ~@3 d4@4 f#4",
})).s("gm_violin").gain(0.2)

// other · cello · "Violoncello"
const cello = note(`<
  ~ A B C D A E F D A B C D A E F D@2 G H I A B J K D G H I A B J K L M N O L M P Q L M N O L M P Q ~ R ~ R S T U V ~ R
  ~ R S T U V A B C D A E F D@2 G H I A B J K L M N O L M P Q ~ R ~ R S T U V
>`.pickRestart({
  A: "d3@5 f#3@5 ~ g3@5", B: "f#3@5 d3@5 ~@6", C: "c#3@5 a2@5 ~ d3@5", D: "a2@3 ~@2 a3@3 ~@8", E: "f#3@5 d3@5 ~ b2@5",
  F: "c#3@5 e3@5 ~ e2@5", G: "d3@3 ~@2 d4@3 ~@3 a3@4 f#3", H: "d3 ~@2 a2 ~ f#2 ~@2 d3 ~@2 b2 ~ g#2 ~@2",
  I: "a2@3 ~@2 a2@3 ~@8", J: "f#3@5 a3@3 ~@3 a2@3 ~@2", K: "d3@3 ~@2 d2@3 ~@8", L: "d3@3 ~@2 c#3@3 ~@8",
  M: "c#3@3 ~@2 d3@3 ~@8", N: "d3@3 ~@2 f#3@3 ~@3 g3@3 ~@2", O: "a3@3 ~@2 a2@3 ~@8", P: "d3@3 ~@2 e3@3 ~@3 e2@3 ~@2",
  Q: "a2@5 a3@5 ~@6", R: "a2@5 a2@5 ~@6", S: "f#3@3 ~@2 f#3@3 ~@5 d3@3", T: "g3@3 ~@2 g3@3 ~@5 g2@3",
  U: "a2@3 ~@2 a2@3 ~@3 a2@3 ~@2", V: "d3@3 ~@13",
})).s("gm_cello").gain(0.2)

stack(violin, cello)

More by Ludwig van Beethoven