Strudelify

Händel sonata IV pour flüte et clavier

G.F. Handel

KeyF majorTempo75 bpm
0:00/0:00
// Händel sonata IV pour flüte et clavier — G. F. Händel
// 75 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 at bar 1, 4/4 at bar 2, 7/8 at bar 15, 1/8 at bar 15, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5097745; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 57 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(75/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// 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 B C D E F G H I J K L M N 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 O P Q R S T U V W X Y Z AA AB
>`.pickRestart({
  A: "~ f3 a3 f3 [bb3,d4,bb4] [f3,c4,a4] a3 f3, ~ [c4,a4]@3 f4@2 [f4,c5]@2", // Bb F F5
  B: "e3 c3 e3 c3 [f3,f4] [c3,e4,g4] e3 c3, [g4,c5]!2 [a4,c5] [g4,c5]", // F C C5 Am C5
  C: "[f3,a4,c5] [c3,g4,e5] [d3,f4] bb2 c3 [g3,bb4] [a3,a4] [e3,g4], ~ d5 [e4,c5] [f4,c5], ~@3 g4@2 ~@3", // F C Dm Gm A Em C F5
  D: "[f3,f4,c5] [c4,e4,e5] [d4,a4] bb3 c4 [g3,bb4] [a3,f4] [e3,g4,bb4], a4 [f4,d5] [e4,c5] ~, ~@3 g4@2 ~ c5@2", // F5 C D5 Gm Dm Edim Dm C
  E: "[f3,f4,a4,c5] [bb2,f4,bb4,d5] c3 c2 f2 f3 a3 [f3,f4,a4,c5], ~ [e4,g4,c5] [c4,f4,a4] ~", // F Bb F C F
  F: "e3 d3 [e3,g4,c5] [c3,g4,c5,e5] d3 f3 g3 f3, [g4,c5] ~ [f4,a4,d5] [d4,g4,b4]", // C C5 Dm G
  G: "e3 c3 [f3,d4] [d3,f4] g3 a3 [b3,d5] [g3,b4], [e4,g4,c5] [a4,d5] [d4,g4,b4] [d4,g4]", // Dm Bm G C D5 G G5
  H: "c4 c3 d3 d4 e4 d4 [e4,g4,c5] [c4,g4,c5,e5], [e4,g4,c5] [f4,b4] [g4,c5] ~", // C Fdim C5
  I: "[f3,a4,d5]@2 ~ [d3,a4,d5,f5] [g3,g4,b4,d5]@2 ~ [e3,b4,e5,g5]", // Dm G Em
  J: "[a3,a4,c5,e5]@2 ~ [a2,a4,c5,e5] d3 d4 b3 g3, ~@2 [f4,a4,d5] [f4,g4,d5]", // Am Dm G7
  K: "c4 e3 [f3,a4,c5] [g3,g4,b4] [a3,c4,f4,c5] [d4,f4,c5] [g3,f4,b4] [b3,f4,g4,d5], [e4,g4,c5] ~@3", // F G F Dm7 G7 C
  L: "[c4,e4,g4,c5] [f3,d4,a4,d5] g3 g2 [a2,c4] [d3,d4] [g2,f4,b4] [b2,f4,g4,d5], ~ [d4,g4,b4] [f4,c5] ~", // C Dm Am D G7 G F5
  M: "[c3,e4,g4,c5] [f3,d4,a4,d5] [g3,b4] [g2,d5] a2 a3 b3 b2, ~ [d4,g4] [e4,a4,c5] [d4,g4,d5]", // C Dm G G5 Am G5
  N: "[c3,e4,g4,c5] [f3,f4,a4,c5] g3 g2 [c3,e4,g4,c5]@3 ~, ~ [d4,g4,b4] ~@2", // C F C G
  O: "~ c3 e3 c3 [f3,a4,f5] [c3,g4,e5] [e3,g4] [c3,a4], ~ [g4,c5,e5]@3 c5@2 c5@2", // F C Em F C
  P: "[g2,g4] [a2,gb4] [bb2,g4,bb4,d5] [c3,a4,e5] d3 a3 [bb3,g4] [gb3,a4], [bb4,d5] ~ [gb4,a4,d5] d5", // G D Gm Am Eb Gbm Bb D
  Q: "[g3,bb4] [d4,gb4] [eb4,g4,c5] [gb3,d4,a4,c5] [c4,g4] [a3,a4] [gb3,a4] [d3,gb4], d5 ~ [eb4,c5] [d4,c5]", // Gm D Cm D7 C5 A Gbm D …
  R: "[g3,g4,bb4] [c4,g4,a4,eb5] d4 d3 g3 a3 [bb3,d5] [g3,bb4], ~ [gb4,a4,d5] [g4,bb4,d5] [d4,g4]", // Gm Am7b5 Bb Gm D Gm G5
  S: "e3 d3 [e3,g4,c5] [c3,g4,c5,e5] [f3,a4,c5,f5]@2 ~ [a2,f4,c5,f5], [g4,c5] ~@3", // C F C5
  T: "bb2 a2 g2 bb2 c3 c4 a3 f3, [f4,bb4,d5] [g4,bb4,d5] [e4,g4,c5] [f4,a4,c5]", // Bb Gm C F
  U: "[bb3,f4,bb4,d5]@2 ~ [bb2,d4,g4,d5] [c3,e4,g4,c5]@2 ~ [c3,a4,e5]", // Bb Gm C Am
  V: "[f3,a4,c5,f5]@2 ~ [g3,g4,bb4,d5] [e3,g4,c5,g5]@2 ~ [c3,g4,c5,e5]", // F Gm C
  W: "[f3,a4,c5,f5]@2 ~ [d3,a4,d5,f5] [e3,g4,c5,g5]@2 ~ [a3,a4,c5,e5]", // F Dm C Am
  X: "[d4,f4,bb4,d5] [a3,f4,c5] [bb3,f4] [g3,bb4] [c3,g4] [d3,f4] [e3,g4] [c3,e4], ~ d5 [bb4,c5]@2", // Bb F Bb5 Gm C5 Dm Em C …
  Y: "[f3,f4,a4,c5] [bb3,d4,d5] [c4,e4] [c3,a4] d3 g3 [c3,e4] [e3,g4], ~ c5 bb4@2, ~@2 f4 ~", // F Bb C F C Em
  Z: "f3 a2 [bb2,f4,d5] [c3,e4,e5] d3 g3 [c3,e4] [e3,g4], [c4,f4,a4] g4 [f4,bb4,d5] [bb4,c5]", // Bb C Em F Bb Bbsus2
  AA: "[f3,a4,c5] [bb3,bb4,d5] c4 c3 d3 f3 [e3,c5] [c3,bb4], ~ [g4,e5] [f4,a4,d5] g4", // F Bb C C7 C Dm
  AB: "f3 a2 [bb2,d4,f4] [c3,c4,e4] [f2,c4,f4,a4]@3 ~, [c4,f4,a4] g4 ~@2", // Bb C F
})).s("gm_piano").gain(0.3)

stack(piano)

More by G.F. Handel