Strudelify
Brandenburgisches Konzert Nr. 1 F-Dur, BWV 1046: IV. Menuet - Trio - Menuet - Polonaise - Menuet - Trio - Menuet cover art

Brandenburgisches Konzert Nr. 1 F-Dur, BWV 1046: IV. Menuet - Trio - Menuet - Polonaise - Menuet - Trio - Menuet

Bach Johann Sebastian

KeyG majorTempo136 bpm
0:00/0:00
// Brandenburgisches Konzert Nr. 1 F-Dur, BWV 1046: IV. Menuet - Trio - Menuet - Polonaise - Menuet - Trio - Menuet — Bach Johann Sebastian
// 136 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: Full arrangement: all 81 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(136/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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.

// other · piano · "A.PIANO 1"
const piano = note(`<
  A@5 B C D@5 E F G H I J@2 K L M N O@7 P@3 Q R S@3 T@2 U@3 V@3 W X@2 Y@3 Z AA AB AC AD AE AF AG AH AI AJ@2 AK AL AM
  AN@6 AO@2 AP AQ AR AS AT ~
>`.pickRestart({
  A: "[g3@16 d3@5 ~@2 g2@4 b2@4 d3@3 ~ g3@4 d3@3 b2@5 g2@15 d3@5 ~@3 g2@4 b2@3 d3@4 g3@4 d3@4 b2@4 ~ c3@4 ~@4 g3@4 ~@4 c3@3 ~@4 b2@3]/5",
  B: "~@6 g3@4 ~@3 b2@2 ~@6 a2@3", C: "~@5 f#3@3 ~@5 g3@4 ~@3 d3@4",
  D: "[e3@4 f#3@4 d3@4 e3@4 f#3@4 g3@16 d3@4 ~@3 g2@4 b2@4 d3@3 g3@4 d3@4 b2@4 g2@15 ~ d3@4 ~@4 g2@4 b2@3 d3@4 g3@4 d3@4 ~ b2@4 c3@4 ~@2]/5",
  E: "~@2 e3@4 ~@4 g3@3 ~@4 b2@5 ~@2", F: "~ d3@4 ~@3 g3@4 ~@4 c3@2 ~@6", G: "d3@3 ~@6 d3@4 ~@4 g3@4 ~@3",
  H: "~ d3@4 ~@4 g2@4 ~@11", I: "~@9 d3@4 ~@8 b2@3", J: "[d3@4 g3@4 d3@4 b2@4 g2@16 ~ d3@3 ~@4 g2@4 b2@4]/2",
  K: "d3@4 g3@4 d3@3 ~ b2@4 c3@4 ~@4", L: "g3@4 ~@5 c3@3 ~@5 b2@4 ~@3", M: "~ g3@4 ~@4 b2@2 ~@13",
  N: "f#3@3 ~@5 g3@4 ~@4 d3@3 e3@4 ~",
  O: "[f#3@3 ~ d3@4 e3@4 f#3@4 g3@15 d3@4 ~@8 b2@3 ~ d3@4 g3@4 d3@4 b2@4 g2@16 d3@4 ~@4 g2@4 b2@4 d3@4 g3@4 d3@3 ~ b2@5 c3@4 ~@3 e3@4 ~@4 g3@4 ~@4 b2@4 ~@4 d3@3 ~@4 g3@4 ~@12 d3@2]/7",
  P: "[~@7 d3@4 ~@4 g3@5 ~@3 d3@5 ~@19 d#3@4 ~@4 b2@4 ~@5 e3@5 ~@3]/3", Q: "b2@4 ~@5 e2@5 ~@3 e3@4 ~@3",
  R: "g3@4 ~@4 b3@3 ~@5 b2@4 d#3@4",
  S: "[f#3@3 b3@5 f#3@3 d#3@4 e3@4 ~@4 g3@4 ~@4 b3@3 ~@5 b2@4 ~@4 a3@4 ~@4 g3@4 ~@4 a3@3 ~@6]/3",
  T: "[~@2 b2 ~ e3@5 ~ b2 ~]/2", U: "[d3@2 ~@5 g3@3 ~@6 c3@3 ~@4 d3@2 ~@6 e3@2 ~@6 a2@3 ~@5 b2@2 ~@23]/3",
  V: "[~@16 f#3@3 d3@4 f#3@4 d3@4 f#3@4 d3@4 g3@4 d3@4 g3@4 d3@4 g3@3 d3@4 f#3@4 ~@4 d3@2]/3",
  W: "~@6 g3@4 ~@3 d3@3 ~ e3@4 f#3@3", X: "[~ d3@4 e3@3 f#3@4 g3@16 d3@4 ~@4 g2@4 b2@4 d3@4]/2",
  Y: "[g3@4 d3@4 b2@4 g2@15 d3@4 ~@4 g2@3 b2@4 d3@4 g3@4 ~ d3@4 b2@4 c3@4 ~@4 e3@3 ~@2]/3",
  Z: "~@3 g3@3 ~@5 b2@3 ~@4 d3@3 ~@3", AA: "~@2 g3@4 ~@4 c3@3 ~@5 d3@3 ~@3", AB: "~@2 d3@4 ~@5 g3@4 ~@4 d3@4 ~",
  AC: "~@5 d#3", AD: "~@4 b2@4 ~@4 e3@5 ~@4 b2@3", AE: "~@13 e3@4 ~@3 g3@4", AF: "~@4 b3@3 ~@5 b2@4 d#3@4 f#3@3 ~",
  AG: "b3@4 f#3@3 ~ d#3@4 e3@4 ~@3 g3@4 ~", AH: "~@3 b3@4 ~@5 b2@4 ~@4 a3@4", AI: "~@4 g3@4 ~@3 a3@2 ~@7 b3@3 ~",
  AJ: "[~@4 b2@3 ~@6 e3@19 ~@6 b2@4 ~@6]/2", AK: "~@6 g3@3 ~@5 c3@4 ~@3 d3@3", AL: "~@5 e3@3 ~@13 b2@3",
  AM: "~@13 d3@5 ~@3 a2@3",
  AN: "[~@15 f#3@3 ~ d3@4 f#3@4 d3@4 f#3@3 ~ d3@4 g3@4 d3@4 g3@4 d3@4 ~@3 d3@5 f#3@4 ~@4 d3@2 ~@6 g3@4 ~@3 d3@4 e3@4 f#3@4 d3@4 e3@4 f#3@4 g3@15 d3@4 ~@4 g2@4 b2@4 d3@3, ~@55 g3@5 ~@84]/6",
  AO: "[~ g3@4 d3@4 b2@4 g2@14 ~ d3@3 ~@5 g2@4 b2@4 d3@4]/2", AP: "g3@4 d3@4 b2@5 c3@4 ~@3 e3@4",
  AQ: "~@4 g3@4 ~@4 b2@4 ~@4 d3@3 ~", AR: "~@4 g3@4 ~@4 c3@3 ~@5 d3@4", AS: "~@6 d3@5 ~@5 g3@7 ~", AT: "~@5 d3@6 ~@13",
})).s("gm_piano").gain(0.36).pan(0.4)

// other · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~@15 A@2 ~@4 B ~@2 C ~@4 D ~ E ~@5 F@2 ~@3 G@2 ~@11 H ~ I ~@5 J ~ K L M ~@11 N@2
>`.pickRestart({
  A: "[~@17 g3@16 ~@8 g2@4 ~@3]/2", B: "~@16 a2@3 ~@5", C: "~@15 g2@4 ~@5", D: "~@7 c3 ~@4", E: "~@4 g2@3 ~ e3@2 ~@2",
  F: "[~@23 b3@4 ~@21]/2", G: "[~@7 c3@3 ~@5 d3@4 ~@4 a2@2 ~@7 d2@4 ~@12]/2", H: "~@4 g2@5 ~@3 e3@5 ~@7",
  I: "~@5 e2@4 ~@15", J: "~@11 d3", K: "~@13 a2@4 ~@7", L: "~@5 c3@3 ~@16", M: "~@3 d2@2 ~@7", N: "[~@18 g2@13 ~@17]/2",
})).s("gm_piano").gain(0.21).pan(0.4)

stack(piano, piano_soft)

More by Bach Johann Sebastian