Strudelify

Montagues and Capulets

Serge Prokofieff

KeyG majorTempo100 bpm
0:00/0:00
// Montagues and Capulets — Serge Prokofieff
// 100 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5859284; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 46 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 part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · piano · "Grand Piano"
const piano = note(`<
  A@2 B@2 C@2 D@2 E F A@2 G@2 H@2 I J K L M N O@2 P@2 Q R S T U V W X Y Z A@4 G@2 AA@2 E AB
>`.pickRestart({
  A: "[e1,e2] [b2,g3,b3] [g1,g2] [b2,g3,b3]", B: "e2 [b2,g3,b3] g2 [b2,g3,b3]", C: "d3 [f#3,b3,f#4] b2 [f#3,b3,f#4]",
  D: "f#2 [d3,a3,c#4] g2 [d3,g3,a#3]", E: "[d2,d3,f3,b3] ~ [c#2,c#3,e3,a#3] ~", F: "[c2,c3,e3,a3] ~ [b1,b2,d#3,a#3] ~",
  G: "[d2,d3] [f#3,b3,f#4] [b1,b2] [f#3,b3,f#4]", H: "[a#1,a#2] [f#3,c#4,e4] [b1,b2] [f#3,b3,d4]",
  I: "[d2,a#2,d3,f3,b3] ~@7", J: "~@11 d4 a3@3 f3", K: "[d2,d3]@2 [d2,d3]@2 [d2,d3]@2 [d2,d3] [e2,e3]",
  L: "[f2,f3] [g2,g3] [a2,a3] [a#2,a#3] [a2,a3]@2 [a2,a3] [a#2,a#3]", // F G A A# A A#
  M: "[c3,c4] [d3,d4] [e3,e4] [f3,f4] [e3,e4] [d3,d4] [c3,c4] [d3,d4]", // C D E F E D C D
  N: "[c3,c4] [a#2,a#3] [a2,a3] [g2,g3] [f2,f3] [e2,e3] [d2,d3]@2", O: "[c2,c3] [e3,a3,e4] [a1,a2] [e3,a3,e4]",
  P: "[g#1,g#2] [e3,b3,d#4] [a1,a2] [e3,a3,c4]", Q: "[g1,g2,e3,g3] ~@7", R: "~@3 c4 b3@3 g3 g#3@4 d3@4",
  S: "[f1,f2]@2 [f1,f2]@2 [f1,f2]@2 [f1,f2] [g1,g2]", // F G
  T: "[g#1,g#2] [a#1,a#2] [c2,c3] [c#2,c#3] [c2,c3]@2 [c2,c3] [c#2,c#3]", // G# A# C C# C C#
  U: "[d#2,d#3] [f2,f3] [g2,g3] [g#2,g#3] [g2,g3] [f2,f3] [d#2,d#3] [f2,f3]", // D# F G G# G F D# F
  V: "[d#2,d#3] [c#2,c#3] [c2,c3] [a#1,a#2] [g#1,g#2] [g1,g2] [f1,f2]@2", // D# C# C A# G# G F
  W: "[d#2,d#3] [g2,g3] [c3,c4] [g2,g3] [d2,d3] [f2,f3] [b2,b3] [f2,f3]", // D# G C G D F B F
  X: "[c2,c3] [d#2,d#3] [g#2,g#3] [d#2,d#3] [a#1,a#2] [d2,d3] [g2,g3] [d2,d3]", // C D# G# D# A# D G D
  Y: "[g#1,g#2] [c2,c3] [f2,f3] [c2,c3] [g1,g2] [a#1,a#2] [d#2,d#3] [a#1,a#2]", // G# C F C G A# D# A#
  Z: "[b1,b2]@2 ~@2 g4 ~ e4 ~ c4 ~ a3 ~ f#3 ~ d#3 ~", AA: "[f#1,f#2] [d3,a3,c#4] [g1,g2] [d3,g3,a#3]",
  AB: "[c2,c3,e3,a3] ~ [b1,b2,g3,c4]@2 [e1,e2,g3,e4]@2 ~@2", // Am Cmaj7 Em
})).s("gm_piano").gain(0.4)

stack(piano)