Strudelify

Quartet 64 in D Major Op. 76 No. 5 (1st mvmt)

Joseph Haydn

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

// 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.

// other · violin
const violin = note(`<
  ~ A B C@2 A B D E A F C@2 A B G@2 H I J K A L C@2 M N O P ~@2 Q R S T U V W X Y Z AA AB AC AB AD AE AF AG AH AI AJ AK
  AL AM AN AO AP A F C@2 AQ AR G@2 H I J K A N O AS AT AU AV AW AV AW AV AX ~@2 AY AZ BA BB BC@3 BD ~ BE BF BG BH AV BI
  AV BJ BK AV AX BL BM BN BO BP BO BP BO BQ BR BS BT BS BT BU BV BR BW BX BW BX BY BZ CA
>`.pickRestart({
  A: "[a3,f#4]@3 ~@2 [a3,f#4]@3 [a3,g4]@8", B: "[a3,f#4]@3 g4@2 a4@3 g4@5 a4@3",
  C: "[b4@8 e4@11 ~@2 g#4@3 a4@3 g#4@2 g4@3]/2", D: "b4 f4", E: "f#4@4 g4 e4@3 f#4@3 ~@5",
  F: "f#4@3 g4@2 a4@3 g4@5 a4@3", G: "[b4@19 f#4 d4 e4 ~ c#4 d4@5 ~@3]/2", H: "c4@5 c4@3 b3@3 ~@5",
  I: "a3@5 a3@3 g3@3 ~@2 b4@3", J: "e4@3 a4@2 a4@3 b4@8", K: "e4@3 ~@2 g#4@3 a4@3 g#4@2 g4@3",
  L: "[a3,f#4]@4 g4 a4@3 g4@5 a4@3", M: "f#4@3 e4@2 f#4@3 [a3,g4]@8", N: "[a3,f#4]@3 g4@2 a4@3 g4@5 d4@3", O: "f#4 g4",
  P: "f#4@3 ~@2 f#4@3 f#4@3 ~@5", Q: "c4@8 d4@4 e4 g4@3, ~@13 f4 ~@2", R: "~@3 e4@2 a4@3 ~@3 f4@2 a#4@3",
  S: "~@3 a#4@2 a#4@3 a4@3 a4@2 a4@3", T: "d5@3 a#4@2 g4@3 a4 a#4 ~ c5 d5 e5 ~ f5",
  U: "e5@3 ~@2 a#4@3 a4 a#4 ~ c5 d5 e5 ~ f5", V: "e5@3 ~@2 a#5@3 a5@3 ~@2 c4@3", W: "f4@4 e4 f4@3 g4@3 e4@2 c4@3",
  X: "a4@4 g4 a4@3 a#4@3 g4@2 e4@3", Y: "c5@3 a4@2 f#4@3 d4@5 g4@3", Z: "~ f#4 ~ a4 a#4 c5 ~ a4 d4@5 a#4@3",
  AA: "~ a4 ~ c5 d5 d#5 ~ c5 f4@3 ~ d4 f4 ~ a#4",
  AB: "d5 [a#4,c5] a4 [f4,g4] d#4 [c4,d4] a#3 [a3,a#3] c4@3 ~ f4 a4 ~ c5", // A#sus2 Fsus2 Csus2 A#maj7
  AC: "d#5 [c5,d5] a#4 [g4,a4] f4 [d4,d#4] c4 [a3,a#3] a#3@3 ~ d4 f4 ~ a#4", // Csus2 Gsus2 D#maj7 A#maj7
  AD: "d#5 [c5,d5] a#4 [g4,a4] f4 [d4,d#4] c4 [a3,a#3] a#3@3 ~ a#4 d5 ~ f5", AE: "[d#4,a#4,g5]@3 [d#4,a#4,g5]@3 ~@10",
  AF: "c5@4 d5 c5@3 g5@3 f5@2 d#5@3", AG: "d5@3 ~@5 c5@3 ~@5", AH: "~@13 f4@3",
  AI: "d5@4 c#5 d5@3 e5@3 c#5 a4 c#5 ~ e5", AJ: "f5@3 a4@2 a4@3 a#4@8",
  AK: "c5@3 ~@6 g5 a5 [a5,a#5] g5 [e5,f5] d5 [a#4,c5]", AL: "a4@3 ~@6 e5 f5 [f5,g5] e5 [c#5,d5] a#4 [g4,a4]",
  AM: "f4!2 g4 [g4,a4] f4 [d4,e4] c4 [a3,a#3] g#3@3 d4@2 d4@3", AN: "c#4@3 ~@2 e4@3 f4@3 ~@2 a4@3",
  AO: "g4@3 ~@2 c#5@3 d5@3 ~@2 f5@3", AP: "e5@3 a4@2 a4@3 a4@3 ~@5", AQ: "[a3,f#4]@3 ~@5 [a3,g4]@8",
  AR: "f#4!2 ~ g4!2 a4 ~ a4 g4@5 a4@3", AS: "f#4 g#3", AT: "g3", AU: "g4@13 a4@3", AV: "d5@4 c#5 d5@3 e5@3 c#5@2 a4@3",
  AW: "f#5@3 ~@10 a4@3", AX: "f#5@3 ~@13", AY: "~@13 e4@3", AZ: "a4@4 g#4 a4@3 b4@3 g#4@2 e4@3",
  BA: "c#5@4 b4 c#5@3 d5@3 b4@2 g#4@3", BB: "e5@3 c#5@2 a4@3 g5@3 e5@2 c#5@3",
  BC: "[d5 a4 ~ f#4 a4 f#4 ~ d4@2 c#4 ~ e4@6 a3 ~ b3 c#4 d4 ~ f#4@2 e4 ~ g4@6 f#4 ~ a4 b4 c5 ~ a4 f#4 e4 ~ d#4 b3 d#4 ~ f#4]/3",
  BD: "g4@5 ~@11", BE: "d5@5 g5@3 f#5 g5 ~ a5 b5 c6 ~ f#5", BF: "g5@5 ~@6 c5@2 a4@3", BG: "b4@5 ~@6 e5@2 a#4@3",
  BH: "b4@5 ~@6 g5@2 e5@3", BI: "a5@5 ~@8 a4@3", BJ: "a5 b5 ~ a5 g5 f#5 ~ e5 d5@8",
  BK: "c#5 d5 ~ e5 f#5 g5 ~ f#5 g5@3 e5@2 e5@3", BL: "~@8 f#5@3 g5@2 e5@3", BM: "f#5@3 d5@2 e5@3 c#5@3 d5@2 b4@3",
  BN: "e4@5 f#4@3 c#4@3 d4@2 e4@3", BO: "f#4 a4 ~ f#4 a4 f#4 ~ a4 f#4 a4 ~ f#4 a4 f#4 ~ a4",
  BP: "e4 a4 ~ e4 a4 e4 ~ a4 g4 a4 ~ g4 a4 g4 ~ a4", BQ: "g4@3 g5@3 ~@2 g4@3 e5@3 ~@2",
  BR: "d4@3 f#5@3 ~@2 c#4@3 e5@3 ~@2", BS: "d4@3 f#5@3 ~@10", BT: "g5@4 f#5 e5 ~ d5 c#5 b4 ~ a4 g4 f#4 ~ e4",
  BU: "d4@3 a5@3 ~@10", BV: "d4@3 d5@3 ~@2 g4@3 e5@3 ~@2", BW: "d6@4 c#6 b5 ~ a5 g5 f#5 ~ e5 d5 c#5 ~ b4",
  BX: "a4@3 e6@3 ~@10", BY: "a3@3 d4@2 f#4@3 a4@3 d5@2 f#5@3", BZ: "a5@5 ~@3 [d4,a4,f#5]@5 ~@3",
  CA: "[d4,a4,f#5]@5 ~@11", // D
})).s("gm_violin").gain(0.3)

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

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

stack(violin, viola, cello)

More by Joseph Haydn