Strudelify

Minuet in G major WoO 10 No. 2

Ludwig van Beethoven

KeyG majorTempo92 bpm
0:00/0:00
// Minuet in G major WoO 10 No. 2 — Ludwig van Beethoven
// 92 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// 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/6269917; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 73 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(92/3)

// 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 B C D E F G H I B C D E F G H J K L M N O P@2 Q K L M N O P@2 R S T U V W X Y Z AA AB W X AC@6 AD@2 AE AF@3 AG@2 AH
  AI AJ@2 AK AL AM AN@2 AO AP@2 AQ AR
>`.pickRestart({
  A: "~@8 g4@3 a4", B: "[g2,b4]@3 a#4 [b2,b4]@3 a#4 [d3,b4]@3 a#4", C: "g3@4 g2@4 c5@3 g#4, b4@5 ~@3",
  D: "d3@4 d2@4 b4@3 f#4, a4@5 ~@3", E: "[g2,g4]@4 g1@4 b3@3 d4", F: "[g2,g4]@3 f#4 [b2,g4]@3 f#4 [d#3,g4]@3 f#4",
  G: "e3@2 f#3@2 f#4 e4, g4@15 ~ g3@8", H: "e4 d4!2 f#4 e4 c#4, a3 ~ a2", I: "[d3,d4]@4 d2@4 g4@3 a4",
  J: "[d3,d4] d2 ~", K: "[b3,d4,d5] [a3,d4,c5] [g3,d4,b4]", L: "f#3 d3 f#3, [d4,a4]@23 ~",
  M: "a4@4 g4@4 [c3,c5]@3 a4, g3@5 ~@3", N: "[d3,g4]@4 f#4@2 ~@2 b3@3 c4",
  O: "[g1,g2,d4]@3 c#4 [b1,b2,d4]@3 c#4 [d2,d3,d4]@3 c#4", // G5 Bm D
  P: "[[g2,g3]@4 [f2,f3]@4 e4@3 b3 ~@4 [d#2,d#3]@4 [d2,d3,d4]@3 a3, d4@15 ~ [e2,e3]@15 ~@17, ~@8 c4@5 ~@3]/2", // G F D# D E
  Q: "[g2,b3] g1 ~", R: "[g2,b3]@2 g1 ~@3", S: "g2 d3 g3 c3", T: "d3 f#3 b2 d3", U: "g3 f#3 a3 d4", V: "g3 b3 d#3 e3",
  W: "~ c#3@6 d3@6 g2@6 ~@5", X: "~ a2@6 d3@6 ~@11", Y: "~ g2@6 d3@6 g3@6 c3@5", Z: "~ d3@6 f#3@6 b2@6 d3@5",
  AA: "~ g3@6 f#3@6 a3@6 d4@5", AB: "~ g3@6 b3@6 d#3@6 e3@5",
  AC: "[~@11 d4@3 c#4@3 d4@3 e4@3 c4@3 a3@3 b3@3 a#3@3 b3@3 c4@3 a3@3 f#3@3 g3@3 f#3@3 g3@3 a3@3 f#3@3 d3@3 d3@3 e3@3 f#3@3 [g3,g4,d5]@6 [b3,g4,b4]@6 [b2,d4,g4]@6 [c4,e4]@6 e3@6 a3@6 f#3@6 a3@6 c4@6 c4@6 b3@3 ~@7, ~@2 d2@37 ~@26 b4 ~@2 g4 ~@2 f#4 ~@20 c3@17 ~ d3@17 ~ g3@9 ~@7]/6", // G5 Em G C
  AD: "[~@11 d4@3 c#4@3 d4@3 e4@3 c4@3 a3@3 ~ b3@3 a#3@3 b3@3 c4@3 a3@3 f#3@3, ~@2 d2@37 ~@9]/2",
  AE: "g3 f#3 g3 a3 f#3 d3!2 e3, ~@18 b4 ~@2 g4 ~@2",
  AF: "[f#3@3 [g3,g4,d5]@6 [b3,g4,b4]@6 [b2,d4,g4]@6 [c4,e4]@6 e3@6 a3@6 f#3@6 a3@6 c4@6 c4@8 b3@4 ~@3, f#4 ~@20 c3@17 ~ d3@17 ~ g3@11 ~@4]/3", // G5 Em G C
  AG: "[~ g4@6 a4@2 [g2,b4]@6 a#4@2 [b2,b4]@6 a#4@2 [d3,b4]@6 a#4@2 g3@8 g2@7, ~@11 b4@5]/2", // G B G
  AH: "~ c5@6 g#4@2 d3@8 d2@7, ~@3 a4@5", AI: "~ b4@6 f#4@2 [g2,g4]@8 g1@7",
  AJ: "[~ b3@6 d4@2 [g2,g4]@6 f#4@2 [b2,g4]@6 f#4@2 [d#3,g4]@6 f#4@2 e3@8 f#3@7, ~@11 g4@5]/2", // G Em D#
  AK: "~ f#4@4 e4@4 e4@4 d4@4 d4@4 f#4@3, ~ g3@8 a3@8 ~@7", AL: "~ e4@4 c#4@4 [d3,d4]@8 d2@7, ~ a2@8 ~@15",
  AM: "~@9 [b3,d4,d5]@8 [a3,d4,c5]@7", AN: "[~ [g3,d4,b4]@8 f#3@8 d3@8 f#3@8 a4@8 g4@7, ~@9 [d4,a4]@23 ~ g3@15]/2",
  AO: "~ [c3,c5]@6 a4@2 [d3,g4]@8 f#4@4 ~@3", // C G5
  AP: "[~ b3@6 c4@2 [g1,g2,d4]@6 c#4@2 [b1,b2,d4]@6 c#4@2 [d2,d3,d4]@6 c#4@2 [g2,g3]@8 [f2,f3]@7, ~@11 d4@5]/2", // G5 Bm D G F
  AQ: "~ e4@6 b3@2 ~@8 [d#2,d#3]@7, ~ [e2,e3]@15 ~@8, ~@3 c4@5", AR: "~ [d2,d3,d4]@6 a3@2 [g2,b3]@8 g1@4 ~@3",
})).s("gm_piano").gain(0.2)

stack(piano)

More by Ludwig van Beethoven