Strudelify

All I Want Is Everything

Def Leppard

KeyD majorTempo88 bpm
0:00/0:00
// All I Want Is Everything — Def Leppard
// 88 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(88/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.

// chords · distortion guitar
const distortion_guitar = note(`<
  A B A B A B A B A B A B C@3 B A B A B C@3 B D@3 E D@3 E ~@2 F ~ A B A B C@3 B A B A B C@3 B D@3 E D@3 E ~@2 F ~ A B
  ~@8 G H I J G H I J K ~@3 D@3 E ~@2 F ~ A B A B A B A B A B A B A B A B A B A B A B A
>`.pickRestart({
  A: "~@7 d4, b3!4, ~ d4@2 d4@2 d4@2 ~", B: "~@7 c#4, a3!4, ~ d4@2 d4@2 d4@2 ~",
  C: "[~@7 e4@2 ~@6 e4@2 ~@6 d4, b3!4 ~ b3!3 ~ b3!3, ~ d4@2 d4@2 d4@2 ~@2 d4@2 d4@2 d4@2 ~@2 d4@2 d4@2 d4@2 ~]/3",
  D: "[a3 d4 a3 e4@2 d4 a3 e4@2 d4 a3 e4@2 c#4 a3 e4@2 d4 b3 e4@2 d4 b3@2]/3", E: "b3 d4 b3 e4@2 d4 b3 d4",
  F: "[d4,f#4]", G: "[d3,a3]", H: "[a2,e3]", I: "[e3,b3]", J: "[b2,f#3]", K: "[d3,a3,d4] ~@3",
})).s("gm_distortion_guitar").gain(0.4).pan(0.2)

// chords · electric bass pick
const electric_bass_pick = note(`<
  ~@16 A B A C D E F G H I J K L M N@2 O P Q ~ A B A C D E F G A B A C D E F G H I J K L M N@2 O P Q ~@3 R@8 S@8 ~@4 L M
  N@2 O P Q ~ R@22 T
>`.pickRestart({
  A: "~ a4@3, b3, ~ d4@7", B: "~@3 e4@5, a3, ~ e4@2 ~@5, ~ a4@3", C: "~@3 a4@5, a3, ~ d4@7, ~ e4@3", D: "~ d4@7, b3",
  E: "~@3 e4@2 ~@2 d4, b3 b3@2 b3, ~ d4@4 d4@2 ~", F: "~ d4@3, g4, ~ b3@7", G: "~@3 e4@5, f#3, ~ b3@7, ~ d4@3",
  H: "~@3 e4@5, ~ a3@7, ~ d4@3", I: "~@3 e4@5, ~ e3@7, ~ a3@3", J: "~@3 a3@5, ~ e4@7, ~ b3@3",
  K: "~@3 e4@5, b3 b3@3, ~ d4@7", L: "~@2 e4@5 ~, a3@7 ~, ~ d4@6 ~", M: "~@2 e4@5 ~, e3@7 ~, ~ a3@6 ~",
  N: "[~@2 a3@5 ~@3 e4@5 ~, e4@7 ~ d4@7 ~, ~ b3@6 b3@2 b3@6 ~]/2", O: "~@3 [e4,g4]@5, c4 c4@3, ~ g3@7",
  P: "~@3 g4@5, ~ g3@7, ~ d4@3", Q: "~ a3@3, a3 ~@3, ~ d4@7",
  R: "[~@3 f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~@2 f#4, b3, ~ f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~@2 f#4@2 ~, ~ e4@2 e4@2 e4@2 e4]/2",
  S: "[~@3 e4@2 ~@6 e4@2 ~@6 e4@2 ~@6 e4@2 ~@6 e4@2 ~@6 e4@2 ~@6 e4@2 ~@6 e4@2 ~@2 d4, a3 a3@2 a3 a3 a3@2 b3 b3 b3@2 b3 b3 b3@2 b3 a3 a3@2 a3 a3 a3@2 b3 b3 b3@2 b3 b3 b3@2 b3, ~ d4@4 d4@2 d4@2 d4@4 d4@2 d4@2 d4@4 d4@2 d4@2 d4@4 d4@2 d4@2 d4@4 d4@2 d4@2 d4@4 d4@2 d4@2 d4@4 d4@2 d4@2 d4@4 d4@2 ~]/8",
  T: "~@3 f#4@2 ~@2 f#4, b3, ~ f#4@2 ~@2 f#4@2 ~, ~ e4@2 e4",
})).s("gm_electric_bass_pick").gain(0.4)

// chords · distortion guitar
const distortion_guitar_2 = note("<~@74 A@8 B C@2 D@2 ~@30>".pickRestart({
  A: "[~@63 d4, d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4, ~ d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 ~]/8",
  B: "[d3,a3,d4] ~@3", C: "[~@3 [b3,e4]@13]/2", D: "[~@2 [b3,f#4] [b3,f#4]@13]/2",
})).s("gm_distortion_guitar").gain(0.25)

// bass · fretless bass
const bass = note(`<
  ~@3 A B C B C B C B C B D E F B C B C B G H I J K L M J K L N O P Q R B C B C B D E F B C B C B G H I J K L M J K L N
  O P Q R ~ A S T S T S T U V W X Y Z W X Y Z J AA L AB J AC L N O P Q R B C B C B C B C B C B C B C B C B C B C B C B
>`.pickRestart({
  A: "~@3 f#2", B: "b1@7 f#1 b1 f#1 b1@2 b1@2 f#1@2", C: "a1@7 f#1 a1 f#1 a1@2 b1@2 c#2@2",
  D: "e1@7 b0 e1 b0 e1@2 e1@2 e1@2", E: "g1@7 d1 g1@2 g1@4 g1@2", F: "a1@7 e1 a1 e1 a1@2 b1@2 c#2@2",
  G: "e1@7 b0 e1 b0 e1@4 e1 f#1", H: "g1@7 d1 g1 ~ g1@4 g1@2", I: "a1@4 a1@3 e1 a1 e1 a1@2 a1@2 b1@2",
  J: "d2@4 d2@3 a1 d2 a1 d2@2 d2@2 d2@2", K: "a1@7 e1 a1 e1 a1@2 a1@2 b1@2", L: "e2@4 e2@3 b1 e2 b1 e2@2 e2@2 e2@2",
  M: "b1@4 b1@3 f#1 b1 f#1 b1@2 b1@2 a1 b1", N: "b1@4 b1@3 f#1 b1 ~ b1@2 b1@2 b1@2", O: "c2@8 c2 ~ c2@4 c2@2",
  P: "g1@7 g1!2 ~ g1@2 g1@2 a1@2", Q: "d2@2 d2@2 d2!3 a1", R: "d2@4 d2@4 d2 ~ d2@2 d2@4",
  S: "b1@7 f#1 b1 f#1 b1@2 b1@2 d2@2", T: "e2@7 b1 e2 b1 e2@2 e2@2 d2@2", U: "g1@4 g1@3 d1 g1 d1 g1@2 g1@2 g1@2",
  V: "a1@4 a1@3 a1 a1@2 a1@2 a1@2 b1@2", W: "d2!8", X: "a1!8", Y: "e2!8",
  Z: "b1@2 b1@2 b1@2 b1@2 b1@2 b1@2 b1@2 b1 c#2", AA: "a1@4 a1@3 e1 a1 e1 a1@2 b1@2 b1@2",
  AB: "b1@4 b1@3 f#1 b1 f#1 b1@2 b1@2 b1 c#2", AC: "a1@7 e1 a1 e1 a1@2 a1@2 a1@2",
})).s("gm_fretless_bass").gain(0.57)

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

// drums · snare
const snare = s("sd").struct("<~@4 A@29 B A C A@28 ~@2 A@7 D A@19 E A@23>".pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@6 x!2 ~@3", C: "~@4 x ~@6 x!2 ~ x ~", D: "~@4 x ~@5 x!3 ~ x ~", E: "~@2 x ~@2 x!2 ~",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@4 A B A B A B A B A B A B A B A B A B A B C B A B A B A D C E C E C B A B A B A B A B A B A B A B C F A G C F A B G
  B C F H ~ G B I B C B A ~ J B A B C B A K G B A B C B A L M G C E A B A B A B A B A B A B A B A B A B A B A B@2
>`.pickRestart({
  A: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2", B: "x ~ x!3 ~ x!3 ~ x!3 ~@3", C: "~@2 x!3 ~ x!3 ~ x!3 ~ x!2", D: "x ~ x!3 ~ x!2 ~@8",
  E: "~@4 x ~ x!2 ~@8", F: "~@4 x ~ x!3 ~ x!3 ~@3", G: "~@2 x!3 ~ x!3 ~ x!3 ~@3", H: "x",
  I: "x ~ x!3 ~ x!3 ~ x!3 ~@2 x", J: "~@2 x!3 ~ x!3 ~ x!3 ~@2 x", K: "x ~ x!3 ~ x!3 ~ x!2 ~@4",
  L: "x ~ x!3 ~ x!2 ~@4 x ~@3", M: "~@2 x!3 ~ x!3 ~@3 x ~ x!2",
})).gain(0.43)

// drums · mid tom
const mid_tom = s("mt").struct("<~@33 [~@7 x] ~@39 [~@7 x] ~@43>").gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@5 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ C ~ C ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ D ~ D ~ D ~ A@3 ~
  D ~@2 A@4 ~ A ~ E A@2 ~ A ~ A ~ F A@2 ~ A ~ A ~ G H A ~ C ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
>`.pickRestart({
  A: "~@7 x", B: "~ x", C: "x!2", D: "x ~@6 x", E: "x ~@2 x!2 ~@3", F: "~@3 x", G: "~@4 x ~@2 x", H: "~@5 x ~@2",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@24 A ~@7 A ~ A ~@17 A ~@3 A ~@3 A ~ A ~ A ~ A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A@3 ~@24
>`.pickRestart({
  A: "x",
})).gain(0.57)

// drums · ride
const ride = s("rd").struct("<~@36 x ~@28 [x!8] ~@51>").gain(0.36)

// drums · tambourine
const tambourine = s("tb").struct("<~@4 [~@3 x]!60 ~@2 [~@3 x]!51>").gain(0.64)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~@4
  [x ~ x!3 ~ x!3 ~ x!3 ~ x!2]!60
  x
  ~
  [x ~ x!3 ~ x!3 ~ x!3 ~ x!2]!50
  [x ~ x!3 ~ x!3 ~ x!3 ~@3]
>`).gain(2.17)

stack(
  distortion_guitar, electric_bass_pick, distortion_guitar_2, bass, kick, snare, hihat, mid_tom, open_hat, crash, ride,
  tambourine, cabasa
)

More by Def Leppard