Strudelify

Carpet Crawlers

Genesis

KeyD majorTempo70 bpm
0:00/0:00
// Carpet Crawlers — Genesis
// 70 bpm, 2/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 161 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(70/2)

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

// bass · fretless bass · "bass line for 1"
const bass = note(`<
  A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@4 D@2 E@2 D@2 E@2 C A F G A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@4 D@2
  E@2 D@2 E@2 C A F G A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@4 D@2 E@2 D@2 E@2 C A F G A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@4
  D@2 E@2 D@2 E@2 C A F G A@2 B@2 A@2 B@2 A B@3 A@2 B@3 H ~@7
>`.pickRestart({
  A: "d2@7 ~ d2@7 ~", B: "e2@7 ~ e2@7 ~", C: "f#2@7 ~ f#2@7 ~", D: "a2@7 ~ a2@7 ~", E: "g2@7 ~ g2@7 ~",
  F: "c2@7 ~ c2@7 ~", G: "b1@7 ~ b1@7 ~", H: "[e2,d3]@7 ~",
})).s("gm_fretless_bass").gain(0.41)

// bass · fretless bass · "bass line"
const bass_2 = note(`<
  ~@73 A B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@4 D@2 E@2 D@2 E@2 C A F G A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@4 D@2 E@2 D@2 E@2 C A
  F G A@2 B@2 A@2 B@2 A B@3 A@2 B@3 H ~@7
>`.pickRestart({
  A: "d2@7 ~ d2@7 ~", B: "e2@7 ~ e2@7 ~", C: "f#2@7 ~ f#2@7 ~", D: "a2@7 ~ a2@7 ~", E: "g2@7 ~ g2@7 ~",
  F: "c2@7 ~ c2@7 ~", G: "b1@7 ~ b1@7 ~", H: "[e2,d3]@7 ~",
})).s("gm_fretless_bass").gain(0.41)

// drums · kick
const kick = s("bd").struct("<~@40 x!32 [x!2 ~@14] x!81 ~@7>").gain(0.41)

// drums · snare
const snare = s("sd").struct("<~@40 [~ x]!114 ~@7>").gain(0.41)

// drums · crash
const crash = s("cr").struct(`<
  ~@73 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A@2 ~ A ~ A ~ A ~
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@8
>`.pickRestart({
  A: "x",
})).gain(0.41)

stack(bass, bass_2, kick, snare, crash)

More by Genesis