Strudelify

Air on the G string (D major)

Johann Sebastian Bach

KeyD majorTempo52 bpm
0:00/0:00
// Air on the G string (D major) — Johann Sebastian Bach
// 52 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4920340; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 36 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(52/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
const piano = note("<A@2 B C D@2 A@2 B C E F G H@3 I@2 J@2 K@2 L M G H@3 I@2 J@2 K@2 L M>".pickRestart({
  A: "[d3 ~ d4 ~ c#4 ~ c#3 ~ b2 ~ b3 ~ a3 ~ a2 ~ g2 ~ g3 ~ g#3 ~ g#2 ~ a2 ~ a3 ~ g3 ~ g2 ~, [f#4,a4,d5]@8 [f#4,a4,d5]@11 ~ [e4,b4]@4 [e4,a4]@8]/2", // D E5 A5
  B: "e4@2 [f#3,c5] b4 c5@2 [e2,a5] c5 [f#4,b4]@2 d#3 ~ b2 ~ b3 ~, f#2 ~ d#4@4 a4@2 ~@8, ~@4 e3 ~@3 d#2 ~@7", // F#dim A5 B5
  C: "[f#4,a4]@2 [e3,e5] d5 [d3,e5] f#5 g5 e5 [e4,a4]@2 c#3 ~ a2 ~ a3 ~, e2 ~ b4@4 [d2,g4]@2 c#2 ~@7", // F#m E Dsus2 A5 G5
  D: "[d3 ~ d4 ~ c#4 ~ d4@2 f#4@2 [b3,g#4] a4 [b3,b4]@2 g#4@2 a4@2 f#4@2 b3@2 [e4,g#4]@2 a2 b2 c#3 d3 e3 g3 f#3 e3, a4@9 ~ d4@2 g#3 ~ e4@4 a4@4 ~@2 [c#4,e4,a4]@8, f#4@6 c#3 ~ b2 ~@5 e3 ~ a3 ~ d3 ~ e3 ~ e2 ~@9]/2", // E B E A
  E: "d3 ~ d4 ~ c#4 ~ d4@2 f#4@2 [b3,g#4] a4 [b3,b4]@2 [e4,g#4]@2, a4@9 ~ d4@2 g#3 ~ e3 ~, f#4@6 c#3 ~ b2 ~@7", // E B E
  F: "[e4,a4] f#4 b3 [e4,g#4] [a2,c#4,e4,a4]@4, a3 ~ a4@4 ~@10, ~@2 d3 ~ e3 ~ e2 ~@9", // A5 E A
  G: "a2 ~ a3 ~ g3 ~ g2 ~ f#2 b4 [f#3,d#4] e4 e3 b4 [e2,a4] g4, [e4,a4]@9 ~ c5@2 f#4@4", // D#m A5
  H: "[[d#2,f#4] g4 [d#3,a4] f#4 d#4@2 [b4,d#5]@2 e3 ~ e4 ~ d4 ~ d3 ~ c#3 d4 [c#4,e4] f#4 [b3,g4] e4 [b2,g4] e4 a#2 d5 [b2,e4,c#5] [d4,b4] [c#3,a#4] b4 c#5@2 b4@2 [g3,e4] d4 [e4,b4]@2 [f#3,f#4] e4 b2 ~ b3 ~ a3 ~ a2 ~, ~@4 f#3 ~ b2 ~ e5@16 ~@6 a2 ~ b2 ~@3 e3 ~@11, ~@4 b4@4 ~@4 f#4 ~ c#4 f#4@2 b4 ~ a#4 [d4,f#4,b4]@4]/3", // D#m D#dim B C#m Em C#m7 G F# …
  I: "[[b3,e4]@2 b4@2 [f#3,f#4,a4] g#4 a4@2 [b3,g#4]@2 [e3,e4] f#4 [d3,g#4] a4 d2 ~ c#2 ~ e4@2 f#4@2 [e4,g#4]@2 e4@2 a3 d4 [g3,c#4] d4 [g2,e4] c#4, g#2 ~ g#3 ~@3 f#2 ~ e2 ~@3 e4@6 c#3 ~ d3 ~ e3 ~ a2 ~@7, ~@7 b4@2 c#5@2 ~ a4@4]/2", // E5 F#m E Ddim E Gdim C
  J: "[[d4,a4]@2 [f#3,b4] c5 [g3,b4] c5 g2 ~ g#2 ~ [g#3,c5] b4 [a3,c5] d#5 a2 ~ a#2 ~ [a#3,d#5] c#5 [b3,d#5] e5 [d5,f#5]@2 e3 d5 [e4,e5] b4 [d4,e4] b4 [d3,g4] e4, f#2 ~ d4@4 [b4,d5]@4 e4@4 [c5,e5]@4 f#4@4 b2 ~ [g4,b4]@2 ~@6]/2", // D5 B5 G G# Am D#5 B D …
  K: "[[c#3,e4] c#4 e4 a4 [f#4,c#5]@2 e4@2 d4 ~ [d3,c#5] d5 b2 ~ b3 ~ b3 ~ [e4,g4]@2 a2 ~ a3 ~ g3 ~ g2 ~ f#2 ~ f#3 ~, a4@2 g4@2 a3 ~ a4@4 ~@10 [f#4,a4]@4 [d4,g4]@8, ~@6 c#4 ~@5 [d4,a4]@6 b2 ~@13]/2", // C#m F#5 Dmaj7 Em F#m G5 D5
  L: "[e3,e4] b3 [e2,e4] g4 [d2,b4] a4 [d3,g4] f#4 c#3 d5 [a2,c#5] b4 a4@2 [f#4,b4]@2, ~@2 b4@2 e5@4 e4@2 a4@2 d3 ~ g3 ~", // E G G5 A B5
  M: "a3 ~ g3 ~ [a3,g4] f#4 [a3,g4]@2 [d2,d3,a3,f#4]@8, [f#4,a4]@4 e4@2 a2 ~@9", // A7 D F#m
})).s("gm_piano").gain(0.3)

stack(piano)

More by Johann Sebastian Bach