Strudelify
No Place to Hide cover art

Life Is Peachy

No Place to Hide

Korn

Tempo108 bpm
0:00/0:00
// No Place to Hide — Korn
// 108 bpm, 4/4, key unknown. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 3/4 at bar 56, 4/4 at bar 56, 2/4 at bar 76, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 94 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(108/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · "Guitar 1"
const overdriven_guitar = note(`<
  ~@2 A@4 B@8 ~@4 C ~ C ~ D E D F D E D F ~@5 C ~ C ~ D E D F D E D F B@8 G H@3 G H@3 I J K L K L K L M N@3 O P Q R S T
  Q R S T Q R S T Q R U V@2
>`.pickRestart({
  A: "[c5,c#5]@2 ~ [c#5,d5]@2 ~ [c5,c#5]@2 ~ [c#5,d5]@2 ~ [c5,c#5]@2 [c#5,d5]@2", // C#maj7 Dmaj7 C#maj7 Dmaj7 C#maj7 Dmaj7
  B: "[g2,c3] [g#2,c#3] ~ [g#2,c#3] [a2,d3] ~ [a2,d3] [a#2,d#3] ~ [a#2,d#3] [b2,e3] ~ [a#2,d#3] [b2,e3]!2 [c3,f3]", // C5 C#5 D5 D#5 E5 D#5 E5 F5
  C: "f5@2 b4 f5@2 b4 f5 b4", D: "[d#4,e4]@4 b2!2 [d#4,e4]@4 b2!2 [d#4,e4]@2 e4@2",
  E: "[d#4,e4]@4 b2!2 [d#4,e4]@4 b3@2 c4@2 b3@2", F: "[d#4,e4]@4 b2!2 [d#4,e4]@4 a3!2 b3@2 a3@2", G: "~@12 b2!3 ~",
  H: "~@3 b2!4 ~@5 b2!3 ~", I: "~@12 d#3!3 ~", J: "b3!2 ~ b2!2 ~ b2 ~ d#5@2 f#5 ~ b2!3 ~",
  K: "b3 b2 ~ b2 b2@2 b2@2 b3!2 ~@2 d#3!3 ~", L: "b3!2 ~ b2!2 ~ b2 ~ d#5@2 f#5@2 b2!3 ~",
  M: "b3 b2 ~ b2 b2@2 b2@2 b3!2 ~@2 [g2,c3] [g#2,c#3] ~ [g#2,c#3]", // C5 C#5
  N: "[a2,d3] ~ [a2,d3] [a#2,d#3] ~ [a#2,d#3] [b2,e3] ~ [a#2,d#3] [b2,e3]!2 [c3,f3] [g2,c3] [g#2,c#3] ~ [g#2,c#3]", // D5 D#5 E5 D#5 E5 F5 C5 C#5
  O: "[a2,d3] ~ [a2,d3] [a#2,d#3] ~ [a#2,d#3] [b2,e3] ~ [a#2,d#3] [b2,e3]!2 [c3,f3] ~@4", // D5 D#5 E5 D#5 E5 F5
  P: "~@4 [d#4,e4]@4 b2!2 [d#4,e4]@4 b2!2", Q: "[d#4,e4]@2 e4@2 [d#4,e4]@4 b2!2 [d#4,e4]@4 b3@2",
  R: "c4@2 b3@2 [d#4,e4]@4 b2!2 [d#4,e4]@4 b2!2", S: "[d#4,e4]@2 e4@2 [d#4,e4]@4 b2!2 [d#4,e4]@4 a3!2",
  T: "b3@2 a3@2 [d#4,e4]@4 b2!2 [d#4,e4]@4 b2!2", U: "[d#4,e4]@2 e4@2 [d#4,e4]@4 b2!2 [d#4,e4]@4 b2!2",
  V: "[[a3,b3]@5 ~@3]/2", // Asus2
})).s("gm_overdriven_guitar").gain(0.4).pan(1)

// chords · distortion guitar · "Guitar 2"
const distortion_guitar = note(`<
  ~@2 A@4 B@4 C@4 ~@4 D ~ D ~ E@8 F ~@4 D ~ D ~ E@8 B@4 C@4 G@8 H I J K J K J K L M@3 N O P@15 Q ~
>`.pickRestart({
  A: "[g4,g#4]@2 ~ [g#4,a4]@2 ~ [g4,g#4]@2 ~ [g#4,a4]@2 ~ [g4,g#4]@2 [g#4,a4]@2", // G#maj7 Amaj7 G#maj7 Amaj7 G#maj7 Amaj7
  B: "[g2,c3] [g#2,c#3] ~ [g#2,c#3] [a2,d3] ~ [a2,d3] [a#2,d#3] ~ [a#2,d#3] [b2,e3] ~ [a#2,d#3] [b2,e3]!2 [c3,f3]", // C5 C#5 D5 D#5 E5 D#5 E5 F5
  C: "[c3,g3,c4] [c#3,g#3,c#4]!3 [d3,a3,d4]!3 [d#3,a#3,d#4]!3 [e3,b3,e4]!2 [d#3,a#3,d#4] [e3,b3,e4]!2 [f3,c4,f4]", // C5 C#5 D5 D#5 E5 D#5 E5 F5
  D: "c5@2 d5 c5 ~@4", E: "d#5@4 [e2,a#2,d#3]!2 d#5@4 [e2,a#2,d#3]!2 d#5@2 e5@2", F: "b4 c5 c#5 b4 ~@4",
  G: "[~@3 [b2,g#3,d#4]@4 [c3,a3,e4]@4 [b2,g#3,d#4]@4 [c3,g3,c4]@2 ~@2 [b2,g#3,d#4]@4 [c3,a3,e4]@4 [b2,g#3,d#4]@4 [c3,g3,c4]]/8", // G#m Am G#m C5 G#m Am G#m C5
  H: "~@12 d#3!3 ~", I: "b3!2 ~ b2!2 ~ b2 ~ d#5@2 f#5 ~ b2!3 ~", J: "b3 b2 ~ b2 b2@2 b2@2 b3!2 ~@2 d#3!3 ~",
  K: "b3!2 ~ b2!2 ~ b2 ~ d#5@2 f#5@2 b2!3 ~", L: "b3 b2 ~ b2 b2@2 b2@2 b3!2 ~@2 [g2,c3] [g#2,c#3] ~ [g#2,c#3]",
  M: "[a2,d3] ~ [a2,d3] [a#2,d#3] ~ [a#2,d#3] [b2,e3] ~ [a#2,d#3] [b2,e3]!2 [c3,f3] [g2,c3] [g#2,c#3] ~ [g#2,c#3]", // D5 D#5 E5 D#5 E5 F5 C5 C#5
  N: "[a2,d3] ~ [a2,d3] [a#2,d#3] ~ [a#2,d#3] [b2,e3] ~ [a#2,d#3] [b2,e3]!2 [c3,f3] ~@4", // D5 D#5 E5 D#5 E5 F5
  O: "~@4 d#5@4 [e2,a#2,d#3]!2 d#5@4 [e2,a#2,d#3]!2", P: "d#5@2 e5@2 d#5@4 [e2,a#2,d#3]!2 d#5@4 [e2,a#2,d#3]!2",
  Q: "d#5@4 f#5 ~@11",
})).s("gm_distortion_guitar").gain(0.36).pan(0)

// bass · electric bass pick · "Bass"
const bass = note(`<
  A@6 B@4 C@4 D E F G D E D E H I J@4 I@2 K E L M N D O D P H J@5 I J B@4 C@4 Q R@3 Q R@3 S T U V W X Y Z AA AB@3 AC AD
  AE AF@4 AE@2 AG AE AF@2 AH AI@3 ~@2
>`.pickRestart({
  A: "c2@2 ~ c#2@2 ~ c2@2 ~ c#2@2 ~ c2@2 c#2@2", B: "c1 c#1 ~ c#1 d1 ~ d1 d#1 ~ d#1 e1 ~ d1 e1!2 f1",
  C: "c1 c#1!3 d1!3 d#1!3 e1!2 d#1 e1!2 f1", D: "d1@2 g#1 g1@2 d2 d#1 c#1", E: "d1@2 g#1 g1@3 d2@2",
  F: "d1@2 g#0 g0@2 d1@3", G: "g#0@3 g0@3 d#1@2", H: "b0@4 ~@2 c1@3 ~ c1!2 ~@2 e1@2",
  I: "b0@4 ~@2 c1@2 ~ c1 c1@2 ~@2 e1@2", J: "b0@4 ~@2 c1@2 ~ c1!2 ~@3 e1@2", K: "~@5 c1 f#0 c#1",
  L: "d1@2 g#1 g1@2 d2 d#1 c1", M: "d1@2 g#1 g1@2 b0@2 a#0", N: "d1@2 g#1 g1@2 c1@2 b0",
  O: "d1@4 g#1@2 g1@4 g1 a1 d2@4", P: "d1@2 g#1 g1@2 c1 b0@2", Q: "~@12 b0!2 b0@2", R: "~@3 b0!4 ~@5 b0!2 b0@2",
  S: "~@12 b0!3 ~", T: "b1!2 ~ b0 b0@2 b0@2 a1@4 f#1!3 ~", U: "b0!2 ~ b0 f#1@2 f#1@2 d#1 ~@3 b0!3 ~",
  V: "b1!2 ~ b0 b0@2 b0@2 d2@2 d#2@2 b0!3 ~", W: "b1 b0 ~ b0 b0@2 b0@2 b1!2 ~@2 b0!3 ~",
  X: "b1!2 ~ b0 b0@2 b0@2 d#2@4 b0!3 ~", Y: "b1 b0 ~ b0 b0@2 b0@2 d#1@4 b0!3 ~", Z: "b1!2 ~ b0 b0@2 b0@2 a1@4 b0!3 ~",
  AA: "b1 b0 ~ b0 b0@2 b0@2 b0@4 c1 c#1 ~ c#1", AB: "d1 ~ d1 d#1 ~ d#1 e1 ~ d1 e1!2 f1 c1 c#1 ~ c#1",
  AC: "d1 ~ d1 d#1 ~ d#1 e1 ~ d1 e1!2 f1 ~@4", AD: "~@4 b0@4 ~@2 c1@3 ~ c1!2", AE: "~@2 e1@2 b0@4 ~@2 c1@2 ~ c1 c1@2",
  AF: "~@2 e1@2 b0@4 ~@2 c1@2 ~ c1!2 ~", AG: "~@2 e1@2 b0@4 ~@2 c1@3 ~ c1!2", AH: "~ e1 ~@6", AI: "b0!4 ~@12",
})).s("gm_electric_bass_pick").gain(0.6)

// drums · snare
const snare = s("sd").struct(`<
  ~@5 A B@3 C B@3 D B@3 E B@3 F B@8 ~ B@3 E B@3 F B@7 G B H I J C@4 ~@9 K@3 L K@3 L K M L N O K@6 P O Q@3 R@4 ~@2
>`.pickRestart({
  A: "~@5 x!3", B: "~ x ~ x", C: "~@4 x ~@7 x!4", D: "~@2 x ~@4 x", E: "~ x ~@2", F: "~@2 x ~@2 x ~ x",
  G: "~@2 x ~@2 x!3", H: "~@4 x ~@5 x ~ x!4", I: "x ~@3 x ~@7 x ~@2 x", J: "~@2 x ~@3 x!2", K: "x!2",
  L: "x ~@3 x!2 ~@2", M: "x ~@7 x!5 ~@3", N: "x ~@7 x!4 ~@4", O: "~ x", P: "x ~@7 x ~@3 x!3 ~", Q: "x!4 ~@4 x ~@7",
  R: "x!4 ~@12",
})).gain(0.8)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@2 A ~@2 B C@3 D C@3 A@8 E C@8 ~ A@7 E C@7 F C G C D@5 H I@3 H I@3 H J@7 K L M@2 N O P@6 Q R O@2 S ~@6
>`.pickRestart({
  A: "x", B: "~ x", C: "x ~@2 x ~ x ~ x", D: "x ~@2 x ~ x ~@2", E: "x ~@2 x ~@2 x ~", F: "x ~@2 x ~@4 x ~@7",
  G: "x ~@2 x ~@4", H: "~@12 x!3 ~", I: "~@3 x!4 ~@5 x!3 ~", J: "~@2 x!5 ~@5 x!3 ~", K: "~@2 x!5 ~@5 x ~@3",
  L: "~ x ~ x ~ x!2 ~", M: "~ x ~ x ~@2 x ~", N: "~ x ~ x ~@4", O: "~@2 x ~@2 x ~ x", P: "~ x!2 ~@2 x ~ x",
  Q: "~ x!2 ~@5", R: "x!3 ~ x ~@5 x ~@3 x ~", S: "~@2 x ~@2 x ~@2",
})).gain(0.8)

// drums · mid tom
const mid_tom = s("mt").struct("<~@13 [~@9 x!5 ~@2] ~@80>").gain(0.8)

// drums · high tom
const high_tom = s("ht").struct("<~@13 [~@7 x ~@8] ~@80>").gain(0.8)

// drums · china
const china = s("cr").struct("<~@17 A ~@12 A ~@3 A ~@28 B C@7 D ~@22>".pickRestart({
  A: "~@3 x", B: "~@6 x!2", C: "x!5 ~ x!2", D: "x!5 ~@3",
})).gain(0.8)

// drums · ride bell
const ride_bell = s("rd").struct(`<
  ~@2 A@3 B@4 C B@3 D E F@2 G E F@2 H B@8 I E F@2 G E F@2 J B@16 K A@2 L M A@3 N O@7 P B@3 Q E B@6 C R@4 ~@6
>`.pickRestart({
  A: "x!16", B: "x!8", C: "x!6 ~@2", D: "x!4 ~@4", E: "x ~ x!6", F: "x ~@3 x!3 ~ x!3 ~ x!3 ~", G: "x ~@3 x!3 ~ x ~@7",
  H: "x!4", I: "x!3 ~", J: "x ~@2 x ~ x ~ x", K: "x ~@11 x!4", L: "x!15 ~", M: "~@12 x!4", N: "x!5 ~ x ~ x ~ x ~@5",
  O: "~@5 x ~@2", P: "~@5 x!3", Q: "x!7 ~", R: "~@2 x!6",
})).gain(0.8)

// drums · congas
const congas = s("conga:33").struct("<~@17 [~@5 x ~@2] ~@12 [~@5 x ~@2] ~@3 [~@5 x ~@2] ~@59>").gain(2.56)

stack(overdriven_guitar, distortion_guitar, bass, snare, low_tom, mid_tom, high_tom, china, ride_bell, congas)

More by Korn