Strudelify

Partita in C minor BWV 826

J. S. Bach

KeyE♭ majorTempo104 bpm
0:00/0:00
// Partita in C minor BWV 826 — J. S. Bach
// 104 bpm, 2/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1752801; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 192 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(104/2)

// 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.

// other · viola
const viola = note(`<
  A B C D E F G H I J K L M N O P Q R S ~ T U ~@5 V W X V Y Z AA AB AC AD AE AF@2 AG AH AI AJ AK AL AM AN A B C D E F G
  H I J K L M N O P Q R S ~ T U ~@5 V W X V Y Z AA AB AC AD AE AF@2 AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW
  AX AY AZ BA BB BC BD@2 BE@2 BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS@6 BT BU BV BW E BX BY BZ@2 CA AO AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD@2 BE@2 BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS@6 BT BU BV BW E BX BY BZ@2 CA
>`.pickRestart({
  A: "eb3@4 ~@2 eb3 ~", B: "f3@5 ~@7 b3@4", C: "c4@3 b3", D: "c4 ~@3", E: "~@2 d4 ~ g4@4", F: "~@2 a4 g4 gb4 e4 d4 c4",
  G: "bb3 ~ d5 ~ a3 ~ c5@2", H: "c5 bb4 a4 c5 bb4 a4 g4 f4", I: "eb4 c4 ~ gb4", J: "g4 ~@2 a4",
  K: "bb4 d5@3 bb4 db5 c5 db5", L: "bb4 db5@3 bb4 c5 bb4 c5", M: "ab4 c5@3 ab4 c5 bb4 c5",
  N: "ab4 bb4@3 ab4 bb4 ab4 bb4", O: "g4 ~@3", P: "~@2 eb4 f4 g4 a4 b4 c5", Q: "d5 ~@7", R: "~@2 d4 eb4 f4 g4 a4 bb4",
  S: "c5 ~@7", T: "~ c5@2 b4", U: "eb5 ~", V: "~ g3 gb3 g3 d3 g3 gb3 g3", W: "c3 g3 gb3 g3 a3 g3 gb3 e3",
  X: "d3 ~ g3@4 gb3@2", Y: "bb3 g3 e4 bb3 g4 bb3 ab3 g3", Z: "ab3 f3 e3 f3 c3 f3 e3 f3",
  AA: "ab3 f3 d4 ab3 f4 ab3 g3 f3", AB: "g3 ~ bb3 ~ eb4@4", AC: "~@2 f4 eb4 d4 c4 bb3 ab3", AD: "g3@4 ~@2 c4 ~",
  AE: "f4@5 ~@11", AF: "[~@2 eb3@2 f3@2 g3@4 g3 ~ c4@4]/2", AG: "~@2 c4 d4 eb4 f4 g4 ab4", AH: "bb4 ~ f3 ~ bb3@4",
  AI: "~@2 bb3 c4 d4 eb4 f4 g4", AJ: "ab4 ~ g3@2 f3@2 e3@2", AK: "f3 ~ f4@2 e4@2 g4@2 f4@2 eb4@2 d4@2 c4@2",
  AL: "b3@2 ~ eb4", AM: "c4", AN: "b3", AO: "b3@4 ~@2 d4 ~", AP: "g3 c4@2 b3", AQ: "~ g3 ab3 g3 ~ f3 g3 f3",
  AR: "eb3@2 g4 ~ c4@4", AS: "~@2 bb3 c4 d4 e4 f4 g4", AT: "ab4 ~ f3 ~ bb4 ~ g3 ~", AU: "c5 db5 c5 bb4 ab4 g4 f4 eb4",
  AV: "d4 c4 d4 eb4 f4 g4 ab4@2", AW: "~ c5 bb4 ab4 g4 f4 eb4 d4", AX: "c4 b3 c4 d4 eb4 f4 g4@2",
  AY: "~ bb4 ab4 g4 f4 eb4 d4 c4", AZ: "b3 ~@3", BA: "~@3 d5", BB: "g4 f4", BC: "eb4 d4",
  BD: "[eb4@4 eb5@2 ~@2 b4@2 ~@2 d5@15 ~ c5@2 bb4@2]/2", BE: "[a4@12 c5@15 ~ bb4@2 ab4@2]/2", BF: "g4 ~",
  BG: "~ bb4 a4 g4", BH: "gb4@2 a4 ~ d4@4", BI: "~@2 c4 d4 e4 gb4 g4 a4", BJ: "bb4 ~ g3 ~ c5 ~ a3 ~", BK: "d5@6 c5 ~",
  BL: "gb4@2 ~@2 bb4@5 ~@3 a4@4", BM: "~ gb4 g4 a4", BN: "d4 ~@4 eb5 d5 c5", BO: "b4@2 d5 ~ g4@4",
  BP: "~@2 f4 g4 a4 b4 c5 d5", BQ: "eb5 b3 c4 d4 eb4 f4 g4 ab4", BR: "bb4 ab4 g4 ab4 bb4 c5 d5 e5",
  BS: "[f5@2 e5 f5@7 e5 f5@7 d5 eb5@7 d5 eb5@7 c5 d5@7 c5 d5@5]/6", BT: "c5 bb4 ab4 g4", BU: "f4@4 ~ c5 b4 d5",
  BV: "g4@2 ~ eb5", BW: "c5@5 ~@11", BX: "~@2 ab4 g4 f4 eb4 d4 c4", BY: "b3@4 ~@2 d5 ~",
  BZ: "[g4 b4 c5 ab4 ~@3 b4, ~@3 d5@2 c5@2 ~, ~@2 g4 f4]/2", CA: "eb4",
})).s("gm_viola").gain(0.3)

// other · cello · "Violoncello"
const cello = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC G AB AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT A
  B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC G AB AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
  AV AW AX AY AZ BA BB C P Q BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY U BZ CA CB CC T CD CE
  CF CG CH CI CJ CK AU AV AW AX AY AZ BA BB C P Q BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY U
  BZ CA CB CC T CD CE CF CG CH CI CJ CK
>`.pickRestart({
  A: "c3@4 ~@2 c3 ~", B: "d3@5 ~@11", C: "~ eb3 f3 g3", D: "c3 ~ c4@2 bb3@2 a3@2", E: "g3@4 ~@2 g3 ~", F: "a3@5 ~@11",
  G: "~ bb2 c3 d3", H: "g2 ~ d3 ~ g3@4", I: "~@2 a3 g3 gb3 e3 d3 c3", J: "bb2 ~ d4 ~ a2 ~ c4 ~",
  K: "g2 ~ bb3 ~ f2 ~ ab3 ~", L: "e2 ~ g3 ~ c2 ~ e3 ~", M: "f2 ~ ab3 ~ eb2 ~ g3 ~", N: "d2 ~ f3 ~ bb2 ~ d3 ~",
  O: "eb2 ~ eb3@2 f3@2 g3@2", P: "ab3 ~@7", Q: "~ d3 eb3 f3", R: "g3 ~@7", S: "~@2 g3 ~ c4@4",
  T: "~@2 d4 c4 b3 a3 g3 f3", U: "eb3 ~ g4 ~ d3 ~ f4 ~", V: "c3 ~ eb4 d4 c4 ~ eb4 ~", W: "a3 ~ c4 ~ f3 ~ a3 ~",
  X: "bb2 ~ d4 c4 bb3 ~ d4 ~", Y: "g3 ~ bb3 ~ eb3 ~ g3 ~", Z: "a2 ~ c4 bb3 a3 ~ c4 ~", AA: "gb3 ~ a3 ~ d3 ~ gb3 ~",
  AB: "g2 ~ bb2 ~", AC: "a2 ~ c3 ~", AD: "~@2 c3 ~", AE: "f3 ~ ab2 ~", AF: "~@2 bb2 ~", AG: "~ f3 eb3 d3 c3 bb2 ab2 g2",
  AH: "f2 ~ eb3@2 d3@2 c3@2 bb2@2 ab2@2 g2@2 f2@2", AI: "eb2 ~ d3@2 c3@2 bb2@2 ab2@2 g2@2 f2@2 eb2@2",
  AJ: "d2 ~ c3@2 bb2@2 ab2@2 g2@2 f2@2 eb2@2 d2@2", AK: "c2 ~ c3@4 b2@2", AL: "c3@4 ~ c3 d3 eb3", AM: "f3 ~@7",
  AN: "bb2@4 ~ bb2 c3 d3", AO: "eb3 ~@7", AP: "~ ab2 bb2 c3", AQ: "f2@2 ~@2 c3@2 ~@2 f3@7 ~",
  AR: "~ eb3 d3 f3 eb3 d3 c3 bb2", AS: "ab2@2 ~@2 g2@2 ~@2 bb2 ab2 g2 ab2@5", AT: "g2", AU: "g3@4 ~@2 f3 ~",
  AV: "eb3 d3", AW: "c3 ~ d3 ~", AX: "eb3@2 ~ e3", AY: "f3@2 bb3 c4", AZ: "f4 ~@3 g4 ~@3", BA: "ab4 f3 g3 a3",
  BB: "bb3 ~@7", BC: "g3@2 d3 ~ g2@4", BD: "~@2 f2 g2 a2 b2 c3 d3", BE: "eb3 ~ c2 ~ f3 ~ d2 ~",
  BF: "g3 ~ eb2 ~ ab3 ~ f2 ~", BG: "g3 g2 g3 ab3 g3 f3 eb3 d3", BH: "c3 g3 c4 d4 c4 bb3 a3 g3",
  BI: "f3 f2 f3 g3 f3 eb3 d3 c3", BJ: "bb2 f3 bb3 c4 bb3 ab3 g3 f3", BK: "eb3 eb2 eb3 f3 eb3 d3 c3 bb2",
  BL: "a2 g2 a2 bb2 c3 d3 eb3 c3", BM: "d3 c3 d3 e3 gb3 g3 a3 gb3", BN: "g3 ~ eb3 ~ c3 ~ d3 ~", BO: "g2 ~ eb3 ~",
  BP: "g2 g3 gb3 g3 c3 a3 gb3 g3", BQ: "d3 bb3 gb3 g3 eb3 c4 gb3 g3", BR: "gb2 eb3 d3 c3 bb2 a2 g2 gb2",
  BS: "g2 f2 eb2 d2 c2 ~ d2 ~", BT: "g2 gb2 g2 a2 b2 c3 d3 eb3", BU: "f3 eb3 d3 eb3 f3 g3 a3 b3", BV: "c4@2 ~@4 c4 ~",
  BW: "e3 ~@5 c4 ~", BX: "f3 ~ ab4 ~ eb3 ~ g4 ~", BY: "d3 ~ f4 ~ bb2 ~ d4 ~", BZ: "c3 ~ eb4 ~ ab2 ~ c4 ~",
  CA: "d3 ~ f4 ~ c3 ~ eb4 ~", CB: "b2 ~ d4 ~ g2 ~ b3 ~", CC: "c3 ~ g3 ~ c4@4", CD: "eb3 d3 c3 d3 eb3 f3 g3 eb3",
  CE: "ab3 g3 f3 g3 ab3@4", CF: "~ ab3 g3 f3 eb3 d3 c3 bb2", CG: "ab2 ~ g3@2 f3@2 eb3@2 d3@2 c3@2 b2@2 a2@2",
  CH: "g2 ~ eb3@2 d3@2 c3@2 b2@2 a2@2 g2@2 f2@2", CI: "eb2 ~ ab2@2 g2@2 f2@2 eb2@2 d2@2 eb2@2 f2@2",
  CJ: "g2 c3 eb3 gb3 g3 ~ g2 ~", CK: "[c2,c3]",
})).s("gm_cello").gain(0.3)

stack(viola, cello)

More by J. S. Bach