Strudelify

witchblades

Lil Peep

KeyB♭ majorTempo71 bpm
0:00/0:00
// witchblades — Lil Peep
// 71 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5177799; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 43 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(71/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 · acoustic guitar steel · "Guitare acoustique [Tablature]"
const acoustic_guitar_steel = note("<A@2 B C D E F G H ~@34>".pickRestart({
  A: "[~@6 g3@4 eb3 d3@4 c3, ~@3 d3 ~ g3@2 ~]/2", B: "bb2@2 c3@2 ~ g2@2 ~", C: "[d3,g3]@4 eb3 d3@3, ~ g3",
  D: "c3@5 g3@3", E: "d3@4 ~ d3@3, ~ g3", F: "~@5 g3@3", G: "g3", H: "c4",
})).s("gm_acoustic_guitar_steel").gain(0.3)

// bass · acoustic bass · "Basse acoustique"
const bass = note(`<
  A B C B C B C B C D ~ B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C
>`.pickRestart({
  A: "~@5 d2 g2 d2, ~ g1", B: "~ g1 c3 g1 ~ bb1 eb3 bb1, c2 eb2", C: "~ f1 bb2 f1 ~ d2 g2 d2, a1 g1",
  D: "~ g1 c3 g1 ~ bb1 ~@2, c2 eb2",
})).s("gm_acoustic_bass").gain(0.3)

// other · trombone
const trombone = note("<~@11 A B A B A B A B ~@2 C D E F ~@2 G H ~@14>".pickRestart({
  A: "~ g2@2 g2 ~ bb2@2 bb2", B: "~ f2@2 f2 ~ d3@2 d3", C: "f3@2 d3@4 bb2!2 f3!2 d3!2 f3!2 d3!2",
  D: "f3@2 d3@4 bb2!2 f3@2 bb2!2 f3!2 bb2!2", E: "f3@2 d3@2 ~@2 bb2!2 f3@2 bb2!2 f3!2 d3!2", F: "c3 bb2 ~@6",
  G: "bb2!2 f3!2 bb2!2 f3@2 d3@2 ~@2 bb2!2 f3@2", H: "bb2!2 f3!2 d3!2 c3@2 bb2@4 ~@4",
})).s("gm_trombone").gain(0.15)

stack(acoustic_guitar_steel, bass, trombone)