Strudelify

put your head on my shoulder

Paul Anka

KeyE♭ majorTempo90 bpm
0:00/0:00
// put your head on my shoulder — Paul Anka
// 90 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4193156; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 78 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/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
const piano = note(`<
  A B C D E F G F G H I@2 E F G F G J K L M N M O P Q R S@2 E F G F G J T@2 E F G F G H I@2 E F G F G J K L M N M O P Q
  R S@2 E F G F G J U V E F G F G W X Y
>`.pickRestart({
  A: "[bb3,d5]@15 ~ [c4,c5]@15 ~, [c3,eb4,g4]@15 ~", // Bb C Cm
  B: "~@8 eb5@5 c5@3 d5@5 bb4@3 c5@5 d5@3, [f3,c4,eb4,ab4]@15 ~ [bb2,bb3,d4,ab4]@15 ~", // Fm7 Bb7
  C: "c4@8 bb3@8 d5@5 c5@5 ~ d5@5, [eb3,eb4,g4,eb5]@15 ~ [f3,a3,eb4,g4]@15 ~", D: "[bb2,ab3,d4,f4,bb4] ~@7",
  E: "c2@8 g2@5 bb2@3 c3@8 c2@8, [eb4,g4]@15 ~, d5@15 ~ c5@15 ~", // Eb
  F: "~@8 ab4@5 bb4@3 ab4@5 g4@3 [bb1,ab3,d4,f4]@8, f2@23 ~@9, ~@8 [c4,eb4]@15 ~@9", // Bb7 Cm
  G: "~ [bb3,eb4,g4] c3 c2, eb2@15 ~ [eb3,g3,c4]@15 ~", // Eb Cm
  H: "~@8 f4@5 g4@3 bb2@8 bb1@5 eb4@3, f2@15 ~@17, ~@2 [ab3,c4]@2 [ab3,d4,f4]@3 ~", // Ab Ddim
  I: "[eb2@8 g2@5 bb2@3 d3@8 c3@5 bb2@3 eb2@8 g4@5 ab4@3 bb4@5 g4@8 bb4@3, [bb3,g4]@19 ~@13]/2", // Eb
  J: "~@8 f4@5 g4@3 f4@5 eb4@3 d4@5 f4@3, f2@23 ~ [bb2,ab3]@8, ~@8 [ab3,c4]@15 ~@9", // Bb7 Ab
  K: "~ [g3,bb3] ~ [ab3,c4], eb4@15 ~, eb2@15 ~ ab2@15 ~", L: "eb2@8 g2@5 c3@3 bb2@8 eb2@5 g2@3, [g3,bb3,eb4]@23 ~@9",
  M: "f4@5 ~@24 eb4@3, ab3@15 ~, bb2@8 bb1@15 ~ bb2@8, ~@5 f4@11 f4@12 ~@4",
  N: "g4@5 ~@3 c3@8 bb2@8 ~@5 eb4@3, bb3@15 ~, eb2 ~@2 eb2, ~@5 g4@11 g4@12 ~@4",
  O: "eb2@8 bb2@5 eb3@3 g3@8 ~@5 g4@3, bb3@15 ~, g4@27 ~@5, ~@3 eb3",
  P: "d3@8 ~@5 a4@3 ~@13 a4@3, [c4,gb4]@15 ~, a4@3 ~ a4@3 ~, ~@8 d2@15 ~ d3@8", // Cdim
  Q: "bb4@8 bb4@5 bb4@3 ~@13 bb4@3, [d4,g4]@15 ~, g2@23 ~ g2@8, ~@4 bb4@3 ~", // G5
  R: "c5@8 c5@8 c5@5 bb4@5 ~ c5@5, [f2,eb4,ab4]@15 ~", // Fm7
  S: "[bb2@8 e2@5 f2@3 bb2@8 f2@8 bb1@8 g4@5 ab4@3 bb4@5 g4@5 ~ bb4@5, [d4,ab4,d5]@19 ~@13]/2", // Ddim
  T: "[eb2@8 g2@5 bb2@3 d3@8 c3@5 bb2@3 eb2@8 g4@5 ab4@3 bb4@5 g4@8 bb4@3, [g3,eb4]@19 ~@13]/2", // Cm
  U: "eb2@8 g2@5 bb2@3 d3@8 c3@5 bb2@3, [g3,eb4]", V: "[eb2,g3,eb4]@8 g4@5 ab4@3 bb4@5 g4@8 bb4@3",
  W: "~@8 f4@5 g4@3 f4@5 eb4@5 ~ d4@5, f2@15 ~ [bb1,ab3,c4]@15 ~, ~ [ab3,c4] ~@2", // Fm Ab
  X: "f4 eb4 f5 eb5, [eb2,g3,bb3]@15 ~ [ab2,f4,c5]@15 ~", Y: "eb3 bb2 eb2 ~, [g4,bb4,eb5]@23 ~@9",
})).s("gm_piano").gain(0.3)

stack(piano)

More by Paul Anka