Strudelify

Daisy Dead Petals

Tori Amos

KeyF♯ majorTempo110 bpm
0:00/0:00
// Daisy Dead Petals — Amos, Tori
// 110 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 3/4 at bar 40, 4/4 at bar 52) are rendered on a constant 4/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 76 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 · epiano2 · "Piano Base"
const epiano2 = note("<A@4 B@2 C D E@3 F G H@6 I@6 J@6 K@8 L M@3 N@3 O@8 P@8 Q R@6 S@7>".pickRestart({
  A: "f#4 ~ f#4 ~ b4@2 a#4 b4 f#4 ~ f#4 ~ b4@2 a#4 b4", B: "b3 ~ b3 ~ f#4@2 f4 f#4 b3 ~ b3 ~ f#4@2 f4 f#4",
  C: "a#3 ~ a#3 ~ f#4@3 ~@3 f#4@5 ~", D: "~ f4 ~ f#4 ~ f4 ~@2", E: "f#3 ~ f#3 ~ b3@2 a#3 b3 f#3 ~ f#3 ~ b3@2 a#3 b3",
  F: "f#3 ~ f#3 ~ b3@2 a#3 b3 f#3 ~ f#3 ~@5", G: "~@10 c#3@3 ~ d3 e3",
  H: "[~@16 c#2@8 ~@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 [f#2,c#3]@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~ b4, e2@16 ~@7 [f#2,c#3]@16 ~@9, ~@24 c#2@31 b4@5 ~@3 b4@5 ~@3 b4@5 ~@3 b4@5 ~@3 b4@5 ~@4, ~@25 f#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3 ~ f#4@3, ~@27 a#4@4 a#4@4 a#4@4 a#4@4 a#4@4 a#4]/6", // F#5
  I: "[f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~ b3 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~ f#4, ~@2 f#4@5 b4@5 ~@3 b4@32 ~@3 f#3@5 b3@3 f#3@5 b3@3 f#3@5 b3@3 f#3@22, ~@6 a#4@8 a#4@32 ~ f#4@32 ~@7 f4@8 f4@2, ~@10 f#4@10 ~@2 f4@8 f4@8 f4@8 f4@32 ~@4 b3@5 f#4@3 b3@6, ~@18 b3@5 f#4@3 b3@5 f#4@3 b3@5 f#4@3 b3@10 ~@2 a#3@8 a#3@8 a#3@8 a#3@18]/6",
  J: "[b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~@2 f#4@2 ~@2 b4@2 ~ b4, ~@2 b3@5 f#4@5 ~@3 f#4@32 ~@3 f#4@4 a#4 b4@3 f#4@4 a#4 b4@3 f#4@4 a#4@8 a#4@8 a#4@8 a#4@2, ~@6 f4@8 f4@32 ~ b3@32 b4@5 ~@3 b4@5 ~@4, ~@5 b3@5 ~ a#3@4 a#3@4 a#3@4 a#3@16 ~@9, ~@18 f#3@5 b3@3 f#3@5 b3@3 f#3@5 b3@3 f#3@29 b4@3 f#4@6 ~@2 f#4@6 ~@2 f#4@6]/6",
  K: "[f#4 ~ b4 ~ f#4 ~ b4 ~@17 c#2@4 ~ [f#2,c#3]!3 [f#2,c#3]!7 ~@17 c#2@4 ~ [f#2,c#3]!3, ~@2 f#4@5 b4@5 ~@3 b4@17 e2@32 ~@14 f#2@17 e3@32 ~, ~@6 a#4@8 a#4@17 e3@32 ~@17 a1@16 e2@32, ~@5 f#4@10 d3@16 ~@8 c#3@6 c#3@15 c#2@4, ~@13 c#3@15 c#2@13 e2@6 d3@16 ~]/8", // F#5
  L: "[f#2,c#3]!8", // F#5
  M: "[~@23 e2, a1@7 f#2@8 g#2 b2@2 a1 e2 a2@4, ~ e2@8 b2 d#3@14, ~ a2@3 c#2@4, ~@4 c#3@2 b1@7 g#2 c#3@10]/3",
  N: "[~@7 f3, a1@7 f#2@12 c#3 d#3@4, ~ e2@8 b2@15, ~@3 a2@7 d#3@2 c#2@12, ~@4 c#3@2 b1@7 g#2 c#3 g#2@9]/3",
  O: "[~@96 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~ d#3, a1@14 f#2@16 g#2@16 b3@10 c#3@4 b1@12 c#2@31 d#3@5 ~@3 d#3@5 ~@3 d#3@5 ~@4, ~ e2@8 b2 d#3@6 b2@8 a1@7 f#2@6 g#2@16 ~@11, ~@3 a2@9 c#2@6 a2 e3@6 e2@8 b2@5 c#3@13 c#3@4 c#3@4 c#3@4 c#3, ~@4 c#3@2 b1@7 g#2 c#3@7 c#4@6 a2@7 d#3@15 f#2@3 ~ f#2@3 ~ f#2@3 ~ f#2@3]/8",
  P: "[f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@26 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~ d#3, ~@2 f#2@5 d#3@5 ~@3 d#3@5 ~@3 d#3@5 ~@3 d#3@32 f#4@5 ~@3 f#4@11 f#4@29 d#3@3 f#2@6 ~@2 f#2@6, ~@3 c#3@4 c#3@4 c#3@4 c#3@16 ~@14 d#4@16 ~@3, ~@10 f#2@6 ~@2 f#2@6 ~@2 f#2@29 f#4@3 b3@6 ~@2 b3@6 b3@26 f#2@4 c#3 d#3@3 f#2@4 c#3@8 c#3@8 c#3@2, ~@34 b3@4 f4 f#4@3 b3@4 f4 f#4@3 b3@4 f4@8 f4@8 f4@16 f4@32 ~ d#3@5 ~@4]/8",
  Q: "f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~ d#3, ~@2 f#2@5 d#3@5 ~@4, ~@3 c#3@4 c#3, ~@5 f#2@3",
  R: "[f#2@2 ~@2 d#3@2 ~@2 f#2@2 ~@2 d#3@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~ b3 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~ f#4, ~@2 f#2@5 d#3@5 ~@3 d#3@32 f#4@32 ~@7 f4@8 f4@2, ~@6 c#3@8 c#3@32 ~@4 f#3@5 b3@3 f#3@5 b3@3 f#3@5 b3@3 f#3@22, ~@10 f#2@29 f#4@3 b3@10 ~@2 a#3@8 a#3@8 a#3@8 a#3@18, ~@18 b3@4 f4 f#4@3 b3@4 f4 f#4@3 b3@4 f4@8 f4@32 ~@4 b3@5 f#4@3 b3@6]/6",
  S: "[b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~@2 f#3@2 ~@2 b3@2 ~ b3 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@2 b3@2 ~@2 f#4@2 ~@8 f#3@32 ~@2, ~@2 b3@5 f#4@5 ~@3 f#4@32 ~@7 f4@8 f4@8 f4@6 f4@32 ~@4, ~@6 f4@8 f4@32 ~@4 b3@5 f#4@3 b3@5 f#4@3 b3@5 f#4 b3@32 ~@8, ~@5 b3@5 ~ a#3@4 a#3@4 a#3@4 a#3@16 ~@17, ~@18 f#3@5 b3@3 f#3@5 b3@3 f#3@5 b3@3 f#3@32 f#4@32 ~@6]/7",
})).s("gm_epiano2").gain(0.72)

stack(epiano2)

More by Tori Amos