Strudelify

chocolate rain

Tay Zonday

KeyE♭ majorTempo90 bpm
0:00/0:00
// chocolate rain — Tay Zonday
// 90 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5943816; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 37 bars on a 16-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@2 C D B@2 C D B@2 C D B@2 C D B@2 C D B@2 C D B@2 C E F G H I F G H J>".pickRestart({
  A: "~@13 eb5!2 g5, ~@13 c3@3",
  B: "[c5 f5 bb4 d5 eb5 eb4 c5 g4 d5 g4 bb4 [eb3,c5] g4 eb5!2 g5 c5 f5 bb4 [bb3,d5] eb5 eb4 c5 g4 d5 g4 bb4 [c4,c5] g4 eb5!2 g5, ~ bb3@3 g3@4 d3@3 ~@2 ab3@2 eb4@2 d4@2 ~ c4@2 g3@2 bb3@3 ~@2 ab3@3]/2", // Cm Bb C
  C: "c5 bb5 bb4 d5 eb5 eb4 c5 g4 d5 g4 bb4 [eb4,c5] c5 c6 c5 g5, ~ f3@3 c4@4 d4@3 ~@2 ab3@3", // Cm
  D: "g5 bb5 bb4 f5 g5 ab4 eb5 c5 f5 bb4 d5 c4@2 eb5!2 g5, ~ g3@3 ab3@4 bb3@3 eb5 ~ c3@3",
  E: "g5 bb5 bb4 f5 g5 ab4 eb5 c5 f5 bb4 d5 c4@2 [c2,c3,eb5] eb5 [g1,g2,g5], ~ g3@3 ab3@4 bb3@3 eb5 ~@4", // Cm G
  F: "c5 [bb1,bb2,f5] bb4 [g1,g2,d5] [c2,c3,eb5] eb4 c5 g4 d5 g4 bb4 [ab1,ab2,c5] g4 [ab1,ab2,eb5] eb5 [g1,g2,g5], ~@8 [bb1,bb2]@3 ~@5", // Bb5 G5 Cm Ab Ab5 G Bb
  G: "c5 [c2,c3,f5] bb4 [bb1,bb2,d5] [ab1,ab2,eb5] eb4 c5 g4 d5 g4 bb4 [c2,c3,c5] g4 [ab1,ab2,eb5] eb5 [g1,g2,g5], ~@8 [bb1,bb2]@3 ~@5", // F5 Bb Ab5 C Ab5 G Bb
  H: "c5 [d2,d3,bb5] bb4 [bb1,bb2,d5] [c2,c3,eb5] eb4 c5 g4 d5 g4 bb4 [ab1,ab2,c5] c5 [ab1,ab2,c6] c5 [g1,g2,eb5], ~@8 [bb1,bb2]@3 ~@5", // Gm Bb Cm Ab Cm Bb
  I: "eb5 [c2,c3,f5] bb4 [bb1,bb2,d5] [ab1,ab2,eb5] eb4 c5 g4 d5 g4 bb4 [c2,c3,c5] g4 [c2,c3,eb5] eb5 [g1,g2,g5], ~@8 [bb1,bb2]@3 ~@5", // F5 Bb Ab5 C Cm G Bb
  J: "eb5 [c2,c3,f5] bb4 [bb1,bb2,d5] [ab1,ab2,eb5] eb4 c5 g4 d5 g4 bb4 [c2,c3,c5] ~@4, ~@8 [bb1,bb2]@3 ~@5", // F5 Bb Ab5 C Bb
})).s("gm_piano").gain(0.3)

stack(piano)