Strudelify

Le Masque de Zorro: I Want to Spend My Lifetime Loving You

Marc Anthony

KeyA majorTempo100 bpm
0:00/0:00
// Le Masque de Zorro: I Want to Spend My Lifetime Loving You — Marc Anthony
// 100 bpm, 2/2, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Grand Piano" named as a piano, played on piano (its pad new age patch is not one)
// note: Full arrangement: all 113 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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.

// chords · piano · "Grand Piano"
const piano = note(`<
  A B A B C D E F G@2 H@2 I@2 J@2 K@2 L@2 M@2 N O P Q R S P Q T U V@2 W@2 X@2 Y U Z AA AB AC AD@2 AE AF AG AH AI AF AG
  AH AJ AF AG AH AI AF AG AH AJ AK AL@2 AM@2 AN@2 AO@2 AP@2 AQ@2 AR@2 AS AT AU AV AW@2 AX AY AZ BA BB BC BD BE BF BC BD
  BE BG BC BD BE BF BC BD BE BG BC BD BE BF BC BH BI BJ
>`.pickRestart({
  A: "a2 e3 a3 c#4@3 a3@2, a4@3 e4@5", B: "a2 e3 a3 c#4@3 a3@2, [c#5,a5]@3 [c#5,e5]@5",
  C: "b4 ~ c#4@2 e4@2 a4@2 ~@2 c#4@2 e4@2 a4@2, [a2,c#5]", D: "~ a3 ~ a3 ~ a3 ~ a3, d3, g4 f4 e4 d4",
  E: "a2 e3 a3 ~@3 a2@2, c#4 a3, ~@3 e3@3 ~@2", F: "~ a3 ~ a3 ~ a3 ~ a3, d4, g3 f3 e3 d3",
  G: "[a3 b3 c#4@2 a3 b3 c#4@2, c#3 a2@3]/2", H: "[d4 e4 f4@2 d4 e4 f4@2, d3]/2", I: "[g4 a4 a#4@4 a4 g4, g2]/2",
  J: "[[a2,a4]@4 a3 e3 c#3 ~ e4 c#4 e4 ~ e3 c#3 a2 e2, c#4@8 ~@3 c#4@5, ~ e4 ~@2, ~@7 a2@5 ~@4]/2", // A
  K: "[a4@2 b4 ~@4 e2 a4@2 b4 ~@4 e3, e4, a2@7 ~ a2@7 ~, ~@3 c#5@5 ~@3 c#5@5]/2",
  L: "[d5@2 e5@2 ~@3 a2 d5@2 e5 g5 ~@3 a2, a4, d3@7 ~ d3@7 ~, ~ f5 ~ f5]/2",
  M: "[g5@2 a5@2 ~@3 d2 ~@2 c6 a#5@2 a5@2 [d2,g5], d5, g2@7 ~ g2@7 ~, ~@2 a#5@3 ~@3]/2", // G5
  N: "~ e3 a3 c#4 ~ e3 a3 c#4, [a2,c#5,e5,a5]", O: "~ a3 c#4 e4", P: "d2 a2 d3 a2 d2 a2 d3 a2, g4 f4",
  Q: "d2 a2 d3 a2 d2 a2 d3 a2, e4 d4", R: "[a2,c#4] [e3,d4] a3 e3 a2 e3 a3 e3, ~ e4@3", S: "~ a3 c#4 e4, a2",
  T: "[a2,c#4] [e3,b3] ~ e3 a2 e3 a3 e3, ~ a3@2 ~", U: "f5 e5 c#5 a4 f4 e4 c#4 [e2,a3], a2@7 ~",
  V: "[[a2,a4] e3 a3 e3 c#4 e3 a3 e3 a2 [e3,a4] [a3,b4] e3 c#4 e3 a3 e3, e4, ~ b4@2 c#5@5 ~@3 c#5@5]/2", // A A5 Asus2
  W: "[d3 a3 d4 [a3,e5] f4 a3 d4 a3 d3 [a3,d5] [d4,e5] [a3,g5] f4 a3 d4 a3, a4, d5@3 ~ f5@4 ~@4 f5@4]/2", // A5 D5 Dsus2 A7
  X: "[[g2,g5] d3 g3 d3 a#3 d3 g3 d3 g2 d3 g3 [d3,a#5] a#3 d3 g3 d3, d5, ~ a5@2 a#5@5 ~ c6@2 ~ a5@2 g5@2]/2", // G Gm
  Y: "~ e3 a3 c#4 ~ e3 a3 c#4, [a2,c#5], a5@3 e5@5", Z: "~ c#3 e3 a3 ~ c#3 e3 a3, a2, a3 b3 c#4@2",
  AA: "a3 c#3 e3 [a3,e4] ~ c#3 e3 a3, a2, ~ e4@2 ~ c#4@4", AB: "~ a2 d3 f3 ~ a2 d3 f3, d2, d4 e4 f4@2",
  AC: "~ a2 [d3,e4] [f3,g4] ~ a2 d3 f3, d2, d4 ~ f4@2", // Dsus2 Fsus2
  AD: "[~ d3 g3 a#3 ~ d3 g3 a#3 ~ d3 g3 a#3 c5 d3 g3 [a#3,g4], g2 g2, g4@2 a4@2 a#4@8 ~ a#4@2 ~]/2", // D#
  AE: "~ e3 a3 c#4 ~ e3 a3 c#4, [a2,a4]", AF: "~ [a3,a4] [c#4,c#5] [e4,e5], a2",
  AG: "d2 a2 d3 a2 d2 a2 d3 a2, [g4,g5] [f4,f5]", AH: "d2 a2 d3 a2 d2 a2 d3 a2, [e4,e5] [d4,d5]",
  AI: "[a2,c#5] [e3,d5] a3 e3 a2 e3 a3 e3, [e4,a4], ~ e5@3", AJ: "[a2,c#5] [e3,b4] a3 e3 a2 e3 a3 e3, e4, ~ a4@3",
  AK: "f5 e5 c#5 a4 f4 e4 c#4 a3, a2",
  AL: "[[f2,a4] [c3,a#4] f3 c3 f3 c3 f3 c3 f2 c3 f3 c3 f3 c3 f3 c3, [c4,f4]@3 ~, ~ c5@5 [g4,a#4] [f4,a4]]/2", // F C7 F5 Gm F
  AM: "[c2 g2 c3 g2 c3 g2 c3 g2 c2 g2 c3 g2 a2 e3 a3 e3, [e4,g4]@3 [c#4,e4,a4]]/2", // Em A
  AN: "[[d2,f4] [a2,g4] d3 a2 d3 a2 d3 a2 d2 a2 d3 a2 d3 a2 d3 a2, d4@6 [e4,g4] [d4,f4], ~ a4@5 ~@2]/2", // Dm A7 Em Dm
  AO: "[a2 e3 a3 e3 a3 e3 a3 e3 a2 e3 a3 e3 g2 d3 g3 d3, [c#4,e4]@3 [b3,d4,g4]]/2", // C#m G
  AP: "[[f2,f4,a4] c3 f3 c3 f3 c3 f3 c3 f2 c3 f3 c3 a3 g3 f3 c3, ~ [g4,a#4]@2 [a4,c5]@9 [g4,a#4]@2 [f4,a4]@2]/2", // F Gm Am Gm F
  AQ: "[[c2,g4] [g2,a4] [c3,g4] [g2,f4] c3 g2 c3 g2 c2 g2 c3 g2 a2 e3 a3 e3, c4@3 [c#4,e4,a4], ~ e4@2 ~]/2", // C5 Gsus2 C5 G7 A
  AR: "[[d2,d4,f4] [a2,e4,g4] d3 a2 d3 a2 d3 a2 d2 a2 d3 a2 f3 e3 d3 a2, ~ [f4,a4]@5 [e4,g4] [d4,f4]]/2", // Dm A7 F Em Dm
  AS: "a2 e3 a3 e3 a3 e3 a3 e3, [c#4,e4]", AT: "d2 a2 d3 a2 d3 a2 d3 a2, d4 f4@2 d4",
  AU: "g2 d3 g3 d3 g3 d3 g3 d3, e4 g4@2 [d4,a#4]", AV: "a2 e3 a3 e3 a2@4, [c#4,e4,a4]",
  AW: "~ d3 f#3 a3 ~ d3 f#3 a3, d2, d4 e4 f#4@2", AX: "~ d3 g3 a#3 ~ d3 g3 a#3, g2, g4 a4 a#4@2",
  AY: "~ d3 g3 a#3 c5 d3 g3 a#3, g2, g4@2 a4@2 ~ a#4@3", AZ: "~ d#3 g3 c4 ~ d#3 g3 c4, c3, [d#4,c5] [g4,d5] [c5,d#5]@2",
  BA: "~ d#3 [g3,f4,f5] [d#4,d#5]@2 d#3 g3 [c4,g4,c5], c3, ~@3 c4 ~ [d4,d5]@2 ~", // G7 D# C5 D
  BB: "~ a2 d3 f#3 ~ a2 d3 f#3, [d2,f#4,a4,d5]", BC: "~ [d4,d5] [f#4,f#5] [a4,a5], d3",
  BD: "g2 d3 g3 g2!2 d3 g3 d3, [c5,c6] [a#4,a#5]", BE: "g2 d3 g3 g2!2 d3 g3 d3, [a4,a5] [g4,g5]",
  BF: "[d3,f#5] [a3,g5] d4 d3!2 a3 d4 a3, [a4,d5], ~ a5@3", BG: "[d2,f#5] [a2,e5] d3 d2!2 a2 d3 a2, a4, ~ d5@2 ~",
  BH: "[c5,c6]@4 ~@3 g2, g2@7 ~, ~ [a#4,a#5]", BI: "[a4,a5] [g4,g5], g2", BJ: "f#5 e5 d5@6, [d2,a4]",
})).s("gm_piano").gain(0.36)

stack(piano)

More by Marc Anthony