Strudelify
Freak On a Leash cover art

1998 · Follow The Leader

Freak On a Leash

Korn

KeyD majorTempo105 bpm
0:00/0:00
// Freak On a Leash — Korn
// 105 bpm, 4/8, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 207 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 29.
setcpm(105/2)

// 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
const overdriven_guitar = note(`<
  ~@2 A B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2 ~@34 C@2 B@2 C@2 B@2 C@2 B@2 C@2 B@2
  ~@42 D E D F D E D F ~@66
>`.pickRestart({
  A: "~ a4", B: "d#4/2", C: "[d4@3 a4]/2", D: "b2 ~ b2 c4 ~ c4 b2 ~", E: "b2 c4 ~ c4 b3 c4 b3 ~",
  F: "b2@2 c4@2 ~@2 c4@2 c4@2 c4@2 c4!2 c4@2",
})).s("gm_overdriven_guitar").gain(0.64).pan(0)

// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~ A@8 B@32 C@2 D@2 C@2 D@2 C@2 D@2 E@4 F@2 G@2 F@2 G@2 F@2 G@2 F@2 G@2 ~@2 B@16 C@2 D@2 C@2 D@2 C@2 D@2 E@4 F@2 G@2
  F@2 G@2 F@2 G@2 F@2 G@2 ~@18 H I H J H I H K L@3 M@2 N@7 O P Q R S@5 T@3 U@7 V W X@2 Y Z AA@2 AB AC@2 AD@5 AE@3 AF@7 ~
>`.pickRestart({
  A: "[d6@13 d5@2 a5@2 d6@12 d5@2 a5]/8", B: "[~ d6@12 d5@2 a5@2 d6@12 d5@2 a5]/8",
  C: "[[f#2,c#3,f#3]@2 [d2,a2,d3] [f#2,d3,f#3]@5]/2", // F#5 D5 D
  D: "[[f#2,c#3,f#3]@2 [d2,a2,d3] [f#2,d3,f#3]@2 [d#2,a#2,d#3]@3]/2", // F#5 D5 D D#5
  E: "[[f#2,c#3,f#3]@2 [d2,a2,d3] [f#2,d3,f#3]@13]/4", F: "[a2,e3,a3]/2",
  G: "[[g#2,d#3,g#3]@3 f3@2 ~ a#3@2, ~@3 a#2@5, ~@3 a#3@3 ~@2, ~@5 f3@3]/2", H: "b2 ~ b2 c4 ~ c4 b2 ~",
  I: "b2 c4 ~ c4 b3 c4 b3 ~", J: "b2@2 c4@2 ~@2 c4@2 c4@2 c4@2 c4!2 c4@2", K: "b2 c4 ~ c4!2 ~@3",
  L: "[[b1,f#2,b2]@11 [c2,g2,c3]@8 [c#2,g#2,c#3]@8 [d2,a2,d3]@4 [b1,f#2,b2]@11 [c2,g2,c3]@6]/3", // B5 C5 C#5 D5 B5 C5
  M: "[~@2 [c#2,g#2,c#3]@7 [d2,a2,d3]@4 [b1,f#2,b2]@11 ~ [c2,g2,c3]@7]/2", // C#5 D5 B5 C5
  N: "[[c#2,g#2,c#3]@8 [d2,a2,d3]@4 [b1,f#2,b2]@11 [c2,g2,c3]@8 [c#2,g#2,c#3]@7 [d2,a2,d3]@4 [b1,f#2,b2]@11 ~ [c2,g2,c3]@7 [c#2,g#2,c#3]@8 [d2,a2,d3]@4 [b1,f#2,b2]@11 [c2,g2,c3]@8 [c#2,g#2,c#3]@7 [d2,a2,d3]@4 [b1,f#2,b2]@9]/7", // C#5 D5 B5 C5 C#5 D5 B5 C5 …
  O: "~@3 [c2,g2,c3]@7 [c#2,g#2,c#3]@6", P: "~ [d2,a2,d3]@2 [b1,f#2,b2]@5", Q: "~ [c2,g2,c3]@8 [c#2,g#2,c#3]@7",
  R: "~ [d2,a2,d3]@3 [b1,f#2,b2]@11 ~", // D5 B5
  S: "[[c2,g2,c3]@7 [c#2,g#2,c#3]@8 [d2,a2,d3]@4 [b1,f#2,b2]@11 [c2,g2,c3]@8 [c#2,g#2,c#3]@8 [d2,a2,d3]@3 [b1,f#2,b2]@11 ~ [c2,g2,c3]@8 [c#2,g#2,c#3]@7 [d2,a2,d3]@4]/5", // C5 C#5 D5 B5 C5 C#5 D5 B5 …
  T: "[[b1,f#2,b2]@11 [c2,g2,c3]@8 [c#2,g#2,c#3]@8 [d2,a2,d3]@4 [a1,e2,a2]@2 ~ [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 [a1,e2,a2]@2 ~@2]/3", // B5 C5 C#5 D5 A5
  U: "[[a1,e2,a2]@2 [a1,e2,a2]@2 ~ [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 ~@2 [g#2,d#3,g#3]@11 ~ f3@7 ~@4 a#3@8 [a1,e2,a2]@2 ~ [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 ~ [a1,e2,a2]@2 ~@2 [g#2,d#3,g#3]@11 ~ f3@7 ~@4 a#3@8 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 ~, ~@25 a#2@19 ~@42 a#2@19 ~@7, ~@25 a#3@11 ~@50 a#3@11 ~@15, ~@32 f3@11 ~@50 f3@11 ~@8]/7", // A5 G#5 A5 G#5 A5
  V: "[a1,e2,a2] ~ [a1,e2,a2]!2 ~ [a1,e2,a2]!2 ~", W: "[a1,e2,a2]@2 ~ [a1,e2,a2]@2 ~@2 [g#2,d#3,g#3]@9",
  X: "[~@3 f3@7 ~@4 a#3@8 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 ~ [a1,e2,a2]@2 ~, ~@3 a#2@19 ~@10, ~@3 a#3@11 ~@18, ~@10 f3@11 ~@11]/2", // A5
  Y: "~ [a1,e2,a2]@2 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 [a1,e2,a2]@2 ~@2 [a1,e2,a2]@2 ~", // A5
  Z: "~ [a1,e2,a2]@2 ~ [g#2,d#3,g#3]@11 ~", // A5 G#5
  AA: "[f3@7 ~@4 a#3@8 [a1,e2,a2,a4]@2 a4@2 [a1,e2,a2,a4]@2 a4@2 ~ a5@2 [a1,e2,a2,a5]@2, a#2@19 ~@8 [a1,e2,a2,a4]@2 ~@3, a#3@11 ~@21, ~@7 f3@11 ~@14]/2", // A5
  AB: "[a1,e2,a2,a5] a5 [a1,e2,a2,a5]!2 a5 [a1,e2,a2,a5] a4 [a1,e2,a2,a4]", // A5
  AC: "[a4 a4@2 a4@2 a4@2 a4@2 a4@2 c#5@2 c#5@2 c#5@2 c#5@2 c5@2 c5 c5@2 c5@2 a#4@2 a#4@2 a#4@2, ~ [g#2,d#3,g#3]@11 ~ a#2@19, ~@13 a#3@11 a#3@8, ~@13 f3@8 f3@11]/2", // G#5
  AD: "[[a1,e2,a2,a4]@2 a4@2 [a1,e2,a2,a4]@2 a4@2 [a1,e2,a2,a4]@2 a5 [a1,e2,a2,a5]@2 [a1,e2,a2,a5]@2 a5@2 [a1,e2,a2,a5]@2 [a1,e2,a2,a5]@2 a5@2 [a1,e2,a2,a5]@2 a4@2 [a1,e2,a2,a4]@2 a4@2 a4 a4@2 a4@2 a4@2 a4@2 c#5@2 c#5@2 c#5@2 c#5@2 c5@2 c5@2 c5 c5@2 a#4@2 a#4@2 a#4@2 [a1,e2,a2,a4]@2 a4@2 [a1,e2,a2,a4]@2 a4@2 [a1,e2,a2,a4]@2 a5@2 [a1,e2,a2,a5] [a1,e2,a2,a5]@2 a5@2 [a1,e2,a2,a5]@2, ~@31 [g#2,d#3,g#3]@11 a#2@19 ~@19, ~@42 a#3@11 a#3@8 ~@19, ~@42 f3@8 f3@11 ~@19]/5", // A5 G#5
  AE: "[[a1,e2,a2,a5]@2 a5@2 [a1,e2,a2,a5]@2 a4@2 [a1,e2,a2,a4]@2 a4@2 a4@2 a4 a4@2 a4@2 a4@2 c#5@2 c#5@2 c#5@2 c#5@2 c5@2 c5@2 c5@2 ~ a#4@2 a#4@2 a#4@2 [a1,e2,a2,a4]@2 a4@2 [a1,e2,a2,a4]@2, ~@12 [g#2,d#3,g#3]@11 a#2@19 ~@6, ~@23 a#3@12 a#3@8 ~@5, ~@23 f3@8 f3@11 ~@6, ~@35 c5@2 ~@11]/3", // A5 G#5
  AF: "[a4@2 [a1,e2,a2,a4]@2 a5@2 [a1,e2,a2,a5]@2 ~ a5@2 [a1,e2,a2,a5]@2 [a1,e2,a2,a5]@2 a5@2 [a1,e2,a2,a5]@2 a4@2 [a1,e2,a2,a4]@2 a4@2 a4@2 a4@2 a4 a4@2 a4@2 c#5@2 c#5@2 c#5@2 c#5@2 c5@2 c5@2 c5@2 c5@2 a#4 a#4@2 a#4@2 ~@57, ~@8 [a1,e2,a2,a5]@2 ~@15 [g#2,d#3,g#3]@11 [a#2,f3,a#3]@65 ~@11]/7", // A5 G#5 A#5
})).s("gm_overdriven_guitar").gain(0.37).pan(1)

// bass · electric bass finger
const bass = note(`<
  ~ A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@4 C@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 D@2 E@2 D@2 E@2 D@2 E@2 F@4 ~@16 G H A@2
  B@2 A@2 B@2 A@2 B@2 A@2 B@2 D@2 E@2 D@2 E@2 D@2 E@2 F@4 ~@42 I@3 J@2 K@7 L M N O P@5 Q@2 ~@35
>`.pickRestart({
  A: "[d1@2 a1 d1@2 d1@2 a1]/2", B: "[d#1@2 a1 d#1@2 d#1@2 a1]/2", C: "d0/2", D: "d1/2", E: "[c1@3 c2@2 d#1@3]/2",
  F: "[d1@7 d#2]/4", G: "a1 g#1 g1 f#1", H: "f1 e1 d#1 d1", I: "[b1@11 c2@8 c#2@8 d2@4 b1@11 c2@6]/3",
  J: "[~@2 c#2@7 d2@4 b1@11 ~ c2@7]/2",
  K: "[c#2@8 d2@4 b1@11 c2@8 c#2@7 d2@4 b1@11 ~ c2@7 c#2@8 d2@4 b1@11 c2@8 c#2@7 d2@4 b1@9]/7", L: "~@3 c2@7 c#2@6",
  M: "~ d2@2 b1@5", N: "~ c2@8 c#2@7", O: "~ d2@3 b1@11 ~",
  P: "[c2@7 c#2@8 d2@4 b1@11 c2@8 c#2@8 d2@3 b1@11 ~ c2@8 c#2@7 d2@4]/5", Q: "[b1@11 c2@8 c#2@8 d2@4 ~]/2",
})).s("gm_electric_bass_finger").gain(0.64)

// bass · slap bass 1
const bass_2 = note(`<
  ~@57 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@34 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@10 C D C D C D C D E F E F E F E F ~@22
  G@2 H I J@4 K L M@3 N O P@2 Q R@2 S T@2 U V W@3 X Y Z AA@5
>`.pickRestart({
  A: "[a1@2 a1@2 a1@2 a1 a1@2 a1 a1@2 a1@2 a1@2]/2", B: "[g#1@2 g#1@2 g#1@2 g#1 a#1@2 a#1 a#1@2 a#1@2 a#1@2]/2",
  C: "b1 ~ b1 c3 ~ c3 b1 c2", D: "b1 c3 ~ c3 b2 c3 b2 ~", E: "b1!3 c3!3 b1!2", F: "b1 c3!3 b2 c3 b2 c3",
  G: "[~@15 a1@2 ~ a1@2 ~@2 a1@2 ~@2 a1@2 a1@2 ~@2]/2", H: "a1@2 a1@2 ~ a1@2 ~@2 a1@2 ~@2 g#1@3",
  I: "~ g#1@4 g#1@4 ~ a#1@4 a#1@2, ~@9 g#1@2 ~@5",
  J: "[a#1@4 a#1@4 a#1@4 a1@2 ~ a1@2 ~@2 a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 ~ a1@2 ~@2 g#1@4 g#1@4 g#1@4 g#1@2 a#1@3 a#1@2 a#1@3]/4",
  K: "~ a#1@4 a#1@4 a1@2 ~@2 a1@2 ~", L: "a1 ~ a1!2 ~ a1!2 ~",
  M: "[a1@2 ~ a1@2 ~@2 g#1@4 g#1@4 g#1@4 g#1@2 a#1@3 a#1@2 a#1@4 a#1@4 a#1@4 a1@2 ~@2 a1@2 ~ a1@2 ~]/3",
  N: "~ a1@2 a1@2 ~@2 a1@2 a1@2 ~@2 a1@2 ~", O: "~ a1@2 ~ g#1@4 g#1@4 g#1@4",
  P: "[g#1@2 a#1@4 a#1 a#1@4 a#1@4 a#1@4 a1@2 ~@2 a1@2 ~@2 a1@2 ~ a1@2]/2", Q: "a1 ~ a1!2 ~ a1 ~ a1",
  R: "[~ g#1@4 g#1@4 g#1@4 g#1@2 a#1@4 a#1@2 a#1@3 a#1@4 a#1@4]/2", S: "a1@2 ~@2 a1@2 ~@2 a1@2 ~ a1@2 a1@2 ~",
  T: "[~ a1@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 g#1@3 g#1@4 g#1@4 g#1@2 a#1@4]/2", U: "a#1@2 a#1@3 a#1@4 a#1@4 a1@2 ~",
  V: "~ a1@2 ~@2 a1@2 ~@2 a1 a1@2 ~@2 a1@2",
  W: "[a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 g#1@3 g#1@4 g#1@4 g#1@2 a#1@4 a#1@2 a#1@4 a#1@3 a#1@4 a1@2 ~@2 a1@2]/3",
  X: "~@2 a1@2 ~@2 a1@2 a1@2 ~ a1@2 a1@2 ~", Y: "~ a1@2 ~@2 a1@2 ~@2 g#1@4 g#1@3", Z: "g#1@2 g#1 a#1@2 a#1 a#1@2",
  AA: "[a#1@3 a#1@65 ~@12]/5",
})).s("gm_slap_bass_1").gain(0.64)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@16 ~@6 A@18 B ~@3 C D C D C D C D C ~@3 E F E F E F E F E F E F E F E F ~@2 A@16 B ~@3 C D C D C D C D C ~@3 E F E
  F E F E F E F E F E F E F ~@25 G H I J K L M N O P Q R S T U V W X Y Z AA AB H AC AD AE AF AG AH AI AJ AK AL AM AN AO
  AP AQ AR AS AT AU AV AW AX AD AE AF AG AH AI AJ AK AL S ~@4
>`.pickRestart({
  A: "x ~@2 x ~@4", B: "x", C: "x ~@2 x ~ x ~@2", D: "~@3 x ~@4", E: "x!2 ~ x", F: "~ x!2 ~@5", G: "~ x",
  H: "x ~@10 x ~@4", I: "~@3 x ~@7 x ~@3 x", J: "~@5 x ~@2", K: "~@2 x ~@6 x ~@3 x ~@2", L: "~@9 x ~@6", M: "x ~ x!2",
  N: "~@7 x ~@8", O: "~ x ~@2 x ~@5 x ~@5", P: "~@6 x ~@6 x ~@2", Q: "~@5 x ~@3 x ~@6", R: "~ x ~ x",
  S: "~@3 x ~@3 x ~@8", T: "~@3 x ~@6 x ~@5", U: "~ x ~ x ~@4", V: "~ x ~@9 x ~@3 x", W: "~ x ~@2", X: "x ~@6 x ~@7 x",
  Y: "~@3 x ~@10 x ~", Z: "~@3 x ~@3 x", AA: "~ x ~@11 x ~@2", AB: "~@5 x ~@6 x ~@3", AC: "~@5 x ~@3 x ~@5 x",
  AD: "~ x ~@3 x ~@2", AE: "x ~ x ~@10 x ~@2", AF: "~ x ~@7 x ~@4 x ~", AG: "x ~@11 x ~@2 x", AH: "~@7 x ~@5 x ~ x",
  AI: "~@5 x ~ x", AJ: "~@6 x ~@4 x ~ x ~@2", AK: "~@9 x ~@3 x ~@2", AL: "~@2 x ~@2 x!2 ~", AM: "~@7 x ~@3 x ~@4",
  AN: "~@3 x ~@4 x ~ x ~@5", AO: "~@3 x ~ x ~@2", AP: "~ x ~@5 x ~ x ~@6", AQ: "~ x!2 ~", AR: "x ~@5 x!2 ~@8",
  AS: "~@3 x ~@3 x ~@6 x ~", AT: "~@2 x!2 ~@4", AU: "~ x ~@3 x ~@7 x ~@2", AV: "~@3 x ~ x ~@10",
  AW: "x ~@3 x ~@6 x ~@4", AX: "~ x ~ x ~@11 x",
})).gain(0.64)

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

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@7 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@35 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@35 A B A B
  A B A B A B A B A B A B A B A B A B A B ~@58
>`.pickRestart({
  A: "~@14 x!2", B: "x",
})).gain(0.32)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@46 A ~ B ~ A ~ B ~@4 C D C D C D C D C D C D C D C D ~@23 A ~ B ~ A ~ B ~@4 C D C D C D C D C D C D C D C D ~@49 E F
  G H I J K ~ L M N O P Q R S T U V C W E F G H I J K ~ L ~@5
>`.pickRestart({
  A: "~@7 x", B: "x ~@2 x", C: "~ x", D: "~@2 x!2 ~@4", E: "~@3 x ~@4", F: "~ x!2 ~@5", G: "~@5 x ~@10", H: "x!2 ~@6",
  I: "~@3 x ~@11 x", J: "~ x ~@14", K: "~@2 x ~@10 x ~ x", L: "x ~@5 x!2", M: "~@15 x", N: "~@5 x!2 ~", O: "~@13 x ~@2",
  P: "~@9 x ~ x ~@4", Q: "~@3 x", R: "~@7 x ~ x ~@6", S: "~@11 x ~@4", T: "~@3 x!2 ~@3", U: "~@9 x ~@6",
  V: "~@5 x!2 ~@9", W: "~@3 x ~ x ~@10",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A B A B A B A B C B A B C B A B ~@6 A B A B A B A B A B A B A B A B A B ~@16 D@16 ~@2 A B A B A B A B A B A B A B A
  B ~@16 D@16 ~@33 E ~@6 F ~@43
>`.pickRestart({
  A: "x!4", B: "x!3 ~", C: "~ x!3", D: "x!2", E: "~@3 x ~@12", F: "~@13 x ~@2",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@46 A ~ B ~ A ~ B ~@5 C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@23 A ~ B ~ A ~ B ~@5 C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@50 D E ~ F
  ~ G ~ H ~ I ~ J ~ K ~ L ~ M ~ N ~ D E ~ F ~ G ~ H ~@5
>`.pickRestart({
  A: "~@2 x ~@2 x!2 ~", B: "~@2 x ~@2 x ~@2", C: "~ x ~@6", D: "x", E: "~@7 x", F: "~@13 x ~@2", G: "~@11 x ~@4",
  H: "~@5 x ~@2", I: "~ x", J: "~@7 x ~@8", K: "~@3 x ~@4", L: "~ x ~@2", M: "~@3 x ~@12", N: "~ x ~@14",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@7 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@35 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@58 B C D
  E F G C ~ H I J K L M N A O P Q R S T U ~@35
>`.pickRestart({
  A: "~@3 x", B: "~@11 x ~@3 x", C: "~@3 x ~@3 x ~@3 x ~@3 x", D: "~ x ~ x ~ x ~ x", E: "~@2 x ~@2 x ~@10",
  F: "~ x ~@3 x ~@3 x ~@2 x ~@3", G: "x ~@3 x ~@3 x ~@3 x ~@2 x", H: "~@2 x ~@6 x ~@6", I: "~ x ~@14", J: "x!2",
  K: "x ~@14 x", L: "~@7 x ~@6 x ~", M: "~@6 x ~@6 x ~@2", N: "~@5 x ~@10", O: "~@4 x ~@6 x ~@4", P: "~@11 x ~@4",
  Q: "~ x ~@3 x ~@2", R: "~@9 x ~@6", S: "~ x ~@6 x ~@7", T: "x ~@7 x ~@6 x", U: "~@7 x ~@8",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@9 A ~@3 A ~@3 A ~@23 A ~@3 A ~@3 B ~@3 A ~@37 A ~@3 A ~@3 B ~@3 A ~@44 C D ~@2 E ~@3 F ~ G ~ H ~@3 I J K ~ L ~@2 J M
  N O P Q R S T D U V W N P X Q Y T Z AA AB M N O P Q R S T D AC ~@4
>`.pickRestart({
  A: "x", B: "~@3 x", C: "~ x", D: "x!2", E: "~@9 x ~@3 x ~@2", F: "~@5 x ~@2", G: "~@5 x ~@3 x ~@6", H: "~@7 x ~@8",
  I: "~ x ~@2", J: "~@15 x", K: "~@3 x ~@12", L: "~ x ~@14", M: "~@3 x ~@3 x", N: "~@5 x ~@7 x ~@2",
  O: "~@5 x ~@6 x ~@3", P: "~ x ~ x", Q: "~@3 x ~@7 x ~@4", R: "~@3 x ~@6 x ~@5", S: "~@2 x ~@6 x ~@6",
  T: "~ x ~@7 x ~@6", U: "x ~@6 x ~@7 x", V: "~@7 x ~@6 x ~", W: "~@6 x ~@6 x ~@2", X: "~@4 x ~@6 x ~@4",
  Y: "~ x ~@3 x ~@2", Z: "~ x ~@6 x ~@7", AA: "x ~@7 x ~@6 x", AB: "~@7 x ~@7 x", AC: "x ~@6 x ~@8",
})).gain(0.64)

// drums · ride
const ride = s("rd").struct(`<
  ~@41 A B@2 C A B@2 C D B@2 C A B E B ~@16 F@2 ~@16 A B@2 C A B@2 C D B@2 C A B E B ~@18 F@20 B@3 G ~@58
>`.pickRestart({
  A: "~@2 x ~ x!3 ~", B: "x!8", C: "x!3 ~ x ~ x ~ x!3 ~ x ~ x ~", D: "~ x", E: "x ~ x ~ x!3 ~", F: "x!4", G: "x!4 ~@4",
})).gain(0.64)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~@58 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@35 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@50 B ~ C ~ D ~ E ~ F ~ G ~ H I J K L A ~ M ~ B
  ~ C ~ D ~ E ~ F ~@4
>`.pickRestart({
  A: "~@6 x!2", B: "~@9 x ~ x ~@4", C: "~@4 x!2 ~@2", D: "~@3 x!2 ~@3", E: "~@5 x ~ x ~@8", F: "~@3 x ~ x ~@10",
  G: "~ x!2 ~@5", H: "~ x!2 ~@13", I: "~@15 x", J: "~ x ~@14", K: "~@7 x", L: "x", M: "~@11 x ~ x ~@2",
})).gain(3.24)

stack(
  overdriven_guitar, overdriven_guitar_2, bass, bass_2, kick, snare, snare_soft, low_tom, hihat, mid_tom, open_hat,
  crash, ride, cabasa
)

More by Korn