Strudelify
I Do Not Want This cover art

1994 · The Downward Spiral

I Do Not Want This

Nine Inch Nails

KeyE majorTempo120 bpm
0:00/0:00
// I Do Not Want This — Nine Inch Nails
// 120 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 8 overdriven guitar (copy of ch 2 overdriven guitar)
// note: Full arrangement: all 140 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano
const piano = note(`<
  A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@8 A@2 C@2 A@2 B@2 ~@16 D@2 B@2 D@2 B@2 D@2 B@2 D@2 B@2 ~@8 E@6 F@3 ~@59
>`.pickRestart({
  A: "[~ b3 c4 ~ f#4@12, ~@3 b3@13]/2",
  B: "[~@3 a3@4 b3@4 ~@17 a3@15 ~@21, ~@11 a3@16 ~@37, ~@15 d#4@47 ~@2, ~@23 e4@40 ~]/2",
  C: "[~@3 a3@4 b3@4 ~@18 a3@15 ~@20, ~@11 a3@16 ~@37, ~@15 d#4@47 ~@2, ~@23 e4@40 ~]/2",
  D: "[~@3 b3@4 c4@4 ~@5 f#4@48, ~@3 b3@13]/2",
  E: "[~@3 b3@4 c4@4 ~@13 a4@43 a3@4 b3@4 ~@56 b3@4 c4@4 ~@13 a4@40, ~@12 b3@52 ~@11 a3@16 ~ a3@15 ~@5 f#4@23 ~@9 f#4@48, ~@16 f#4@48 ~@15 d#4@47 ~@14 b3@52, ~@87 e4@40 ~@65, ~@25 d5@8 ~@15]/6",
  F: "[~@3 a3@4 b3@4 ~@37 f#4@23 ~@25, ~@11 a3@16 ~ a3@15 ~@53, ~@15 d#4@47 ~@34, ~@23 e4@40 ~@33, ~@9 d5@8 ~@7]/3",
})).s("gm_piano").gain(0.33)

// chords · overdriven guitar
const overdriven_guitar = note("<~@32 A@8 ~@40 A@8 ~@16 A@8 ~@7 B@20 ~>".pickRestart({
  A: "~ [c2,a2] [g#1,e2]!2 [c2,a2] [g#1,e2]!2 [c2,a2]", B: "[~ c2@15]/2",
})).s("gm_overdriven_guitar").gain(0.64)

// chords · muted trumpet
const muted_trumpet = note("<~@88 A@8 B C@8 D@24 E@8 F@3>".pickRestart({
  A: "~ [f-1,b-1,e0]@6 ~", // E
  B: "~@4 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@5, ~@4 [g#1,d#2] ~@10 [g#1,a1,a#1,b1,c2,c#2,d2,e2]@15 ~@2", // A F# G#5
  C: "[~@5 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 [g#1,c2,c#2,e2]@12 [f#2,g#2,a#2]@8 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@5, ~@5 [g#1,d#2] ~@9 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 [a1,a#1,b1,d2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a1,a#1,b1,c2,c#2,d2,e2]@15 ~@2, ~@16 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 d#2@2 ~@46]/8", // A F# A F# A F# A F# …
  D: "[~@5 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@4, ~@5 [g#1,d#2] ~@9 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 a1@15 ~@2, ~@16 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~]/8", // A F# A F# A F# A F# …
  E: "[~@5 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 [g#1,c2,c#2,e2]@12 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 [g#1,c2,c#2,e2]@12 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@4, ~@5 [g#1,d#2] ~@9 a1@15 ~@17 a1@15 ~@17 [a1,a#1,b1,d2]@15 ~@7 [g#1,d#2] ~@9 a1@15 ~@17 a1@15 ~@17 a1@15 ~@17 [a1,a#1,b1,d2]@15 ~@7 [g#1,d#2] ~@9 a1@15 ~@2, ~@16 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 d#2@2 ~@30 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 d#2@2 ~@30 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~]/8", // A F# A F# A C#m F# A …
  F: "[~@5 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@9 [a1,a#1,b1,c2,c#2,d2,e2]@3 ~@8 d#2@2 ~@10 [f#2,g#2,a#2]@10 ~@26, ~@5 [g#1,d#2] ~@9 a1@15 ~@17 a1@15 ~@34, ~@16 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@6 [g#1,d#2] ~@10 [g#1,a#1,b1,c2,c#2,d2,e2]@15 ~@33]/3", // A F# A F# G#5 C#m7 G#5 C#m7
})).s("gm_muted_trumpet").gain(0.37)

// chords · pad warm · Bm A#m Dm D#m7 G Dm7 Em Em7 …
const pad_warm = note(`<
  ~@112
  [~@5 a-1@7 [b-1,d0]@8 [a#-1,c#0]@8 ~@4, ~ c0@2 ~@5]!4
  [~@5 [d-1,f-1,a-1]@7 ~ e-1@7 [d#-1,f#-1,a#-1,c#0]@8 ~@4, ~ c0@2 [g-1,b-1,d0]@2 ~@3]!3
  [~@5 [d-1,f-1,a-1,c0]@7 ~ [e-1,g-1,b-1]@6 ~@2 d#-1@8 ~@3, ~@4 [e0,g0,b0,d1]@8 [d0,f0,a0,c1,e1]@7 d#1@8 ~@5, ~@5 [f#-1,a#-1,c#0,e0,g#0,b0]@2 ~]!4
  ~@17
>`).s("gm_pad_warm").gain(0.54)

// other · brass section
const brass_section = note("<~@123 A@16 ~>".pickRestart({
  A: "[~@4 c5@12 b4@21 a4@11 a#4@8 a4@11 ~ c5@12 b4@21 a4@11 a#4@8 a4@11 ~ c5@12 b4@21 a4@11 a#4@8 a4@11 ~ c5@12 b4@21 a4@11 a#4@8 a4@8]/8",
})).s("gm_brass_section").gain(0.47)

// chords · lead 2 sawtooth
const lead_2_sawtooth = note("<~@16 A@8 ~@16 A@8 ~@16 A@8 ~@16 A@51 ~>".pickRestart({
  A: "~ [f-1,b-1,e0]@6 ~", // E
})).s("gm_lead_2_sawtooth").gain(0.54)

// drums · kick
const kick = s("bd").struct("<A@24 B@12 A@4 B@4 A@4 B@4 A@4 B@4 A@79 ~>".pickRestart({
  A: "~@2 x!2 ~ x!2 ~", B: "~@7 x ~@3 x ~@7 x ~@3 x ~@8",
})).gain(0.37)

// drums · snare
const snare = s("sd").struct("<[~@2 x!2 ~@4 x!2 ~@4 x ~]!108 [~@5 x ~ x ~@9 x!2 ~@9 x ~@3]!31 ~>").gain(0.42)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@16 [~@4 x ~ x!2 ~@2 x!2 ~@2 x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@3]!8 ~@116>")
  .gain(0.37)

// drums · open hat
const open_hat = s("oh").struct("<~@64 [~@3 x ~@2 x ~]!8 ~@68>").gain(0.37)

// drums · ride
const ride = s("rd").struct("<~@32 A B@7 ~@40 A B@7 ~@16 A B@7 ~@28>".pickRestart({
  A: "~ x!7", B: "x!8",
})).gain(0.37)

stack(
  piano, overdriven_guitar, muted_trumpet, pad_warm, brass_section, lead_2_sawtooth, kick, snare, pedal_hat, open_hat,
  ride
)

More by Nine Inch Nails