Strudelify

Lie to Me

Silverchair

KeyC minorTempo185 bpm
0:00/0:00
// Lie to Me — Silverchair
// 185 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 2 "guitar 2" distortion guitar (copy of ch 1 "guitar 1" distortion guitar); ch 6 "vocals" distortion guitar (copy of ch 5 "vocals" distortion guitar)
// note: Full arrangement: all 62 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(185/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 · distortion guitar · "guitar 1"
const distortion_guitar = note(`<
  A B A B A B A B A B A B A B A B A B A C A B A B A B A C D@8 ~@8 A B A B A B A B A B A B A B A E@3
>`.pickRestart({
  A: "[c3,g3]!4 [g2,d3]!4", B: "[ab2,eb3]!4 [f2,c3]!4", C: "[ab2,eb3] [g2,d3] ~@2 [ab2,eb3] [g2,d3] ~@2", D: "c3/8",
  E: "[[ab2,eb3] [g2,d3] ~@2 [ab2,eb3] [g2,d3] ~@2 c3@16, ~ g3@8 ~@15]/3", // Ab5 G5 Ab5 G5
})).s("gm_distortion_guitar").gain(0.8)

// bass · electric bass pick · "bass"
const bass = note(`<
  ~@4 A B A B A B A B A B A B A B A C A B A B A B A C D E D E D E D E A B A B A B A B A B A B A B A B A B A B A B A C
  F@2
>`.pickRestart({
  A: "c2!4 g1!4", B: "ab1!4 f1!4", C: "ab1 g1 ~@2 ab1 g1 ~@2", D: "c2!4 eb2!4", E: "bb1!4 f1!4", F: "c2/2",
})).s("gm_electric_bass_pick").gain(0.8)

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

// drums · snare
const snare = s("sd").struct("<~@3 A B@3 C B@7 C B@3 D B@7 D B@15 E B@8 F@7 D G ~>".pickRestart({
  A: "~@2 x!2", B: "~ x ~ x", C: "~@4 x ~@3 x!8", D: "x!2", E: "x!16", F: "x!4", G: "x",
})).gain(0.8)

// drums · hihat
const hihat = s("hh").struct("<~@19 [~ x ~@3 x ~@2] ~@7 [~ x ~@3 x ~@2] ~@31 [~ x ~@3 x ~@2] ~@2>").gain(0.8)

// drums · splash
const splash = s("cr").struct("<~@4 A@3 B A@7 B A@3 ~ A@7 ~ A@15 ~ A@15 ~ C ~>".pickRestart({
  A: "x!4", B: "x!2 ~@2", C: "x",
})).gain(0.8)

stack(distortion_guitar, bass, kick, snare, hihat, splash)

More by Silverchair