Strudelify

someone you loved

Lewis Capaldi

KeyD♭ majorTempo110 bpm
0:00/0:00
// someone you loved — Lewis Capaldi
// 110 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5903254; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 84 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/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 · vibraphone
const vibraphone = note(`<
  A B C D E F G H E F G H E F G H E F G H I J K L I J K L E F G H E F G H E F G H E F G H I J K L I J K L M K N@2 M K J
  O@3 P O Q ~ G H I J K L I J K R S@8
>`.pickRestart({
  A: "~@7 ab5, db5, f6!4, ~ ab5@2 ab5@2 ab5@2 ~", B: "~@7 eb5, ab4, c6!4, ~ eb5@2 eb5@2 eb5@2 ~",
  C: "~@7 f5, bb4, db6!4, ~ f5@2 f5@2 f5@2 ~", D: "~@7 db5, gb4, bb5!2 bb5@2, ~ db5@2 db5@2 db5@2 ~, ~@3 ab5",
  E: "~@7 ab4, db4, f5!4, ~ ab4@2 ab4@2 ab4@2 ~", F: "~@7 eb4, ab3, c5!4, ~ eb4@2 eb4@2 eb4@2 ~",
  G: "~@7 f4, bb3, db5!4, ~ f4@2 f4@2 f4@2 ~", H: "~@7 db4, gb3, bb4!2 bb4@2, ~ db4@2 db4@2 db4@2 ~, ~@3 ab4",
  I: "~@7 ab4, [ab3,db4], f5!4, ~ ab4@2 ab4@2 ab4@2 ~", J: "~@7 eb4, [ab3,c4], c5!4, ~ eb4@2 eb4@2 eb4@2 ~",
  K: "~@7 f4, [bb3,db4], db5!4, ~ f4@2 f4@2 f4@2 ~", // Bbm
  L: "~@7 db4, [gb3,bb3], bb4!2 bb4@2, ~ db4@2 db4@2 db4@2 ~, ~@3 ab4", // Gb
  M: "~@7 bb4, [bb3,eb4], gb5!4, ~ bb4@2 bb4@2 bb4@2 ~", // Eb5
  N: "[~@11 eb4 ~@3 f4, [ab3,c4]@3 [bb3,db4], c5!4 c5!2 db5!2, ~ eb4@2 eb4@2 eb4@2 eb4@2 eb4@2 ~@2 f4@2 ~]/2", // Ab Bbm
  O: "~@2 [eb4,ab4,db5,gb5] [f4,ab4,db5,f5]", P: "~@4 [eb4,ab4,db5,ab5]!2 [f4,ab4,db5,f5]@2",
  Q: "~@4 [eb4,ab4,db5,gb5]!2 [eb4,ab4,db5,f5] [eb4,ab4,c5,eb5]", // Ebm7 Db Ab
  R: "~@13 ab4@3, ~ [gb3,bb3]@15, ~ bb4@4 bb4@4 bb4@7, ~@3 db4@4 db4@4 db4@4 ~", // Gb
  S: "[db4@2 [db4,f4,ab4,db5]@18 [c4,eb4,ab4,c5]@19 [bb3,db4,f4,bb4]@18 [bb3,db4,gb4,bb4]@21 [f3,ab3,db4,f4]@47 ~@3]/8", // Db Ab Bbm Gb Db
})).s("gm_vibraphone").gain(0.3)

// chords · glockenspiel
const glockenspiel = note(`<
  A B C D E F G H E F G I J K L M J N G O P Q R S P Q R S E F G H E F G I J K L M J N G O P Q R S P Q R S T R U@2 T R Q
  V@2 W X V Y ~ R Z AA AB AC Z AD AE AF AG@2 ~@7
>`.pickRestart({
  A: "f7!4", B: "c7!4", C: "db7!4", D: "bb6!2 ~ ab6, ~ bb6", E: "f6!4", F: "c6!4", G: "db6!4", H: "bb5!2 ~ ab5, ~ bb5",
  I: "bb5@2 bb5@2 ~@3 eb6, ~ bb5, ~@3 ab5", J: "f6@2 f6@2 f6@2 f6 db6", K: "eb6@2 eb6@2 eb6@2 ab5 db6",
  L: "eb6@2 eb6@2 eb6@2 db6 bb5", M: "ab5@2 ab5@2 ab5@2 ab5 eb6", N: "eb6!4", O: "bb5!2 ~ ab6, ~ bb5",
  P: "~@7 ab6, f7!4, ~ ab6@2 ab6@2 ab6@2 ~", Q: "~@7 eb6, c7!4, ~ eb6@2 eb6@2 eb6@2 ~",
  R: "~@7 f6, db7!4, ~ f6@2 f6@2 f6@2 ~", S: "~@7 db6, bb6!2 bb6@2, ~ db6@2 db6@2 db6@2 ~, ~@3 ab6",
  T: "~@7 bb6, gb7!4, ~ bb6@2 bb6@2 bb6@2 ~",
  U: "[~@11 eb6 ~@3 f6, c7!4 c7!2 db7!2, ~ eb6@2 eb6@2 eb6@2 eb6@2 eb6@2 ~@2 f6@2 ~]/2", V: "~@2 [gb6,gb7] [f6,f7]",
  W: "~@4 [gb6,gb7]@2 [f6,f7] [eb6,eb7]", X: "~@4 [ab6,ab7]!2 [f6,f7]@2", Y: "~@4 [gb6,gb7]!2 [f6,f7] [eb6,eb7]",
  Z: "~@7 db6, bb6 bb6@3, ~ db6@2 db6@2 db6@2 ~, ~ gb7, ~@3 f7",
  AA: "~@7 ab6, f7 f7@2 f7, ~ ab6@2 ab6@2 ab6@2 ~, ~ gb7", AB: "~@7 eb6, c7 c7@3, ~ eb6@2 eb6@2 eb6@2 ~, ~ gb7, ~@3 f7",
  AC: "~@7 f6, db7 db7@3, ~ f6@2 f6@2 f6@2 ~, ~ ab7, ~@3 f7", AD: "~@7 eb7, f7 f7@2 f7, ~ ab6@2 ab6@2 ab6@3, ~ gb7",
  AE: "c7@2 f6!6", AF: "f6 eb6!2 db6!2 eb6!3", AG: "[~@3 db6@2 db6@2 ~@6 f7@4 ~@15, ~@7 db6@11 ~@14, ~@9 gb7@9 ~@14]/2",
})).s("gm_glockenspiel").gain(0.25)

stack(vibraphone, glockenspiel)

More by Lewis Capaldi