Strudelify

Mankind

Pearl Jam

KeyA minorTempo140 bpm
0:00/0:00
// Mankind — Pearl Jam
// 140 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 1 "Rythm pt.1" distortion guitar (copy of ch 2 "Rythm pt.2" electric bass finger); ch 3 "Rythm pt.3" overdriven guitar (copy of ch 2 "Rythm pt.2" electric bass finger)
// note: Full arrangement: all 106 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(140/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// bass · electric bass finger · "Rythm pt.2"
const bass = note(`<
  A B C D A B E F G F G F G F G F G F G F G F G F G A B C D A F A F A B C D A F A H F G F G F G F G F G F G F G F G F G
  F G A B C D A F A F A B C D A F A H ~@14 I J A H A H A H A H A H A H ~
>`.pickRestart({
  A: "[c3,f3]!8", B: "[f3,a#3]!8", C: "[d3,g3]!8", D: "[a2,d3]!8", E: "[d3,g3]!3 [c3,f3] [a2,d3]!4", F: "[e3,a3]!8",
  G: "[e3,a3] [d3,g3] [c3,f3] [b2,e3]@3 ~@2", H: "[e3,a3]!5 ~ [e3,a3]!2", I: "[d3,g3]!5 d3 [c3,f3]!2",
  J: "[c3,f3]!6 [f3,a#3]!2", // F5 A#5
})).s("gm_electric_bass_finger").gain(0.14)

// chords · lead 5 charang · "Lead"
const lead_5_charang = note(`<
  ~@31 A B A C B D A B ~@2 B E B E ~@22 A B A C B D A B ~@2 F G H I J K L M N ~@7 O@13
>`.pickRestart({
  A: "[c4,f4]!8", B: "[e4,a4]!8", C: "[b4,e5]!8", D: "[d4,g4]!8", E: "[e4,a4] [d4,g4] [c4,f4] [b3,e4]@3 ~@2",
  F: "a3@3 c4", G: "a3@3 g3", H: "a3@3 f3@3 c4@2", I: "a3@12 b3@2 f4 a3", J: "d4 e4 d4 c4 d4 c4 f4 ~", K: "b4@6 e4 ~",
  L: "d5@4 g4 f4 g4 ~", M: "b4@6 ~ d5", N: "a5", O: "e4 g4!3 e4 g4!3",
})).s("gm_lead_5_charang").gain(0.14)

// bass · electric bass finger · "Bass"
const bass_2 = note(`<
  A B C D A B E F G F G F G F G F G F G F G F G F G A B C D A C H I A B C D A C J K F G F G F G F G F G F G F G F G F G
  F G A B C D A C H I A B C D A C J K L M N@5 O ~@6 J K J K J K J K J K J K J K ~
>`.pickRestart({
  A: "c2!8", B: "f2!8", C: "e2!8", D: "d2!8", E: "f2!3 e2 d2!4", F: "e2@3 e2@3 e2@2", G: "e2 d2 c2 b1@3 ~@2",
  H: "f#2 f#2@2 e2!5", I: "e2!3 c#2!5", J: "e2", K: "c2", L: "e3", M: "g2", N: "f2 ~@4 d3@3", O: "f2 ~@7",
})).s("gm_electric_bass_finger").gain(0.1)

// drums · kick
const kick = s("bd").struct(`<
  A@3 B A@14 C A@3 D A E A@3 B A@3 F A@3 B A@17 C A@3 D A E A@3 B A@3 F A@3 B A@4 G@7 H ~@6 I J A@12 ~
>`.pickRestart({
  A: "x ~@3 x!2 ~@2", B: "x!2 ~@2 x!2 ~ x", C: "x!2 ~ x!3 ~ x", D: "x ~ x!6", E: "x", F: "x!2 ~ x ~ x ~ x",
  G: "x!2 ~@2 x!2 ~@2", H: "x!2 ~@2 x!4", I: "x!8", J: "x!4 ~ x ~ x",
})).gain(0.1)

// drums · snare
const snare = s("sd").struct(`<
  A@3 B A@18 C D E A@3 B A@3 F A@3 B A@21 C D E A@3 B A@3 F A@3 B A@4 G@7 H ~@6 I J A@12 ~
>`.pickRestart({
  A: "~ x ~ x", B: "~@2 x!2 ~@2 x ~", C: "~@2 x!6", D: "x!2 ~ x", E: "~@4 x ~@6 x ~@2 x ~", F: "~ x!3",
  G: "~@4 x ~@2 x ~@4 x ~@3", H: "~@4 x ~@2 x ~@4 x ~ x ~", I: "x!8", J: "x!5 ~ x ~",
})).gain(0.1)

// drums · low tom
const low_tom = s("lt").struct("<~@22 A B ~@34 A B ~@31 C D ~@13>".pickRestart({
  A: "~@2 x!6", B: "x", C: "x!8", D: "x!4 ~@4",
})).gain(0.1)

// drums · mid tom
const mid_tom = s("mt").struct("<~@24 A ~@14 B ~@4 B ~@15 A ~@14 B ~@30>".pickRestart({
  A: "~@8 x!3 ~ x!2 ~ x", B: "~@3 x",
})).gain(0.12)

// drums · china
const china = s("cr").struct("<[x!8]!44 [x!7 ~] [x!8]!32 [x!4]!8 ~@8 [x!8]!12 ~>").gain(0.1)

// drums · ride
const ride = s("rd").struct(`<
  A ~@3 A ~@2 A ~@11 A ~@5 A ~@3 A ~@3 A ~@3 A ~@17 A ~@5 A ~@3 A ~@3 A ~@3 A ~@3 A@9 ~@7 A@13
>`.pickRestart({
  A: "x",
})).gain(0.1)

stack(bass, lead_5_charang, bass_2, kick, snare, low_tom, mid_tom, china, ride)

More by Pearl Jam