Strudelify
Down in It cover art

1989 · Pretty Hate Machine

Down in It

Nine Inch Nails

KeyE minorTempo105 bpm
0:00/0:00
// Down in It — Nine Inch Nails
// 105 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "TUBULARBEL" tubular bells (copy of ch 5 "CHOIR AAHS" choir aahs)
// note: Full arrangement: all 98 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(105/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.

// bass · slap bass 1 · "SLAPBASS 1"
const bass = note(`<
  ~@10 A B A B A B A B A B A B A B A B A B A B ~@8 A B A B A B A B@5 A B A B A B A ~@9 A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "e1!4 ~@6 d1!2 ~ d1!2 ~", B: "e1!4 ~@12",
})).s("gm_slap_bass_1").gain(0.25)

// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
  ~@6 A ~ A ~ A ~ A B A ~ A ~ A ~ A C A D E F A D E F ~@8 A D E F A D E F ~@20 A D E F A D E F A D E F A D E F A D E F A
  D E F ~@8
>`.pickRestart({
  A: "[e3,b3,e4] ~@3", B: "~@2 [f3,c4,f4] ~", C: "~@7 [f3,c4,f4]@4 ~@5", D: "~@12 [f3,c4,f4]@3 ~",
  E: "[e3,b3,e4]@4 ~@8 [d3,a3,d4]@3 ~", F: "[a2,e3,a3] ~@3",
})).s("gm_distortion_guitar").gain(0.36)

// other · pad warm · "WARM PAD"
const pad_warm = note("<~@5 A B ~ B ~@13 C ~ C ~ C ~ C ~@9 C ~ C ~ C ~ C ~@21 D ~ D ~ D ~ D ~ D ~ D ~@21>".pickRestart({
  A: "f#2", B: "e2", C: "e3 ~@3", D: "e3",
})).s("gm_pad_warm").gain(0.25)

// other · pad warm · "WARM PAD" · soft notes
const pad_warm_soft = note("<~@50 A@2 B@2 A@2 C ~@9 D@2 ~@6 E@2 F@2 ~@20>".pickRestart({
  A: "[~@7 d#6, d6]/2", B: "e6/2", C: "e6", D: "[f#6@7 ~]/2", E: "[g#4@7 f#4]/2", F: "d4/2",
})).s("gm_pad_warm").gain(0.13)

// other · shakuhachi
const shakuhachi = note("<~@2 A B C D ~@12 E@2 F ~@77>".pickRestart({
  A: "~@11 f#3!2 g#3!2 ~", B: "~@11 g#3!2 a#3!2 ~", C: "~@6 g#3!2 ~ g#3 ~ g#3 f#3!3 ~", D: "~@6 f#3!2 ~@8",
  E: "~@6 g#3!2 ~ g#3 ~ g#3!4 ~", F: "~@6 g#3!2 ~ g#3 ~ g#3 f#3 g#3!2 ~",
})).s("gm_shakuhachi").gain(0.46)

// bass · acoustic bass · "ACOU BASS" · G E
const bass_2 = note(`<
  [[g0,g1]@3 [g0,g1]@5]!2
  ~@32
  [[g0,g1]@3 [g0,g1]@5]!4
  ~@20
  [[g0,g1]@3 [g0,g1]@5]!4
  ~@28
  [[e0,e1]@3 [e0,e1]@5]!8
>`).s("gm_acoustic_bass").gain(0.26)

// other · lead 5 charang · "CHARANG"
const lead_5_charang = note("<~@30 A@4 B@3 C ~@20 A@4 B@3 C ~@12 A@4 B@3 C ~@4 B@3 C B@3 C>".pickRestart({
  A: "b1!3 b2 b3 b1!2 b2 b3 b1!3 d2 f#2 b2 b3", B: "b1!3 b2 b3 b1!2 b2 b3 ~ b1!2 ~ b1 b2 b3",
  C: "b1!3 b2 b3 b1!2 b2 b3 ~ b1!2 ~@4",
})).s("gm_lead_5_charang").gain(0.05)

// other · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth = note(`<
  ~@46 A B@2 C A B@2 C A B@2 ~@13 A B@2 C A B@2 C A B@2 C A B@2 C ~@4 A B@2 C A B@2 C
>`.pickRestart({
  A: "~ e2 ~ e2 ~ e3 ~ e2 ~ e2 ~ e3 ~ e2 ~ a#2", B: "~ e2 ~ e2 ~ e3 ~ e2 ~ e2 ~ e3 ~ e2 ~ a2",
  C: "~ e2 ~ e2 ~ a2 ~ e2 ~ e2 ~ e3 ~ e2 ~ e2",
})).s("gm_lead_2_sawtooth").gain(0.19).pan(0.7)

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

// drums · snare
const snare = s("sd").struct("<~@2 A@8 B@24 ~@3 C A@8 B@11 ~@5 B@4 A@12 B@8 A@12>".pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@4 x ~@2 x ~@3", C: "~@3 x",
})).gain(0.36)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  [~@2 x!4 ~@3 x!2 ~@5]!2
  ~@32
  [~@2 x!4 ~@3 x!2 ~@5]!4
  ~@20
  [~@2 x!4 ~@3 x!2 ~@5]!4
  ~@28
  [~@2 x!2 ~ x ~@3 x!2 ~@5]!8
>`).gain(0.16)

// drums · pedal hat
const pedal_hat = s("hh").struct("<A@2 B@4 A@28 ~@3 C B@8 A@11 ~ A@8 B@12 A@8 B@7 D B@3 E>".pickRestart({
  A: "x!16", B: "x!4 ~ x!7 ~ x!3", C: "~@12 x!4", D: "x!4 ~ x!11", E: "x!4 ~ x!10 ~",
})).gain(0.24)

// drums · open hat
const open_hat = s("oh").struct("<~@2 [~ x ~ x]!4 ~@32 [~ x ~ x]!8 ~@20 [~ x ~ x]!12 ~@8 [~ x ~ x]!12>").gain(0.24)

// drums · china
const china = s("cr").struct("<~@34 [~@3 x]!4 ~@52 [~@3 x]!8>").gain(0.24)

// drums · bongos
const bongos = s("bongo:18").struct(`<
  [~@3 x!3 ~@3 x!3 ~@4]!2
  ~@32
  [~@3 x!3 ~@3 x!3 ~@4]!4
  ~@20
  [~@3 x!3 ~@3 x!3 ~@4]!4
  ~@28
  [~@3 x!3 ~@3 x!3 ~@4]!8
>`).gain(0.53)

// drums · congas
const congas = s("conga:18").struct(`<
  [~@3 x ~@2 x ~]!2
  ~@32
  [~@3 x ~@2 x ~]!4
  ~@20
  [~@3 x ~@2 x ~]!4
  ~@28
  [~@3 x ~@2 x ~]!8
>`).gain(0.64)

stack(
  bass, distortion_guitar, pad_warm, pad_warm_soft, shakuhachi, bass_2, lead_5_charang, lead_2_sawtooth, kick, snare,
  snare_soft, pedal_hat, open_hat, china, bongos, congas
)

More by Nine Inch Nails