Strudelify

La donna e mobile

Giuseppe Verdi

KeyG majorTempo120 bpm
0:00/0:00
// La donna e mobile — Giuseppe Verdi
// 120 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5855728; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 87 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 · [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.

// chords · piano
const piano = note(`<
  A B C D E F G H ~ I@2 J@2 K L M N O I J@2 K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG B C D E F G H ~ I@2 J@2
  K L M N O I J@2 K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG
>`.pickRestart({
  A: "[c3,c4]@5 [g3,c4,e4]@5 ~ [g3,c4,e4]@5", B: "[c3,c4,e5,e6]@5 [g3,c4,e4,e5,e6]@5 ~ [g3,c4,e4,e5,e6]@5",
  C: "[g2,g3,g5,g6]@4 [f5,f6] [g3,b3,f4]@5 ~ [g3,b3,f4]@5, ~@5 [d5,d6]@10 ~", // G F G7 D
  D: "[g2,g3,d5,d6]@5 [g3,b3,f4,d5,d6]@5 ~ [g3,b3,f4,d5,d6]@5", // G5 G7
  E: "[g2,g3,f5,f6]@4 [e5,e6] [g3,c4,e4]@5 ~ [g3,c4,e4]@5, ~@5 [c5,c6]@10 ~", // G7 E C
  F: "[g2,g3,e5,e6]@5 [g3,c4,e4,d5,d6]@5 ~ [g3,c4,e4,c5,c6]@5", // C
  G: "[d5,d6] [c5,c6]@3 [b4,b5] [g3,d4,f4]@5 ~ [g3,d4,f4]@5, [g2,g3]@5 [b4,b5]@10 ~", // D C B G7 G B
  H: "[g2,g3,d5,d6]@5 [g3,b3,f4,c5,c6]@5 ~ [g3,b3,f4,a4,a5]@5", I: "c3@5 [c4,e4,g4]@5 ~ [c4,e4,g4]@5",
  J: "g2@5 [g3,b3,d4,g4]@5 ~ [g3,b3,d4,g4]@5", K: "g2@5 [c4,e4,g4]@5 ~ [c4,e4,g4]@5",
  L: "[g2,e5]@5 [c4,e4,g4,d5]@5 ~ [c4,e4,g4,c5]@5", M: "d5 c5@3 b4 [g3,b3,d4,g4]@5 ~ [g3,b3,d4,g4]@5, g2@5 b4@10 ~",
  N: "[g2,d5]@5 [g3,b3,f4,c5]@5 ~ [g3,b3,f4,a4]@5", O: "b4 a4@3 g4 [g3,c4,e4]@5 ~ [g3,c4,e4]@5, c3@5 g4@10 ~",
  P: "[f#3,d5]@4 e5 [a3,c4,d4,d5]@5 ~ [g3,c4,d4,d5]@5", // D D7 Gsus4
  Q: "f#5 [g4,b4,g5]@2 ~@2 [b3,d4]@5 ~ [b3,d4]@5, g3@5 [g4,b4,d5]@10 ~", // G Bm G
  R: "[g#3,e5]@4 f5 [b3,d4,e4,e5]@5 ~ [b3,d4,e4,e5]@5", S: "g#5 [a4,c5,a5]@2 ~@2 [c4,e4]@5 ~ [c4,e4]@5, a3@5 e5@10 ~",
  T: "[b3,g5]@4 a5 [d4,f4,g4,g5]@5 ~ [d4,f4,g4,g5]@5", U: "[c4,e4,c5,a5]@5 ~@3",
  V: "[f3,f4,a4,d5]@3 ~@2 [g3,e4,g4,c5]@3 ~@3 [g2,d4,f4,b4]@3 ~@2", // Dm C G7
  W: "[c3,c4,e4,g4]@5 [c3,c4,e4,g4]@5 ~ g5@4 g6, c5@5 ~@3", X: "[g3,b3,d4]@5 [g3,b3,d4]@5 ~ g5@4 g6, g6@5 ~@3",
  Y: "[c4,e4]@5 [c4,e4]@5 ~ g5@4 g6, g6@5 ~@3", // C
  Z: "[f3,a3,d4,d6,f6]@2 [e6,g6]@2 ~ [g3,c4,e4]@3 ~@3 [f5,b5,d6]@5, ~@2 [d6,f6] ~@5, ~@5 [c6,e6]@5 ~ [g2,g3]@3 ~@2", // Dm Em C Bdim Dm C G
  AA: "[c3,g3,e5,c6]@5 [g3,c4,e4]@5 ~ [g3,c4,e4,g5]@4 g6", // C
  AB: "[d6,f6]@2 [b5,d6]@2 ~ [g3,b3,d4]@5 ~ [g3,b3,d4,g5]@4 g6, [g2,g3]@2 [g5,g6] ~@5, ~@5 [d6,f6]@3 ~@8", // Dm Bm G Dm
  AC: "[c6,e6]@2 [f5,c6]@2 ~ [g3,c4,e4]@5 ~ [g3,c4,e4,g5]@4 g6, [g2,g3]@2 [g5,g6] ~@5, ~@5 [c6,e6]@3 ~@8", // C F5 C G C
  AD: "[d6,f6]@2 [b5,d6]@2 ~ [d6,f6]@2 [b5,d6]@2 [g5,g6]@2 d6 [b5,d6]@2 [g5,g6]@2, [g2,g3]@4 [g5,g6]@2 ~@5 f6@2 ~@3, ~@5 [g3,b3,d4]@5 ~ [g3,b3,d4]@5", // Dm Bm Dm Bm G Bm G
  AE: "[e2,c3,e3,c5,g5,c6]@5 ~@11", AF: "[f2,f3,d4,f4,a4,d5]@5 ~@6 [d4,f4,g4,b4]@5, ~@11 [g2,g3]@3 ~@2",
  AG: "[c2,c3,c4,e4,g4,c5]@3 ~@2 [c2,e2,g2,c3,c5,e5,g5,c6]@5 ~@6", // C
})).s("gm_piano").gain(0.3)

stack(piano)

More by Giuseppe Verdi