Strudelify

Woo Hah

Busta Rhymes

Tempo99 bpm
0:00/0:00
// Woo Hah — Busta Rhymes
// 99 bpm, 4/4, key unknown. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 9 banjo (copy of ch 3 clavinet)
// note: Full arrangement: all 98 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(99/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.

// other · piano
const piano = note(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A ~@7
>`.pickRestart({
  A: "~@2 c#2@2 c#3@2 g2@3 ~@7", B: "~@2 g#2 ~ g#2 ~ c#2@2 ~@8",
})).s("gm_piano").gain(0.36)

// other · piano · soft notes
const piano_soft = note(`<
  ~@91
  [~@2 g#2 ~ g#2 ~ c#2@2 ~@8]
  [~@2 c#2@2 c#3@2 g2@3 ~@7]
  [~@2 g#2 ~ g#2 ~ c#2@2 ~@8]
  [~@2 c#2@2 c#3@2 g2@3 ~@7]
  [~@2 g#2 ~ g#2 ~ c#2@2 ~@8]
  [~@2 c#2@2 c#3@2 g2@3 ~@7]
  ~
>`).s("gm_piano").gain(0.15)

// drums · kick
const kick = s("bd").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C ~@9
>`.pickRestart({
  A: "x ~@2 x ~@3 x", B: "~ x!3 ~ x ~ x", C: "x ~@2 x ~@4",
})).gain(0.46)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@88 A B C B C B C B C ~>".pickRestart({
  A: "~@7 x", B: "~ x!3 ~ x ~ x", C: "x ~@2 x ~@3 x",
})).gain(0.15)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!91 [~ x ~@2] ~@6>").gain(0.31)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@91 [~@3 x] [~ x ~ x]!5 ~>").gain(0.1)

// drums · hihat
const hihat = s("hh").struct("<[x!7 ~]!90 [x!3 ~@5] ~@7>").gain(0.36)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@90 [~@3 x!4 ~] [x!7 ~]!6 ~>").gain(0.15)

// drums · open hat
const open_hat = s("oh").struct("<[~@7 x]!91 ~@7>").gain(0.31)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<~@91 [~@7 x]!6 ~>").gain(0.1)

// drums · shaker
const shaker = s("sh").struct("<[x!5 ~ x!5 ~ x ~ x!2]!97 ~>").gain(0.26)

stack(piano, piano_soft, kick, kick_soft, snare, snare_soft, hihat, hihat_soft, open_hat, open_hat_soft, shaker)

More by Busta Rhymes