Strudelify

Lie in Our Graves

Dave Matthews Band

KeyD majorTempo120 bpm
0:00/0:00
// Lie in Our Graves — Dave Matthews Band
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 32 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): Unnamed-001.
setcpm(120/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.

// chords · acoustic guitar steel · "Unnamed-000"
const acoustic_guitar_steel = note("<A B A B A B A B C D C D C D C D A B A B A B A B C D C D C D C D>".pickRestart({
  A: "[d4,a4,d5]@3 [d4,a4,d5]!3 c#4@2 b3@5 ~ d4@2", // D5
  B: "e4@2 f#4@2 [a4,d5]@2 f#4@2 [g3,d4]@2 [d4,g4,b4,e5] [d4,g4,b4,e5]@2 [d4,g4,b4,e5]!3", // D5 G5 Em7
  C: "[d4,a4,d5,f#5]@3 [d4,a4,d5,f#5] [d4,a4,d5,f#5]@2 d4@2 f#4@2 a4@2 f#4@2 d4@2", // D
  D: "[a3,e4,a4,c5,e5]@3 [a3,e4,a4,c5,e5] [a3,e4,a4,c5,e5]@2 g4!2 g4@2 f#4@2 e4@2 f#4@2", // Am
})).s("gm_acoustic_guitar_steel").gain(0.72)

// chords · acoustic guitar nylon · "Unnamed-001"
const acoustic_guitar_nylon = note("<~@2 A ~ A ~ A ~@9 A ~ A ~ A ~ A ~@9>".pickRestart({
  A: "~@2 [d4,a4,d5] ~@13", // D5
})).s("gm_acoustic_guitar_nylon").gain(0.45)

// bass · acoustic bass · "Unnamed-004"
const bass = note("<~@12 A B A B C D C D C D C D A B A B A B A B>".pickRestart({
  A: "d2@15 ~", B: "a2@15 ~", C: "d2@5 ~ c#2@2 b1@7 ~", D: "~@4 d2@3 ~ g2@7 ~",
})).s("gm_acoustic_bass").gain(0.72)

// bass · piano · "Unnamed-007"
const bass_2 = note("<~@12 [b1@3 d2!3 b1@2 b1@2 d2!2 ~@4] [d2@2 d2@2 b1@2 b1@2 d2 d2@2 d2!3 b1!2] ~@18>")
  .s("gm_piano").gain(0.72)

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

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

// drums · clap
const clap = s("cp").struct("<~@10 A ~ A ~ A ~ B ~@3 B ~@5 A ~ A ~ A ~>".pickRestart({
  A: "~@4 x ~ x!4 ~@2 x ~ x ~", B: "~@3 x!3 ~@4 x!2 ~@4",
})).gain(0.72)

// drums · low tom
const low_tom = s("lt").struct("<~@14 [~@6 x!2] ~@15 [~@6 x!2] ~>").gain(0.72)

// drums · crash
const crash = s("cr").struct("<~@8 A ~ B ~ B ~ B ~@9 A ~ B ~ B ~ B ~>".pickRestart({
  A: "x", B: "x ~@2 x ~@12",
})).gain(0.72)

// drums · high tom
const high_tom = s("ht").struct("<~@9 A ~ A ~ A ~ A ~@9 A ~ A ~ A ~ A>".pickRestart({
  A: "~@3 x ~@4",
})).gain(0.72)

// drums · ride
const ride = s("rd").struct("<~@8 A ~ B ~ B ~ B ~ C ~@2 D C ~@3 A ~ B ~ B ~ B ~>".pickRestart({
  A: "~@5 x ~@2", B: "~@3 x ~@6 x ~@5", C: "x", D: "~@15 x",
})).gain(0.72)

stack(acoustic_guitar_steel, acoustic_guitar_nylon, bass, bass_2, kick, snare, clap, low_tom, crash, high_tom, ride)

More by Dave Matthews Band