Strudelify

first of the year equinox

Skrillex

KeyF minorTempo120 bpm
0:00/0:00
// first of the year equinox — Skrillex
// 120 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/53273; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 82 bars on a 24-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 · [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@5 C D A B@5 C D A B@5 C D E F G H I J K L A B@5 C D A B@5 C D A B@5 C D E F G H I J K L A B@5 C D A B@5 C D M@2
>`.pickRestart({
  A: "~@3 [f2,f3,ab5,f6]@6 [f2,f3,ab5,f6] ~ [eb2,eb3,bb5,eb6]", // Fm Eb5
  B: "[f2,f3,ab5,f6]@9 [f2,f3,ab5,f6] ~ [eb2,eb3,bb5,eb6]", // Fm Eb5
  C: "[db2,db3,ab5,db6]@6 [db2,db3,ab5,db6]@3 [db2,db3,ab5,db6] ~ [eb2,eb3,eb6,f6]", // Db5 Ebsus2
  D: "[bb1,bb2,c5,bb5]@2 [bb1,bb2,c5,bb5]!2", E: "f4@6 f4@3 f4@3 c5@6 [f2,f3,c5]@2 ~@2 [eb2,eb3,bb4]@2, ~ [f2,f3]@2 ~",
  F: "c5@3 eb5@3 ~@3 [f2,f3] ~ [eb2,eb3], [f2,f3]@3 ~, ~ c5", // F Eb F
  G: "f4 ~ f4 f4@3 c5@3 [f2,f3,c5] ~ [eb2,eb3,bb4], [f2,f3]@3 ~", // F5 Eb5 F
  H: "c5@6 eb5@6 c5@2 ~@2 bb4@2 ~ ab4 f4 ~ [eb2,eb3]@2, [f2,f3]@9 [f2,f3] ~@2", // Eb F
  I: "f4 ~ f4 f4@3 c5 ~@2 [f2,f3] ~ [eb2,eb3], [f2,f3]@3 ~, ~@2 c5", // F Eb F
  J: "~@3 c5 bb4 c5 ~@3 [f2,f3] ~ [eb2,eb3], [f2,f3]@3 ~, ~ eb5", // F Eb F
  K: "ab4@3 ab4@3 c5@3 ~@3 [db2,db3]@6 [db2,db3]@2 ~@2 [eb2,eb3]@2, [db2,db3] ~, ~@3 eb5@5", // Db Eb Db
  L: "c5@3 eb5@3 f5 eb5 ~ [bb1,bb2]@3, [bb1,bb2]@2 [bb1,bb2] ~, ~@2 c5", M: "[f2,f3,ab5,f6]/2",
})).s("gm_piano").gain(0.3)

// bass · electric bass pick · "Bass Guitar"
const bass = note(`<
  A B@5 C D A B@5 C D A B@5 C D A B@5 C D A B@5 C D A B@5 C D A B@5 C D A B@5 C D A B@5 C D A B@5 C D E@2
>`.pickRestart({
  A: "~@3 f2@6 f2 ~ eb2", B: "f2@9 f2 ~ eb2", C: "db2@6 db2@3 db2 ~ eb2", D: "bb1@2 bb1!2", E: "f2/2",
})).s("gm_electric_bass_pick").gain(0.3)

// drums · kick
const kick = s("bd").struct("<x!24 ~@8 x!24 ~@8 x!16 ~@2>").gain(0.3)

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

// drums · ride
const ride = s("rd").struct("<[x!4]!24 ~@8 [x!4]!24 ~@8 [x!4]!16 ~@2>").gain(0.3)

stack(piano, bass, kick, snare, ride)

More by Skrillex