Strudelify
KeyC majorTempo120 bpm
0:00/0:00
// Menuett — Valentin Rathgeber 1682
// 120 bpm, 3/4, key C 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 25) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/142912; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 25 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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · recorder · "Soprano Recorder"
const recorder = note("<A B C D E F G H I J K L K J M N O B C D E F G H P>".pickRestart({
  A: "~@11 g5@5", B: "c6@5 c6@3 b5@3 c6@5", C: "d6@5 d6@3 c6@3 d6@5", D: "e6@5 e6@3 f6@3 g6@5", E: "d6@11 e6@5",
  F: "f6@5 f6@3 e6@3 f6@2 d6@3", G: "e6@5 e6@3 d6@3 e6@2 c6@3", H: "d6@5 d6@3 f6@3 e6@2 d6@3", I: "c6@11 d6@5",
  J: "e6@5 e6@3 d6@3 e6@2 f6@3", K: "g6@11 d6@5", L: "e6@5 e6@3 f6@3 e6@2 f6@3", M: "g6@5 e6@5 ~ a6@5",
  N: "g6@5 g6@3 f6@3 e6@2 f6@3", O: "d6@11 g5@5", P: "c6@11 ~@5",
})).s("gm_recorder").gain(0.3)

stack(recorder)