Strudelify

TwoPart Invention in A minor

Bach Johann Sebastian

KeyA minorTempo92 bpm
0:00/0:00
// TwoPart Invention in A minor — Bach Johann Sebastian
// 92 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 26 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(92/4)

// 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 H I J K L M N O P Q R S T U V W X Y@2>".pickRestart({
  A: "a2 e4 a4 c5 b4 e4 b4 d5 [a3,c5] e3 [a3,e5] c4 [b3,g#4] e3 [b3,e5] d4, ~ a3@2 g#3 ~@4", // Am A5 E E5
  B: "[c4,a4] e4 [a3,a4] c5 [g#3,b4] e4 [e3,b4] d5 [a3,c5] e3 a3 c4 b3 ~ b3 d4, ~@10 a4@2 ~ e3@2 ~", // F A G#m E5 Am
  C: "c4 e5 [a3,c5] e5 [c4,a4] c5 [a3,e4] g4 [d4,f4] a3 [f3,a4] a3 [d3,d5] f3 a2 c3, ~@7 f5", // Am F A5 Dm F D
  D: "b2 d5 [d3,b4] d5 [g3,g4] b4 d4 f4 e4 g3 [e3,g4] g3 [c3,c5] e3 g2 b2, ~@6 b3@3 ~@5 e5@2", // G Em C
  E: "a2 c5 [c3,a4] c5 [d3,f4] f3 b2 d3 g2 b4 [b2,g4] b4 [c3,e4] e3 a2 c3, ~@6 d5@3 ~@5 c5@2", // F Dm Em C
  F: "f2 a4 [d2,f4] a4 g2 g3 [f3,b4,c5] [g3,b4] c3 g3 c4 e4 d4 g3 d4 f4, ~@2 d4 ~ c5 ~@3", // Dm F G
  G: "e4 g4 [c4,c5] e5 [b3,d5] g4 [g3,d5] f5 [c4,e5] g3 [c4,g5] e4 [d4,b4] g3 [d4,g5] f4", // C Bm G5 C C5 G G5
  H: "[e4,c5] g4 [c4,c5] e5 d5 g4 d5 f5 e5 g4 [e4,c5] g4 [c4,g5] e4 [g3,e5] b3", // C C5 C
  I: "[a3,c6] a5 [c4,e5] a5 [e4,c5] e5 [g4,a4] c5 [f#4,d5] a4 [d4,f#5] f#4 [a3,a5] d4 [f#3,c6] a3", // Am C Gsus2 D A F#dim
  J: "[g3,b5] g5 [b3,d5] g5 [d4,b4] d5 [f#4,g4] b4 [e4,c5] g4 c4 e4 [g3,g5] c4 [e3,b5] g3, ~@5 e5 ~@2", // G Bm G Gmaj7 C G E5
  K: "a5 f#5 [a3,d#5] f#5 [b3,b4] d#5 [d#4,f#4] a4 g4 e4 c4 e4 a3 [c4,e5] [e4,c5] [g4,e5], f#3@2 ~@8 g5@3 ~@3", // Adim B D#m C
  L: "[f#4,a4] d4 b3 d4 g3 [b3,d5] [d4,b4] [f#4,d5] [e4,g4] c4 a3 c4 f#3 [a3,c5] a4 c5, ~@2 f#5@3 ~@5 e5@3 ~ c4@2", // F#m Bm G D Em Am
  M: "f#4 [b3,g5] [c4,f#5] [a3,e5] d#5 f#5 [b2,b4] d#5 e3 e4 b3 g3 e3 b2 g2 b2, ~@2 b3 ~ e5 ~@3", // Em Cdim A5 B
  N: "e2 g5 [e3,a#5] g5 [g3,e5] g5 [a#3,c#5] e5 g5 e5 c#5 e5 a4 g4 f4 e4, ~@4 c#3 ~@3", // Edim C A#m
  O: "d4 f5 [d3,a5] f5 [f3,d5] f5 [g#3,b4] d5 f5 d5 b4 d5 g4 f4 e4 d4, ~@4 b2 ~@3", // D5 Dm G#m
  P: "c4 e5 [c3,g5] e5 [e3,c5] e5 [f#3,a4] c5 d#5 c5 a4 c5 f#4 e4 d#4 c#4, ~@4 a2 ~@3", // C5 C F#m
  Q: "b3 d5 [b2,f5] d5 [d3,b4] d5 [f3,g#4] b4 d5 b4 g#4 b4 e4 d4 c4 b3, ~@4 g#2 ~@3", // Bdim G Fm
  R: "c4 e4 [a3,a4] c5 [g#3,b4] e4 [e3,b4] d5 [a3,c5] e3 [a3,a4] c4 [b3,g#4] e3 [b3,e4] d4", // A G#m E5 Am A E E5
  S: "[c4,a4] [e4,c5] [a4,e5] [e4,c5] [c4,a4] [e4,c5] [a3,f#4] [c4,a4] [f#3,c5] [a3,a4] [c4,f#4] [a3,a4] [f#3,d#4] [a3,c5] [d#3,b4] [f#3,a4]", // F C A5 C F C D F …
  T: "[e3,g#4] b4 [g#3,d5] b4 [b3,g#4] b4 [g#3,d4] f4 [e3,g#4] f4 [b2,d4] f4 [g#2,b3] f4 [e2,e4] d4", // E G#dim E G#dim E Bm G#m E
  U: "[a2,c4] e4 [c3,a4] e4 [e3,c4] e4 [c3,a3] c4 [a2,d#4] c4 [c3,a3] c4 f#3 c4 b3 a3, ~@6 d#2 ~", // Am F C F Adim F
  V: "g#3 b3 g#3 e3 [d3,g#4] b3 [g#3,e4] d3 c3 e4 [e3,a4] c5 [g#2,b4] e4 [e3,b4] d5, ~ b4 ~@6", // Ddim C#m A5 G#m E5
  W: "[a2,c5] a4 [f#3,c5] e5 [b2,d5] b4 [g#3,d5] f5 [c3,e5] c5 [a3,e5] g5 [d3,f5] e5 [a#3,d5] c5", // Am F#dim Bm G#dim C A5 Dm A#
  X: "[g#3,b4] c5 [f3,d5] e5 [d3,f5] d5 [b2,g#5] d5 [g#2,b5] d5 [a2,c5] a5 [d2,f5] d5 [e2,b4] d5", // G#m Dm E G#m Am Dm E5
  Y: "[[f2,g#4] b4 c5 a4 [e2,e4] a4 [e3,b4] g#4 a4 ~ e4 ~@2 a3@5 ~@14, ~ d#2 ~@2 a2@5 ~@7, ~@11 c4@2 ~@19, ~@6 e4 ~@9]/2", // Fm E E5
})).s("gm_piano").gain(0.25)

stack(piano)

More by Bach Johann Sebastian