Strudelify

Grandchester Meadows

Pink Floyd

KeyE majorTempo90 bpm
0:00/0:00
// Grandchester Meadows — Pink Floyd
// 90 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 107 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// other · piano
const piano = note(`<
  ~ A B@3 C@8 D@4 C@4 E F C@2 D G C@2 D G C@2 D G C@10 D@4 C@4 E F C@2 D G C@2 D G C@2 D G C@10 D@4 C@4 E F C@2 D G C@2
  D G C@2 D G C ~@7
>`.pickRestart({
  A: "~@7 e2",
  B: "[~@6 e2@2 e3@2 e2@2 e3@2 ~ e2@2 e3@2 e2@2 e3@2 e2@2 e3@2 e2@2 e3@2 e2@2 e3@2 e2@2 ~ e3@2 e2@2 e3@2 e2@2 e3@2]/3",
  C: "e2 e3 e2 e3 e2 e3 e2 e3", D: "a2 a3 a2 a3 a2 a3 a2 a3", E: "a2 ~@7", F: "g2 g3 g2 g3 g2 g3 g2 g3",
  G: "g2 g3 g2 g3 f#2 f#3 f#2 f#3",
})).s("gm_piano").gain(0.4)

// other · piano · soft notes
const piano_soft = note("<A@2 B ~@18 C ~@31 C ~@31 C ~@14 D E F@2 D G H>".pickRestart({
  A: "[~@13 e2@2 e3@2 e2@2 e3@2 e2@2 e3@2 ~ e2@2 e3@2 ~@2]/2", B: "e3 e2 e3 ~@5", C: "~ a3 a2 a3 a2 a3 a2 a3",
  D: "a2 a3 a2 a3 a2 a3 a2 a3", E: "g2 g3 g2 g3 f#2 f#3 f#2 f#3", F: "e2 e3 e2 e3 e2 e3 e2 e3",
  G: "g2 g3 g2 g3 g2 g3 g2 g3", H: "e2 ~@3",
})).s("gm_piano").gain(0.16)

// other · piano
const piano_2 = note("<~@8 A ~@3 B ~@3 C ~@3 D ~@19 D ~@3 D ~@3 C ~@3 D ~@19 D ~@3 D ~@3 C ~@3 D ~@22>".pickRestart({
  A: "~@4 d#4 ~ d#4@2 c#4 d#4 ~@2 b3 ~ b3@2", B: "e4 f#4 e4@2 d#4 e4 d#4@2 c#4 d#4 c#4@2 b3 c#4 b3@2",
  C: "~@4 a4 b4 a4@2 g#4 a4 g#4@2 f#4 g#4 f#4@2", D: "~@4 d#4 e4 d#4@2 c#4 d#4 c#4@2 b3 c#4 b3@2",
})).s("gm_piano").gain(0.31)

// other · piano · soft notes
const piano_soft_2 = note(`<
  ~@3
  [~@15 e4]
  [f#4 e4@2 d#4 e4 ~ d#4@2 c#4 d#4 c#4@2 b3 c#4 b3@2]
  ~@3
  [~@5 e4 ~@4 c#4@2 ~ c#4 ~@2]
  ~@98
>`).s("gm_piano").gain(0.15)

stack(piano, piano_soft, piano_2, piano_soft_2)

More by Pink Floyd