Strudelify
Trippin' On A Hole In A Paper Heart cover art

1996 · Tiny Music...Songs from the Vatican Gift Shop

Trippin' On A Hole In A Paper Heart

Stone Temple Pilots

KeyC majorTempo100 bpm
0:00/0:00
// Trippin' On A Hole In A Paper Heart — Stone Temple Pilots
// 100 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 75 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · "Distorted Guitar"
const distortion_guitar = note(`<
  A B C D@2 B C D@2 B C E@2 F G H@3 I J K B C D@2 B C D@2 B C L@2 ~ M H@3 M H@3 M H@3 I J N ~@11 M H@3 M H@3 M H@3 I J N
>`.pickRestart({
  A: "~@3 [c3,f3]@3 ~ [c3,f3]@2 ~@2 [c3,f3]@4 ~@17", B: "~@3 c3@3 ~ [c3,f3]@3 ~ [c3,f3]@4 ~@17, ~@2 f3@3 ~@27",
  C: "~@3 [c3,f3]@8 ~@4 [c3,f3]@10 ~@3 [c3,f3]@4", // F5
  D: "[~@3 [c3,f3]@8 ~@4 [c3,f3]@9 ~@2 [c3,f3]@9 [c3,f3]@3 ~ [c3,f3]@2 ~@2 [c3,f3]@4 ~@17]/2", // F5
  E: "[~@3 [c3,f3]@8 ~@4 [c3,f3]@9 ~@9 c4@11 ~@5 [f3,b3]@14 ~, ~@26 [c3,f3]@9 ~@29, ~@8 g3@3 ~@5]/2", // F5 Fdim F5
  F: "~@4 [e3,a3]@3 ~ c4@4 b3@3 a3@17", G: "~@2 a3@23 ~@7, ~ e3@24 ~@7",
  H: "[~@3 d3@12 ~@4 [e3,a3]@3 ~@3 [f3,b3]@3 ~@2 [g3,c4]@60 ~@6, ~ g3@6 ~@41]/3", I: "~@3 [f3,b3]@26 ~@3",
  J: "~@3 [e3,a3]@14 ~@4 b3@6 ~ [f3,b3]@3 ~, ~@20 f3@7 ~@5", K: "b3@3 [c3,f3]@3 ~ [c3,f3]@2 ~@2 [c3,f3]@4 ~@17",
  L: "[~@3 [c3,f3]@8 ~@4 [c3,f3]@9 ~@2 [c3,f3]@9 ~@29]/2", M: "~@2 a3 ~@29, ~ e3@24 ~@7", N: "b3@3 ~@29",
})).s("gm_distortion_guitar").gain(0.31)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B C D A B C D A B C D E@2 F@3 E G@2 H B C D A B C D A B C D E@2 F@3 E F@3 E F@3 E G@2 A B C D A B C D A B C D F@3 E
  F@3 E F@3 E G@2 ~
>`.pickRestart({
  A: "~ f1@2 f1@3 ~@3 f1@3 ~@2 e1@2 f1 f1@2 ~@3 f1@2 ~ e1@2 f1 f1@2 ~@2",
  B: "~@3 f1 f1@2 ~@3 f1@2 ~@3 e1@2 f1 ~ f1@2 ~@2 f1@2 ~ e1@2 f1 ~ f1@2 ~",
  C: "~@3 g1 g1@2 ~@3 g1@3 ~ f#1@2 ~ g1 g1@2 ~@2 g1@2 ~@2 f#1@2 g1@2 g1@2 ~",
  D: "~@3 f#1 f#1@2 ~@3 f#1@2 ~@2 f1 ~ f#1@2 ~ f#1@2 ~ f#1@2 ~@2 f#1 ~ f1 ~ f#1@2 ~",
  E: "~@3 b1@6 ~@4 b1@2 a1@2 b1 ~ b1@2 e2@2 f2@2 ~ f2 f2@4 ~",
  F: "[~ c2@3 ~@2 c2@3 ~ c2@3 ~@2 c2@3 ~ c2@3 ~ b1@3 ~ b1@2 ~@2 b1@3 ~ b1@2 ~@2 a1@2 ~@3 a1@2 ~@4 b1@4 ~@3 c2@4 ~@6 b1@6 ~@4 b1@2 a1@2 b1 ~ b1@2 e2@2 f2@2 ~ f2 f2@4 ~, ~@63 d2@8 ~@25]/3",
  G: "[~ b1@3 ~@2 b1@3 ~@2 b1@3 ~ b1@2 ~@2 b1@3 ~ a1@2 ~@2 a1@3 ~ a1@4 ~ a1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~]/2",
  H: "g1@4 ~@5 f1@3 ~@2 e1@2 f1 f1@2 ~@3 f1@2 ~ e1@2 f1 f1@2 ~@2",
})).s("gm_electric_bass_finger").gain(0.26)

// drums · kick
const kick = s("bd").struct("<A@15 B A@19 B A@3 B A@3 B A@17 B A@3 B A@3 B A@4 ~>".pickRestart({
  A: "~@3 x ~@3 x ~@9 x ~@2 x ~@4 x ~@6", B: "~@3 x ~@2 x ~@25",
})).gain(0.26)

// drums · snare
const snare = s("sd").struct("<A@15 B A@19 B A@3 B A@3 B A@17 B A@3 B A@3 B A@4 ~>".pickRestart({
  A: "~@11 x ~@14 x ~@5", B: "~@5 x ~@10",
})).gain(0.26)

// drums · crash
const crash = s("cr").struct("<~@15 A ~@19 A ~@3 A ~@3 A ~@17 A ~@3 A ~@3 A ~@5>".pickRestart({
  A: "~@18 x ~@4 x ~@6 x ~",
})).gain(0.26)

// drums · ride
const ride = s("rd").struct("<~@15 A ~@19 A ~@3 A ~@3 A ~@17 A ~@3 A ~@3 A ~@5>".pickRestart({
  A: "~@29 x ~@2",
})).gain(0.26)

stack(distortion_guitar, bass, kick, snare, crash, ride)

More by Stone Temple Pilots