Strudelify

They Long To Be

The Carpenters

KeyG majorTempo90 bpm
0:00/0:00
// They Long To Be — The Carpenters
// 90 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/5974321; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 66 bars on a 24-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@3 B C D E F G@3 ~ C D E F G@3 ~ H@2 E@2 C@2 I J C D E F G@2 K ~ L M N O P@3 ~ Q@2 N R L S T U L M N O P@2 V ~@3 W@2
  X@2
>`.pickRestart({
  A: "[d5,f5,g5]@6 [d5,f5,g5]@5 g4 [c5,f5,g5]@6 [c5,f5,g5]@5 g4", B: "[d5,f5,g5]@11 ~@13", C: "[e4,g4]!4",
  D: "[b3,e4]!2 [b3,d#4]!2", E: "[d4,f#4]!4", F: "[d4,g4]!2 [d4,f4] [d4,e4]", G: "[c4,e4]!2 [b3,d4]!2", H: "[d4,g4]!4",
  I: "[d4,f#4]@6 ~@6 a5 [f#5,g5] d5@3 ~@7, ~@14 e5 ~@9", J: "a4 [f#4,g4] d4@3 ~@19, ~@2 e4 ~@21",
  K: "[c4,g4]!2 [b3,f#4] [a3,f#4]", L: "[f4,g#4]!4", M: "[c4,f4]!2 [c4,e4]!2", N: "[d#4,g4]!4",
  O: "[d#4,g#4]!2 [d#4,f#4] [d#4,f4]", P: "[c#4,f4]!2 [c4,d#4]!2", Q: "[d#4,g#4]!4", R: "[d#4,g4]!3 [f4,g#4]",
  S: "[f4,g#4]!3 [d#4,g4]", T: "[d#4,g4]@6 ~@6 a#5 [g5,g#5] d#5@3 ~@7, ~@14 f5 ~@9",
  U: "a#4 [g4,g#4] d#4@3 ~@19, ~@2 f4 ~@21", V: "[c#4,g#4]!2 [c4,g4] [a#3,g4]",
  W: "[~@7 [a#4,d#5]@6 ~ [a#4,d#5]@5 d#4@2 [d#4,g#4]@6 ~ [d#4,g#4]@5 ~ [a#4,d#5]@6 ~ [a#4,d#5]@5 d#4@2, ~@33 d#4@2 ~@13]/2", // D#5 G#5 D#5
  X: "[[d#4,g#4]@6 ~ [d#4,g#4]@5 ~@3 d#5@26 ~@7, ~@6 d#4 c5@13 ~@4, ~@13 g#4@27 ~@8]/2", // G#5
})).s("gm_piano").gain(0.3)

stack(piano)