Strudelify

minuet from string quintet op 13 no 5 in e major

Luigi Boccherini

KeyA majorTempo120 bpm
0:00/0:00
// minuet from string quintet op 13 no 5 in e major — Luigi Boccherini
// 120 bpm, 3/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 3/4 at bar 2, 2/4 at bar 9, 1/4 at bar 9, ...) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/54455; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 133 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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · church organ · "Organ"
const church_organ = note(`<
  ~ A B C D E@2 F G A B C D E@2 F H I J I K A L C M N@2 O P I J I K A L C M N@2 O Q R S T U ~ V W X R S T U ~ V W Y Z@2
  AA AB Z@2 AC AD ~ AE AF AG ~ AH AI AJ Z@2 AA AB Z@2 AC AD ~ AE AF AG ~ AH AI AK A B C D E@2 F H I J I K A L C M N@2 O
  Q R S T U ~ V W Y Z@2 AA AB Z@2 AC AD ~ AE AF AG ~ AH AI AK
>`.pickRestart({
  A: "a2@3 [e3,e4]@2 [a2,a3,c#4]@3 [e3,e4]@3 [a2,a3,c#4]@2 [e3,e4]@3", // E A E A E
  B: "e3@3 [e3,e4]@2 [e3,g#3,b3]@3 [e3,e4]@3 [e3,g#3,b3]@2 [e3,e4]@3", // E
  C: "e2@3 e3@2 [e2,g#3,b3]@3 [e3,e4]@3 [e2,g#3,b3]@2 [e3,e4]@3", // E
  D: "a2@3 [e3,e4]@2 [a2,a3,c#4]@3 [e3,e4]@3 a2@2 [c#4,a4]@3", // E A E F#m
  E: "b2@3 [b3,a4]@2 [b2,a3,f#4]@3 [b3,a4]@3 d#3@2 [b3,a4]@3", // B7
  F: "e3@3 [b3,e4,g#4]@2 a2@3 [c#4,e4,a4]@3 b2@2 [a3,b3,d#4]@3", G: "e3@3 [g#3,b3,e4]@2 e2@3 ~@8",
  H: "e3@3 [g#3,b3,e4]@2 e2@3 ~@3 e4@2 e3@3", I: "d4@3 e3@2 g#2@3 [e3,d4]@3 a2@2 [e3,c4]@3",
  J: "e2@3 [g#3,b3]@2 e3@3 [g#3,b3]@3 e4@2 e3@3", K: "e2@3 [g#3,b3]@2 e3@3 [g#3,b3]@3 [e3,c#4]@2 [a3,e4]@3",
  L: "e3@3 [e3,e4]@2 [e3,a3,c#4]@3 [e3,e4]@3 [e3,a3,c#4]@2 [e3,e4]@3", // E A E A E
  M: "a2@3 [e3,e4]@2 [a2,a3,c#4]@3 [e3,e4]@3 d2@2 [f#3,b3,d4]@3", N: "e2@3 [e3,d4]@2 b3@3 [e3,d4]@3 g#3@2 [e3,d4]@3",
  O: "a2@3 [e3,a3,c#4]@2 d3@3 [f#3,a3,d4]@3 e3@2 [g#3,d4]@3", P: "a2@3 [e3,a3,c#4]@2 a2@3 ~@3 e4@2 e3@3",
  Q: "a2@3 [e3,a3,c#4]@2 a2@3 ~@3 f#3@2 g3@3", R: "a3@3 b3@2 c#4@3 d4@3 e4@2 f#4@3", S: "~@8 g4 f#4 ~ e4@2 e4 ~ d4",
  T: "c#4@3 [a3,c#4]@2 a2@3 [a3,c#4]@3 g2@2 [a3,c#4]@3", U: "[d3,d4]@5 [d2,d3]@3 a3 g3 ~ f#3@3 ~@2",
  V: "d3@5 d4@5 ~ d3@5, b3", W: "[c#3,c#4,e4]@5 [d3,d4]@5 ~ [e3,c#4,e4]@5", X: "a3@5 a2@3 ~@3 f#3@2 g3@3",
  Y: "a3@5 a2@3 ~@3 [a3,c#4]@2 [b3,d4]@3", // A Bm
  Z: "[c#4,e4]@3 ~@2 a2@3 [d4,f#4]@3 [a3,c#4]@2 [b3,d4]@3, a3@5 ~@11, ~@3 [c#4,e4]@5 ~@8", // C#m D A Bm C#m
  AA: "[c#4,e4]@3 [d4,f#4]@2 [e4,g4]@3 [d4,f#4]@3 [c#4,e4]@2 [b3,d4]@3, a3", // C#m D Em D C#m Bm
  AB: "c#4 d4 c#4 b3 [c#4,d4] c#4@3 ~@3 [a2,a3,c#4]@2 [b3,d4]@3, a3 ~", // Dmaj7 A Bm
  AC: "[c#4,e4]@3 [d4,f#4]@2 [e4,g4]@3 [d4,f#4]@3 [e4,g4]@2 [c#4,e4]@3, a3", // C#m D Em D Em C#m
  AD: "d4@3 c#4 [d4,e4] f#4@3 ~@8, d3@11 ~@5", AE: "a2@5 a3@3 g4 f#4 ~ e4@2 e4 ~ d4",
  AF: "c#4@3 [a3,c#4]@2 a2@3 [a3,c#4]@3 a2@2 [a3,c#4]@3", AG: "[d3,d4]@5 [d2,d3]@3 ~@8", AH: "~@5 g3@5 ~ g3@5, g2",
  AI: "[f#2,f#3]@5 [g2,g3]@5 ~ [a2,a3]@5", AJ: "f#3@3 a3@2 [d2,f#3]@3 ~@3 [a3,c#4]@2 [b3,d4]@3, d3@5 ~@11",
  AK: "f#3@3 a3@2 [d2,f#3]@3 ~@8, d3@5 ~@11", // D
})).s("gm_church_organ").gain(0.3)

stack(church_organ)

More by Luigi Boccherini