Strudelify

Praeludium 2

Johann Sebastian Bach

KeyF majorTempo120 bpm
0:00/0:00
// Praeludium 2 — Johann Sebastian Bach
// 120 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4947200; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 48 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, 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 · piano
const piano = note(`<
  A B A B A B C D E F G H I J K L M N O P Q@4 R S T U V W V W T Q T Q X Y Z AA AB ~ AC AD AE AF AG AH
>`.pickRestart({
  A: "d3 d3@4 ~@11, ~ e3 ~@14", B: "d2@5 ~@11", C: "d3@3 a2@2 d3@3 f3@3 d3@2 f3@3", D: "a3@3 f3@2 a3@3 d4@3 a3@2 d4@3",
  E: "ab3@5 ~@11", F: "e3@5 ab3@5 ~ e3@5", G: "a3@3 e4@2 c4@3 a3@3 e4@2 c4@3", H: "g3@3 eb4@2 c4@3 g3@3 eb4@2 c4@3",
  I: "gb3@5 ~@11", J: "d3@5 gb3@5 ~ d3@5", K: "g3 g3@4 ~@8 f3@3, ~ a3 ~@14", L: "e3 e3@4 ~@11, ~ d3 ~@14",
  M: "f3 f3@4 ~@8 e3@3, ~ g3 ~@14", N: "d3@5 ~@3 f3@3 e3@2 d3@3", O: "e3@3 d3@2 db3@3 e3@3 d3@2 db3@3",
  P: "d3@5 c3@5 ~ bb2@5", Q: "a2@5 a3@5 ~ a2@5", R: "bb2@5 ~@11", S: "bb2@5 bb3@5 ~ bb2@5", T: "a2@5 ~@11",
  U: "a2@5 d3@5 ~ d2@5", V: "g2@5 ~@11", W: "g2@5 g3@5 ~ g2@5", X: "db2@5 ~@11", Y: "db2@5 db3@5 ~ db2@5",
  Z: "d2@5 ~@2 g3 f3 e3 ~ f3 a3 d3 ~ f3", AA: "a2 d3 ~ c3 bb2 a2 ~ g2 f2 e2 ~ d2 f2 a2 ~ d3",
  AB: "f3 a3 ~ d3 f3 a3 ~@10", AC: "db3@3 e3@2 db3@3 a2@3 d3 c3 bb2 ~ a2", AD: "g2@3 g3@2 a3@3 g3@3 a3@2 a2@3",
  AE: "d3@5 d4@5 ~ d3@5", AF: "d3@5 ~@11", AG: "d2@5 d3@5 ~ d2@5", AH: "d2",
})).s("gm_piano").gain(0.3)

stack(piano)

More by Johann Sebastian Bach