Strudelify
Dead & Bloated cover art

1992 · Core

Dead & Bloated

Stone Temple Pilots

KeyB minorTempo65 bpm
0:00/0:00
// Dead & Bloated — Stone Temple Pilots
// 65 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: track names are the Roland MT-32 patch names at their program numbers ("Guitar 1" on 61, "Guitar 2" on 60), so with no bank select the whole file is read through the MT-32 patch table: ch 2 "Vocals" Sax 1 -> soprano sax; ch 3 "Guitar 1" Elec Gtr 1 -> electric guitar clean; ch 4 "Guitar 2" Guitar 2 -> acoustic guitar steel; ch 4 "Guitar 2" Elec Gtr 1 -> electric guitar clean
// note: Full arrangement: all 79 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(65/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 · electric guitar clean · "Guitar 1"
const electric_guitar_clean = note(`<
  ~@5 A B C A B C A B C D E D E D E D E F@3 G A B C A B C D E D E D E D E F@3 G H I@2 H I@2 F J A B C A B C H I@2 H I@2
  H I@2 H I@2 F J A B C A B C K
>`.pickRestart({
  A: "[a2,d3] ~ [a2,d3]@3 ~ g3 [c3,f3] [d3,g3] [c3,f3] [a2,d3]@3 ~ g3 [c3,f3], ~@5 [d3,g#3]@2 ~@6 [d3,g#3]@2 ~", // D5 F5 G5 F5 D5 F5 Ddim
  B: "[d3,g3] [c3,f3] [a2,d3]@2 [a2,d3] ~ [a2,d3]@3 ~ g3 [c3,f3] [d3,g3]@4, ~@9 [d3,g#3]@2 ~@5", // G5 F5 D5 F5 G5 Ddim
  C: "~@2 g3 [c3,f3] [d3,g3]@5 ~ g3 [c3,f3] [d3,g3] [c3,f3] [a2,d3]@2, ~ [d3,g#3]@2 ~@6 [d3,g#3]@2 ~@5", // F5 G5 F5 G5 F5 D5 Ddim
  D: "[f#2,b2,f#3,b3,c#4,f#4]@3 [f#2,b2,f#3,b3,c#4,f#4] ~ d#2 [g2,b2,d3,g3,d4,g4]@4 [g2,b2,d3,g3,d4,g4] d#2 [g2,b2,d3,g3,d4,g4]!2 ~ [e2,b2,e3,g#3,b3,e4]", // F#sus4 G E
  E: "[e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3]!2 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3]!2 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3] [e2,b2,e3,g#3,b3,e4] [e2,b2,e3]!2 [e2,b2,e3,g#3,b3,e4]!2 [e2,b2,e3,g#3,b3,e4]@2", // E E5 E E5 E E5 E E5 …
  F: "[e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3]", // F#7 F#5 F#7 F#5 F#7 F#5 F#7 F#5 …
  G: "[e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 a2", // F#7 F#5 F#7 F#5 F#7 F#5 F#7 F#5 …
  H: "[b2,f#3]@3 [a#2,f#3]@3 [a2,e3]@3 [g#2,e3]@3 [g#2,d3,g3] [a2,e3,a3] [g#2,d3,g3] ~", // B5 D#m A5 C#m G A5 G
  I: "[g2,d3,g3]@3 [e2,b2,e3]!3 [g2,d3,g3]@3 [e2,b2,e3]!7", // G5 E5 G5 E5
  J: "[e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3]!2 [e2,c#3,f#3] [f#2,c#3,f#3] ~@2", // F#7 F#5 F#7 F#5 F#7 F#5 F#7 F#5 …
  K: "[a2,d3] [a2,d3]@7", // D5
})).s("gm_electric_guitar_clean").gain(0.44)

// chords · acoustic guitar steel · "Guitar 2"
const acoustic_guitar_steel = note("<~@22 A@4 ~@14 A@4 ~@35>".pickRestart({
  A: "[~@12 [a#3,b3,e4]!2 [a#3,b3,e4]@10 ~@4 [a#3,b3,e4]!2 [a#3,b3,e4]@10 ~@4 [a#3,b3,e4]!2 [a#3,b3,e4]@10 ~@8]/4", // E
})).s("gm_acoustic_guitar_steel").gain(0.32)

// other · electric guitar clean · "Guitar 2"
const electric_guitar_clean_2 = note("<~@45 A@2 ~ A@2 B@2 ~@7 A@2 ~ A@2 ~ A@2 ~ A@2 B@2 ~@7>".pickRestart({
  A: "g4@3 e4@3 ~ g4@3 e4@2 ~@4", B: "f#4/2",
})).s("gm_electric_guitar_clean").gain(0.48)

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

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

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@7 A ~@2 A ~@2 A ~@14 A ~@2 A ~@14 A ~@2 A ~@4 A ~@2 A ~@2 A ~@2 A ~@2 A ~@2 A ~@4 A ~@2 A ~
>`.pickRestart({
  A: "~@10 x ~@2 x ~@2",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct("<~@5 A@17 ~@4 A@14 ~@4 A@6 ~@2 A@18 ~@2 A@6 ~>".pickRestart({
  A: "x!8",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@5 A ~@2 A ~@2 A ~@2 B C B C B C B C D@3 ~ A ~@2 A ~@2 B C B C B C B C D@3 ~ C ~@2 C ~@2 D@2 A ~@2 A ~@2 C ~@2 C ~@2
  C ~@2 C ~@2 D@2 A ~@2 A ~@2 A
>`.pickRestart({
  A: "x!2 ~@6", B: "x ~@2 x ~@4", C: "x", D: "~@6 x!2",
})).gain(0.64)

stack(electric_guitar_clean, acoustic_guitar_steel, electric_guitar_clean_2, kick, snare, mid_tom, open_hat, crash)

More by Stone Temple Pilots