Strudelify

KV 80 Rondeau

Wolfgang Amadeus Mozart

KeyG majorTempo120 bpm
0:00/0:00
// KV 80 Rondeau — Wolfgang Amadeus Mozart
// 120 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/53338; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 132 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 · [...]/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 · string ensemble 1 · "Violinen 1"
const string_ensemble_1 = note(`<
  A B C D A E F G H I J K H I J L M N O P Q R S T A B C D A E F G U V W X Y Z ~@2 Y AA X V AB AC AD AE AF AG AH AI AJ AD
  A B C D A E F G H I J K H I J L M N O P Q R S T A B C D A E F G A B C D A E F ~@2 E F ~ G ~@33
>`.pickRestart({
  A: "d5@5 d5@5 ~ e5@2 d5@3", B: "e5@5 e5@5 ~@6", C: "c5@5 c5@5 ~ d5@2 c5@3", D: "a4@5 a4@5 ~ b4@2 a4@3",
  E: "e5@3 d5@2 e5@3 f#5@3 g5@2 f#5@3", F: "b5@3 a5@2 b5@3 c6@3 d6@5", G: "a4@11 g4@5", H: "g5@5 a5@3 b5@3 b5@2 a5@3",
  I: "f#5@3 e5@2 d5@3 c#5@3 e5@2 d5@3", J: "g5@3 f#5@2 a5@3 g5@3 b5@2 a5@3", K: "f#5@3 e5@2 g5@3 b5@3 d5@5",
  L: "f#5@3 e5@2 d5@3 c#5@3 ~@5", M: "d4@5 d4@3 d4@3 f4@5", N: "e4@5 e4@3 e4@3 e4@5", O: "c4@5 c4@3 c4@3 d#4@5",
  P: "d4@5 d4@3 d4@3 d4@5", Q: "b5@3 a5@2 g5@3 f#5@3 g5@2 f#5@3", R: "e5@3 d5@2 c5@3 b4@3 c5@2 b4@3",
  S: "a4@3 g4@2 f#4@3 e4@3 d4@5", T: "c5@5 b4@5 ~ a4@5", U: "g4@5 g4@3 g4@3 a#4@5", V: "a4@5 a4@3 a4@3 c5@5",
  W: "a#4@5 a#4@3 a#4@3 d5@5", X: "c5@5 c5@3 c5@3 d#5@5", Y: "d5@5 d5@3 d5@3 f5@5", Z: "e5@5 e5@3 e5@3 g5@5",
  AA: "b4@5 b4@3 b4@3 d5@5", AB: "g4@11 ~@5", AC: "f#4@11 ~@5", AD: "a#4@11 ~@5", AE: "a4@11 ~@5",
  AF: "g5@5 g5@3 g5@3 g5@5", AG: "d#5@5 d#5@3 d#5@3 d#5@5", AH: "c5@5 c5@3 c5@3 c5@2 a#4@3",
  AI: "c5@3 a#4@2 a4@3 g4@3 f#4@5", AJ: "a4@5 d5@5 ~@6",
})).s("gm_string_ensemble_1").gain(0.3)

// other · string ensemble 1 · "Bratschen"
const string_ensemble_1_2 = note(`<
  A B C D E@2 F ~@2 G H I J ~ K L M@2 N O P@2 Q R S T U ~@3 V@2 A B C D E@2 F ~@2 G H ~ W@2 X@2 ~@2 Y Z@3 AA AB AC AD AE
  ~ AF@2 AG@2 AH@2 AI AJ AK AL AM@2 A B C D E@2 F ~@2 G H I J ~ K L M@2 N O P@2 Q R S T U ~@3 V@2 A B C D E@2 F ~@2 G AN
  AO AP@2 AQ AR A AS ~@2 AT AU AV AW AX ~ AY@2
>`.pickRestart({
  A: "b3@5 b3@5 ~ c4@2 b3@3", B: "a3@3 g3@2 c4@5 ~ c4@5", C: "c4@11 e4@5", D: "e4@5 f#4@3 e4@3 d4@2 c4@3",
  E: "[f#3@5 f#3@5 ~ f#3@10 b3@5 ~ b3@5]/2", F: "c4@3 b3@2 a3@3 g3@3 g4@5", G: "~@5 c4@11", H: "b3@5 ~@11",
  I: "~@5 a3@11", J: "a3@11 a3@5", K: "d4", L: "b4@5 a4@11", M: "[~@11 a3@10 a3@11]/2", N: "a3@11 ~@5", O: "~@11 d4@5",
  P: "[a4@5 a3@5 ~ a3@11 ~@10]/2", Q: "~@5 b3@5 ~@6", R: "g#3@5 ~@6 a3@5", S: "~@5 a3@5 ~@6", T: "a3@5 ~@6 f#3@5",
  U: "~@5 g3@5 ~@6", V: "[d4@21 d4@5 ~@6]/2", W: "[~@11 d4@10 a#4@11]/2", X: "[a#4@11 a4@10 a#4@11]/2", Y: "a4@11 a3@5",
  Z: "[a3@5 a3@3 g3@3 f3@10 e3@5 ~ d3@10 d4@5 ~ d4@2 d4@3]/3", AA: "f4@5 b3@5 ~ b3@5", AB: "b3@3 b3@2 d4@5 ~ c4@5",
  AC: "c4@5 c4@3 c4@3 d#4@5", AD: "a3@5 a3@5 ~ a3@2 a3@3", AE: "c4@5 a#3@5 ~@6", AF: "[a4@11 a4@10 g4@11]/2",
  AG: "[~@11 c5@10 c5@11]/2", AH: "[a#4@5 a#4@3 a#4@3 a4@10 g4@5 ~ g4@2 g4@3]/2", AI: "f#4@11 d4@5",
  AJ: "d4@3 d4@2 d4@11", AK: "g3@11 a3@5", AL: "d4@11 f#4@5", AM: "[d4@21 d4@11]/2", AN: "b3@5 ~@6 b3@5",
  AO: "b3@5 c4@3 b3@3 a3@2 g3@3", AP: "[c4@5 c4@5 ~ c4@10 e4@5 ~ e4@5]/2", AQ: "f#4@3 e4@2 d4@3 c4@3 f#3@5",
  AR: "f#3@5 f#3@11", AS: "a3@3 g3@2 g4@5 ~@6", AT: "e4@3 d4@2 e4@3 f#4@3 g4@2 f#4@3",
  AU: "g4@3 a4@2 b4@3 a4@3 b4@2 c5@3", AV: "d5@5 ~@6 c5@2 b4@3", AW: "c5@3 a4@2 b4@3 a4@3 b4@2 f#4@3",
  AX: "g4@3 f#4@2 g4@3 a4@3 b4@5", AY: "[c4@21 b3@5 ~@6]/2",
})).s("gm_string_ensemble_1").gain(0.3)

// other · string ensemble 1 · "Violoncellos"
const string_ensemble_1_3 = note(`<
  A@2 B C D@2 E ~@2 F G H I ~ J@2 K@2 L M N@2 O P Q R S ~@3 T@2 A@2 B C D@2 E ~@2 F G ~ U@2 V@2 ~ H W@2 X@2 Y Z AA AB
  AC@2 AD@2 AE@2 ~@2 AF AG AH@2 AI@2 A@2 B C D@2 E ~@2 F G H I ~ J@2 K@2 L M N@2 O P Q R S ~@3 T@2 A@2 B C D@2 E ~@2 F
  AJ AK AL@2 I AM AN@2 ~@2 AO AP AQ AR AS ~ AT@2
>`.pickRestart({
  A: "[g3@5 g3@5 ~ g3@10 c3@5 ~ c3@5]/2", B: "c3@11 a2@5", C: "a2@5 a2@11", D: "[d3@5 d3@5 ~ d3@10 g3@5 ~ g3@5]/2",
  E: "g3@11 ~@5", F: "~@5 d3@11", G: "g2@5 ~@11", H: "~@5 a3@11", I: "a2@11 d3@5", J: "[d3@11 g2@10 a2@11]/2",
  K: "[~@11 a3@10 a2@11]/2", L: "d3@11 ~@5", M: "~@5 d4@11", N: "[a3@11 d3@11 ~@10]/2", O: "g#3@5 ~@6 e3@5",
  P: "~@5 a3@5 ~@6", Q: "g3@5 ~@6 f#3@5", R: "~@5 d3@5 ~@6", S: "g3@5 ~@11", T: "[f#3@11 g3@10 d3@5 ~@6]/2",
  U: "[d3@11 g2@11 ~@10]/2", V: "[~@11 f3@10 a#2@11]/2", W: "[d3@11 d3@10 g2@11]/2",
  X: "[a2@11 d2@10 d4@5 ~ d4@2 d4@3]/2", Y: "f4@5 b3@5 ~ b3@5", Z: "b3@3 b3@2 d4@5 ~ c4@5", AA: "c4@5 c4@3 c4@3 d#4@5",
  AB: "a3@5 a3@5 ~ a3@2 a3@3", AC: "[c4@5 a#3@5 ~ d#3@10 c3@11]/2", AD: "[d3@11 g2@10 g3@11]/2",
  AE: "[d#3@11 f3@10 a#2@11]/2", AF: "~@11 f#3@5", AG: "f#3@3 f#3@2 g3@11", AH: "[d#3@11 d3@10 d2@11]/2",
  AI: "[g2@21 d2@11]/2", AJ: "g2@5 ~@6 g3@5", AK: "g3@5 g3@11", AL: "[c3@5 c3@5 ~ c3@10 a2@5 ~ a2@5]/2",
  AM: "d3@5 d3@11", AN: "[g3@5 g3@5 ~ g3@11 ~@10]/2", AO: "c4@3 b3@2 c4@3 a3@3 b3@2 a3@3",
  AP: "b3@3 f#3@2 g3@3 f#3@3 g3@2 a3@3", AQ: "b3@5 ~@6 c4@2 b3@3", AR: "c4@3 a3@2 b3@3 a3@3 b3@2 f#3@3",
  AS: "g3@3 f#3@2 g3@3 a3@3 b3@5", AT: "[d3@21 g2@5 ~@6]/2",
})).s("gm_string_ensemble_1").gain(0.3)

stack(string_ensemble_1, string_ensemble_1_2, string_ensemble_1_3)

More by Wolfgang Amadeus Mozart