Strudelify
KeyA majorTempo109 bpm
0:00/0:00
// Gavotte — Bach Johann Sebastian
// 109 bpm, 2/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 1 "A.PIANO 1" piano (copy of ch 2 "A.PIANO 1" piano)
// note: Full arrangement: all 34 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(109/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.

// chords · piano · "A.PIANO 1"
const piano = note("<A B C D E F G@2 H I J@3 K@4 A B C D E F G@2 H I J@3 K@4>".pickRestart({
  A: "~@7 b4@4 ~ e5@4", B: "[a2,c#5] ~ [e3,a3,a4] ~ [d3,e4] ~ [g#3,b4] ~",
  C: "~ c#3@2 ~ [e3,a3]@2 ~@3 b4@2 ~ [b3,e4,e5]@2 d5@2, a4@6 ~@2 g#3@2 ~ c#5@2 ~@3", // A5 E5
  D: "[a3,c#5]@2 ~@2 [e4,e5]@2 ~ [b3,d5]@2 ~@4 f#5@2 ~, ~ d5 ~ f#5 ~ e5 g#5 ~, ~@3 c#4@2 ~@6 [d4,g#4]@2 ~@3", // A E Bm Ddim
  E: "c#4@3 ~ [e4,a4]@2 ~@2 [c#4,e5]@4 [e4,a4]@2 ~@2, e5@7 ~@5 a5@4", // A5 C#m A5
  F: "[d4,g#5] a5 g#5 a5 [e4,b4]@2 f#5@2 [c#4,e5]@3 ~ [e4,a4]@2 ~@2, ~@4 g#5 ~@6 a5@3 ~@2", // Ddim E5 C#m A5
  G: "[g#5 a5 g#5 a5 ~ f#5@2 [c#4,e5]@2 ~@2 [e4,a4,a5]@3 ~ [g#3,c#5,e5]@2 f#5 ~ [b3,e4,d5]@2 ~@2 [a3,b4,d5]@2 ~@2 [e4,a4,c#5]@2 ~@3, d4@2 ~ [e4,b4]@2 ~@27, ~@2 g#5 ~@10 e5 ~@2]/2", // C#m A5 C#m E7 Bm7 A E5
  H: "e3@4 e4@2 ~@2 [g#4,b4]@3 ~ e5@4, g4@11 ~@5, a#4 ~", I: "[a2,c#5] ~ [e3,a3,a4] ~ [d3,e4] ~ g#3 ~, ~@11 b4@2 ~@3",
  J: "[~@4 [e3,a3]@3 ~ [g#3,b4]@2 ~ [b3,e4,e5]@2 ~@2 [a3,c#5]@2 d5 ~ [c#4,e4,e5]@2 f#5@2 ~@2 e5@2 [d4,g#4,g#5]@2 f#5@2 ~ c#4@4 [e4,a4]@2 ~@2 [c#4,e5]@3 ~ [e4,a4]@4, [c#3,a4]@7 ~@3 c#5@2 ~@2 d5@2 ~@7 d5@2 ~@6 e5@7 ~@5 a5@4 ~, ~@12 b3 ~@11]/3", // A5 G#m E5 A C#m Ddim A5 C#m …
  K: "[g#5 a5 g#5 a5 g#5 f#5@2 [c#4,e5]@4 [e4,a4,a5]@3 ~ g#5 a5 g#5 ~@3 f#5@2 [c#4,e5]@3 ~ [e4,a4,a5]@3 ~ c#5@3 ~ c#5@2 e5@2 ~ [e3,g#3,d4]@2 ~@2 b4 c#5@2 ~ [c#4,a4]@6 ~@2 [a2,c#3,e3,a3,a4,c#5,e5,a5]@8, d4@2 ~ e4@2 ~@10 d4@3 a5@2 g#5@2 ~@42, ~@19 [e4,b4]@2 ~@18 b4@3 ~@5 a3@6 ~@11]/4", // C#m A5 C#m A5 E7 F#m A E5
})).s("gm_piano").gain(0.33)

stack(piano)

More by Bach Johann Sebastian