Strudelify
Territorial Pissings cover art

Nevermind

Territorial Pissings

Nirvana

KeyD majorTempo196 bpm
0:00/0:00
// Territorial Pissings — Nirvana
// 196 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 96 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(196/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 · overdriven guitar · "Dist. Guit"
const overdriven_guitar = note(`<
  A@3 B C D E F C D E F C D E F C D E F C D E F C D E F C D E F C D E F C D E F C D E F C D E F C D E F G@7 H ~@8 C D E
  F C D E F C D E F C D E F C D E F C D E F I J K ~
>`.pickRestart({
  A: "[c#4 ~@7 b4@16 [a2,c4,f#4,b4]@24, [a2,c4,f#4] ~]/3", B: "~ [a2,c4,f#4,b4]@5 [a2,e3,a3] [a2,d3]",
  C: "[a2,e3,a3]@2 [a2,e3,a3]!5 e2", D: "[f3,c4,f4,a4]@2 [f3,c4,f4,a4]!5 [d3,g3]", E: "[d3,a3,d4,f#4]!8",
  F: "[d3,a3,d4,f#4]!7 [a2,d3]", G: "a3!2 [a3,e4]@2 a3!2 [a3,e4]@2", H: "a3!2 [a3,e4] f#5 d5 a4 [a3,e4]@2",
  I: "[d4,a4,d5,f#5]!4 [a4,d5]!2 [e4,a4]@2", J: "~@2 d#6 g6 ~ f#6 g3 e3", K: "[a3,e4,a4] ~",
})).s("gm_overdriven_guitar").gain(0.41)

// other · electric guitar muted · "El. Guit. Mut."
const electric_guitar_muted = note("<~ [e3 ~@3 e3 ~@3] [~@3 e3 ~@4] e3 ~@92>").s("gm_electric_guitar_muted").gain(0.41)

// bass · electric bass finger · "El. Bass Fing"
const bass = note("<~@52 A B C D A B C D A B C D A B C E ~@28>".pickRestart({
  A: "a2!4", B: "f2!4", C: "d3!4", D: "d3!3 d2", E: "d3!3 ~",
})).s("gm_electric_bass_finger").gain(0.41)

// bass · electric bass pick · "El. Bass Pick"
const bass_2 = note(`<
  ~@4 A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D ~@16 A B C D A B C
  D A B C D A B C D A B C D A B C D ~@4
>`.pickRestart({
  A: "a2!4", B: "f2!4", C: "d3!4", D: "d3!3 d2",
})).s("gm_electric_bass_pick").gain(0.41)

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

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~@12 A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B@16 ~ A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B@2 C ~@2
>`.pickRestart({
  A: "~ x!3", B: "x!4", C: "~ x ~ x",
})).gain(0.41)

// drums · crash
const crash = s("cr").struct("<~@12 x!40 ~@16 x!19 ~ x!7 ~>").gain(0.41)

// drums · ride
const ride = s("rd").struct(`<
  ~@12 A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B ~@16 A@3 B A@3 B A@3 B A@3 B ~@12
>`.pickRestart({
  A: "~ x!3", B: "~@4 x ~@2 x ~@4 x ~@3",
})).gain(0.41)

stack(overdriven_guitar, electric_guitar_muted, bass, bass_2, kick, snare, hihat, crash, ride)

More by Nirvana