Strudelify

Sinfonia in B-flat major HWV 347

G.F. Handel

KeyG majorTempo220 bpm
0:00/0:00
// Sinfonia in B-flat major HWV 347 — G.F. Handel
// 220 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/140286; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 144 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(220/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · violin
const violin = note(`<
  A@2 B@7 C@3 D@3 E F@4 G H@2 I@3 J@5 K L@2 M@3 N@5 O P@3 Q@7 ~@4 R S T@2 U V W X Y Z AA@2 AB@2 AC AD@2 AE AF AG AH AI
  AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY@2 AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU
  BV@2 BW BX BY BZ CA CB CC CD CE CF CG CH CI CJ CK@4 CL@6
>`.pickRestart({
  A: "[~@3 b3@18 g4@11]/2",
  B: "[~@2 f#4@4 f#4@13 ~ e4@4 b4@13 b4@4 ~ c#5@13 c#5@4 c#5@13 a#4@4 ~ f#4@13 d#4@4 b3@13 ~ d4@4]/7",
  C: "[e4@18 e4@8 c#4@9 a3@13]/3", D: "[f#4@4 ~ f#4@13 f#4@4 b4@13 ~ b4@4 a4@8]/3", E: "~ a4@9 a4@6",
  F: "[a4@2 g4@7 f#4@2 g4@9 f#4@9 e4@9 c5@8 c5@13 ~ b4@2 a4@2]/4", G: "b4@13 b3@3", H: "[~@2 b3@13 f#4@4 g4@13]/2",
  I: "[g4@4 ~ e4@13 d#4@4 d#4@18 ~@8]/3", J: "[~@10 b3@17 g4@13 f#4@4 ~ f#4@13 e4@4 b4@13 ~ b4@4]/5", K: "c#5@13 c#5@3",
  L: "[~@2 c#5@13 a#4@4 f#4@13]/2", M: "[d#4@4 ~ b3@13 d4@4 e4@18 e4@8]/3",
  N: "[~ c#4@9 a3@13 f#4@4 f#4@13 f#4@4 ~ b4@13 b4@4 a4@9 a4@9]/5", O: "a4@7 a4@2 g4@6 f#4",
  P: "[~@2 g4@8 f#4@9 e4@9 c5@9 c5@11]/3",
  Q: "[~@2 b4@2 a4@2 b4@13 ~ b3@4 b3@13 f#4@4 ~ g4@13 g4@4 e4@13 d#4@4 ~ d#4@35]/7", R: "~@2 e5@2 d5@2 c#5 b4",
  S: "c#5 f#4 c#5 d#5", T: "[e5@2 b4@2 e5@5 f#5 d5 e5 c#5 f#5 e5 f#5]/2", U: "d#5@2 f#4@2 b4@2 a4 g4", V: "a4 f#4@2 e4",
  W: "e4@2 g4@2 a4 b4 c5@2", X: "b4@3 c5 a4@2 f#4@2", Y: "b4@2 g4@3 e4 f#4 g4", Z: "a4 b4 g4 a4 f#4 b4 a4 b4",
  AA: "[g4@2 e4 f#4 g4@8 f#4@4]/2", AB: "[g4 d5 g5@4 f#5@2]/2", AC: "g5 g4", AD: "[f#4@2 d5@3 c5 e4 b4]/2", AE: "~ e5",
  AF: "c#4 d4 ~@2", AG: "~ f#4!3", AH: "b4@3 a4 g4 f#4 e4 d4", AI: "c#4 b4@2 a#4", AJ: "b4@2 d#5@2 ~ d#5!3",
  AK: "e5@2 e4@2 ~ e5 d5 e5", AL: "a4@2 f#4@2 ~ f#5 e5 f#5", AM: "g5@2 e5@2 ~ e5 d5 e5",
  AN: "a4 f#5 e5 f#5 a4 f#5 e5 f#5", AO: "d5@2 e5 d5 c5 b4 a4 c5", AP: "d4 g4 a4@2", AQ: "~@2 a4@2 f#4@2 e4 d4",
  AR: "b4 b3 ~ g4", AS: "f#4@2 a5@2 f#5@2 e5 d5", AT: "b5 b4 ~ g4", AU: "f#4@4 d5@2 c5 b4", AV: "c5 a4 c5 g4",
  AW: "g4@2 g4@3 a4 b4 c5", AX: "a4 d5 c5 a4", AY: "[d4 g4 a4 b4 c5@8 b4@4]/2", AZ: "c5@2 ~@3 a4 b4 c5",
  BA: "d5 e5 c5 d5 b4 e5 d5 e5", BB: "c5@3 b4 a4 e5 d5 c5", BC: "b4@3 b4", BD: "e5 a4 e4 a4", BE: "a4!2 a3 a4",
  BF: "g4 d4!2 f#4", BG: "g4 c4", BH: "~ a4!2 f#4", BI: "b3 f#4", BJ: "e4 d#4 e4 b4", BK: "e4 a4 c#5 f#4",
  BL: "f#4 d#4 e4 f#4 g4 a4 b4 c5", BM: "b4 d#5 b4 f#4", BN: "~@2 b5@2 g5@2 f#5 e5", BO: "f#5 b4 ~@2",
  BP: "~@2 b4@2 g4@2 f#4 e4", BQ: "f#4 e4", BR: "a4@3 a4", BS: "g4@2 d#4@2 b4@2 a4 g4", BT: "e5@3 e4",
  BU: "f#4@6 e4 d4", BV: "[g4@2 b4 e5@2 c5 a4 e5]/2", BW: "f#5 e5", BX: "d#5@4 b4 g4 a4 b4", BY: "c5 b4 a4 f#4",
  BZ: "b4 g4 f#4 g4 e4 a4 g4 a4", CA: "f#4 a4 g4 a4 d4 g4 f#4 g4", CB: "e4@5 a4 g4 a4", CC: "b4 ~", CD: "~ b4!3",
  CE: "e5@3 d5 c5 b4 a4 g4", CF: "f#4 e5@2 d#5", CG: "e5 a4 g#4 a4 b4@2 b4@2", CH: "e4 c5 b4 c5 d4@2 g#4@2",
  CI: "a4 c5 b4 c5 e4@2 b4@2", CJ: "e4!2 a4 c5", CK: "[f#4@8 ~@4 d#4@11 b4@22 e4@11 e4@8]/4",
  CL: "[~@3 e4@22 d#4@22 e4@44 ~@5]/6",
})).s("gm_violin").gain(0.3)

// other · viola
const viola = note(`<
  A B@8 C@6 D E@4 F G@2 H@3 I@5 J K@2 L@3 M@5 N O@6 P@4 ~@8 Q R S T U V W@2 X Y Z AA AB AC 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 BC BD BE BF BG BH BI BJ BK BL BM BN BO@2 BP BQ@4 BA BR BS BT BU BV BW BX
  BY BZ CA CB CC CD CE CF@4 CG@6
>`.pickRestart({
  A: "~@3 g3@13",
  B: "[a3@4 ~ b3@13 b3@4 b3@13 ~ b4@4 b4@13 g4@4 ~ e4@13 f#4@4 f#4@13 c#5@4 ~ b4@13 b4@4 d4@13 ~ g4@4]/8",
  C: "[g4@18 a3@8 e4@9 d4@18 d4@13 d4@4 e4@18 e4@8]/6", D: "~ f#4@9 f#4@6",
  E: "[f#4@2 e4@7 d#4@2 e4@9 b3@9 g4@9 a4@8 a3@9 c4@9]/4", F: "e4@13 e4@3", G: "[~@2 f#4@13 b3@4 b3@9 a3@4]/2",
  H: "[g3@4 ~ a3@13 f#4@4 f#4@18 ~@8]/3", I: "[~@10 g3@13 a3@4 b3@13 b3@4 ~ b3@13 b4@4 b4@13 ~ g4@4]/5",
  J: "e4@13 f#4@3", K: "[~@2 f#4@13 c#5@4 b4@13]/2", L: "[b4@4 ~ d4@13 g4@4 g4@18 a3@8]/3",
  M: "[~ e4@9 d4@17 d4@13 d4@4 ~ e4@17 e4@9 f#4@9]/5", N: "f#4@7 f#4@2 e4@6 d#4",
  O: "[~@2 e4@8 b3@9 g4@9 a4@9 a3@9 c4@8 e4@13 ~ e4@4 f#4@13 b3@4 ~ b3@6]/6",
  P: "[~@2 a3@4 ~ g3@4 a3@13 f#4@4 ~ f#4@35]/4", Q: "~ b4 b3 b4", R: "a4 b4 a4 e4", S: "e4@3 d4 c4 b3 a3@2",
  T: "f#4@2 e4@2 f#4@3 b3", U: "g3 e3 e4@2", V: "e4 d#4", W: "[e4@2 g4 f#4 g4@8 f#4@4]/2", X: "g4@2 b4 a4 b4 b3 c4 d4",
  Y: "e4 f#4 d4 e4 c4@2 a4@2", Z: "d4 b4 d5 g4", AA: "d5@4 a4@2 g4 f#4", AB: "e4 a3", AC: "~ b4", AD: "a#4 b4 ~@2",
  AE: "~@2 e4@2 c#4@2 b3 a#3", AF: "b3 b4@2 e4", AG: "f#4 f#4@2 f#4", AH: "f#4@2 b3@2 ~ b4!3", AI: "e4@4 ~ c#5 b4 c#5",
  AJ: "f#4@2 b3@2 ~ d#4 c#4 d#4", AK: "b3 e4 ~ g4", AL: "d5 a4 d5 d4", AM: "g4@2 e4 f#4", AN: "g4!2 c4 e4", AO: "a3 d4",
  AP: "~ g4 d4!2", AQ: "d4@2 f#4@2 a4@2 g4 f#4", AR: "g4 d4", AS: "~ a4 g4 d4", AT: "c4 d4 c4 d4", AU: "c4 b3 c4@2",
  AV: "d4!2 a4 d5", AW: "d5 d4 g4 c5", AX: "a4 g4!3", AY: "c4 b3 e4!2", AZ: "d4 e4!3", BA: "a4 e4!2 a4",
  BB: "b4 e4 d4 b4", BC: "a4 e4 a4 e4", BD: "f#4 d4!3", BE: "d4 g4!2 d4", BF: "b3 e4 e4@2", BG: "~ d4!2 f#4",
  BH: "f#4@3 d#4", BI: "b3 f#4 b3 e4", BJ: "e4 f#4!2 a#4", BK: "f#4 b3!2 e4", BL: "f#4 b4 f#4 d#4", BM: "b4 b3",
  BN: "b4@2 f#4 d#4", BO: "[b3@4 b3@6 b3@2 b3@2 a3 g3]/2", BP: "f#3 b3", BQ: "[e4 d#4 e4@3 g4 a4@3 a4 b4@3 g4 e4 g4]/4",
  BR: "a4 b4 c5 e4", BS: "f#4 e4", BT: "f#4 g4 a4 b4", BU: "b3@2 e4@3 c4 b3 c4", BV: "a3@2 d4@3 b3 a3 b3",
  BW: "g3@2 g4@2 a4@3 a4", BX: "f#4 ~", BY: "~ g4 f#4 e4", BZ: "e4 a4 e4 f#4", CA: "b3!2 f#4!2", CB: "a4 e4!3",
  CC: "a4 d4", CD: "e4!2", CE: "a4!2 e4!2", CF: "[b4@8 ~@4 f#4@11 e4@22 e4@11 c4@8]/4",
  CG: "[~@3 b3@33 a3@11 g3@44 ~@5]/6",
})).s("gm_viola").gain(0.3)

// other · cello · "Violoncello"
const cello = note(`<
  A@2 B@7 C@6 D@5 E F@2 G@3 H@2 I@3 J K@2 L@3 M@5 N O@3 P@7 ~@8 Q R S@2 T@2 U ~ V W X Y Z AA AB AC AD AE AF AG AH AI AJ
  AK AL AM@5 AN AO@2 AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF@4 BG@2 BH BI U AT BJ BK BL BM BN BO BP BQ BR BS
  BT BU BV BW BX@4 BY@6
>`.pickRestart({
  A: "[~@3 e3@18 ~@11]/2", B: "[~@6 b2@13 ~ g3@4 f#3@13 e3@4 ~ a#3@13 a#3@4 a#3@13 f#3@4 ~ b3@13 b2@4 b2@13 ~ g2@4]/7",
  C: "[c3@18 c#3@8 a2@9 d3@18 b2@13 b3@4 g#3@18 a3@8]/6",
  D: "[~ f#3@9 d#3@13 b2@4 e3@9 d3@9 c3@9 a2@8 a3@13 ~ g3@2 f#3@2]/5", E: "e3@13 e3@3", F: "[~@2 d3@13 d3@4 c3@13]/2",
  G: "[c3@4 ~ c3@13 b2@4 b2@13 ~ a3@4 g3@8]/3", H: "[~ f#3@9 e3@18 ~@4]/2", I: "[~@13 b2@13 g3@4 f#3@13 ~ e3@4]/3",
  J: "a#3@13 a#3@3", K: "[~@2 a#3@13 f#3@4 b3@13]/2", L: "[b2@4 ~ b2@13 g2@4 c3@18 c#3@8]/3",
  M: "[~ a2@9 d3@17 b2@13 b3@4 ~ g#3@17 a3@9 f#3@9]/5", N: "d#3@13 b2@3", O: "[~@2 e3@8 d3@9 c3@9 a2@9 a3@11]/3",
  P: "[~@2 g3@2 f#3@2 e3@13 ~ e3@4 d3@13 d3@4 ~ c3@13 c3@4 c3@13 b2@4 ~ b2@35]/7", Q: "~@2 b3@2 g3@2 f#3 e3",
  R: "f#3 b2 f#3 g#3", S: "[a3@2 e3@2 a3@5 b3 g3 a3 f#3 b3 a3 b3]/2", T: "[g3 e3 e4@4 d#4@2]/2", U: "e4 ~",
  V: "~@5 g3 a3 b3", W: "c4 d4 b3 c4 a3 d4 c4 d4", X: "b3 g3 ~@2", Y: "~@2 g3@2 f#3@2 e3 d3", Z: "e3 a2 ~@2",
  AA: "~@2 a3@2 g3@2 f#3 e3", AB: "f#3 b2 ~@2", AC: "~@2 b3@2 a3@2 g3 f#3", AD: "g3@3 f#3 e3 d3 c#3 b2",
  AE: "a#2 b2 f#3 f#2", AF: "b2 b3@2 b2", AG: "c3 c#3", AH: "d3 d#3", AI: "e3@2 ~ e3", AJ: "f#3@2 ~ f#3", AK: "g3 a3",
  AL: "a3@2 c4 b3 a3 g3 f#3 e3", AM: "[d3@34 d4@2 b3@2 a3 g3]/5", AN: "a3 d3 a3 b3",
  AO: "[c4@2 g3@2 c4@5 d4 b3 c4 a3 d4 c4 d4]/2", AP: "b3@2 g3@2 e3@2 d3 c3", AQ: "d3 g2 ~@2", AR: "~@2 e3@2 c3@2 b2 a2",
  AS: "b2 e2 ~@2", AT: "~@2 e4@2 c4@2 b3 a3", AU: "d4 e4 c4 d4 b3 e4 d4 e4", AV: "c4 c3 a2 c3", AW: "f#2 f#3 d3 f#3",
  AX: "g3 g2 g3 f#3", AY: "e3 e2", AZ: "f#2 f#3", BA: "d#3 b2", BB: "e3 f#3 g3 g#3", BC: "a3 a#3",
  BD: "b3@2 a3@2 g3@2 f#3 e3", BE: "d#3 b2 b3@2", BF: "[b2@26 b3@2 g3@2 f#3 e3]/4",
  BG: "[f#3@2 b2@2 b3@6 b3@2 g3@2 f#3 e3]/2", BH: "c4@6 b3 a3", BI: "d4@6 c4 b3", BJ: "d4 c4", BK: "b3@4 ~ e3 f#3 g3",
  BL: "a3 b3 g3 a3 f#3 b3 a3 b3", BM: "g3 e3 a3@2", BN: "d3 f#3 g3 g2", BO: "c3 c4", BP: "b3 ~",
  BQ: "~@2 e4@2 d4@2 c4 b3", BR: "c4@3 b3 a3 g3 f#3 e3", BS: "d#3 e3 b3 b2", BT: "c3 e3 g#2@2", BU: "a2 b2",
  BV: "c3 g#2", BW: "a2 c3", BX: "[b2@8 ~@4 a2@11 g2@33 a2@8]/4", BY: "[~@3 b2@44 e2@44 ~@5]/6",
})).s("gm_cello").gain(0.3)

stack(violin, viola, cello)

More by G.F. Handel