Strudelify

01 Concerto for 2 Mandolins in G RV532 - Allegro I

Antonio Vivaldi

KeyG majorTempo92 bpm
0:00/0:00
// 01 Concerto for 2 Mandolins in G RV532 - Allegro I — Antonio Vivaldi
// 92 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5880117; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 103 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(92/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · acoustic guitar nylon · "Bandolim"
const acoustic_guitar_nylon = note(`<
  A B C D B E F G H I J K L@2 M ~@2 N O P Q R S T U V W X Y Z AA@2 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@2 BA BB@2 BC@2 BD@2 BE B C BF ~@2 N O P BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX
  BY BZ CA CB CC CD CE O P CF
>`.pickRestart({
  A: "~@14 g4 f#4", B: "g4@2 d4@2 d4@2 e4 f#4 g4 a4 b4 a4 g4@2 b3@2", C: "c4 b3 a3@2 a4@2 c4@2 d4 c4 b3@2 g4@2 b3@2",
  D: "c4 b3 a3@2 a4@2 c4@2 b3@2 g3@2 ~@2 g4 f#4", E: "c#4 b3 a3@2 a4@2 e4@2 f#4 g4 a4@2 e4@2 a4@2",
  F: "f#4 g4 a4@2 e4@2 a4@2 f#4@2 e4 d4 e4@2 c#4@2", G: "d4@4 ~ d4 e4 f#4 g4 d4 e4 f#4 g4 d4 e4 f#4",
  H: "g4 d4 b3 d4 g4 d4 b3 d4 f4 d4 b3 d4 f4 d4 b3 d4", I: "e4@2 c4@2 ~ e4 f#4 g4 a4 e4 f#4 g4 a4 e4 f#4 g4",
  J: "a4 e4 c#4 e4 a4 e4 c#4 e4 g4 e4 c#4 e4 g4 e4 c#4 e4", K: "f#4@2 d4@2 ~@4 b3 c4 d4@2 g4@2 d4@2",
  L: "b3 c4 d4@2 g4@2 d4@2 b3@2 d4@2 a3@2 d4@2", M: "b3 g4 a4 f#4 g4@2 ~@2", N: "~@14 g3 a3",
  O: "b3 a3 b3 c4 d4 c4 d4 b3 a3 g3 a3 b3 c4 b3 c4 a3", P: "b3 a3 b3 c4 d4 c4 d4 b3 c4 b3 c4 d4 e4 d4 e4 c4",
  Q: "b3@2 g4@2 a4@2 f#4@2 g4 a4 b4 a4 g4@2 d4@2", R: "a4 b4 c5 b4 a4@2 d4@2 b4@2 a4 g4 a4@2 f#4@2", S: "g4 ~@3",
  T: "~@8 g4 d4 g4 b4 g4 d4 g4 b4", U: "a4 d4 a4 c5 a4 d4 a4 c5 b4@4 ~@4", V: "~@8 b4 c5 d5 c5 b4 a4 g4 f#4",
  W: "g4 a4 b4 a4 g4 f#4 e4 d4 e4 f#4 g4 f#4 e4 d4 c#4 b3", X: "c#4 d4 e4 d4 c#4 b3 a3 g3 a3 c#4 e4 c#4 a3 c#4 e4 c#4",
  Y: "a3 d4 f#4 d4 a3 d4 f#4 d4 a3 e4 g4 e4 a3 e4 g4 e4", Z: "a3 f#4 a4 f#4 a3 f#4 a4 f#4 a3 g4 b4 g4 a3 g4 b4 g4",
  AA: "f#4 a4 f#4 a4 f#4 a4 f#4 a4 e4 a4 e4 a4 e4 a4 e4 a4", AB: "f#4 a4 f#4 a4 f#4 a4 f#4 a4 f#4@2 f#4 g4 a4@4",
  AC: "~@2 f#4 g4 a4@4 ~ a4!7", AD: "f#4 a4!7 e4 a4!7", AE: "d4 e4 f#4 g4 a4@2 g4@2 f#4@2 e4 d4 e4@2 c#4@2",
  AF: "d4 ~@3", AG: "~@8 f#4 g4 a4 f#4 e4 f#4 g4 e4", AH: "f#4 g4 a4 f#4 e4 f#4 g4 e4 f#4 a4 g4 f#4 e4@2 e4@2",
  AI: "d4@2 a3@2 a3@2 b3 c#4 d4 e4 f#4 e4 d4@2 f#4@2", AJ: "g4 f#4 e4@2 a4@2 e4@2 f#4 e4 d4@2 a4@2 f#4@2",
  AK: "g4 f#4 e4@2 a4@2 e4@2 f#4@2 d4@2 ~@4", AL: "f#4 g4 a4@2 d5@2 a4@2 f#4 g4 a4@2 d5@2 a4@2",
  AM: "f#4@2 a4@2 e4@2 a4@2 f#4 g4 a4@2 d5@2 a4@2", AN: "f#4@2 a4@2 e4@2 a4@2 f#4@2 e4 d4 e4@2 c#4@2",
  AO: "d4 e4 f#4 g4 a4 f#4 d4 f#4 e4 f#4 g4 a4 b4 g4 e4 g4", AP: "f#4 d4 ~@6",
  AQ: "a4!4 d5 a4!3 d5 a4!3 d5 a4!2 [a4,b4,c5]", AR: "b4@3 [b4,c5] b4@3 [b4,c5] b4@3 [b4,c5] b4@4",
  AS: "g4!4 c5 g4!3 c5 g4!3 c5 g4!2 [g4,a4,b4]", AT: "a4@3 [a4,b4] a4@3 [a4,b4] a4@3 [a4,b4] a4@4",
  AU: "f#4!4 b4 f#4!3 b4 f#4!3 b4 f#4!2 [f#4,g4,a4]", AV: "g4@3 [g4,a4] g4@3 [g4,a4] g4@3 [g4,a4] g4@4",
  AW: "e4!4 a4 e4!3 a4 e4!3 a4 e4!3", AX: "d#4 f#4 b3 f#4 g4!2 b3 g4", AY: "a4!2 b3 a4 b4!2 b3 b4",
  AZ: "a4 b3 g4 b3 f#4 b3 b4 b3", BA: "a4@2 b3@2 g4@2 b3@2 f#4@4 ~ f#4 g4 a4", BB: "b4!5 a4 g4 f#4 g4@4 ~@4",
  BC: "g4!2 a4 b4 a4!2 b4 c5 b4!2 a4 g4 a4!2 g4 f#4", BD: "g4@2 b4@2 e4@2 b4@2 g4@2 c5@2 b4 a4 g4 f#4",
  BE: "e4@2 b3@2 b3@2 c#4 d#4 e4 f#4 g4 f#4 e4@2 b3@2", BF: "c4 b3 a3@2 a4@2 c4@2 b3 a3 g3@2 ~@4",
  BG: "b3 g4 a4 f#4 g4 g3 b3 g3", BH: "d4 e4 f#4 e4 d4 e4 f#4 d4", BI: "g4 a4 b4 g4 d4 e4 f#4 e4",
  BJ: "d4 e4 f#4 d4 g4 a4 b4 g4", BK: "g4 d4 g4 d4 g4 d4 g4 d4 g4 e4 g4 e4 g4 e4 g4 e4",
  BL: "a4 e4 a4 e4 a4 e4 a4 e4 a4 f#4 a4 f#4 a4 f#4 a4 f#4", BM: "b4 f#4 b4 f#4 b4 f#4 b4 f#4 b4 g4 b4 g4 b4 g4 b4 g4",
  BN: "c5 g4 c5 g4 c5 g4 c5 g4 c5 a4 c5 a4 c5 a4 c5 a4", BO: "d5 a4 d5 a4 d5 a4 d5 a4 d5 b4 d5 b4 d5 b4 d5 b4",
  BP: "c5 a4 c5 a4 c5 a4 c5 a4 b4 g4 b4 g4 b4 g4 b4 g4", BQ: "a4 f#4 a4 f#4 a4 f#4 a4 f#4 g4@2 b3 c4 d4@2 e4 f#4",
  BR: "g4@4 ~@6 g4 a4 b4@4", BS: "~@2 g4 a4 b4@4 ~ d4 e4 d4 g4 a4 b4 a4", BT: "g4@4 ~@5 d4 e4 d4 a4@4",
  BU: "~ d4 e4 d4 b4@4 ~ d4 e4 d4 c5@4", BV: "~ a4!4 g4 f#4 e4 d4@4 ~@4", BW: "~@2 a4 b4 c5@2 b4 a4 b4@2 ~@6",
  BX: "~@2 a4 b4 c5@2 b4 a4 b4@2 f#4 g4 a4@2 g4 f#4", BY: "g4 d4 e4 d4 g4 d4 e4 d4 b3@4 ~@4",
  BZ: "~ g3 a3 b3 c4 d4 e4 f#4 g4@4 ~@4", CA: "~@2 g4 a4 b4@2 g4 a4 b4@2 g4 a4 b4@2 g4 a4",
  CB: "b4 ~@2 [a4,b4] a4@4 g4@2 g4 a4 b4@2 g4 a4, ~ g4 ~@6", CC: "b4@2 g4 a4 b4@2 g4 a4 b4@2 g4@2 a4@4",
  CD: "g4 b4 c5 b4 g4 b4 c5 b4 g4 b4 c5 b4 g4 b4 c5 b4", CE: "g4 ~ b4 [a4,b4] a4@4 g4@4 ~@2 g3 a3",
  CF: "b3 g4 a4 f#4 [d4,g4]@2 ~@2", // G5
})).s("gm_acoustic_guitar_nylon").gain(0.45)

// other · acoustic guitar nylon · "Violão"
const acoustic_guitar_nylon_2 = note(`<
  A B C D B E F G H I J K L@2 M N O P ~@4 Q R S T U V@3 W@2 X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL ~ AM AN AO AP AQ
  AR AS AT AU AV@2 AW AX@2 AY@2 AZ@2 BA B C BB N O P ~@2 BC BD BE ~ BF BG BH BI BJ@2 BK BL BM BN BO BJ BP BQ BR BS BT BU
  BV BT BW BX BY BZ
>`.pickRestart({
  A: "~@7 d4", B: "d4@2 b3@2 a3@2 c4@2 b3 c4 d4 c4 b3@2 g3@2", C: "a3 g3 f#3@2 f#4@2 a3@2 b3 a3 g3@2 d4@2 g3@2",
  D: "a3 g3 f#3@2 f#4@2 a3@2 g3@2 g2@2 ~@2 d4@2", E: "e4 d4 c#4@2 e4@2 c#4@2 d4 e4 f#4@2 a4@2 c#4@2",
  F: "d4 e4 f#4@2 a4@2 c#4@2 d4@2 f#4@2 g4@2 e4@2", G: "d4@4 ~ d4 e4 f#4 g4 d4 e4 f#4 g4 d4 e4 f#4",
  H: "g4 b3 g3 b3 g4 b3 g3 b3 f4 b3 g3 b3 f4 b3 g3 b3", I: "e3@2 c3@2 ~ e4 f#4 g4 a4 e4 f#4 g4 a4 e4 f#4 g4",
  J: "a4 c#4 a3 c#4 a4 c#4 a3 c#4 g4 c#4 a3 c#4 g4 c#4 a3 c#4", K: "d4 e4 f#4@2 ~@4 g3 a3 b3@2 d4@2 b3@2",
  L: "g3 a3 b3@2 d4@2 b3@2 g3 a3 b3@2 d4@2 b3@2", M: "g3@2 b3@2 c4@2 a3@2 g3@4 ~@2 g3 f#3",
  N: "g3 f#3 g3 a3 a#3 a3 a#3 g3 f#3 e3 f#3 g3 a3 g3 a3 f#3", O: "g3 f#3 g3 a3 a#3 a3 a#3 g3 a3 g3 a3 a#3 c4 a#3 c4 a3",
  P: "g3 a#3 c4 a3 g3@2 ~@2", Q: "g2 f#3 g3 g2 d3 e3 f#3 d3", R: "g3 b2 c3 d3 g2@2 ~@2", S: "~@4 g3 a3 b3 g3",
  T: "f#3 e3 f#3 d3 g3 f#3 g3 g2", U: "g3 f#3 g3 g2 g3 f#3 g3 b3", V: "a3 g3 a3 a2 a3 g3 a3 a2",
  W: "d3 e3 f#3 d3 a3 b3 c#4 a3", X: "d3 e3 f#3 d3!2 e3 f#3 d3", Y: "d3 e3 f#3 d3 c#4 b3 c#4 a3",
  Z: "d4 c#4 d4 d3 c#4 b3 c#4 a3", AA: "d4 d3 c#3 a2 d3 d4 g3 a3", AB: "d3 d4 c#4 a3 d4 c#4 d4 d3",
  AC: "c#4 b3 c#4 a3 d4 d3 c#3 a2", AD: "d3 d4 g3 a3 d3 d4 a3 a2", AE: "d3 d4 a3 a2 d3 g3 a3 a2",
  AF: "[f#3,d4] e3 [f#3,a3,d4] [a3,d4]", AG: "e4 d4 c#4@2 e4@2 c#4@2 d4@2 a3@2 f#4@2 d4@2",
  AH: "e4 d4 c#4@2 e4@2 c#4@2 d4@2 a3@2 ~@4", AI: "d4 e4 f#4@2 a4@2 f#4@2 d4 e4 f#4@2 a4@2 f#4@2",
  AJ: "d4 e4 f#4@2 a4@2 e4@2 d4 e4 f#4@2 a4@2 f#4@2", AK: "d4 e4 f#4@2 a4@2 c#4@2 d4@2 f#3@2 g3@2 e3@2", AL: "d3 ~@3",
  AM: "[a3,f#4] d4 [a3,f#4] d4", AN: "[d3,b3] g3 [d3,b3] g3", AO: "[g3,e4] c4 [g3,e4] c4", AP: "[c3,a3] c4 [c3,a3] c4",
  AQ: "[f#3,d4] b3 [f#3,d4] b3", AR: "[b2,g3] b3 [b2,g3] b3", AS: "[e3,c4] a3 [e3,c4] a3",
  AT: "[b2,d#3,f#3] [b2,e3,g3]", AU: "[b2,f#3,a3] [b2,e3,g3]", AV: "[d#3,f#3] [e3,g3] [f#3,a3] [e3,g3]",
  AW: "[f#3,a3] [e3,g3] [d#3,f#3] b3", AX: "[b2,e3,g3]@6 [d#3,f#3]@2 g3 e3 b2 e3 b2 e3 b2 e3",
  AY: "[b2,e3,g3] [d#3,f#3] [b2,e3,g3] [d#3,f#3]", AZ: "[b2,e3,g3] b3 [g3,e4] [f#3,d#4]",
  BA: "e4@2 b3@2 b3@2 c#4 d#4 e4 f#4 g4 f#4 e4@2 b3@2", BB: "a3 g3 f#3@2 f#4@2 a3@2 g3@2 g2@2 ~@2 g3 f#3",
  BC: "~@8 g4 d4 b3 d4 g4 d4 b3 d4", BD: "a4 d4 a3 d4 a4 d4 a3 d4 c5 d4 a3 d4 c5 d4 a3 d4",
  BE: "b4 d4 b3 d4 b4 d4 b3 d4 ~@8", BF: "g3 a3 b3 g3 c3 d3 e3 c3", BG: "a3 b3 c#4 a3 d3 e3 f#3 d3",
  BH: "b3 c#4 d#4 b3 e3 f#3 g3 e3", BI: "c4 d4 e4 c4 d3 d4!2 d3", BJ: "d3 d4!2 d3!2 d4!2 d3",
  BK: "d3 d4!2 d3 g2 g3 f#3 d3", BL: "g2 g3 f#3 d3 g3 a3 b3 a3", BM: "g3 a3 b3 a3 g3 a3 b3 f#3",
  BN: "g3 a3 b3 f#3 g2 g3 f#3 e3", BO: "d3 d4 g3 f#3 g3 g2 f#3 e3", BP: "d3 f#3 a3 f#3 g3 f#3 a3 d3",
  BQ: "g2 d4 d3 d4 g2 f#3 d3 d4", BR: "g3 f#3 g3 g2 g3 f#3 g3 g2", BS: "g3 d3 b2 g2 g3 d3 b2 g2",
  BT: "g2 g3!2 g2!2 g3!2 g2", BU: "g2 g3 d4 d3 g2 g3!2 g2", BV: "g2 g3!2 g2!2 g3 d4 d3",
  BW: "g2@2 g3@2 d4@2 d3@2 g2@4 ~@2 g3 a3", BX: "b3 a3 b3 c4 d4 c4 d4 b3 a3 g3 a3 b3 c4 b3 c4 a3",
  BY: "b3 a3 b3 c4 d4 c4 d4 b3 c4 b3 c4 d4 e4 d4 e4 c4", BZ: "b3 g4 a4 f#4 [b3,g4]@2 ~@2",
})).s("gm_acoustic_guitar_nylon").gain(0.46)

// other · cello · "Violoncelo"
const cello = note(`<
  ~ A B C D E F G D H E I J K L A@2 M N@2 O P ~ Q R ~@15 S T U V@3 W@2 X Y Z AA AB AC AD AE@2 AF@2 AG AH@2 AI@2 AJ@2 AK
  AL AM AN N@2 AO N@2 AO ~@9 AP AQ@3 ~@3 AQ@8 A@2 AR
>`.pickRestart({
  A: "g2 d3", B: "f#3 g2", C: "d3 f#3 g2 ~", D: "g3 d3 g2 b2", E: "a2 a3 a2 a3", F: "a2 a3 d3 g3",
  G: "d3 c3 b2 a2 g2@4", H: "c3 b2 a2 c3", I: "d3 e3 f#3 d3 g2@4", J: "g2 g3 g2 d3", K: "g2 d3 g3 d3", L: "g2 d3 g2@2",
  M: "g3 d3 g2@2", N: "g3 d3", O: "g2 d3 g3 g2", P: "d3 e3 f#3 g3", Q: "~@2 g2 d3", R: "a2 d3 ~@2", S: "d3 a2 d3 a2",
  T: "e3 d3", U: "e3 f#3 d3 ~", V: "f#3 e3 d3@2", W: "a2 ~@3 a3 ~@3", X: "d3 a3", Y: "g3 g2", Z: "c3 e3", AA: "f#3 a3",
  AB: "b2 d3", AC: "e3 g3", AD: "a2 c3", AE: "b2 g2", AF: "f#3 d3 b2 g2", AG: "f#3 d3 b2 ~", AH: "e3 b2",
  AI: "e3 b2 e3 b2", AJ: "e3 g2 e3 b2", AK: "e3 b2 e3 g3", AL: "d3 f#3 g3 g2", AM: "f#3 d3 g3 g2", AN: "f#3 d3 g2 ~",
  AO: "g2 d3 g2 ~", AP: "~@2 g2 ~", AQ: "g2 ~ g2 ~", AR: "g2 d3 [g2,g3] ~",
})).s("gm_cello").gain(0.56)

stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2, cello)

More by Antonio Vivaldi