Strudelify

Everyday

Bon Jovi

KeyA minorTempo125 bpm
0:00/0:00
// Everyday — Bon Jovi
// 125 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 10 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// other · piano
const piano = note("<A ~ B C D E ~ F@2 ~>".pickRestart({
  A: "~@18 c5@4 ~@3 c5@7", B: "~@4 e5@3 ~@25", C: "~@13 d5@3 ~@16", D: "~@4 e5@3 ~@6 c5@3 ~@16",
  E: "~@4 c5@3 ~@3 c5@4 ~@18", F: "[~@31 d5@3 ~@19 e5@5 ~@4 c5@2]/2",
})).s("gm_piano").gain(0.5)

// other · distortion guitar
const distortion_guitar = note("<A@6 B@4>".pickRestart({
  A: "[a2@36 c3@14 b2@23 g2@36 d3@36 a2@36 ~ c3@10]/6", B: "[~@3 b2@23 g2@36 ~ c3@18 b2@18 ~@29]/4",
})).s("gm_distortion_guitar").gain(0.5)

// bass · electric bass finger
const bass = note("<A B C@2 D E F@2 ~@2>".pickRestart({
  A: "a1@4 ~ a1@3 ~ c2@4 ~@5 a1@3 ~@2 a1@3 ~ c2@3 ~@2", B: "a1@3 ~@29",
  C: "[~@9 g1@3 ~ g1@3 ~@9 g1 ~ g1@2 ~@2 g1@2 ~@31]/2", D: "~@17 a1@4 ~ a1@3 ~@2 c2@4 ~",
  E: "~@4 a1@3 ~ a1@3 ~@2 c2@3 ~ a1@3 ~@12", F: "[~@26 g1@3 ~@2 g1@3 ~@8 g1 ~ g1@2 ~@3 g1@2 ~@13]/2",
})).s("gm_electric_bass_finger").gain(0.5)

// drums · kick
const kick = s("bd").struct("<A B C D E F G H I ~>".pickRestart({
  A: "x ~@17 x ~@4 x ~@8", B: "~@4 x ~@18 x ~@3 x ~@4", C: "~@9 x ~@17 x ~@3 x", D: "~@13 x ~@17 x",
  E: "~@4 x ~@12 x ~@14", F: "~@2 x ~ x ~@6 x ~@4", G: "~@8 x ~@4 x ~@12 x ~@5", H: "~@12 x ~@4 x ~@13 x",
  I: "~@17 x ~@3 x ~@10",
})).gain(0.5)

// drums · snare
const snare = s("sd").struct("<A B C D E F G H I J>".pickRestart({
  A: "~@9 x ~@17 x ~@4", B: "~@13 x ~@11 x ~@6", C: "x ~@8 x ~@6", D: "~@2 x ~@8 x ~@4", E: "~@2 x ~@5 x ~@18 x ~@4",
  F: "~@13 x ~@17 x", G: "~@10 x ~@6 x ~@14", H: "~@3 x ~@17 x ~@10", I: "~@8 x ~@10 x ~@6 x ~@3 x ~", J: "~ x ~@30",
})).gain(0.5)

// drums · hihat
const hihat = s("hh").struct("<A B C D E F G H I ~>".pickRestart({
  A: "x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4", B: "x ~@3 x ~@4 x ~@3 x ~@4 x ~@4 x ~@3 x ~@4",
  C: "x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x", D: "~@4 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x",
  E: "~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@4 x ~@3 x", F: "~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x",
  G: "~@3 x ~@4 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x", H: "~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@4 x",
  I: "~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~",
})).gain(0.5)

// drums · crash
const crash = s("cr").struct("<x ~@3 [~@17 x ~@14] ~@5>").gain(0.3)

// drums · ride bell
const ride_bell = s("rd").struct("<A B C D E F G H I ~>".pickRestart({
  A: "x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4", B: "x ~@3 x ~@4 x ~@3 x ~@4 x ~@4 x ~@3 x ~@4",
  C: "x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x", D: "~@4 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x",
  E: "~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@4 x ~@3 x", F: "~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x",
  G: "~@3 x ~@4 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x", H: "~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@4 x",
  I: "~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~",
})).gain(0.5)

// drums · cowbell
const cowbell = s("cb").struct("<A B A C D C E F E ~>".pickRestart({
  A: "x ~@8 x ~@8 x ~@8 x ~@4", B: "~@4 x ~@8 x ~@9 x ~@8", C: "~@4 x ~@8 x ~@8 x ~@8 x", D: "~@8 x ~@8 x ~@9 x ~@4",
  E: "~@8 x ~@8 x ~@8 x ~@5", F: "~@3 x ~@8 x ~@8 x ~@9 x",
})).gain(0.5)

stack(piano, distortion_guitar, bass, kick, snare, hihat, crash, ride_bell, cowbell)

More by Bon Jovi