Strudelify

3 German Dances K.605

W. A. Mozart

KeyC majorTempo144 bpm
0:00/0:00
// 3 German Dances K.605 — W.A. Mozart
// 144 bpm, 3/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 1 "Piccolo" named as a pipe, played on piccolo (its tremolo strings patch is not one); ch 2 "Oboe" named as a reed, played on oboe (its string ensemble 1 patch is not one); ch 3 "Bassoon" named as a reed, played on bassoon (its pizzicato strings patch is not one); ch 4 "B♭ Trumpet" named as a brass, played on trumpet (its tremolo strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5878053; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 154 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(144/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 · piccolo
const piccolo = note(`<
  A B C D E@2 F G A B C D E@2 F G H I J K E@2 F G H I J K E@2 F G ~@34 L M N@2 O@3 P Q R S@2 O@3 P ~@25 T U@2 V W X Y Z
  AA ~@15 AB@2 AC AD ~@4 AB@2 AC AE AF AG AH AI AJ AK AL AD ~@3
>`.pickRestart({
  A: "~ c7@3 ~@2 g6@3 ~@7", B: "~ g6@3 ~@2 e6@3 ~@7", C: "~ g6@5 e6@3 e6@3 e6@2 e6@2", D: "~ e6@5 c6@5 ~ g6@2 c7@2",
  E: "~ c7@3 b6@2 a6 ~@2 g6 ~@2 g6@2 c7@2", F: "~ c7@3 b6@2 a6 ~@2 g6 ~@2 a6@2 b6@2", G: "~ c7@5 ~@10",
  H: "~ d7@5 d7@5 ~ d7@4", I: "~ b6@5 g6@5 ~ g6@2 b6@2", J: "~ d7@3 d7@2 d7@3 d7@3 d7@2 d7@2",
  K: "~ b6@5 g6@5 ~ g6@2 c7@2", L: "~@7 c7@3 ~@2 g6@3 ~", M: "~@7 g6@3 ~@2 e6@3 ~",
  N: "[~@7 g6@5 e6@3 e6@3 e6@2 e6@3 e6@5 c6@4]/2", O: "~@2 g6@2 c7@3 c7@3 b6@2 a6 ~@2 g6", P: "~@2 a6@2 b6@3 c7@5 ~@4",
  Q: "~@7 d7@5 d7@4", R: "~@2 d7@5 b6@5 g6@4", S: "[~@2 g6@2 b6@3 d7@3 d7@2 d7@3 d7@3 d7@2 d7@3 b6@5 g6@4]/2",
  T: "~@5 g6@5 ~@6", U: "[~@2 d6 e6 g6@3 ~@3 g6@3 ~@2 g6@3 ~@2 g6@5 ~@7, ~@4 f#6 ~@27]/2",
  V: "~ [d6,e6] f#6 g6@3 ~@2 g6@3 ~@2 g6@3", W: "~@3 g6@5 ~@7 d6", X: "e6 f#6 g6@3 ~@2 g6@3 ~@2 g6@3 ~",
  Y: "~ g6@3 d6@2 b5@3 d6@3 g6@2 b6@2", Z: "~ g6@2 d6@3 b5@2 d6@3 g6@2 b6@3", AA: "g6@5 ~@11", AB: "g6@5 g6@5 ~ g6@5",
  AC: "b6@5 b6@5 ~ [b6,c7] b6 [a6,c7] ~ b6", AD: "c7@5 ~@11", AE: "c7@5 e6@5 ~ g6@5", AF: "e6@5 c6@5 ~ g5@5",
  AG: "c6@3 c6@2 e6@3 e6@3 g6@2 g6@3", AH: "e6@3 e6@2 c6@3 c6@3 g5@2 g5@3", AI: "c6@5 e5@5 ~ g5@5",
  AJ: "c6@5 g5@5 ~ c6@5", AK: "e6@5 c6@3 c6@3 e6@2 e6@3", AL: "g6@3 g6@2 e6@3 e6@3 g6@2 g6@3",
})).s("gm_piccolo").gain(0.35)

// chords · oboe
const oboe = note(`<
  A B C D E@2 F G A B C D E@2 F G H I H J E@2 F G H I H J E@2 F G ~@17 K L M N O P Q R@4 S T U K V W@2 X Y@2 Z@3 AA AB
  AC AD AC Z@3 AA AE ~@8 T AF AG K V AH AI AJ@2 AK@2 AL@2 AM AN AO AP@3 AQ AR@3 AS AT@4 AU ~@11 AV AW AX AY ~@4 AV AW AX
  AZ BA BB BC BD BE BF BG AY ~@3
>`.pickRestart({
  A: "~ [c4,g4,c6]@3 ~@2 [g3,e4,g5]@3 ~@7", B: "~ [g3,g4,g5]@3 ~@2 [e3,e4,e5]@3 ~@7",
  C: "~ [g4,g5]@3 ~@2 [e3,e4,e5]@3 e3@3 [e3,e4,e5]@2 e3@2, ~ g3@5 ~@10", // G E
  D: "~ [e3,e4,e5]@5 [c3,c4,c5]@5 ~ [c4,c5,e5]@4", E: "~ [g3,d5,f5]@11 [c4,c5,e5]@4",
  F: "~ [g3,d5,f5]@5 [g3,d5,f5]@5 ~ [g3,d5,f5]@4", G: "~ [c4,c5,e5]@5 g3@5 ~ c3@4",
  H: "~ [g3,b4,b5]@5 [f#3,a4,a5]@5 ~ [d3,f#4,f#5]@4", I: "~ [g3,g4,g5]@5 ~@10", J: "~ [g3,g4,g5]@5 ~@6 [c4,c5,e5]@4",
  K: "~@2 f3@3 ~@3", L: "~@5 f3@6 ~@5", M: "~@3 f3@3 ~@2", N: "~@4 f3@3 ~", O: "~@9 c3@6 ~", P: "~@5 f3@3",
  Q: "~@11 c3@5", R: "[~@12 f3@6 c3@6 f2@6 f3@6 ~@11 f3@6 ~@11]/4", S: "f3@3 ~@5", T: "~ f3@6 ~@9", U: "~ c3@3 ~@4",
  V: "~@5 c3@6 ~@5", W: "[~@6 f3@6 c3@5 f2@6 [c4,g4,c6]@3 ~@2 [g3,e4,g5]@3 ~]/2",
  X: "~@7 [g3,g4,g5]@3 ~@2 [e3,e4,e5]@3 ~", // G E
  Y: "[~@7 [g4,g5]@3 ~@2 [e3,e4,e5]@3 e3@3 [e3,e4,e5]@2 e3@3 [e3,e4,e5]@5 [c3,c4,c5]@4, ~@7 g3@5 ~@20]/2", // G E C
  Z: "[~@2 [c4,c5,e5]@5 [g3,d5,f5]@11 [c4,c5,e5]@5 [g3,d5,f5]@11 [c4,c5,e5]@5 [g3,d5,f5]@5 [g3,d5,f5]@4]/3", // C G7 C G7 C G7
  AA: "~@2 [g3,d5,f5]@5 [c4,c5,e5]@5 g3@4", AB: "~@2 c3@5 [g3,b4,b5]@5 [f#3,a4,a5]@4",
  AC: "~@2 [d3,f#4,f#5]@5 [g3,g4,g5]@5 ~@4", AD: "~@7 [g3,b4,b5]@5 [f#3,a4,a5]@4", AE: "~@2 c3@5 ~@9", AF: "~ f3@3 ~@4",
  AG: "~@3 f3@6 ~@7", AH: "~@7 f3@6 ~@3", AI: "~@4 c3@3 ~", AJ: "[~@9 f3@6 c3@6 f2@5 c3@5 ~]/2",
  AK: "[~@7 g2 a2 b2 c3@5 c3@5 c3@5 c3@5 ~@2]/2", AL: "[~@6 g2 [a2,b2] c3@5 c3@5 ~ c3@5 c3@5 ~@3]/2",
  AM: "~@4 g2 a2 b2 c3@5 c3@4", AN: "~ c3@5 c3@5 ~ c4@4", AO: "~ g3@5 e3@5 c3@5",
  AP: "[e3@5 [g3,g5]@5 ~@5 g3@3 d5 e5 g3@5 ~ [g3,g5]@2 g3@3 [g3,g5]@2 g3@3 [g3,g5]@5 ~@5 g3@2, ~@18 g3@2 g5@3 ~@25, ~@20 f#5 ~@27]/3", // G
  AQ: "~ [d5,e5] f#5 g3@5 [g3,g5]@3 g3@2 [g3,g5]@3, ~ g3@2 g5@3 ~@10", // Dsus2 G
  AR: "[g3@3 [g3,g5]@5 ~@5 g3@2 d5 e5 f#5 [g3,g5]@2 g3@3 [g3,g5]@3 g3@2 [g3,g5]@3 g3@2 g3@3 g3@2 g3@3 g3@3 g3@2 g3@2, ~@15 g3@3 ~@15 g5@5 g5@5 ~ g5@4]/3", // G
  AS: "~ g3@2 g3@3 g3@2 g3@3 g3@2 g3@3, ~ g5@5 g5@5 g5@5", AT: "[g2@5 ~@27 f5@32, g5]/4", AU: "[e5,g5]@5 ~@11",
  AV: "[g3,b4,d5]@5 [g3,b4,d5]@5 ~ [g3,b4,d5]@5", AW: "[c4,c5,e5]@5 [c4,c5,e5]@5 ~ [c4,c5,e5]@5",
  AX: "[g3,d5,b5]@5 [g3,d5,b5]@5 ~ [g3,f5,b5]@5", AY: "[c3,e5,c6]@5 ~@11", AZ: "[c3,e5,c6]@5 e5@5 ~ g5@5",
  BA: "e5@5 c5@5 ~ [g3,g4]@5", BB: "c5@3 c5@2 e5@3 e5@3 g5@2 g5@3, c3@5 ~@11",
  BC: "e5@3 e5@2 c5@3 c5@3 g4@2 g4@3, ~@11 g3@5", BD: "[c3,c5]@5 e4@5 ~ g4@5", BE: "[c3,c5]@5 g4@5 ~ c5@5",
  BF: "[c3,e5]@5 c5@3 c5@3 e5@2 e5@3", BG: "g5@3 g5@2 e5@3 e5@3 g5@2 g5@3, c3@5 c3@5 ~ c3@5",
})).s("gm_oboe").gain(0.4)

// chords · oboe · soft notes
const oboe_soft = note(`<
  ~@32 A B C D E F G H@2 I@5 J B K@2 ~@32 L G M N O@5 ~@28 P Q@2 R@2 Q@2 P R P R P ~@4 R P R P ~@15
>`.pickRestart({
  A: "~ f3@6 ~@9", B: "~ c3@3 ~@4", C: "~@3 c3@6 ~@7", D: "~@5 f3@6 ~@5", E: "~@3 f3@3 ~@2", F: "~@7 c3@6 ~@3",
  G: "~@4 c3@3 ~", H: "[~@9 f3@6 c3@6 f2@5 f3@6]/2", I: "[~@12 c3@6 ~@11 c3@6 ~@11 f3@6 ~@11 f3@6 ~@11]/5",
  J: "c3@3 ~@5", K: "[~@3 f3@6 c3@5 f2@6 ~@12]/2", L: "~@7 f3@6 ~@3", M: "~@5 c3@3", N: "~@11 f3@5",
  O: "[~@12 f3@6 ~@11 c3@6 ~@11 c3@6 ~@11 f3@6 c3@6 f2@5]/5", P: "c3@5 ~@11", Q: "g3@5 ~@11", R: "c4@5 ~@11",
})).s("gm_oboe").gain(0.2)

// other · trumpet · "B♭ Trumpet"
const trumpet = note("<~@49 A@2 B@2 ~@4 C@3 D E ~@29 F@2 G@2 ~@59>".pickRestart({
  A: "[~@4 f4@17 f5@6 ~@5]/2", B: "[~@4 f4@2 f4@17 ~ f5@6 ~@2]/2", C: "[~@14 f4@17 f5@6 ~@8 f4@3]/3", D: "f4",
  E: "~ f5@6 ~@9", F: "[~ f4@17 f5@6 ~@8]/2", G: "[f4@3 f4@17 f5@6 ~@6]/2",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "F Trumpet"
const trumpet_2 = note(`<
  ~@53 A@5 ~@3 B@2 C D@2 ~@29 E F@3 ~@27 G H I H J ~@3 G H I H J ~@3 H J H ~@4 G K@4
>`.pickRestart({
  A: "[~@6 c5@3 c5@11 ~@3 c5@3 c5@11 ~@3 c5@3 c6@17 a5@6 ~@14]/5", B: "[~@15 c5@3 c5@11 ~@3]/2", C: "~ c5@3 c5@11 ~",
  D: "[~@2 c5@3 c6@17 a5@6 ~@4]/2", E: "~@3 c5@2 c5@11", F: "[~@4 c5@3 c5@11 ~@3 c5@3 c6@17 a5@6 ~]/3", G: "~@13 c5@3",
  H: "c5", I: "c6@5 ~@8 c5@3", J: "c6@5 ~@11", K: "[c5@15 c5@2 c5@14 c5@2 ~ c5@16 c6@5 ~@9]/4",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "C Trumpet"
const trumpet_3 = note(`<
  A B C D E@2 F G A B C D E@2 F G H I H J E@2 F G H I H J E@2 F G ~@34 K L M@2 N@3 O P Q P Q N@3 O ~@17 R@3 S@3 T U V
  W@2 X@2 Y F ~@17 Z AA Z AB ~@4 Z AA Z AC AD AE AD AF AG AH AI AJ ~@3
>`.pickRestart({
  A: "~ c5@3 ~@2 g4@3 ~@7", B: "~ g4@3 ~@2 e4@3 ~@7", C: "~ g4@5 e4@3 e4@3 e4@2 e4@2", D: "~ e4@5 c4@5 ~ [c4,c5]@4",
  E: "~ g4@11 [c4,c5]@4", F: "~ g4@5 g4@5 ~ g4@4", G: "~ [c4,g4]@5 ~@10", H: "~ [g4,d5]@5 d5@5 ~ d5@4",
  I: "~ [g4,d5]@5 ~@10", J: "~ [g4,d5]@5 ~@6 [c4,c5]@4", K: "~@7 c5@3 ~@2 g4@3 ~", L: "~@7 g4@3 ~@2 e4@3 ~",
  M: "[~@7 g4@5 e4@3 e4@3 e4@2 e4@3 e4@5 c4@4]/2", N: "[~@2 [c4,c5]@5 g4@11 [c4,c5]@5 g4@11 [c4,c5]@5 g4@5 g4@4]/3",
  O: "~@2 g4@5 [c4,g4]@5 ~@4", P: "~@7 [g4,d5]@5 d5@4", Q: "~@2 d5@5 [g4,d5]@5 ~@4",
  R: "[~@10 c4@5 c4@3 c4@2 c4@3 c4@3 c4@5 g3@5 c4@5 [c4,e4]@5 [c4,e4]@2]/3", // C
  S: "[~ [c4,e4]@2 [c4,e4]@3 [c4,e4]@2 [c4,e4]@5 [g3,c4]@5 ~ [c4,e4]@5 [e4,g4]@5 [e4,g4]@2 [e4,g4]@3 [e4,g4]@2 [e4,g4]@3 [e4,g4]@5 [c4,e4]@4]/3", // C C5 C Em C
  T: "~ [e4,g4]@5 [e4,g4]@5 ~ [g4,c5]@4", U: "~ [e4,g4]@5 [e4,g4]@5 [c4,e4]@5", V: "c4@5 g4@5 ~@6",
  W: "[~@4 g4@5 ~ g4@5 g4@5 g4@5 ~@7]/2", X: "[~@3 g4@5 g4@5 g4@5 ~ g4@5 ~@8]/2", Y: "~@2 g4@5 g4@5 g4@4",
  Z: "[g4,d5]@5 [g4,d5]@5 ~ [g4,d5]@5", AA: "[c5,e5]@5 [c5,e5]@5 ~ [c5,e5]@5", AB: "[c4,c5]@5 ~@11",
  AC: "[c4,c5]@5 e4@5 ~ g4@5", AD: "e4@5 c4@5 ~@6", AE: "c4@5 e4@5 ~ g4@5",
  AF: "~@5 [g4,c5]@3 [g4,c5]@3 [g4,c5]@2 [g4,c5]@3", AG: "[g4,c5]@5 [e4,g4]@3 [e4,g4]@3 [e4,g4]@2 [e4,g4]@3",
  AH: "[e4,g4]@5 [c4,e4]@3 [c4,e4]@3 [c4,e4]@2 [c4,e4]@3", AI: "[c4,e4]@5 [c4,e4]@5 ~ [c4,e4]@5", AJ: "[c4,e4]@5 ~@11",
})).s("gm_trumpet").gain(0.4)

// other · timpani
const timpani = note(`<
  A B C D E@2 F G A B C D E@2 F G H I H E@3 J G H I H E@3 J G ~@34 K L M@2 N@2 O P Q R S Q N@2 T@2 ~@17 U V@2 W X Y@2 Z
  AA AB@2 AC@2 AD I ~@17 AE AF AG AH ~@4 AE AF AG AH AI AH AI AJ@3 AF AH ~@3
>`.pickRestart({
  A: "~ c3@5 g2@5 ~@5", B: "~ g2@5 c3@5 ~@5", C: "~ g2@5 c3@3 c3@3 c3@2 c3@2", D: "~ c3@5 c3@5 ~ c3@4",
  E: "~ g2@5 ~@6 c3@4", F: "~ g2@5 g2@5 ~ g2@2 g2@2", G: "~ c3@5 ~@10", H: "~ g2@5 ~@10", I: "~ g2@5 g2@5 ~ g2@4",
  J: "~ g2@5 g2@3 g2@3 g2@2 g2@2", K: "~@7 c3@5 g2@4", L: "~@7 g2@5 c3@4",
  M: "[~@7 g2@5 c3@3 c3@3 c3@2 c3@3 c3@5 c3@4]/2", N: "~@2 c3@5 g2@5 ~@4", O: "~@2 c3@5 g2@5 g2@4",
  P: "~@2 g2@2 g2@3 c3@5 ~@4", Q: "~@7 g2@5 ~@4", R: "~@7 g2@5 g2@4", S: "~@2 g2@5 g2@5 ~@4",
  T: "[~@2 c3@5 g2@5 g2@3 g2@3 g2@2 g2@3 c3@5 ~@4]/2", U: "~@10 c3@5 ~",
  V: "[~@4 c3@3 c3@3 c3@5 c3@2 c3@3 c3@2 c3@3 c3@5 ~@2]/2", W: "~@3 c3@3 c3@2 c3@5 c3@3", X: "c3@3 c3@2 c3@3 c3@5 ~@3",
  Y: "[~@2 c3@2 c3@3 c3@5 c3@3 c3@2 c3@3 c3@2 c3@5 ~ c3@2 c3@2]/2", Z: "~ c3@2 c3@3 c3@5 c3@5", AA: "c3@5 g2@5 ~@6",
  AB: "[~@4 g2@5 ~ g2@5 g2@5 g2@5 ~@7]/2", AC: "[~@3 g2@5 g2@5 g2@5 ~ g2@5 ~@8]/2", AD: "~@2 g2@5 g2@5 g2@4",
  AE: "g2@5 g2@5 ~ g2@5", AF: "c3@5 c3@5 ~ c3@5", AG: "g2@5 g2@5 ~ g2@2 g2@3", AH: "c3@5 ~@11", AI: "~@11 g2@5",
  AJ: "c3@5 c3@3 c3@3 c3@2 c3@3",
})).s("gm_timpani").gain(0.48)

// other · string ensemble 1 · "Violins"
const string_ensemble_1 = note(`<
  A B C D E@2 F G A B C D E@2 F G H I J K E@2 F G H I J K E@2 F G ~@17 L@2 M N@3 O@5 P Q@2 R@2 S T U V@2 W@3 X Y Z AA@2
  W@3 X ~@9 AB@4 AC AD@3 AE AF@2 AG@2 AH AI AJ AK@3 AL AM@2 AN AO AP ~@15 AQ AR AS AT ~@4 AQ AR AS AT AU AV AU AV@3 AW
  AV ~@3
>`.pickRestart({
  A: "~ [g4,e5,c6]@3 ~@2 g5@3 ~@7", B: "~ g5@3 ~@2 e5@3 ~@7", C: "~ g5@5 e5@3 e5@3 e5@2 e5@2",
  D: "~ e5@5 c5@5 ~ g5@2 c6@2", E: "~ c6@3 b5@2 a5 ~@2 g5 ~@2 g5@2 c6@2", F: "~ c6@3 b5@2 a5 ~@2 g5 ~@2 a5@2 b5@2",
  G: "~ c6@5 ~@10", H: "~ d6@5 d6@5 ~ d6@4", I: "~ b5@5 g5@5 ~ g5@2 b5@2", J: "~ d6@3 d6@2 d6@3 d6@3 d6@2 d6@2",
  K: "~ b5@5 g5@5 ~ g5@2 c6@2", L: "[~@4 f5@11 a#5@3 d6@3 c6@6 a5@5]/2", M: "~ f5@5 f5@10",
  N: "[~@2 a#5@3 d6@3 c6@5 a5@6 f5@6 e5@11 g5@3 e5@3 f5@6]/3",
  O: "[a5@5 c6@6 a#5@11 ~ g5@3 e5@2 f5@6 ~@12 f5@11 a#5@3 d6@3 c6@6 a5@5 f5@6]/5", P: "f5@11 a#5@3 d6@2",
  Q: "[~ c6@6 a5@6 f5@5 e5@11 ~ g5@2]/2", R: "[~ e5@3 f5@5 a5@6 c6@6 a#5@11]/2", S: "g5@3 e5@3 f5@6 ~@4",
  T: "~@7 [g4,e5,c6]@3 ~@2 g5@3 ~", U: "~@7 g5@3 ~@2 e5@3 ~", V: "[~@7 g5@5 e5@3 e5@3 e5@2 e5@3 e5@5 c5@4]/2",
  W: "~@2 g5@2 c6@3 c6@3 b5@2 a5 ~@2 g5", X: "~@2 a5@2 b5@3 c6@5 ~@4", Y: "~@7 d6@5 d6@4", Z: "~@2 d6@5 b5@5 g5@4",
  AA: "[~@2 g5@2 b5@3 d6@3 d6@2 d6@3 d6@3 d6@2 d6@3 b5@5 g5@4]/2",
  AB: "[~ f5@11 a#5@3 d6@3 c6@6 a5@5 f5@6 f5@11 ~ a#5@2 d6@3 c6@6 a5@6]/4", AC: "f5@5 e5@11",
  AD: "[~ g5@3 e5@3 f5@5 a5@6 c6@6 a#5@11 g5@3 e5@3 f5@6 ~]/3", AE: "~@10 c4@5 ~",
  AF: "[~@7 g3 a3 b3 c4@5 c4@5 c4@5 c4@5 ~@2]/2", AG: "[~@6 g3 [a3,b3] c4@5 c4@5 ~ c4@5 c4@5 ~@3]/2",
  AH: "~@4 g3 a3 b3 c4@5 c4@4", AI: "~ c4@5 c4@5 ~ e4@2 e4@2", AJ: "~ g4@2 g4@3 e5@2 e5@3 g5@2 g5@3",
  AK: "[c6@3 c6@2 b5@5 g4@3 g4@2 g4@3 g4@2 g4@3 ~@3 d4@3 ~@2 g4@3 ~@2 b4@5 b4@3 b4@2 b4@2]/3",
  AL: "~ b4@2 b4@3 ~@2 g4@3 ~@2 b4@3", AM: "[~@3 d5@5 d5@2 d5@3 d5@2 d5@3 d5@5 b4@5 d5@4]/2", AN: "~ g5@5 d5@5 ~ g5@4",
  AO: "~ b5@5 g5@5 d6@5", AP: "[g3,g4]@5 ~@11", AQ: "[g4,d5,b5]@5 b5@5 ~ b5@5", AR: "[g4,e5,c6]@5 c6@5 ~ c6@5",
  AS: "d6@5 d6@3 c6@3 b5@2 d6@3", AT: "c6@5 ~@11", AU: "~@11 [g4,d5,b5]@5", AV: "[g4,e5,c6]@5 ~@11",
  AW: "[g4,e5,c6]@5 [e5,c6]@5 ~ [e5,c6]@5", // C
})).s("gm_string_ensemble_1").gain(0.4)

// other · string ensemble 1 · "Violins" · soft notes
const string_ensemble_1_soft = note(`<
  ~@32 A@4 B C@3 D@6 E@2 F ~@33 G@4 H@5 ~@28 I J K L M J K N O P O P ~@4 O P O P ~@15
>`.pickRestart({
  A: "[~ f5@11 a5@3 f5@3 e5@6 g5@6 a#5@5 a#5@11 ~ g5@3 e5@3 f5@5 a5@6]/4", B: "c6@3 c6@5",
  C: "[~ a5@3 f5@3 e5@6 g5@5 a#5@6 a#5@11 ~ g5@2 e5@3 f5@6 ~]/3",
  D: "[~@10 f5@11 ~ a5@3 f5@3 e5@5 g5@6 a#5@6 a#5@11 g5@3 e5@3 f5@6 a5@6 c6@5 c6@11 ~ a5@3 f5@2]/6",
  E: "[e5@6 g5@6 a#5@6 a#5@11 g5@3]/2", F: "e5@3 f5@6 ~@7",
  G: "[~@7 f5@11 ~ a5@2 f5@3 e5@6 g5@6 a#5@6 a#5@11 g5@3 e5@3 f5@5]/4",
  H: "[a5@6 c6@6 c6@11 a5@3 f5@3 e5@6 g5@6 a#5@5 a#5@11 ~ g5@3 e5@2 f5@6 ~@11]/5", I: "c5@11 e5@2 c5@3",
  J: "b4@5 d5@5 ~ f5@5", K: "f5@11 d5@2 b4@3", L: "c5@5 e5@5 ~ g5@5", M: "g5@11 e5@2 c5@3", N: "c5@5 ~@11",
  O: "f5@11 a5@2 c6@3", P: "c6@5 g5@5 ~ e5@5",
})).s("gm_string_ensemble_1").gain(0.2)

// other · string ensemble 1 · "Violins"
const string_ensemble_1_2 = note(`<
  A B C D E@2 F G A B C D E@2 F G H I J K E@2 F G H I J K E@2 F G ~@17 L@2 M@2 N@2 O P@2 Q R S T@4 U V W X@2 Y@3 Z AA AB
  AC@2 Y@3 Z ~@9 AD@4 AE AF@2 AG AH AI@2 AJ@2 AK AL AM AN@3 AO AP@2 AQ AR AS ~@15 AT AU AV AW ~@4 AT AU AV AW AX AY AX
  AY@3 AZ AY ~@3
>`.pickRestart({
  A: "~ [g4,e5,c6]@3 ~@2 g5@3 ~@7", B: "~ g5@3 ~@2 e5@3 ~@7", C: "~ g5@5 e5@3 e5@3 e5@2 e5@2",
  D: "~ e5@5 c5@5 ~ [c5,e5]@4", E: "~ [d5,f5]@11 [c5,e5]@4", F: "~ [d5,f5]@5 [d5,f5]@5 ~ [d5,f5]@4",
  G: "~ [c5,e5]@5 ~@10", H: "~ d5@5 d5@5 ~ d5@4", I: "~ b4@5 g4@5 ~ g4@2 b4@2", J: "~ d5@3 d5@2 d5@3 d5@3 d5@2 d5@2",
  K: "~ b4@5 g4@5 ~ [c5,e5]@4", L: "[~@10 a#3@3 d4@2 a#3@6 ~@6 a3@3 c4@2]/2",
  M: "[~ a3@6 ~@5 a#3@3 d4@3 a#3@6 ~@5 a3@3]/2", N: "[c4@3 a3@6 ~@6 a#3@2 c4@3 a#3@6 ~@6]/2", O: "a3@3 c4@2 a3@6 ~@5",
  P: "[~ a#3@3 c4@3 a#3@3 c4@2 a3@6 ~@14]/2", Q: "~@3 a#3@3 d4@3 a#3@6 ~", R: "~@5 a3@2 c4@3 a3@6",
  S: "~@6 a#3@3 d4@2 a#3@5", T: "[~@7 a3@3 c4@3 a3@6 ~@5 a#3@3 c4@3 a#3@6 ~@5 a3@3 c4@3 a3@6 ~@5 a#3@3 c4@3]/4",
  U: "a#3@3 c4@3 a3@6 ~@4", V: "~@7 [g4,e5,c6]@3 ~@2 g5@3 ~", W: "~@7 g5@3 ~@2 e5@3 ~",
  X: "[~@7 g5@5 e5@3 e5@3 e5@2 e5@3 e5@5 c5@4]/2",
  Y: "[~@2 [c5,e5]@5 [d5,f5]@11 [c5,e5]@5 [d5,f5]@11 [c5,e5]@5 [d5,f5]@5 [d5,f5]@4]/3", // C Dm C Dm C Dm
  Z: "~@2 [d5,f5]@5 [c5,e5]@5 ~@4", AA: "~@7 d5@5 d5@4", AB: "~@2 d5@5 b4@5 g4@4",
  AC: "[~@2 g4@2 b4@3 d5@3 d5@2 d5@3 d5@3 d5@2 d5@3 b4@5 g4@4]/2",
  AD: "[~@6 a#3@3 d4@3 a#3@6 ~@6 a3@2 c4@3 a3@6 ~@6 a#3@3 d4@3 a#3@6 ~@5 a3@3 c4@3]/4", AE: "a3@6 ~@5 a#3@3 c4@2",
  AF: "[~ a#3@6 ~@5 a3@3 c4@3 a3@6 ~@6 a#3@2]/2", AG: "c4@3 a#3@3 c4@3 a3@6 ~", AH: "~@10 c4@5 ~",
  AI: "[~@7 g3 a3 b3 c4@5 c4@5 c4@5 c4@5 ~@2]/2", AJ: "[~@6 g3 [a3,b3] c4@5 c4@5 ~ c4@5 c4@5 ~@3]/2",
  AK: "~@4 g3 a3 b3 c4@5 c4@4", AL: "~ c4@5 c4@5 ~ e4@2 e4@2", AM: "~ g4@2 g4@3 c5@2 c5@3 e5@2 e5@3",
  AN: "[e5@3 e5@2 d5@5 g4@3 g4@2 g4@3 g4@2 g4@3 ~@3 d4@3 ~@2 g4@3 ~@2 g4@5 g4@3 g4@2 g4@2]/3",
  AO: "~ g4@2 g4@3 ~@2 d4@3 ~@2 g4@3", AP: "[~@3 b4@5 b4@2 b4@3 b4@2 b4@3 b4@5 g4@5 b4@4]/2", AQ: "~ d5@5 b4@5 ~ d5@4",
  AR: "~ g5@5 d5@5 b5@5", AS: "[g3,g4]@5 ~@11", AT: "[g4,d5]@5 [g4,d5]@5 ~ [g4,d5]@5",
  AU: "[c5,e5]@5 [c5,e5]@5 ~ [c5,e5]@5", AV: "f5@5 f5@3 e5@3 d5@2 f5@3", AW: "e5@5 ~@11", AX: "~@11 [g4,d5,b5]@5",
  AY: "[g4,e5,c6]@5 ~@11", AZ: "[g4,e5,c6]@5 [e5,c6]@5 ~ [e5,c6]@5",
})).s("gm_string_ensemble_1").gain(0.4)

// other · string ensemble 1 · "Violins" · soft notes
const string_ensemble_1_soft_2 = note(`<
  ~@32 A@4 B C@2 D ~ E F G H I J@2 K ~@33 L M N@2 E O P Q@2 ~@28 R S@2 R@2 S@2 R T R T R ~@4 T R T R ~@15
// … 26 more lines

More by W. A. Mozart