Strudelify

Requiem in D minor K.626

W. A. Mozart

KeyA minorTempo120 bpm
0:00/0:00
// Requiem in D minor K.626 — W A Mozart
// 120 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Horn" named as a brass, played on brass section (its choir aahs patch is not one); ch 2 "Bassoon" named as a reed, played on bassoon (its choir aahs patch is not one); ch 3 "C Trumpet" named as a brass, played on trumpet (its choir aahs patch is not one); ch 6 "Trombone" named as a brass, played on trombone (its pizzicato strings patch is not one); ch 4 "Bass" named as a bass, played on electric bass finger (its choir aahs patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/158288; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 68 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

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

// chords · brass section · "Horn"
const brass_section = note(`<
  A B C D E F G H I J K L M@2 N O P Q R ~@2 S T U V W X Y Z@2 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 BF
>`.pickRestart({
  A: "[f4,d5] [f4,a4]", B: "~ a4 ~@2, [g4,e5]", C: "[g4,e5] [g4,a4]", D: "~@2 d5@2 ~@2 d5!2, [f4,f5]@3 f4",
  E: "[g4,c#5]@2 [a4,d5]@2 ~@2 d5!2, ~@3 f4", F: "[e4,e5]@2 [d4,f5]@2 ~@3 d5, ~@4 d5@3 ~, ~@3 a4",
  G: "[g4,g5] [a4,f5] [a#4,e5] [a4,d5]", H: "[a4,d5] [a4,c#5] ~@2", I: "~@4 [c4,c5] c#5 d5 [a#4,e5], ~@5 f4@2 ~",
  J: "f5@3 c5, a4", K: "[f4,a4] [c4,f4] [f4,a4] [a4,c5]", L: "[c5,d#5] [a4,d5]",
  M: "[g5@3 d5 b4 [d4,g4] [g4,b4] [b4,d5], g4@5 ~@3]/2", N: "[d5,f5] [b4,e5]", O: "[a4,e5] [g#4,e5]",
  P: "a4@2 ~@4 b4 a4, e5 d5, ~ c5@2 ~", Q: "[g#4,d5] c5 ~ g#4, ~ a4@2 ~, ~ b4", R: "[a4,a#4] ~@3", S: "[a4,c5,e5]!2",
  T: "[b4,e5] b4 ~@2, d5", U: "[b4,d5,e5]!2", V: "[c5,e5]@2 c5@2 ~@2 a4!2, a4@3 ~",
  W: "[a4,f5]@2 [c5,e5]@2 ~@2 a4!2, ~@3 [c5,e5]", X: "[g#4,d5]@2 [a4,a#4,c5]@2 e5@2 [c5,e5] [b4,e5]",
  Y: "[a4,d5] [g4,c5] [f4,a#4] [e4,a4]", Z: "[[e4,a4] [e4,g#4] g4@2 g#4@2 g4 f4, ~ b4@3]/2",
  AA: "[d#4,c5]@2 ~ g5, ~ [d#4,c5]", AB: "[g4,d#5] [g4,c5] g4 [g4,c5]", AC: "c5 c#5 [g4,c#5]@2, g4 ~",
  AD: "[g4,c#5]@2 ~ g5, ~ [e4,c#5]", AE: "[g4,e5] [g4,c#5] [e4,a4] [a4,c#5]", AF: "c#5 d5 [a4,d5]@2, a4 ~",
  AG: "[a#4,d#5] [a4,c5,f#5]", AH: "[g4,a#4,g5] [a4,f5]", AI: "[a#4,d#5] [b4,d5]", AJ: "d5 c#5 ~@2, a4 ~",
  AK: "~@4 a4@3 a4, ~ g4", AL: "[f4,g#4]@2 [e4,a4]@2 a4@3 a4, ~ e4", AM: "[f4,g#4] [e4,a4] ~@2",
  AN: "~@4 e5@3 e5, ~ a4", AO: "[g#4,f5]@2 [a4,e5]@2 e5@3 e5, ~ a4", AP: "[g#4,f5] [a4,e5] ~@2",
  AQ: "~@4 g5@3 g5, ~ [g4,d5]", // G5
  AR: "[a4,c5,f#5] [a#4,d5,g5] [a4,c5,f#5] [a#4,d5,g5] [a4,c5,f#5] [a#4,d5,g5] [a4,c5,f#5] [a#4,d5,g5]", // F#dim Gm F#dim Gm F#dim Gm F#dim Gm
  AS: "[a4,e5,g5]@2 [a4,c#5]@2 ~@2 c#5!2, ~@3 [e4,c5]", AT: "[f4,d5] [e4,c#5] [f4,d5] [e4,c#5]",
  AU: "[f4,d5]@2 [e4,c#5]@2 ~@2 d5!2, ~@3 f4", AV: "[g4,e5,g5] [f4,d5,f5] [g4,e5,g5] [f4,d5,f5]",
  AW: "[g4,e5,g5] [f4,d5,f5] ~@2", AX: "~ [f4,d5]@2 [f4,d5]", AY: "[a4,f5] [f4,d5] ~@2",
  AZ: "~@4 [g4,d5,g5]@3 [g4,d5,g5]", BA: "[g4,c#5,g5] [f4,f5] ~ c#5, ~ d5@2 ~, ~ e4", BB: "[d4,d5] [f4,d5]@2 [f4,d5]",
  BC: "[d5,f5] [a#4,d5] ~@2", BD: "~@4 [g4,d#5,g5]@3 [g4,d5,g5]", BE: "[g4,c#5,g5] [f4,f5] ~ c#5, ~ d5@2 ~, ~ [e4,e5]",
  BF: "[d4,d5] ~@3", BG: "~@6 a4 [g4,c#5]", BH: "f4 a4 a#4 g4 f4@2 [e4,c#5]@2, d5@3 ~",
})).s("gm_brass_section").gain(0.3)

// chords · bassoon
const bassoon = note(`<
  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 AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AO AS AT AU
  AO AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN
>`.pickRestart({
  A: "[d4,f4,a4]!2", B: "a4!2 ~@2, [e4,g4]", C: "[c#4,e4,a4]!2", D: "a4@2 a4@2 ~@2 a4!2, [d4,f4]@3 [d3,f4]",
  E: "[e3,e4,g4]@2 [f3,d4,a4]@2 ~@2 a4!2, ~@3 [f3,a3]", F: "[c#3,e4,a4]@2 [d3,d4,a4]@2 ~@2 [d4,a4] [c4,a4], ~@3 f4",
  G: "[a#3,g4] [a3,f4,a4] [g3,c#4,a#4] [f3,d4,a4]", H: "[a3,f4,a4] [a2,e4,a4] ~@2",
  I: "~@4 c4 [a3,c#4] [a#3,d4] [g3,e4]", J: "[f3,a4]@3 [f3,a4], f4", K: "[f3,f4] [f3,c4] [f3,f4] [f3,c4,a4]",
  L: "[f#3,a3] f#3 a3 c4, c5 [f#3,a4]", M: "c4@2 ~ [g3,g4], [g3,d4]@3 ~, ~ a#3",
  N: "[g3,d4]!2 [g3,g4] [g3,d4,b4], g4 ~", O: "[g#3,b3] g#3 b3 d4, d5 [g#3,a#4]",
  P: "[a3,c4]@3 a3 [b3,d4]@3 b3, a4 g#4", Q: "[e4,a4]@2 a3@2 ~@2 b4 a4, c4 d4, ~ c5@2 f4",
  R: "[e4,g#4] [a3,e4,a4] a4 g#4, ~ [e3,e4]", S: "[a3,e4,a4]@2 ~@3 c4 b3 a3", T: "g#3 f4 d4 c4 b3 a3 g#3 b3",
  U: "a3 c3 d3 f3 e3 d3 e3 e2", V: "a2 c3 e3 a3 a2 c3 e3 a3, c5!2", W: "[a2,b4] [b3,d4]@2 [b3,d4], ~ b4 ~@2",
  X: "g#2 b2 e3 g#3 g#2 b2 e3 g#3, b4!2", Y: "[a2,a4]@2 [c4,e4]@4 a4!2, ~ a4 ~ [c4,e4]",
  Z: "[d4,a4]@2 [c4,a4]@2 ~@2 a4!2, ~@3 [c4,e4]", AA: "[b3,e4,g#4]@2 [a3,e4,a4]@2 ~ a2 [a3,e4] [g3,e4]",
  AB: "d3 f4 e4 e3 d3 d4 a3 a2, a4 g4 f4 e4", AC: "[e3,e4] e4 e3!2 [e3,g3]@4, ~ e4 ~@2", AD: "[f3,g#3] g3",
  AE: "c3 d#3 g3 c4 c3 d#3 g3 c4, g4@3 g4", AF: "[c3,g4] [c4,d#4,g4]!3", AG: "[c4,d#4] [a3,e4] [a3,e4,g4]@2, g4 ~",
  AH: "[a#3,e4,g4]@3 [a#3,c#4,e4]", AI: "[a#3,c#4,g4] [a3,e4,g4] [a3,c#4,e4] [g3,e4,a4]",
  AJ: "[g3,e4]@2 [f3,f4]@2 f3 d3 a2 f2, a4 [f4,a4]", AK: "g2 a#2 d#3 g3 a2 c3 f#3 [g3,a4], [d#4,a#4] d#4, ~@4 c5@3 ~",
  AL: "g2 a#2 d#3 g3 g#2 b2 d3 g#3, [d4,g4] [c4,a4]", AM: "g2 a#2 d#3 g3 a2 c3 f#3 a3, [a#3,a#4] [f4,b4]",
  AN: "[a3,f4,a4]@2 [a2,e4,a4]@2 a3@3 a3", AO: "g#3 a3 g#3 a3 g#3 a3 g#3 a3", AP: "a#3@2 a3@2 e4@3 e4, ~ c#4",
  AQ: "[d4,f4]@2 [c#4,e4]@2 e4@3 e4, ~ c#4", AR: "[d4,f4]@2 [c#4,e4]@2 a3@3 a3", AS: "a#3@2 a3@2 a4@3 a4, ~ c#4",
  AT: "[d4,g#4]@2 [c#4,a4]@2 a4@3 a4, ~ c#4", AU: "[d4,g#4]@2 [c#4,a4]@2 a3@3 a3",
  AV: "a#3 a#2 a#3!2 g4@3 g4, ~ [a#3,d4]", // A#
  AW: "[c4,d#4,a4] [a#3,d4,a#4] [c4,d#4,a4] [a#3,d4,a#4] [c4,d#4,a4] [a#3,d4,a#4] [c4,d#4,a4] [a#3,d4,a#4]", // Adim A# Adim A# Adim A# Adim A#
  AX: "[a3,c#4,e4]@2 [a2,e4,a4]@2 ~@2 [a3,a4]!2", AY: "d4 d3 a2 a3 d4 d3 a2 a3, a4!4",
  AZ: "d4 d3 [a3,a4]@2 ~@2 [d4,a4] [d3,a4], a4 ~@3", BA: "c#3 c#4 d4 d3 c#3 c#4 d4 d3, a4!4",
  BB: "c#3 c#4 d4 a3 f3 d3 f3 a3, a4!2 ~@2", BC: "d3 f3 a3 d4 d3 f3 a3 d4, ~ f4@2 f4",
  BD: "[f3,a4] [f3,d4]@2 [f3,d4], ~ f4 ~@2", BE: "[d4,f4]@2 [a#3,d4]@2 g3@2 ~ a#4, ~ a#3, ~@4 a#4@3 ~, ~@3 e3",
  BF: "a2 a3 d3 f3 a3 g3 a3 a2, a4!2 ~@2", BG: "d3 f3 a3 d4 d3 f3 a3 d4, a4 f4@2 f4",
  BH: "[a#2,d5] [a#3,d4]@2 [a#3,d4], ~ a#4 ~@2", BI: "[a#3,g4]@2 [g3,d#4]@2 g2 a#2 d#3 [g3,a#4], ~@4 a#4@3 ~",
  BJ: "a2 a3 d3 f3 a3 g3 a3 a2, a4!2 a4@2", BK: "[d3,a4]@2 ~ a3 d4 f4 e4 d4", BL: "c#4 a3 g3 f3 e3 d3 c#3 e3",
  BM: "d3 f3 g3 a#3 a3 g3 a3 a2", BN: "d3 ~@3",
})).s("gm_bassoon").gain(0.3)

// chords · trumpet · "C Trumpet"
const trumpet = note(`<
  A B C D E F G H I J K L M N O P Q R S ~@2 T U V W X Y Z AA ~ AB AC AD AE AF AG AH AI AJ AK ~ AL AM AN ~ AL AM AN ~ AO
  AP AQ AR AS AT AU AV AW AX AY AV AW AZ BA BB ~ BC BB
>`.pickRestart({
  A: "[d4,d5] ~ [d4,d5] ~, f4!2", B: "g4@2 [d4,a4]!6, ~ g4 ~@2", C: "[a3,a4] ~ [a3,a4] ~, g4!2",
  D: "f4@2 [d4,a4]!4 [d4,f4,a4]!2, ~ f4 ~@2", E: "e4@2 [d4,a4]!2 [d4,a4]@2 a3!2", F: "e4@2 [d4,a4]!2 [d4,a4]@2 f4!2",
  G: "d4!2 [c#4,a4,e5] [d4,f4,d5], d5 ~", H: "[a3,f4,a4]@2 [a3,a4]!2 a4!4, ~ e4 ~@2", I: "[a3,a4] ~@3", J: "c4@3 f3",
  K: "f4@3 c4", L: "a3@2 f#3@2 [d4,d5]!4, ~@2 a3 c4", M: "[d4,d5] ~ b3@2, c4 ~", N: "g4@3 d4",
  O: "b3@2 g#3@2 e5!4, ~@2 b3 d4", P: "[a4,e5]@2 ~ a3 d4@3 b3, c4@3 ~ e5@2 ~@2", Q: "[e4,a4,e5]@2 a3@2 [d4,d5]@2 f4!2",
  R: "[e4,e5]@2 [e4,e5]@2 e5!4, ~ e4", S: "[e4,a4,e5] ~@3", T: "[a4,e5] ~ [a4,e5] ~, e4!2", U: "d4!2 ~@2, e5",
  V: "d4!2, e5 ~ e5 ~", W: "a4@2 a4!2 a4@2 a4@2 a4@2 a4@2 [c4,a4]@2 [c4,a4]@2, c4!2 ~@2",
  X: "[d4,a4]@2 [a3,a4]!2 [a3,a4]@2 e4!2, ~ e4 ~@2", Y: "e4@2 [a3,a4]!2 [a3,a4]@2 c4 b3, ~ e4 ~@2", Z: "a3 c4 d4 c4",
  AA: "c4 b3 ~@2", AB: "d#4@3 e4", AC: "d#4!4", AD: "d#4 e4 e4@2", AE: "e4@3 c#4", AF: "c#4 e4 c#4 e4",
  AG: "e4 f4 f4@2", AH: "d#4!2", AI: "d4 c4", AJ: "a#3 f4",
  AK: "[a3,a4]@2 [a3,a4]!2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@4 ~@4, f4 e4 ~@2", AL: "~@4 c#4@3 c#4",
  AM: "d4@2 c#4@2 c#4@3 c#4", AN: "d4 c#4 [a3,a4] ~", AO: "~@4 d4@3 d4, ~ [a3,a4]", AP: "d#4 d4 d#4 d4 d#4 d4 d#4 d4",
  AQ: "[a3,a4]@2 [a3,a4]!2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2, c#4 e4 ~@2", // A A5
  AR: "[d4,a4]!2 [a3,a4]!2 [d4,a4]!2 [a3,a4]!2, f4 e4 f4 e4", // D5 A D5 A
  AS: "[d4,f4,a4]@2 [a3,a4]!2 [a3,a4]@2 [d4,f4,a4]!2, ~ e4 ~@2", // Dm A Dm
  AT: "[a3,a4]!2 [d4,a4]!2 [a3,a4]!2 [d4,a4]!2, e4 ~ e4 ~", AU: "[a3,e4,a4] [d4,a4] ~@2", AV: "[d4,d5] ~@3",
  AW: "[d4,d5] d4@2 d4", AX: "[d4,f4,d5]@2 d4@2 d4@3 d4", AY: "[c#4,a4,e5] [d4,d5] d4 c#4, ~ [a3,a4]",
  AZ: "g4@2 d#4@2 d#4@3 d4", BA: "[a3,c#4,a4]@2 [d4,a4]!2 [a3,d4,a4]@2 [a3,a4]!2, ~@3 c#4", BB: "[d4,a4] ~@3",
  BC: "[d4,d5]@2 ~@2 [a3,a4]@2 [a3,a4]!2", // D A
})).s("gm_trumpet").gain(0.3)

// other · string ensemble 1 · "Timpani"
const string_ensemble_1 = note(`<
  A B C D E F G H I J@2 K L M N O P Q R S T U V W V X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AM AQ AO AP AM
  AR AS AT AU AV AW AX AY AZ BA BB AY BC BD BB BE BF BG BH
>`.pickRestart({
  A: "d3 f3 a3 d4 d3 f3 a3 d4, c3 ~ c3 ~", B: "d3 ~ c3!5 [c3,d4], ~ d4@2 d4@2 d4@2 ~",
  C: "c#3 e3 a3 c#4 c#3 e3 a3 c#4, g2 ~ g2 ~", D: "d3 ~ c3!5 [c3,d3], ~ d4@2 d4@2 d4@2 ~",
  E: "e3@2 c3!2 c3@2 f3!2, ~ f3 ~@2", F: "c#3@2 c3!2 ~ d3 d4 c4, ~ d3 c3 ~",
  G: "[c3,a#3] [g2,c3] [c3,d3] [c3,a#3] [g2,g3] g2 d3 d4, ~@3 c3", // C7 C5 Csus2 C7 G
  H: "[g2,a3]@2 g2!2 [g2,a3]@2 [g2,a3]@2 [g2,a3]@2 [g2,a3]@2 [g2,a3]@2 [g2,a3]@2, ~ a2 ~@6", // Gsus2
  I: "a3!2 a#3 b3 c4 a3 a#3 g3, g2 ~@3", J: "f3!8", K: "f#3 f#2 a2 c3 [c3,f#3] [c3,c4] [c3,a3] [c3,f#3]",
  L: "g3!8, c3 ~@3", M: "g3!8", N: "g#3 g#2 a#2 d3 g#3 d4 b3 g#3", O: "a2 c3 e3 a3 b2 d3 g#3 b3, g2 ~ c3 ~",
  P: "c3 e3 a3 c4 d3 f3 b3 d4, g2 ~ c3 ~", Q: "e4 e3 a3 c4 e4!2 e3!2", R: "[g2,a3]@2 ~@3 c4 b3 a3",
  S: "g#3 f4 d4 c4 b3 a3 g#3 b3", T: "a3 c3 d3 f3 e3 d3 e3 e2", U: "a2 c3 e3 a3 a2 c3 e3 a3, g2 ~ g2 ~",
  V: "[g2,a2]@2 g2!2 g2@2 g2@2 g2@2 g2@2 g2@2 [g2,a3]@2, ~ a3@2 a3@2 a3@2 ~", W: "g#2 b2 e3 g#3 g#2 b2 e3 g#3, c3 ~@3",
  X: "[c3,d4]@2 g2!2 g2@2 c4@2, ~ c4 ~@2", Y: "b3@2 g2!2 ~ a2 a3 g3, ~ a3 g2 ~", Z: "f3 f4 e4 e3 d3 d4 a3 a2",
  AA: "e3 e4 e3!6", AB: "d3!4 g3!4", AC: "c3 d#3 g3 c4 c3 d#3 g3 c4", AD: "c3 c4!7", AE: "c4!2 a3!4 g3 e3",
  AF: "a#2 e3 g3 a#3 a#2 e3 g3 a#3", AG: "a#3!2 a3!4 g3!2", AH: "g3!2 f3!3 d3 a2 f2", AI: "g2 a#2 d#3 g3 a2 c3 f#3 a3",
  AJ: "a#2 d3 g3 a#3 a2 c3 f3 a3", AK: "g2 c3 d#3 g3 g#2 b2 d3 g#3", AL: "g2@2 g2!2 g2@2 g2@2 a3@6 a3@2, a3 a2 g2 ~",
  AM: "g#3 a3 g#3 a3 g#3 a3 g#3 a3", AN: "a#3@2 a3@2 c4@3 c4", AO: "d4@2 c#4@2 c#4@3 c#4",
  AP: "d4@2 c#4@2 a3@3 a3, ~@2 g2 ~", AQ: "a#3@2 a3@2 c#4@3 c4",
  AR: "a#3@2 a#2@2 a#3@2 a#3@2 [c3,a#3]@2 c3!2 [c3,a#3]@2 [c3,a#3]@2, ~@5 a#3 ~@2", AS: "c4 a#3 c4 a#3 c4 a#3 c4 a#3",
  AT: "g2@2 g2!2 g2@2 g2@2 g2@2 g2@2 [g2,a3]@2 [g2,a3]@2, a3 a2 ~@2", AU: "d4 d3 a2 a3 d4 d3 a2 a3, c3 g2 c3 g2",
  AV: "d4 d3 [g2,a3] g2 g2@2 d4 d3, c3 ~@2 c3", AW: "c#3 c#4 d4 d3 c#3 c#4 d4 d3, g2 c3 g2 c3",
  AX: "c#3 c#4 d4 a3 f3 d3 f3 a3, g2 c3 ~@2", AY: "d3 f3 a3 d4 d3 f3 a3 d4, c3 ~@3",
  AZ: "f2 a2 d3 f3 f2 a2 d3 f3, c3 ~@3", BA: "a#2 d3 f3 a#3 e2 g2 a#2 e3, c3 ~@3",
  BB: "a2 a3 [c3,d3] [c3,f3] a3 g3 [g2,a3] [g2,a2], g2 ~ g2 ~", BC: "a#2 d3 f3 a#3 a#2 d3 f3 a#3, c3 ~@3",
  BD: "g2 a#2 d#3 g3 g2 a#2 d#3 g3", BE: "[c3,d3]@2 ~ a3 d4 f4 e4 d4", BF: "c#4 a#3 g3 f3 e3 d3 c#3 e3",
  BG: "d3 f3 g3 a#3 a3 g3 [g2,a3] [g2,a2], c3 ~ g2 ~", BH: "[c3,d3] ~@3",
})).s("gm_string_ensemble_1").gain(0.3)

// chords · trombone
const trombone = note(`<
  A B C D E F G H ~ I J K L M N O P Q R ~@2 S T U V W X Y Z ~ AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AK AO AP AQ AK
  AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG ~@3
>`.pickRestart({
  A: "[d4,f4,a4]!2", B: "[d4,g4,a4]!2 ~@2", C: "[c#4,g4,a4]!2", D: "[d4,f4,a4]@2 [d4,f4,a4]@2 ~@2 [d3,f4,a4]!2",
  E: "[e3,e4,g4]@2 [f3,d4,a4]@2 ~@2 [f3,a3,a4]!2", F: "[c#3,e4,a4]@2 [d3,d4,a4]@2 ~@2 [d4,f4,a4] [c4,f4,a4]",
  G: "[a#3,d4,g4] [a3,d4,a4] [g3,c#4,a#4] [d3,f4,a4]", H: "[a3,f4,a4] [a3,e4,a4] ~@2", I: "[f3,c4,a4]@3 [f3,a4]",
  J: "f3 [f3,c4] [f3,f4] [f3,c4,a4], f4 ~", K: "[f#3,a3] f#3 a3 c4, c5 [f#3,a4]",
  L: "c4@2 ~ [g3,g4], [g3,d4]@3 ~, ~ b3", M: "[g3,d4]!2 [g3,g4] [g3,d4,b4], g4 ~", N: "[g#3,b3] g#3 b3 d4, d5 [g#3,b4]",
  O: "[a3,c4]@3 a3 d4@3 b3, a4 [a#3,g#4]", P: "[c4,e4,a4]@2 c4@2 ~@2 [f4,b4] [f4,a4], ~ c5@2 ~, ~ d4",
  Q: "[e4,g#4] [a3,e4,a4] a4 g#4, ~ [e3,e4]", R: "[a3,e4,a4] ~@3", S: "[a3,e4,c5]!2", T: "[a3,d4,a#4]!2 ~@2",
  U: "[g#3,d4,b4]!2", V: "[a3,c4,a4]@2 [a3,c4,a4]@2 ~@2 [a3,c4,a4]!2", W: "[d4,a4]@2 [c4,e4,a4]@2 ~@2 [c4,e4,a4]!2",
  X: "[b3,e4,g#4]@2 [a3,e4,a4]@2 ~@2 [a3,c4,e4] [g3,b3,e4]", Y: "[f3,a3,a4] [e3,c4,g4] [d3,d4,f4] [a3,c4,e4]",
  Z: "[e3,c4,e4] [e3,b3,e4] ~@2", AA: "[c4,d#4,g4]@3 [c4,d#4,g4]", AB: "[c4,d#4,g4]!4",
  AC: "[c4,d#4] [a3,e4] [a3,e4,g4]@2, g4 ~", AD: "[a#3,e4,g4]@3 [a#3,c#4,e4]",
  AE: "[a#3,c#4,g4] [a3,e4,g4] [a3,c#4,e4] [g3,e4,a4]", AF: "[g3,e4] [f3,f4] [f3,f4,a4]@2, a4 ~",
  AG: "[g3,d#4,a#4]@4 c5@3 a4, ~ [a3,d#4]", AH: "[a#3,d4,g4] [a3,c4,a4]", AI: "[g3,a#3,a#4] [g#3,f4,b4]",
  AJ: "[a3,f4,a4]@2 [a3,e4,a4]@2 a3@3 a3", AK: "g#3 a3 g#3 a3 g#3 a3 g#3 a3", AL: "a#3@2 a3@2 [c#4,e4]@3 [c#4,e4]",
  AM: "[d4,f4]@2 [c#4,e4]@2 [c#4,e4]@3 [c#4,e4]", AN: "[d4,f4]@2 [c#4,e4]@2 a3@3 a3",
  AO: "a#3@2 a3@2 [c#4,a4]@3 [c4,a4]", AP: "[d4,g#4]@2 [c#4,a4]@2 [c#4,a4]@3 [c#4,a4]",
  AQ: "[d4,g#4]@2 [c#4,a4]@2 a3@3 a3", AR: "a#3@2 a#2@2 [a#3,d4,g4]@3 [a#3,d4,g4]",
  AS: "[c4,d#4,a4] [a#3,d4,a#4] [c4,d#4,a4] [a#3,d4,a#4] [c4,d#4,a4] [a#3,d4,a#4] [c4,d#4,a4] [a#3,d4,a#4]", // Adim A# Adim A# Adim A# Adim A#
  AT: "[a3,c#4,e4]@2 [a3,e4,a4]@2 ~@2 [a3,e4,a4]!2", AU: "[d4,f4,a4] [a3,e4,a4] [d4,f4,a4] [a3,e4,a4]",
  AV: "[d4,f4,a4]@2 [a3,e4,a4]@2 ~@2 [d4,f4,a4]!2", AW: "[c#4,e4,a4] [d4,a4] [c#4,e4,a4] [d4,a4]",
  AX: "[c#4,e4,a4] [d4,a4] ~@2", AY: "~ f4@2 f4", AZ: "a4 [f3,d4]@2 [f3,d4], ~ f4 ~@2",
  BA: "[d4,f4]@2 [a#3,d4]@2 g3@2 ~ [d4,a#4], ~@4 [d4,a#4]@3 ~, ~@3 e3", BB: "[a3,c#4,a4] [d3,d4,a4] d4 c#4, ~ [a3,a4]",
  BC: "[d3,d4,a4] f4@2 f4", BD: "d5 [a#3,d4]@2 [a#3,d4], ~ a#4 ~@2",
  BE: "[a#3,g4]@2 [g3,d#4]@2 g3@2 ~ [d4,a#4], ~@4 [d#4,a#4]@3 ~, ~@3 g3", BF: "[a3,c#4,a4] [d4,a4] d4 c#4, ~ [a3,a4]",
  BG: "[d3,d4,a4] ~@3", // D5
})).s("gm_trombone").gain(0.3)

// other · tremolo strings · "Violins 1"
const tremolo_strings = note(`<
  A B C D E@3 F@2 G H I J K L M N O P 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 AK AO AP AQ AK AR
  AS AT@5 AU@3 AV AU@2 AW AX AY AZ BA BB
>`.pickRestart({
  A: "d5 a4!7 d5 a4!7", B: "e5 a4@2 a4@2 a4@2 a4", C: "e5 a4!7 e5 a4!7", D: "f5 a4@2 a4@2 a4 d5!2",
  E: "[c#5@4 d5 a4 d5 f5 a5@2 a5@4 a5@6 f5 d5 f5 a5 d6@2 d6@4 d6@4 g5!2 f5!2 d6!2 e5!2 c#6!2 d6!2 f5!2]/3",
  F: "[f5@3 e5 e5@2 a5@2 a4@2 a4@4 a4@4 a4!2 a#4!2 b4!2 c5!2 c#5 d5!2 e5!2 ~, ~@4 f5 ~@27]/2", G: "f5 c5!7 f5 c5!7",
  H: "f5!4 f4!4 a4!4 c5!4", I: "d#5 c5!7 d#5 c5!7", J: "g5 d5!7 g5 d5!7", K: "b4!4 g4!4 b4!4 d5!4",
  L: "f5 d5!7 e5 d5!7", M: "a5 e5!7 g#5 e5!7", N: "a5 e5!7 f5 e5!7", O: "d5!2 b4!2 c5!2 a5!2 b4!2 a5!2 b4!2 g#5!2",
  P: "a4!2 c6!2 a5!2 g5!2 f5!2 e5!2 d#5!2 f#5!2", Q: "e5!2 d5!2 b5!2 a5!2 g#5!2 f5!2 e5!2 d5!2",
  R: "c5!2 a#5!2 f5!2 d5!2 c5!2 a5!2 b4!2 g#5!2", S: "a5 c5!7 a5 c5!7", T: "b5 b4@2 b4@2 b4@2 b4", U: "b5 b4!7 b5 b4!7",
  V: "c6 c5@2 c5@2 a4!3", W: "[[d4,a4,f5]@4 e5 a4 c5 e5 a5@2 e5@4 e5@6 a5 e5 a5 c6 e6@2 e6@4 e6@2]/2",
  X: "d6!2 d5!2 c5!2 c6!2 a#5!2 a#4!2 a4!2 a5!2", Y: "a5@3 g#5 g5@2 e5@4 e4@4 e5@2, ~@4 a5 ~@11",
  Z: "f5!2 g#5!2 f5!2 d5!2 b4!2 g4!2 f4!2 d4!2", AA: "[g3,d#4,c5] g4!7 c5 g4!7", AB: "d#5 c5!7 g4 c5!7",
  AC: "c5!2 c#5 c#5@2 c#5@2 c#5", AD: "c#5 g4!7 c#5 g4!7", AE: "e5 c5!7 a4 c5!7", AF: "c#5!2 d5 d5@2 d5@2 d5",
  AG: "d#5 a#4!7 f#5 c5!7", AH: "g5 d5!7 f5 c5!7", AI: "d#5 a#4!7 d5 b4!7", AJ: "d5 a4!3 c#5 a4!3 a3@6 a3@2",
  AK: "g#3!2 a3!2 g#3!2 a3!2 g#3!2 a3!2 g#3!2 a3!2", AL: "a#3@4 a3@4 e4!2 a4!2 c#5!2 e5!2",
  AM: "f5!2 g#4!2 a4!2 e5!2 e4!2 a4!2 c#5!2 e5!2", AN: "f5!2 g#4!2 a4!2 e5!2 a3@6 a3@2",
  AO: "a#3@4 a3@4 a4!2 c#5!2 e5!2 a5!2", AP: "g#5!2 b4!2 a4!2 a5!2 a4!2 c#5!2 e5!2 a5!2",
  AQ: "g#5!2 b4!2 a4!2 a5!2 a3@6 a3@2", AR: "a#3@2 g4!2 a#4!2 d5!2 g5@2 g5@4 g5@2",
  AS: "f#5!2 g5!2 f#5!2 g5!2 f#5!2 g5!2 f#5!2 g5!2",
  AT: "[g5 e5 g5 e5 c#5 a4 c#5 e5 a5@2 a5@4 a5@4 a5@4 a5@4 a5@4 a5@6 c5 a4 c5 e5 a5@2 a5@4 a5@4 a5@4 a5@4 a5@4 a5@4 a5@4 a5!2 f5!2 d5!2 f5!2 a5!2]/5",
  AU: "d6!2 a5!2 f5!2 d5!2 d6!2 a5!2 f5!2 d5!2", AV: "c#6!2 g5!2 f5!2 d6!2 e5!2 d6!2 e5!2 d6!2",
  AW: "d#6!2 a#5!2 g5!2 d#5!2 d#6!2 a#5!2 g5!2 d#5!2", AX: "c#5!2 g5!2 f5!2 d6!2 e5!2 d6!2 a4!2 c#6!2",
  AY: "d6@2 f5!2 d5!2 c5!2 a#4!2 a4!2 g#4!2 b4!2", AZ: "a4!2 g5!2 e5!2 d5!2 c#5!2 a#5!2 a5!2 g5!2",
  BA: "f5!2 d6!2 a#5!2 g5!2 f5!2 d6!2 e5!2 c#6!2", BB: "d6 d4 ~@2",
})).s("gm_tremolo_strings").gain(0.3)

// other · string ensemble 1 · "Violas"
const string_ensemble_1_2 = note(`<
  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 AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AO AS AT AU
  AO AV AW AX AY AZ BA BB BC BD BE BF BC BG BH BF BI BJ BK BL
>`.pickRestart({
  A: "a3 d4!7 a3 d4!7", B: "a3 e4@2 e4@2 e4@2 e4", C: "a3!16", D: "a3 d4@2 d4@2 d4@2 d4", E: "a#3@2 a3!2 d4 d4@2 d4",
// … 35 more lines

More by W. A. Mozart