Strudelify

Chamber Concerto in G minor RV 107

Antonio Vivaldi

KeyB♭ majorTempo70 bpm
0:00/0:00
// Chamber Concerto in G minor RV 107 — Antonio Vivaldi
// 70 bpm, 3/8, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/325981; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(70/1.5)

// 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 · oboe
const oboe = note(`<
  ~@8 A@2 B C D E F G H I J K L M N O P Q R S T R U V ~@7 W X Y Z AA AB AC AA AD ~@7 AE AF AG AH AE AG AI AJ AK AL AM AN
  AO AP AQ AR ~@7 AS AT AU AV AW AX AY AZ@4 BA BB BC BD BE@4 BF BG BH BI BJ BK BL BJ BK BM BN BO BP BQ BR BS V BQ BR BS
  BT
>`.pickRestart({
  A: "d5@5 d5@8 d5@3", B: "g5@5 g5@8 a5@3", C: "gb5@8 e5@3 d5@5", D: "g5@5 g5@8 d5@3", E: "eb5@5 eb5@8 eb5@3",
  F: "d5@5 d5@8 c5@3", G: "bb4@3 c5@2 bb4@3 a4@3 g4@3 ~@2", H: "~@5 d5@3 c5@3 bb4@5", I: "c5@5 c5@3 bb4@3 a4@5",
  J: "bb4@5 bb4@3 a4@3 g4@5", K: "a4@5 a4@3 g4@3 gb4@2 e4@3", L: "d4@5 d5@3 c5@3 bb4@5",
  M: "eb5@5 eb5@3 d5@3 c5@2 bb4@3", N: "a4@5 d5@3 c5@3 bb4@2 a4@3", O: "g4", P: "~@3 g4@2 bb4@3 d5@3 g5@2 bb5@3",
  Q: "~@3 f4@2 a4@3 d5@3 f5@2 a5@3", R: "~@3 eb4@2 g4@3 c5@3 eb5@2 g5@3", S: "~@3 d4@2 gb4@3 bb4@3 d5@2 gb5@3",
  T: "g5@3 g4@2 bb4@3 d5@3 g5@2 bb5@3", U: "~@3 d4@2 gb4@3 a4@3 d5@2 c5@3", V: "bb4@11 ~@5",
  W: "d5@3 bb4@2 bb4@3 g5@3 g5@2 eb5@3", X: "eb5@3 c5@2 c5@3 f5@3 f5@2 d5@3", Y: "d5@3 bb4@2 bb4@3 eb5@3 eb5@2 c5@3",
  Z: "c5@3 a4@2 a4@3 d5@3 d5@2 gb5@3", AA: "g5@3 bb4@2 bb4@3 d5@3 d5@2 g5@3", AB: "eb5@3 c5@2 c5@3 eb5@3 eb5@2 g5@3",
  AC: "gb5@3 a4@2 a4@3 d5@3 d5@2 gb5@3", AD: "g5@11 ~@5", AE: "d5@5 c5@3 bb4@3 a4@2 g4@3",
  AF: "a5@5 g5@3 f5@3 eb5@2 d5@3", AG: "g5@5 f5@3 eb5@3 d5@2 c5@3", AH: "g5 gb5@7 e5@3 d5@5",
  AI: "a5@3 g5@2 gb5@3 e5@3 d5@2 c5@3", AJ: "bb4@8 a4@3 g4@5", AK: "bb4 d5 ~ d5!2 bb4 ~ d5!3 ~ bb4 eb5!2 ~ eb5",
  AL: "c5 eb5 ~ eb5!2 a4 ~ d5!3 ~ a4 d5!2 ~ d5", AM: "bb4 d5 ~ d5!2 g4 ~ c5!3 ~ g4 c5!2 ~ c5",
  AN: "a4 c5 ~ c5!2 a4 ~ c5!3 ~ a4 c5!2 ~ c5", AO: "bb4 d5 ~ d5!2 bb4 ~ d5!3 ~ bb4 d5!2 ~ d5",
  AP: "c5 eb5 ~ eb5!2 c5 ~ eb5!3 ~ c5 eb5!2 ~ eb5", AQ: "d5 gb5 ~ gb5!2 d5 ~ gb5!3 ~ d5 gb5!2 ~ gb5",
  AR: "g5 bb4 ~ bb4!2 d5 ~ bb4!3 ~ d5@5", AS: "bb4@3 g5@2 bb5@3 g5@3 bb4@2 g5@3", AT: "a4@3 f5@2 a5@3 f5@3 a4@2 f5@3",
  AU: "g4@3 eb5@2 g5@3 eb5@3 g4@2 eb5@3", AV: "gb4@3 gb5@2 a5@3 gb5@3 a4@2 gb5@3", AW: "g4@3 g5@2 bb5@3 g5@3 d5@2 g5@3",
  AX: "eb5@3 c5@2 g5@3 eb5@3 c5@2 g5@3", AY: "d5@3 gb5@2 a5@3 gb5@3 d5@2 gb5@3",
  AZ: "[g5@5 d5@3 bb4@3 eb5@10 c5@3 a4@3 d5@10 bb4@3 g4@3 c5@10 c5@3 a4@3 d5@5]/4", BA: "bb4@5 d5@3 bb4@3 g5@5",
  BB: "~@5 eb5@3 c5@3 g5@5", BC: "~@5 gb5@3 d5@3 a5@5", BD: "g5@5 d5 ~ c5 d5@3 ~@5", BE: "~@5 d5 ~ c5 d5@3 ~@5",
  BF: "~@5 eb5 ~ f5 eb5@3 ~@5", BG: "~@5 a4 ~ g4 a4@3 ~@5", BH: "~@7 d5!2 g5 ~ g5@5", BI: "~@7 d5!2 a5 ~ a5@5",
  BJ: "~@7 c5!2 g5 ~ g5@5", BK: "~@7 a4!2 gb5 ~ gb5@5", BL: "~@7 bb4!2 g5 ~ g5@5",
  BM: "d5 bb4 ~ bb4 d5 eb5 ~ bb4!2 eb5 ~ eb5 bb4!2 ~ eb5", BN: "eb5 c5 ~ c5 eb5 d5 ~ a4!2 d5 ~ d5 a4!2 ~ d5",
  BO: "d5 bb4 ~ bb4 d5 c5 ~ g4!2 c5 ~ c5 g4!2 ~ c5", BP: "c5 a4 ~ a4 c5!2 ~ a4!2 c5 ~ c5 a4!2 ~ c5",
  BQ: "d5 bb4 ~ bb4 d5!2 ~ bb4!2 d5 ~ d5 bb4!2 ~ d5", BR: "eb5 c5 ~ c5 eb5!2 ~ c5!2 eb5 ~ eb5 c5!2 ~ eb5",
  BS: "d5 a4 ~ a4 d5!2 ~ a4!2 d5 ~ d5 a4!2 ~ d5", BT: "bb4",
})).s("gm_oboe").gain(0.3).pan(0.3)

// other · bassoon
const bassoon = note(`<
  A B C D E F D G A B C D E F D G A B C D E F D G A B C D E F D H I J K L M N O H I J K L M N P A Q C R E S D T U Q C R
  E S D G A B C D E F D V W X Y Z AA AB AC W AD AE AF AA AB AC W AG AH AF AA AB AC AI AJ AK AL AI AM AN AO AP AQ AR AS
  AT AR AU AV AW AX AU AY AZ O AU AY AZ P
>`.pickRestart({
  A: "g3@5 g3@5 ~ g3@5", B: "f3@5 f3@5 ~ f3@5", C: "eb3@5 eb3@5 ~ eb3@5", D: "d3@5 d3@5 ~ d3@5",
  E: "bb2@5 bb2@5 ~ bb2@5", F: "c3@5 c3@5 ~ c3@5", G: "g2", H: "g2 a3 ~ a3!2 g2 ~ a3!3 ~ g2 a3!2 ~ a3",
  I: "f2 f3 ~ f3!2 f2 ~ f3!3 ~ f2 f3!2 ~ f3", J: "eb2 eb3 ~ eb3!2 eb2 ~ eb3!3 ~ eb2 eb3!2 ~ eb3",
  K: "d2 d3 ~ d3!2 d2 ~ d3!3 ~ d2 d3!2 ~ d3", L: "bb2 bb3 ~ bb3!2 bb2 ~ bb3!3 ~ bb2 bb3!2 ~ bb3",
  M: "c3 c4 ~ c4!2 c3 ~ c4!3 ~ c3 c4!2 ~ c4", N: "d3 d4 ~ d4!2 d3 ~ d4!3 ~ d3 d4!2 ~ d4", O: "g3@11 ~@5", P: "g3",
  Q: "f2@3 f3@2 f2@3 f3@3 f2@2 f3@3", R: "d2@3 d3@2 d2@3 d3@3 d2@2 d3@3", S: "c3@3 c4@2 c3@3 c4@3 c3@2 c4@3",
  T: "g2@3 g3@2 g2@3 g3@3 g2@2 g3@3", U: "g2@5 g2@5 ~ g2@5", V: "g2@11 ~@5", W: "g3@8 g3@3 g2@2 g3@3",
  X: "f2@8 f3@3 f2@2 f3@3", Y: "eb2@8 eb3@3 eb2@2 eb3@3", Z: "d2@8 d3@3 d2@2 d3@3", AA: "g2@8 g3@3 g2@2 g3@3",
  AB: "c3@8 c4@3 c3@2 c4@3", AC: "d3@8 d4@3 d3@2 d4@3", AD: "f3@8 f3@3 f2@2 f3@3", AE: "eb3@8 eb3@3 eb2@2 eb3@3",
  AF: "d3@8 d3@3 d2@2 d3@3", AG: "f3@8 f3@3 g2@2 f3@3", AH: "eb3@8 eb3@3 g2@2 eb3@3",
  AI: "g3 a3 ~ bb3 a3 g3 ~ a3 bb3 a3 ~ g3 a3 bb3 ~ a3", AJ: "f3 g3 ~ a3 g3 f3 ~ g3 a3 g3 ~ f3 g3 a3 ~ g3",
  AK: "eb3 f3 ~ g3 f3 eb3 ~ f3 g3 f3 ~ eb3 f3 g3 ~ f3", AL: "d3 e3 ~ gb3 e3 d3 ~ e3 gb3 e3 ~ d3 e3 gb3 ~ e3",
  AM: "c3 d3 ~ eb3 d3 c3 ~ d3 eb3 d3 ~ c3 d3 eb3 ~ d3", AN: "d3 d4 ~ c4 d4 d3 ~ d4 c4 d4 ~ d3 d4 c4 ~ d4",
  AO: "g3@3 g3@2 g3@3 g3@3 g3@2 g3@3", AP: "f3@3 f3@2 f3@3 f3@3 f3@2 f3@3", AQ: "eb3@3 eb3@2 eb3@3 eb3@3 eb3@2 eb3@3",
  AR: "d3@3 d3@2 d3@3 d3@3 d3@2 d3@3", AS: "g3@3 g3@2 g3@3 g3@3 g2@2 g2@3", AT: "c3@3 c3@2 c3@3 c3@3 c3@2 c3@3",
  AU: "g2 g3 ~ g2 g3 g2 ~ g3 g2 g3 ~ g2 g3 g2 ~ g3", AV: "f2 f3 ~ f2 f3 f2 ~ f3 f2 f3 ~ f2 f3 f2 ~ f3",
  AW: "eb2 eb3 ~ eb2 eb3 eb2 ~ eb3 eb2 eb3 ~ eb2 eb3 eb2 ~ eb3", AX: "d2 d3 ~ d2 d3 d2 ~ d3 d2 d3 ~ d2 d3 d2 ~ d3",
  AY: "c3 c4 ~ c3 c4 c3 ~ c4 c3 c4 ~ c3 c4 c3 ~ c4", AZ: "d3 d4 ~ d3 d4 d3 ~ d4 d3 d4 ~ d3 d4 d3 ~ d4",
})).s("gm_bassoon").gain(0.3)

// other · violin
const violin = note(`<
  ~@16 A B C D E C F G H I J K L M N O P Q R S T U V W X Y Z AA AB Z AC ~@16 AD AE AD AF AD AG AH AI AJ AK AL AM AJ AL
  AM AC ~@13 AN@5 AO AP AQ AR AS AT AU AS AT AV AW AX AY AV AZ BA BB AV AZ BA BC
>`.pickRestart({
  A: "~@3 g4@2 bb4@3 d5@3 g5@2 bb5@3", B: "~@3 f4@2 a4@3 d5@3 f5@2 a5@3", C: "~@3 eb4@2 g4@3 c5@3 eb5@2 g5@3",
  D: "~@3 d4@2 gb4@3 bb4@3 d5@2 gb5@3", E: "g5@3 g4@2 bb4@3 d5@3 g5@2 bb5@3", F: "~@3 d4@2 gb4@3 a4@3 d5@2 c5@3",
  G: "bb4@3 g4@2 bb4@3 d5@3 g5@2 d5@3", H: "bb4@5 d6@3 c6@3 bb5@5", I: "c6@5 c6@3 bb5@3 a5@5",
  J: "bb5@5 bb5@3 a5@3 g5@5", K: "a5@5 a5@3 g5@3 gb5@2 e5@3", L: "d5@5 d5@3 c5@3 bb4@2 a4@3",
  M: "g4@5 eb5@3 d5@3 c5@2 bb4@3", N: "a4@5 d5@3 c5@3 bb4@2 a4@3", O: "g4@3 d5 c5 bb4@3 a4 g4 ~ bb5@2 a5 ~ g5",
  P: "a5@3 eb5 d5 c5@3 bb4 a4 ~ a5@2 g5 ~ f5", Q: "g5@3 d5 c5 bb4@3 a4 g4 ~ g5@2 f5 ~ eb5",
  R: "a5@3 c5 bb4 a4@3 g4 gb4 ~ gb5@2 g5 ~ a5", S: "bb5@3 d5 c5 bb4@3 a4 g4 ~ g5@2 a5 ~ bb5",
  T: "c5@3 eb5 d5 c5@3 g5 f5 ~ eb5@2 d6 ~ bb5", U: "a5@3 gb5 e5 d5@3 a4 g4 ~ gb4@2 d5 ~ c5",
  V: "bb4@3 d5 c5 bb4@3 bb5 a5 ~ g5@2 bb4 ~ a4", W: "g4@5 d5@5 ~ bb5@5", X: "c5@5 f5@5 ~ a5@5", Y: "bb4@5 eb5@5 ~ g5@5",
  Z: "a4@5 gb5@5 ~ a5@5", AA: "bb5@5 d5@5 ~ g5@5", AB: "c5@5 eb5@5 ~ g5@5", AC: "g5@11 ~@5",
  AD: "g5 bb5 ~ bb5!2 g5 ~ bb5!3 ~ g5 bb5!2 ~ bb5", AE: "a5 c6 ~ c6!2 a5 ~ c6!3 ~ a5 d6!2 ~ d6",
  AF: "gb5 a5 ~ a5!2 gb5 ~ a5!3 ~ gb5 a5!2 ~ a5", AG: "g5 c6 ~ c6!2 g5 ~ c6!3 ~ g5 c6!2 ~ c6",
  AH: "a5 d6 ~ d6!2 a5 ~ d6!3 ~ a5 d6!2 ~ d6", AI: "bb5 g5 ~ g5!2 bb5 ~ g5!3 ~ bb5@5",
  AJ: "g4@3 g5@2 bb5@3 g5@3 g4@2 bb5@3", AK: "a4@3 f5@2 a5@3 f5@3 a4@2 a5@3", AL: "eb4@3 eb5@2 g5@3 eb5@3 eb4@2 g5@3",
  AM: "d4@3 gb5@2 a5@3 gb5@3 d4@2 gb5@3", AN: "d5 c5 ~ d5@3 ~@10", AO: "eb5 f5 ~ eb5@3 ~@10",
  AP: "gb4 eb4 ~ gb4@3 ~@10", AQ: "~ d5 ~ d5 g5 g5@5 ~@6", AR: "~ d5 ~ d5 a5 a5@5 ~@6", AS: "~ c5 ~ c5 g5 g5@5 ~@6",
  AT: "~ a4 ~ a4 gb5 gb5@5 ~@6", AU: "~ bb4 ~ bb4 g5 g5@5 ~@6", AV: "bb5 g5 ~ g5 bb5!2 ~ g5!2 bb5 ~ bb5 g5!2 ~ bb5",
  AW: "c6 a5 ~ a5 c6!2 ~ a5!2 c6 ~ c6 a5!2 ~ a5", AX: "bb5 g5 ~ g5 bb5!2 ~ g5!2 bb5 ~ bb5 g5!2 ~ g5",
  AY: "a5 gb5 ~ gb5 a5!2 ~ gb5!2 a5 ~ a5 gb5!2 ~ gb5", AZ: "c6 g5 ~ g5 c6!2 ~ g5!2 c6 ~ c6 g5!2 ~ c6",
  BA: "a5 gb5 ~ gb5 a5!2 ~ gb5!2 a5 ~ a5 gb5!2 ~ a5", BB: "bb5@11 ~@5", BC: "g5",
})).s("gm_violin").gain(0.24).pan(0.6)

// bass · contrabass
const bass = note(`<
  A B C D E F D G A B C D E F D G A B C D E F D G A B C D E F D H I J K H F D L H I J K E F D G A B C D E F D G A B C D
  E F D G A B C D E F D L H I J K H F D H I J K H F D H I J K H F D M B C D A F D A B C D N F D H I J K H F D L H F D G
>`.pickRestart({
  A: "g3@5 g3@5 ~ g3@5", B: "f3@5 f3@5 ~ f3@5", C: "eb3@5 eb3@5 ~ eb3@5", D: "d3@5 d3@5 ~ d3@5",
  E: "bb2@5 bb2@5 ~ bb2@5", F: "c3@5 c3@5 ~ c3@5", G: "g2", H: "g2@5 g2@5 ~ g2@5", I: "f2@5 f2@5 ~ f2@5",
  J: "eb2@5 eb2@5 ~ eb2@5", K: "d2@5 d2@5 ~ d2@5", L: "g2@11 ~@5", M: "g2@5 g3@5 ~ g3@5", N: "g3@5 g3@5 ~ g2@5",
})).s("gm_contrabass").gain(0.3)

stack(oboe, bassoon, violin, bass)

More by Antonio Vivaldi