Strudelify

Prelude and Fugue in C major BWV 846

Johann Sebastian Bach

KeyC majorTempo60 bpm
0:00/0:00
// Prelude and Fugue in C major BWV 846 — Johann Sebastian Bach
// 60 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4137556; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 35 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(60/4)

// 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 · "Piano, lower"
const piano = note("<A B C A@2 B C D E F G H I J K L M N O P Q R S T U N@2 V U N@2 W X Y Z>".pickRestart({
  A: "~ e4@7 ~ e4@7, c4!2", B: "~ d4@7 ~ d4@7, c4!2", C: "~ d4@7 ~ d4@7, b3!2", D: "~ c4@7 ~ c4@7, b3!2",
  E: "~ c4@7 ~ c4@7, a3!2", F: "~ a3@7 ~ a3@7, d3!2", G: "~ b3@7 ~ b3@7, g3!2", H: "~ a#3@7 ~ a#3@7, g3!2",
  I: "~ a3@7 ~ a3@7, f3!2", J: "~ g#3@7 ~ g#3@7, f3!2", K: "~ g3@7 ~ g3@7, e3!2", L: "~ f3@7 ~ f3@7, e3!2",
  M: "~ f3@7 ~ f3@7, d3!2", N: "~ d3@7 ~ d3@7, g2!2", O: "~ e3@7 ~ e3@7, c3!2", P: "~ g3@7 ~ g3@7, c3!2",
  Q: "~ f3@7 ~ f3@7, f2!2", R: "~ c3@7 ~ c3@7, f#2!2", S: "~ f3@7 ~ f3@7, g#2!2", T: "~ f3@7 ~ f3@7, g2!2",
  U: "~ e3@7 ~ e3@7, g2!2", V: "~ d#3@7 ~ d#3@7, g2!2", W: "~ c3@7 ~ c3@7, c2!2", X: "~ c3@14 ~, c2@15 ~",
  Y: "~ b2@14 ~, c2@15 ~", Z: "[c2,c3]@15 ~",
})).s("gm_piano").gain(0.5)

stack(piano)

More by Johann Sebastian Bach