Strudelify

Christmas Medley

Grace Burton

KeyE majorTempo120 bpm
0:00/0:00
// Christmas Medley — Grace Burton
// 120 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5900074; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 71 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// drums · kick
const kick = s("bd").struct("<[x!2]!16 ~ [x!4]!15 ~@2 [x!4]!34 ~@3>").gain(0.3)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x ~ x ~ x]!16 [x!8 ~@8] [~ x ~ x ~ x ~ x]!15 ~@6 [~ x ~ x]!30 ~@3>").gain(0.3)

// drums · hihat
const hihat = s("hh").struct("<A@7 B A B A B A B A@2 ~@55>".pickRestart({
  A: "x!8", B: "x!7 ~",
})).gain(0.3)

// drums · mid tom
const mid_tom = s("mt").struct("<~@34 [x!4]!4 ~@33>").gain(0.3)

// drums · crash
const crash = s("cr").struct("<~@7 A ~ A ~ A ~ A ~@6 A ~@3 A ~@3 A ~@42>".pickRestart({
  A: "~@7 x",
})).gain(0.3)

// drums · high tom
const high_tom = s("ht").struct("<~@34 [~ x ~ x ~ x ~ x]!4 ~@33>").gain(0.3)

// drums · ride
const ride = s("rd").struct("<~@16 A B@3 C B@3 C B@3 C B@3 D ~@5 E@30 ~ D ~>".pickRestart({
  A: "~@4 x!4", B: "x!8", C: "x!7 ~", D: "x", E: "x!4",
})).gain(0.3)

stack(kick, snare, hihat, mid_tom, crash, high_tom, ride)