Strudelify

String Quartet in D minor Hob.III:76

Joseph Haydn

KeyD majorTempo120 bpm
0:00/0:00
// String Quartet in D minor Hob.III:76 — Joseph Haydn
// 120 bpm, 2/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 at bar 1, 2/4 at bar 2) are rendered on a constant 2/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/86450; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 292 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/2)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 B A B A C D E@9 F G@2 C H I J K L M@9 N O P Q R S T U V W X Y Z ~@3 AA@2 AB@2 AC@2 AD@2 AE@2 AF AG AH AI AJ AK AL AM
  AN AO AP AQ AR@2 AS AI AT AU AV AW AX AY M@4 AZ BA BB BC BD BE BF BG BH BI BJ@6 E BK E BL E BL BM BN BO ~ BP BQ BR BS
  BT BU BV BU BW BX BY BZ CA CB CC@3 CD CE CF CG@11 CH CI@5 CJ E@5 CK CL CM CN CO E CP CQ CR AZ CS CT CU CT CV CW CV
  CX@4 CY CZ@2 DA DB DC DD DE DF DG ~@3 CI@2 CX DH DI@3 DJ DK DL DM DN DO DP DQ BJ DR DS DT DU DV DW DX DY DZ EA EB EC U
  ED EE@2 EF ~@3 EG@2 CZ@2 EH@2 EI@2 EJ@2 EK EL EM EN EO EP EQ BG ER ES ET EU E@4 CQ CI EV EW EX ~@3 EY EZ M@5 FA FB FC
  FB FD FB FD FE FF FG ~ FH FI FJ FK I FL FM FL FM DX FN FO B FP@2
>`.pickRestart({
  A: "~@3 e5", B: "f#5 ~", C: "f#5 e5 f#5 e5", D: "f#5@2 ~ a4", E: "a4!4", F: "a4!3 e5", G: "f#5@2 ~ e5",
  H: "f#5@2 ~ c#5", I: "d5@2 ~ c#5", J: "d5@2 ~ b4", K: "c#5 b4 c#5 b4", L: "c#5@2 ~ e4", M: "e4!4", N: "e4!3 d5",
  O: "c#5 d5 c#5 d5", P: "c#5@2 ~ a4", Q: "b4 a4 b4 a4", R: "b4@2 ~ a4", S: "b4 c5 b4!2", T: "b4@3 a4",
  U: "a4 a#4 a4!2", V: "a4@3 c#5", W: "d5 c#5 d5 g5", X: "f#5 g5 f#5 e5", Y: "f#5 g5 f#5!2", Z: "e5 ~", AA: "c#5!4",
  AB: "[f#4,c#5]!4", AC: "[f#4,b4]!4", AD: "[e4,b4]!4", AE: "[e4,a4]!4", AF: "[f#4,a4] ~", AG: "f#4 ~", AH: "e4 ~",
  AI: "b3@2 ~ b3", AJ: "c#4@2 a3 b3 c#4@2 a3 b3", AK: "c#4@2 b3 c#4 d4@2 c#4 d4", AL: "e4@2 d4 e4 f#4@2 d4 e4",
  AM: "f#4@2 e4 f#4 g#4@2 f#4 g#4", AN: "a4@2 f#4 g#4 a4@2 f#4 g#4", AO: "a4@2 g#4 a4 b4@2 a4 b4", AP: "c5", AQ: "a4",
  AR: "[a#4@6 ~ d4]/2", AS: "c4@2 ~ c4", AT: "a3@4 ~@2 a3 b3", AU: "c#4!2 b3 a3", AV: "g#3@4 ~@2 b3 c#4",
  AW: "d4!2 c#4 b3", AX: "a3@4 ~@2 a4 b4", AY: "c#5!2 b4 a4", AZ: "d#4!4", BA: "d4!4", BB: "c#4 ~ a4 ~",
  BC: "b4 ~ g#4 ~", BD: "a4@2 a3 b3 c#4@2 c#4 d4", BE: "e4!2 d4 c#4", BF: "b3@2 b3 c#4 d4@2 d4 e4", BG: "f#4!2 e4 d4",
  BH: "c#4@2 a4 b4 c#5@2 c#5 d5", BI: "e5!2 d5 c#5", BJ: "b4!4", BK: "g#4@2 g#4 a4 b4 c#5 d5 b4",
  BL: "g#4 f#4 g#4 a4 b4 c#5 d5 b4", BM: "a4 ~ e5 ~", BN: "e5 ~ a5 ~", BO: "a5 ~", BP: "f#4 g#4 f#4 f4 f#4 g#4 f#4 f4",
  BQ: "f#4 g#4 a4 d5", BR: "c#5@2 a4 c#5", BS: "c#5 b4 a4 g#4", BT: "a4@2 ~ g#4", BU: "a4@2 ~ d4", BV: "c#4@2 ~ g#4",
  BW: "c#4@2 ~ e4", BX: "a4@2 ~ b4", BY: "c#5@2 ~ d5", BZ: "e5@2 ~ f#5", CA: "g5 ~", CB: "~@3 g5", CC: "f5/3",
  CD: "d5 a#4", CE: "f4 d4", CF: "a#3@2 ~ f4", CG: "f4!4", CH: "d#4 g4!3", CI: "g4!4", CJ: "f4 a4!3", CK: "g4 a4 a#4!2",
  CL: "a#4!4", CM: "a4 a#4 c5!2", CN: "c5!3 a4", CO: "d4@2 ~ a4", CP: "a#4 a4 a#4 c5 d5@2 g#4@2", CQ: "g#4!4",
  CR: "a4 g#4 a4 b4 c5@2 d#4@2", CS: "e4@2 ~ e4", CT: "e4!3 ~", CU: "~@3 e4", CV: "~@3 c#4", CW: "c#4!3 ~", CX: "c#4!4",
  CY: "[c#4,f#4]!4", CZ: "[b3,f#4]!4", DA: "g4@2 g4 f#4 e4@2 c#5@2", DB: "d5 b4 c#5 a#4", DC: "b4@2 b3 c#4 d4@2 c#4 d4",
  DD: "e4@2 d4 e4 f#4@2 e4 f#4", DE: "g4 ~ e5 ~", DF: "d5 ~ e4 ~", DG: "d4 ~",
  DH: "[e4,c#5]@2 [e4,c#5]@2 [e4,c#5]@2 a5 g5", DI: "f#5 g5 f#5 e5 d5 b5 a5 g5", DJ: "f#5 b5 a5 g5 f#5 b5 a5 g5",
  DK: "f#5 g5 f#5 e5 d5 g5 f#5 e5", DL: "d5 g5 f#5 e5 d5 g5 f#5 e5", DM: "d5 e5 d5 c#5 b4 e5 d5 c5",
  DN: "b4 e5 d5 c5 b4 e5 d5 c5", DO: "b4 c5 b4 a4 g4 c5 b4 a4", DP: "g4 c5 b4 a4 g4 c5 b4 a4", DQ: "g4 b4!3",
  DR: "e4@6 a4 b4", DS: "c#5@2 c#5 d5 e5@2 g4@2", DT: "f#4@2 d5 e5 f#5 d5 b4 a4", DU: "g#4@3 d5",
  DV: "c#5@2 e5 d5 c#5@2 g5 f#5", DW: "e5@2 e5 d5 c#5@2 e5@2", DX: "d5@2 ~ g5", DY: "a5@2 ~ d5", DZ: "e5@2 ~ c#5",
  EA: "d5@2 ~ d5", EB: "c#5 d5 c#5 c5", EC: "b4 c5 b4 a#4", ED: "a4@3 d5", EE: "[d5@7 b4]/2", EF: "a4 ~", EG: "f#4!4",
  EH: "[b3,e4]!4", EI: "[a3,e4]!4", EJ: "[a3,d4]!4", EK: "[b3,d4] ~", EL: "b4 ~", EM: "[e4,a4]",
  EN: "[f#4,a4] g4 f#4 a4", EO: "b4@2 g5 e5", EP: "d5 f#5 e5 c#5", EQ: "d5@4 ~@2 d4 e4", ER: "c#4@4 ~@2 e4 f#4",
  ES: "g4!2 f#4 e4", ET: "d4@4 ~@2 d5 e5", EU: "f#5!2 e5 d5", EV: "f#4 ~ d5 ~", EW: "e5 ~ c#5 ~", EX: "d5 ~",
  EY: "~@2 d4 e4 f#4@2 f#4 g4", EZ: "a4!2 g4 f#4", FA: "e5!4", FB: "d5!4", FC: "c#5@2 c#5 d5 e5 f#5 g5 e5",
  FD: "c#5 b4 c#5 d5 e5 f#5 g5 e5", FE: "d5 ~ a5 ~", FF: "a5 ~ d6 ~", FG: "d6 ~", FH: "b4 c#5 b4 a#4 b4 c#5 b4 a#4",
  FI: "b4 c#5 d5 g5", FJ: "f#5@2 d5 f#5", FK: "f#5 e5 d5 c#5", FL: "d5@2 ~ g4", FM: "f#4@2 ~ c#5", FN: "f#5@2 ~ g5",
  FO: "f#5 g5 f#5 g5", FP: "[d4,a4,f#5] ~",
})).s("gm_violin").gain(0.3)

// other · viola
const viola = note(`<
  A B A B A C D E@9 F G@2 C H I J K L M@9 N O P Q R S T U V W X Y Z@6 AA AB AC AD AE AF AG M AH@2 AI AJ AK AL AM AN AO
  AP AQ AR AS@2 AT J AU ~@10 AG AV AW AX AY AZ BA BB BC BD ~@4 AG@7 BE BF BG ~ BH@3 BI BJ BK BL BK AU ~@4 BM BN@4 BO BP
  BQ@9 AD BR BS@4 BT BU E@4 BV BW BX BY BZ CA CB AC CC AG CD CE AI CF CG CF CG CF CG CF AD@2 BQ CH AC AD@2 CI CJ CK CL
  CM AC@6 CN CO CP CQ@2 CR CS CT CU CV CW CX CY CZ DA DB B DC DD DE DF DG DH DI DJ DK U DL DM DN AG@6 DO DP DQ AG DR BU
  DS E AH DT DU DV DW DX B ~@10 CA DY DZ EA EB EC ED EE EF M@4 EG EH CA@6 EI EJ EK ~ EL@3 AR EM H G H G H@2 EN B EO@2
>`.pickRestart({
  A: "~@3 g4", B: "f#4 ~", C: "f#4 g4 f#4 g4", D: "f#4@2 ~ d4", E: "d4!4", F: "d4!3 g4", G: "f#4@2 ~ g4",
  H: "f#4@2 ~ e4", I: "d4@2 ~ e4", J: "d4@2 ~ d4", K: "c#4 d4 c#4 d4", L: "c#4@2 ~ a3", M: "a3!4", N: "a3!3 b3",
  O: "c#4 b3 c#4 b3", P: "c#4@2 ~ c4", Q: "b3 c4 b3 c4", R: "b3@2 ~ f#4", S: "g4 a4 g4 d#4", T: "e4 d#4 e4 g4",
  U: "f#4 g4 f#4 c#4", V: "d4 c#4 d4 g4", W: "f#4 g4 f#4 e5", X: "d5 e5 d5 c#5", Y: "b4 e5 d5 b4", Z: "b4!4",
  AA: "a#4!4", AB: "a#4!3 c#5", AC: "f#4!4", AD: "b3!4", AE: "e4 g#4!3", AF: "g#4!3 b4", AG: "e4!4", AH: "d4 ~",
  AI: "b3 ~", AJ: "e4@2 ~ e3", AK: "e3@2 a3 b3 c#4@2 a3 b3", AL: "c#4@2 b3 c#4 d4@2 c#4 d4",
  AM: "e4@2 d4 e4 f#4@2 d4 e4", AN: "f#4@2 e4 f#4 g#4@2 f#4 g#4", AO: "a4@2 f#4 g#4 a4@2 f#4 g#4",
  AP: "a4@2 g#4 a4 b4@2 a4 b4", AQ: "c5", AR: "a4", AS: "[[a#3,f4]@6 ~ f4]/2", AT: "e4@2 ~ e4", AU: "c#4 ~",
  AV: "e4 ~ a4 ~", AW: "f#4 ~ d4 ~", AX: "c#4@4 ~@2 a3 b3", AY: "c#4!2 b3 a3", AZ: "g#3@4 ~@2 b3 c#4",
  BA: "d4!2 c#4 b3", BB: "a3@4 ~@2 a4 b4", BC: "c#5!2 b4 a4", BD: "g#4 ~", BE: "e4 ~ e4 ~", BF: "a4 ~ f#4 ~",
  BG: "e4 ~", BH: "a3/3", BI: "e4", BJ: "e4@2 ~ d4", BK: "c#4@2 ~ b3", BL: "c#4@2 ~ d4", BM: "~@3 e4",
  BN: "[d4@7 a#4]/4", BO: "f4 d4", BP: "a#3@2 ~ a#3", BQ: "a#3!4", BR: "b3!3 d4", BS: "c4!4", BT: "c#4!4",
  BU: "c#4!3 e4", BV: "d4!3 f4", BW: "f4!4", BX: "e4@3 g4", BY: "g4!4", BZ: "f4@3 a4", CA: "a4!4", CB: "a#4@2 ~ f#4",
  CC: "g4 f#4 g4 a4 a#4@2 e4@2", CD: "c4 d4 c4 b3 a3@2 c4@2", CE: "c4!3 a3", CF: "~@3 b3", CG: "b3!3 ~",
  CH: "a#3!3 f#4", CI: "b3 d4 f#4 e4", CJ: "d4@2 b3 c#4 d4@2 c#4 d4", CK: "e4@2 d4 e4 f#4@2 e4 f#4", CL: "g4 ~ e4 ~",
  CM: "f#4 ~ f#4 ~", CN: "e5!4", CO: "e5 c#5 a4 e4", CP: "f#4@2 ~ [e4,a4]", CQ: "[f#4,a4]@2 ~ [e4,a4]",
  CR: "[f#4,a4] [e4,a4] [f#4,a4] [e4,a4]", CS: "[f#4,a4]@2 ~ [f#4,c#5]", CT: "[f#4,d5] [f#4,c#5] [f#4,d5] [f#4,c#5]",
  CU: "[f#4,d5]@2 ~ a4", CV: "[d4,b4] [d4,a4] [d4,b4] [d4,a4]", CW: "[d4,b4]@2 ~ f#4",
  CX: "[b3,g4] [b3,f#4] [b3,g4] [b3,f#4]", CY: "[b3,g4]@4 ~@2 e4 f#4", CZ: "g4@3 g#4", DA: "a4@2 c#4 d4 e4@2 ~@2",
  DB: "g4@3 e4", DC: "b4", DD: "a4@2 c#4 b3 a3@2 e4 d4", DE: "c#4@2 g4 f#4 e4@2 a3@2", DF: "a3@2 ~ e5",
  DG: "f#5@2 ~ b4", DH: "c#5@2 ~ a#4", DI: "b4@2 ~ b4", DJ: "a#4 b4 a#4 a4", DK: "g#4 a4 g#4 g4", DL: "d4 c#4 d4!2",
  DM: "d4", DN: "b3@3 e4", DO: "d#4!4", DP: "d#4!3 f#4", DQ: "b3 b4!3", DR: "a4 c#4!3", DS: "a3 a4!3", DT: "g4 ~",
  DU: "c#5@3 e5", DV: "d5 c#5 d5!2", DW: "d5 ~", DX: "~ g4", DY: "a4 ~ d5 ~", DZ: "b4 ~ g4 ~",
  EA: "f#4@2 d3 e3 f#3@2 f#3 g3", EB: "a3!2 g3 f#3", EC: "e3@2 e3 f#3 g3@2 g3 a3", ED: "b3!2 a3 g3",
  EE: "f#3@4 ~@2 d4 e4", EF: "f#4!2 e4 d4", EG: "g#3!4", EH: "g3!3 a4", EI: "a4 ~ a4 ~", EJ: "d5 ~ b4 ~", EK: "a4 ~",
  EL: "d4/3", EM: "a4@2 ~ g4", EN: "f#4 e4 f#4 e4", EO: "[d3,a3,d4] ~",
})).s("gm_viola").gain(0.3)

// other · cello
const cello = note(`<
  A B A B A C B ~@5 D E F E G H@2 C I J K L M ~@5 N O P O Q L R S T ~@3 U V W X Y@8 Z@4 AA@2 AB B@2 AC AD AE AF AG AH AI
  AJ AK AL@2 AM AN M AO AP AQ AR ~ AS AT AU AV AW AX AY AZ M AO BA BB M BC Y@4 BD Z AA Z AA Z AA Z BE BF BG ~ BH@2 BI BJ
  BK@4 M ~@4 AO BL@4 BM BN ~@5 BO BP BQ BR BS@2 BT BU BV BW BX@2 B ~@3 BY Z BZ Y CA CB CC Z CD ~ CE CF AP AQ CG AQ CG AQ
  CG AQ CH@4 CI@2 CH CJ CK CL CM CN CO@6 CP CQ CR CS@2 CT CU CV CW CX CY CZ CH DA CP@2 DB CP DB DC DD ~@6 DE DF DG CP@8
  DH@4 CJ@2 DI@2 DJ DK DJ DL B DM AR AO B ~ DN DO DP DQ DR DS DT DU DV DW DX DY B ~@6 DZ CJ DH CJ DH CJ DH EA EB EC ~
  ED@2 AK EE H@6 EF EG EH@3
>`.pickRestart({
  A: "~@3 a3", B: "d3 ~", C: "d3 a3 d3 a3", D: "~@6 a3 g3", E: "f#3@2 f#3 e3 d3@2 e3@2", F: "f#3 g3 f#3 e3 d3@2 a3 g3",
  G: "f#3@2 d3 a3", H: "d3@2 ~ a3", I: "d3@2 ~ f#3", J: "b2@2 ~ f#3", K: "b2@2 ~ e3", L: "a2 e3 a2 e3", M: "a2 ~",
  N: "~@6 e3 d3", O: "c#3@2 c#3 b2 a2@2 b2@2", P: "c#3 d3 c#3 b2 a2@2 e3 d3", Q: "c#3@2 a2 e3", R: "a2@2 ~ d3",
  S: "g2 d3 g2 d3", T: "g2 ~", U: "~@3 e4", V: "d4 e4 d4 a#3", W: "b3 a#3 b3 c#4", X: "d4 c#4 d4 d#4", Y: "e4!4",
  Z: "d4!4", AA: "c#4!4", AB: "d4 ~", AC: "d3@2 ~ g#2", AD: "a2@2 a2 b2 c#3@2 a2 b2", AE: "c#3@2 b2 c#3 d3@2 c#3 d3",
  AF: "e3@2 d3 e3 f#3@2 d3 e3", AG: "f#3@2 e3 f#3 g#3@2 f#3 g#3", AH: "a3@2 f#3 g#3 a3@2 f#3 g#3",
  AI: "a3@2 g#3 a3 b3@2 a3 b3", AJ: "c4", AK: "a3", AL: "[d3@6 ~ d3]/2", AM: "e3@2 ~ e3", AN: "e2@2 ~ e2", AO: "~@3 a2",
  AP: "e3 ~", AQ: "~@3 e3", AR: "a3 ~", AS: "~@6 e2 f#2", AT: "g#2@2 g#2 a2 b2@2 b2 c#3", AU: "d3@4 b2@2 g#2 a2",
  AV: "b2@2 b2 c#3 d3@2 d3 e3", AW: "f#3", AX: "g#3", AY: "a3!2 f#3!2", AZ: "d3!2 e3!2", BA: "e2 ~", BB: "~@3 e2",
  BC: "~ a3", BD: "d#4!4", BE: "c#4 ~ g#3 ~", BF: "a3 ~ f#3 ~", BG: "c#3 ~", BH: "d3/2", BI: "e3", BJ: "e2",
  BK: "a2@2 ~ e3", BL: "[a#2@7 a#3]/4", BM: "f3 d3", BN: "a#2 ~", BO: "~@6 f3 d#3", BP: "d3@2 d3 c3 a#2@2 c3@2",
  BQ: "d3 d#3 d3 c3 a#2@2 f3 d#3", BR: "d3@2 d3 c3 a#2@2 a#2 g#2", BS: "g2/2", BT: "c3@4 ~@2 g3 f3",
  BU: "d#3@2 d#3 d3 c3@2 d3@2", BV: "d#3 f3 d#3 d3 c3@2 g3 f3", BW: "d#3@2 d#3 d3 c3@2 c3 a#2", BX: "a2/2",
  BY: "~@3 d4", BZ: "e4@3 e4", CA: "f4@3 f#4", CB: "f#4!4", CC: "g4@2 ~ d4", CD: "a#3 c4 a#3 a3 g3@2 ~@2", CE: "~@3 f3",
  CF: "f3!4", CG: "e3!3 ~", CH: "e3!4", CI: "d3!4", CJ: "f#3!4", CK: "b2@2 b2 c#3 d3@2 c#3 d3",
  CL: "e3@2 d3 e3 f#3@2 e3 f#3", CM: "g3 ~ e3 ~", CN: "f#3 ~ f#3 ~", CO: "b3!4", CP: "a3!4", CQ: "a2!4",
  CR: "d2@2 ~ a3", CS: "d4@2 ~ a3", CT: "d4 a3 d4 a3", CU: "d4@2 ~ f#3", CV: "b3 f#3 b3 f#3", CW: "b3@2 ~ d3",
  CX: "g3 d3 g3 d3", CY: "g3@2 ~ b2", CZ: "e3 b2 e3 b2", DA: "e3!2 g3 g#3", DB: "a2 a3!3", DC: "a3!3 g3", DD: "f#3 ~",
  DE: "~@3 b3", DF: "f#3 f3 f#3!2", DG: "g3@2 ~ g#3", DH: "g3!4", DI: "g3 ~", DJ: "g3", DK: "f#3 e3 d3 f#3",
  DL: "a3 a2", DM: "~@3 d3", DN: "~@6 a2 b2", DO: "c#3@2 c#3 d3 e3@2 e3 f#3", DP: "g3@4 e3@2 c#3 d3",
  DQ: "e3@2 e3 f#3 g3@2 g3 a3", DR: "b3", DS: "c#4", DT: "d4!2 b3!2", DU: "g3!2 a3!2", DV: "d3@4 ~@2 d3 e3",
  DW: "f#3!2 e3 d3", DX: "a2@4 ~@2 e3 f#3", DY: "g3!2 f#3 e3", DZ: "a2@3 g3", EA: "f#3 ~ c#3 ~", EB: "d3 ~ b2 ~",
  EC: "f#2 ~", ED: "g3/2", EE: "a2", EF: "d3@2 ~ a2", EG: "d2 a2 d2 a2", EH: "d2 ~",
})).s("gm_cello").gain(0.3)

stack(violin, viola, cello)

More by Joseph Haydn