Strudelify

Rollin

Limp Bizkit

KeyC♯ minorTempo94 bpm
0:00/0:00
// Rollin — Limp Bizkit
// 94 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 16 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 30.
setcpm(94/4)

// 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 · electric bass pick · "drummix"
const bass = note("<~ A B C@2 A B C@2 D E D E D E F>".pickRestart({
  A: "~@4 c#1@2 g#1@3 ~@3 e1 ~ e1@2", B: "~@4 c#1@2 g#1@2 ~@4 e1 ~ e1@2", C: "~@4 c#1@2 g#1@3 ~@3 e1@2 e1@2",
  D: "c#1 ~ c#1 g#1@2 g#1 f#1@2 f#1 e1 ~ e1 d#1@2 d#1!2", E: "c#1@3 ~@3 c#1@3 ~@3 c#1@3 ~", F: "c#1 ~@15",
})).s("gm_electric_bass_pick").gain(0.59)

// other · pad choir
const pad_choir = note(`<
  ~@12
  [~@14 c#3 ~]
  [c#3 ~ c#3!2 ~ c#3!2 ~ c#3 c#3@2 ~ c#3 ~ c#3 ~]
  [c#3 ~ c#3!2 ~ c#3 c#3@2 c#3 c#3@3 ~@2 c#3 ~]
  [c#3 ~@15]
>`).s("gm_pad_choir").gain(0.64)

// chords · overdriven guitar
const overdriven_guitar = note("<~ A@8 B C B C B C D>".pickRestart({
  A: "[g#2,c#3] c#2 [g#2,c#3] c#2 [g#2,c#3] c#2 [g#2,c#3] c#2 [b2,e3] e2 [b2,e3] e2 [b2,e3] e2 [b2,e3] e2", // C#5 E5
  B: "[c#2,g#2,c#3]@2 c#2 [g#2,d#3,g#3]@2 ~ [f#2,c#3,f#3]@2 f#2 [e2,b2,e3]@2 e2 [d#2,a#2,d#3]@4", // C#5 G#5 F#5 E5 D#5
  C: "[c#2,g#2,c#3]@3 ~@3 [c#2,g#2,c#3]@4 ~@2 [c#2,g#2,c#3]@4", D: "c#2 ~@15",
})).s("gm_overdriven_guitar").gain(0.48)

// drums · kick
const kick = s("bd").struct("<~ [x!2 ~@2 x!2 ~@2]!7 [x!8] [x ~@2 x ~@2 x ~@2 x!2 ~@2 x ~ x]!6 x>").gain(0.72)

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

// drums · hihat
const hihat = s("hh").struct("<[x!4] [x!8]!5 [x!3 ~] ~@9>").gain(0.48)

// drums · open hat
const open_hat = s("oh").struct("<~@6 [~ x ~ x ~ x!3] [x!8]!8 x>").gain(0.48)

// drums · crash
const crash = s("cr").struct("<~@9 [x ~@2 x ~@4]!2 [x ~@4 x!2 ~@9] [x ~@2 x ~@4]!3 x>").gain(0.48)

stack(bass, pad_choir, overdriven_guitar, kick, snare, hihat, open_hat, crash)

More by Limp Bizkit