Strudelify

La stravaganza Op.4

Antonio Vivaldi

KeyG♭ majorTempo120 bpm
0:00/0:00
// La stravaganza Op.4 — Antonio Vivaldi
// 120 bpm, 4/4, key Gb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5935033; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 65 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. 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.

// other · violin · "Violín"
const violin = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V@3 W@2 X@2 Y Z AA AB AC AD M N O AE AF V AG AH AI@2 AJ AK@2 AL AM AN ~@5 AO
  AP AQ AR AS AT AU@2 AV AW
>`.pickRestart({
  A: "~@7 bb5", B: "eb5@2 eb5@2 eb5@2 eb5@2 eb5@2 gb5 f5 eb5@2 eb5@2",
  C: "eb5@2 gb5 f5 eb5@2 eb5@2 eb5@2 gb5 f5 eb5@2 eb5@2", D: "f5@2 gb5 ab5 bb5 ab5 gb5 f5 gb5 f5 eb5@2 ~@4",
  E: "bb5@6 b5 a5 bb5@6 b5 a5", F: "bb5@6 b5 a5 bb5@2 bb4@2 ~@4",
  G: "bb5 gb5 f5 gb5 bb5 gb5 f5 gb5 ab5 f5 eb5 f5 ab5 f5 eb5 f5",
  H: "gb5 eb5 d5 eb5 gb5 eb5 d5 eb5 f5 db5 c5 db5 f5 db5 c5 db5",
  I: "eb5 b4 bb4 b4 eb5 gb5 f5 eb5 d5 f5 eb5 f5 bb4 ab5 gb5 f5", J: "gb5 bb5 eb4 bb5 f4 ab5 d4 ab5",
  K: "eb4 gb5 b3 gb5 db4 f5 bb3 f5", L: "b3 eb5 ab3 eb5 bb3@2 ~ bb5", M: "bb5 ab5 gb5 f5 eb5@2 db5@2 b4@6 ab5@2",
  N: "ab5 gb5 f5 eb5 db5@2 b4@2 bb4@6 gb5@2", O: "gb5 f5 eb5 db5 b4@2 bb4@2 ab4@6 f5@2",
  P: "f5 eb5 d5 c5 bb4@2 ab4@2 gb4@6 eb5@2",
  Q: "e5 [e5,gb5] eb5@2 bb5@2 eb5@2 e5 [e5,gb5] eb5@2 bb5@2 eb5@2, ~@2 gb5 ~@7 gb5 ~@5", R: "e5 g5 ab5!2 ab5@3 ab5",
  S: "gb5@2 f5 eb5 [d5,eb5] d5 [d5,eb5] eb5 eb5@2 bb4@2 bb4@2 bb4@2", T: "bb4!7 b4", U: "f4!6 d5!2", V: "bb4!8",
  W: "bb4!4 b4!4", X: "b4!8", Y: "bb4!4 ab4!4", Z: "gb4!8", AA: "gb4 bb4 ab4!6", AB: "bb4@2 ~@2 bb4!4",
  AC: "bb4!3 b4 f4!4", AD: "f4!2 d5!2 bb4!3 bb5", AE: "f5 eb5 d5 c5 bb4@2 ab4@2 gb4@6 bb5@2",
  AF: "bb5@2 ab5 gb5 [f5,gb5] f5 [f5,gb5] eb5 eb5@2 bb4@2 bb4@2 bb4@2", AG: "bb4!6 b4!2", AH: "f4 ~@3",
  AI: "~ db5 bb4 g4 ~ db5 bb4 g4", AJ: "~ eb5 b4 ab4 ~@4", AK: "~ b4 ab4 f4 ~ b4 ab4 f4", AL: "~ db5 bb4 gb4 ~@4",
  AM: "~@5 eb5 b4 gb4", AN: "~ eb5 b4 gb4 ~@4", AO: "~@7 f5", AP: "bb4@2 bb4@2 bb4@2 bb4@2 bb4@2 db5 c5 bb4@2 bb4@2",
  AQ: "bb4@2 db5 c5 bb4@2 bb4@2 c5@2 db5 eb5 f5 eb5 db5 c5", AR: "db5 c5 bb4@2 ~@4 f5@6 gb5 eb5",
  AS: "f5@6 gb5 eb5 f5@2 f4@2 ~@4", AT: "~ f5 gb5 ab5 bb5@2 f5@2 gb5@2 ~@2 f5@2 ~@2", AU: "eb5 ~ db5 ~ gb5 ~ f5 ~",
  AV: "a5 bb5@2 a5", AW: "bb5 ~@3",
})).s("gm_violin").gain(0.2)

// other · violin · "Violín"
const violin_2 = note("<~@3 A B C D E F G H I J K L M N O P ~@15 Q K L R S ~@17 T U V W X Y Z AA AB>".pickRestart({
  A: "~@3 bb5 eb5!4", B: "eb5@2 gb5 f5 eb5@2 eb5@2 eb5@2 gb5 f5 eb5@2 eb5@2",
  C: "eb5@2 gb5 f5 eb5@2 eb5@2 f5@2 gb5 ab5 bb5 ab5 gb5 f5", D: "gb5 bb5 eb4 bb5 f4 ab5 d4 ab5",
  E: "eb4 gb5 b3 gb5 db4 f5 bb3 f5", F: "b3 eb5 ab3 eb5 bb3@2 ~@2",
  G: "bb5 gb5 f5 gb5 bb5 gb5 f5 gb5 ab5 f5 eb5 f5 ab5 f5 eb5 f5",
  H: "gb5 eb5 d5 eb5 gb5 eb5 d5 eb5 f5 db5 c5 db5 f5 db5 c5 db5",
  I: "eb5 b4 bb4 b4 eb5 gb5 f5 eb5 d5 f5 eb5 f5 bb4 ab5 gb5 f5", J: "gb5@4 ~@2 eb5@2 eb5 db5 b4 bb4 ab4@2 gb4@2",
  K: "f4@6 db5@2 db5 b4 bb4 ab4 gb4@2 f4@2", L: "eb4@6 b4@2 b4 bb4 ab4 gb4 f4@2 eb4@2",
  M: "db4@6 bb4@2 bb4 ab4 gb4 f4 eb4@2 eb5@2",
  N: "ab5 [ab5,bb5] gb5@2 ~@2 gb5@2 ab5 [ab5,bb5] gb5@2 ~@2 gb5@2, ~@2 bb5 ~@7 bb5 ~@5", O: "ab5 bb5 b5!2 b5@3 b5",
  P: "bb5@2 ab5 gb5 [f5,gb5] f5 [f5,gb5] eb5 eb5@2 ~@6", Q: "~@6 eb5@2 eb5 db5 b4 bb4 ab4@2 gb4@2",
  R: "db4@6 bb4@2 bb4 ab4 gb4 f4 eb4@2 f5@2", S: "gb5@2 f5 eb5 [d5,eb5] d5 [d5,eb5] eb5 eb5@2 ~@6",
  T: "~@8 f5@6 gb5 eb5", U: "f5@6 gb5 eb5 f5@2 f4@2 ~@2 f5@2", V: "bb4@2 bb4@2 bb4@2 bb4@2 bb4@2 db5 c5 bb4@2 bb4@2",
  W: "bb4@2 db5 c5 bb4@2 bb4@2 c5@2 db5 eb5 f5 eb5 db5 c5", X: "db5 bb4 ~ db5 eb5 ~ db5 ~", Y: "c5 ~ bb4 ~@5",
  Z: "~@4 eb5 ~ db5 ~", AA: "eb5 ~ db5 ~ c5 ~ c5 ~", AB: "db5 ~@3",
})).s("gm_violin").gain(0.4)

// other · violin · "Violín" · soft notes
const violin_soft = note(`<
  ~@18 A B C D E@2 F G H@2 I J K L M N ~@4 A O P Q R S T U V W X Y ~@11 Z AA ~@2
>`.pickRestart({
  A: "~@5 gb4!3", B: "gb4!7 ab4", C: "d4!6 f4!2", D: "eb4 gb4!7", E: "g4!8", F: "g4!4 ab4!2 eb4!2",
  G: "eb4!2 g4!2 eb4!4", H: "f4!8", I: "db4!4 f4!4", J: "db4!4 eb4!4", K: "db4!2 eb4!2 db4!2 f4!2",
  L: "db4@2 ~@2 gb4!4", M: "gb4!3 ab4 d4!4", N: "d4!2 f4!2 eb4 gb4 gb4@2", O: "f4!2 d5!2 bb4 gb4!3",
  P: "f4!4 gb4!2 ab4!2", Q: "d4 ~@3", R: "~@3 db5 bb4 g4 ~ db5", S: "bb4 g4 ~ db5 bb4 g4 ~ e5", T: "eb5 ab4 ~@6",
  U: "~@3 b4 ab4 f4 ~ b4", V: "ab4 f4 ~ b4 ab4 f4 ~ eb5", W: "db5 gb4 ~@6", X: "~@7 gb5", Y: "eb5 b4 ~@6",
  Z: "~@4 eb5 ~ db5 ~", AA: "c5 ~ bb4 ~@5",
})).s("gm_violin").gain(0.2)

// other · viola
const viola = note(`<
  ~ A@2 B A C D E F D E F G@4 H I J K L M@3 N@2 O@2 P Q R S T U V@4 W X Y D ~@14 Z AA AB AC AD AE@2 AF AG
>`.pickRestart({
  A: "~ bb4 gb4@2 ~ bb4 gb4@2", B: "d4 f4!2 eb4 bb3 gb4 gb4@2", C: "~ bb4 gb4@2 d4 f4!2 eb4", D: "bb3 ~@3",
  E: "~ bb4 eb4 bb4 ab4!2 db4 ab4", F: "gb4!2 b3 gb4 f4 d4 f4 d4",
  G: "[bb3@2 gb4@4 b3@4 f4@4 bb3@4 eb4@4 ab3@4 f3@2 gb3@2 ~ bb4]/4", H: "b4 bb4 ~ bb4 b4 bb4 ~ bb4",
  I: "b4 bb4 ab4 eb4 f4 gb4 ab4 f4", J: "gb4 b4 f4 bb4 gb4 eb4!3", K: "eb4!7 ab3", L: "bb3!8", M: "eb4!8",
  N: "eb4!4 ab3!4", O: "db4!8", P: "gb3!4 db4!4", Q: "bb3!4 b3!4", R: "gb3!2 c4!2 db4!4", S: "gb3@2 ~@2 eb4!4",
  T: "eb4!3 ab3 bb3!4", U: "bb3!4 eb4!2 eb4@2", V: "[gb4@6 b3@4 f4@4 bb3@4 eb4@4 ab3@4 f3@2 gb3@3 d4]/4",
  W: "bb3 b4 f4 bb4 gb4 eb4!3", X: "d4!4 eb4!4", Y: "d4!4 eb4!2 ab3!2", Z: "~ f4 db4@2 ~ f4 db4@2",
  AA: "~ f4 db4@2 a3 c4!2 a3", AB: "f3 db4 f4@2 ~ f4 db4@2", AC: "~ f4 db4@2 a3 c5!2 a4", AD: "f4@2 ~ db4 c4 ~ db4 ~",
  AE: "eb4 ~ f4 ~ c4 ~ db4 ~", AF: "eb4 ~ f4 ~ gb4 ~ f4 ~", AG: "f4 ~@3",
})).s("gm_viola").gain(0.2)

// other · cello · "Violonchelo"
const cello = note("<~ A@2 B A C D E F D E F G H I J K L M ~@14 N G H I O P ~@17 Q R S R T U V W X>".pickRestart({
  A: "~ eb4 eb3@2 ~ eb4 eb3@2", B: "bb2 bb3 d3 bb2 eb3 eb4 eb3@2", C: "~ eb4 eb3@2 bb2 bb3 d3 bb2", D: "eb3 eb4 f4 d4",
  E: "eb4 b3 db4 bb3", F: "b3@2 ab3@2 bb3!2 d3 bb3", G: "eb3!4 ab2!4", H: "db3!4 gb2!4", I: "b2!4 f2!4",
  J: "bb2!4 eb3!4", K: "ab3 eb3 ~ eb3 ab3 eb3 ~ eb3", L: "ab3 eb3 ab2 ab3 d3 eb3 f3 d3", M: "eb3 ab3 bb3 bb2 eb2@2 ~@2",
  N: "~@7 eb3", O: "bb2!4 eb3!3 ~", P: "eb3 gb3 bb3 bb2 eb2@2 ~@2", Q: "~ bb3 bb2@2 ~ bb3 bb2@2",
  R: "~ bb3 bb2@2 f2 f3 a2 f2", S: "bb2 bb3 bb2@2 ~ bb3 bb2@2", T: "bb2 bb3 db3 bb2 a2 ~ bb2 ~", U: "c3 ~ db3 ~@5",
  V: "~@4 a2 ~ bb2 ~", W: "c3 ~ db3 ~ eb3 ~ f3 ~", X: "bb2 ~@3",
})).s("gm_cello").gain(0.3)

// other · cello · "Violonchelo" · soft notes
const cello_soft = note("<~@41 A B@2 C D@2 E F G H I J K L M N ~@4 O P ~@2>".pickRestart({
  A: "bb3!2 ab3!2 g3!4", B: "g3!8", C: "ab3!2 gb3!2 f3!4", D: "f3!8", E: "gb3!8", F: "eb3!8", G: "eb3!4 a2@4",
  H: "bb2 d3 eb3@2", I: "f3 a3 bb3 db4", J: "eb4 db4 c4 db4", K: "eb4@2 db4@2 gb3@2 eb3 f3",
  L: "gb3@2 f3 eb3 db3@2 c3 bb2 a2@4 bb2@4", M: "eb3@6 db3 eb3 f3@4 f2@4", N: "bb2 ~@7", O: "~@4 a2 ~ bb2 ~",
  P: "c3 ~ db3 ~@5",
})).s("gm_cello").gain(0.2)

stack(violin, violin_2, violin_soft, viola, cello, cello_soft)

More by Antonio Vivaldi