Strudelify

Are You That Somebody

Aaliyah

KeyD minorTempo133 bpm
0:00/0:00
// Are You That Somebody — Aaliyah
// 133 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 ocarina (copy of ch 3 electric bass pick); ch 1 electric bass pick (copy of ch 4 slap bass 2); ch 9 pad sweep (copy of ch 8 lead 1 square)
// note: Full arrangement: all 146 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(133/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// bass · electric bass pick
const bass = note(`<
  A B C D ~@2 C D ~@2 C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C
  D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B
  C D A B C D A B C D A B C D A B C D A B C D A B C D A B
>`.pickRestart({
  A: "d2@3 ~ d2@3 ~@9", B: "a1 c2 d2 c2 a1 ~@3", C: "bb1 ~ bb1 ~@5", D: "a1 ~ a1 ~@5",
})).s("gm_electric_bass_pick").gain(0.14)

// bass · slap bass 2
const bass_2 = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C
  D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B
  C D A B C D A B C D A B C D A B C D A B C D A B C D A B
>`.pickRestart({
  A: "d3@3 ~ d3@3 ~@9", B: "a2 c3 d3 c3 a2 ~@3", C: "bb2 ~ bb2 ~@5", D: "a2 ~ a2 ~@5",
})).s("gm_slap_bass_2").gain(0.32)

// bass · electric bass pick
const bass_3 = note(`<
  ~ A B C ~ D E C ~@2 E F ~ A E G ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E
  F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H
  E F ~ A E F ~ H E F ~ A E F ~ H E F ~ A E F ~ H E F ~@2
>`.pickRestart({
  A: "~@14 d3!2", B: "~@10 d3 ~ d3 ~ d3 ~", C: "~@10 db3 ~ db3 ~ db3 ~", D: "~@7 d3", E: "~@10 d3 ~ d3!2 d3@2",
  F: "~@10 db3 ~ db3 ~ db3@2", G: "~@10 db3 ~ db3 ~@3", H: "~@14 d3 ~",
})).s("gm_electric_bass_pick").gain(0.22)

// other · lead 1 square
const lead_1_square = note(`<
  ~@32 A@2 B C A@2 B C A@2 B C A@2 B C ~@12 A@2 B C A@2 B C A@2 B C A@2 B C ~@16 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C
  A@2 B C A@2 B C ~@26
>`.pickRestart({
  A: "[a4@30 f4 g4]/2", B: "d4", C: "db4",
})).s("gm_lead_1_square").gain(0.25).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  A B C D ~@2 C D ~@2 C D E B C D E B C D E B C D E B C D E B C F E B C D E B C D E B C D E B C D E B C D ~@2 C D E B C
  G E B C D E B C D E B C D E B C D E B C D E B C D E B C D E B C H E B C D E B C D E B C D E B C D E B C D E B C D E B
  C D E B C D E B C D E B C D E B C D E B C D E B C D E B
>`.pickRestart({
  A: "~ x ~@2", B: "x!5 ~@3", C: "x ~@3 x ~@3 x ~@2 x ~@2 x ~", D: "x ~@3 x ~@6 x ~@2 x ~", E: "x!2 ~@2",
  F: "x ~@3 x ~ x ~@2 x ~ x ~@2 x ~", G: "x ~@3 x ~@2 x ~ x ~ x ~@2 x ~", H: "x ~@3 x ~@4 x ~ x ~@2 x ~",
})).gain(0.62)

// drums · snare
const snare = s("sd").struct(`<
  ~ A@3 ~@2 A@2 ~@2 A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@2 ~@2 A@3 B A@3 B A@3 B A@3 B A@3 B
  A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B
>`.pickRestart({
  A: "~ x", B: "~@3 x!2 ~@3",
})).gain(0.47)

// drums · hihat
const hihat = s("hh").struct("<~@132 A B C D A B C D A B C D A B>".pickRestart({
  A: "x!2 ~@2", B: "~ x!4 ~@3", C: "x ~@3 x ~@6 x ~@2 x ~", D: "~@11 x ~@2 x ~",
})).gain(0.62)

// drums · rim
const rim = s("rim").struct(`<
  ~@18 A ~@3 B@2 ~@2 B@2 C ~ B@2 ~@2 B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2
  C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~ B@2 C ~
  B@2 C ~ B@2 C ~ B@2 C ~
>`.pickRestart({
  A: "x!12 ~@4", B: "x!9 ~@7", C: "~@2 x!3 ~@3 x ~@7",
})).gain(0.47)

stack(bass, bass_2, bass_3, lead_1_square, kick, snare, hihat, rim)

More by Aaliyah