Strudelify

west side story - one hand one heart

Misc Soundtrack

KeyA♭ majorTempo120 bpm
0:00/0:00
// west side story - one hand one heart — Misc Soundtrack
// 120 bpm, 3/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1877; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 80 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 · [...]/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
const piano = note(`<
  A B C D E F@2 G H I J@2 K L M N O P Q R S T@2 U H I J@2 K L M V W X Y Z AA AB AC AD AE AF@2 AG@4 AH AI AJ AK AL@2 AM@2
  AN AO AP AQ@2 AR AS AT AU AV AR AW AX AY AZ BA@2 BB BC BD BE@5
>`.pickRestart({
  A: "[e4,e5]@5 [f4,f5]@5 ~ [g4,g5]@5, [d2,d3]", B: "[c3,f3,ab4,c5,f5,ab5]",
  C: "[e4,e5]@5 [f4,f5]@5 ~ [ab4,ab5]@5, [db3,ab3]", D: "[ab2,g3,ab4,c5,g5]",
  E: "[gb4,gb5]@5 [g4,g5]@5 ~ [ab4,ab5]@5, [db3,gb3]", // Gb G Ab Gb5
  F: "[~@5 c4@5 ~ gb4@5 ~@5 g3@5 ~ bb3@5, [c5,e5,g5,c6], [c2,c3] [bb1,bb2,g4]]/2", G: "[c3,ab3,c4,eb4]",
  H: "[db3,bb3,db4,f4]", I: "[bb2,g3,bb3,db4]", J: "[c3 c3, [ab3,c4,eb4]]/2", K: "[eb3,c4,eb4,g4]",
  L: "[bb2,bb3,db4,f4]", M: "[db3,ab3,db4,f4]", N: "[c3,ab3,c4,eb4,ab4]", O: "[f3,bb3,db4,f4,ab4]",
  P: "[eb3,ab3,c4,eb4,g4]", Q: "[db3,bb3,db4,g4]", R: "[db3,bb3,db4,gb4]", S: "[b2,b3,eb4,gb4]",
  T: "[bb2@16 ~@11 b3@5, [bb3,eb4,g4], ~ bb2]/2", U: "[ab2,c3,ab3,c4,eb4]", V: "[c3,eb4,ab4,c5]", W: "[f3,bb4,db5,f5]",
  X: "[eb3,g4,c5,eb5]", Y: "[gb3,gb4,c5,eb5,gb5]", Z: "[ab3,c5,eb5,ab5]", AA: "[db4,gb4,bb4,db5]",
  AB: "[ab3,c5,f5,ab5]", AC: "[db4,f4,bb4,db5]", AD: "[db3,gb4,bb4,db5]", AE: "[b2,eb4,gb4,b4]",
  AF: "[bb2@16 ~@11 b3@5, [eb4,g4,bb4,db5], ~ bb2]/2", // Eb7
  AG: "[ab3@5 db3@5 ~ ab3@10 db3@5 ~ ab3@10 c3@5 ~@6 [ab4,ab5]@5 [g4,g5]@5 ~ [gb4,gb5]@5, ab2@53 ~@11, [c4,eb4,ab4]@3 ~, ~@43 db3@21]/4", // Ab G Gb Ab
  AH: "[bb2,d4,bb4,f5]", AI: "[e4,e5]@5 [f4,f5]@5 ~ [g4,g5]@5, [bb2,d3]", AJ: "[ab2,f3,c5,f5,ab5]",
  AK: "[e4,e5]@5 [f4,f5]@5 ~ [ab4,ab5]@5, [c3,ab3]", // E F Ab Fm
  AL: "[[ab4,c5,g5]@16 [gb4,gb5]@5 [g4,g5]@5 ~ [ab4,ab5]@5, [g2,d3]]/2", // Abmaj7 Gb G Ab G5
  AM: "[~@5 c4@5 ~ gb4@5 g4@5 a4@5 ~ bb4@5, [c5,eb5,c6], [c2,c3] [bb1,bb2]]/2", AN: "[eb4,ab4,c5]",
  AO: "[db3,g4,bb4,db5]", AP: "[bb2,eb4,g4,bb4]", AQ: "[c3 c3, [c4,eb4,g4]]/2", AR: "[eb3,ab4,c5,eb5]",
  AS: "[bb2,g4,bb4,db5]", AT: "[db3,f4,ab4,db5]", AU: "[c3,f4,ab4,c5]", AV: "[db3,f3,f4,bb4,db5]",
  AW: "[bb2,gb3,bb4,db5,gb5]", AX: "[c3,ab3,c5,eb5,ab5]", AY: "[bb3,db4,gb4,bb4,db5]", AZ: "[f3,ab3,db5,f5,ab5]",
  BA: "[[bb3,db4] db3, [bb4,db5,f5]]/2", BB: "[b2,eb3,b4,eb5,gb5]", BC: "[bb2,f3,bb4,db5,f5]",
  BD: "[bb2,g3,bb4,eb5,g5]", BE: "[[ab3,c5,eb5]@53 ab1@27, [ab2,ab4,ab5]]/5",
})).s("gm_piano").gain(0.43)

stack(piano)

More by Misc Soundtrack