Strudelify

All the Time

Green Day

KeyA majorTempo156 bpm
0:00/0:00
// All the Time — Green Day
// 156 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 83 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(156/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 · distortion guitar · "tk2"
const distortion_guitar = note("<A@9 B C@12 A@9 B C@8 A@9 B C@8 D E D E D E D E C@8 A@7 F G>".pickRestart({
  A: "[e3,b3,e4]!2 ~ [d3,a3,d4] ~ [a2,e3,a3] ~ a2", // E5 D5 A5
  B: "[e3,b3,e4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2 [a2,b2,e3] [f2,g2,c3] [d2,e2,a2] [a1,b1,e2]", // E5 Asus2 Fsus2 Dsus2 Asus2
  C: "[[g#2,d#3,g#3] [a2,e3,a3] [a2,e3,a3]@2 [a2,e3,a3]!3 [g2,d3,g3]@2 [g2,d3,g3]!2 [d3,a3,d4]@2 [d3,a3,d4]!3]/2", // G#5 A5 G5 D5
  D: "[a2,e3,a3]@2 [a2,e3] [c#3,g#3,c#4] [d3,a3,d4]@2 [c#3,g#3,c#4]@2", // A5 C#5 D5 C#5
  E: "[g2,d3,g3]@2 [g2,d3] [b2,f#3,b3] [c3,g3,c4]@2 [b2,f#3,b3]@2", F: "[e3,b3,e4]!8",
  G: "[g#2,d#3,g#3] [a2,e3,a3] [a2,e3,a3]@2 ~@4", // G#5 A5
})).s("gm_distortion_guitar").gain(0.5)

// bass · electric bass finger · "tk3"
const bass = note("<~@2 A@7 B C@12 A@9 D C@8 A@9 D C@8 E F E F E F E F C@8 A@7 D G>".pickRestart({
  A: "e2!2 ~ d2 ~ a1 ~ a1", B: "e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 c2 a1 g1 f#1",
  C: "[g#1 a1 a1@2 a1 b1 a1 g1@2 g2 g1 d2@2 d2!2 c#2]/2", D: "e2!8", E: "a1@2 e1 c#2 d2@2 c#2 a1",
  F: "g1@2 d1 b1 c2@2 b1 g1", G: "g#1 a1 a1@2 ~@4",
})).s("gm_electric_bass_finger").gain(0.57)

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

// drums · snare
const snare = s("sd").struct("<~ A B@11 C B@7 C B@17 C B@13 C B@19 C B@3 C B@3 D E>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@4 x ~@7 x!4", D: "~@2 x ~@2 x!2 ~", E: "x!2 ~@2",
})).gain(0.5)

// drums · low tom
const low_tom = s("lt").struct("<~@57 [~ x!2 ~] ~@25>").gain(0.5)

// drums · hihat
const hihat = s("hh").struct("<~ A B C@6 D ~@12 E C@8 D ~@8 E C@8 D ~@24 E C@2 F C@3 D ~>".pickRestart({
  A: "x!3 ~", B: "~@3 x ~ x ~ x", C: "x!2 ~ x ~ x ~ x", D: "x!2 ~@6", E: "~ x ~ x ~ x ~ x", F: "x!2 ~ x ~ x ~@2",
})).gain(0.5)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@57 [~ x] ~@25>").gain(0.5)

// drums · crash
const crash = s("cr").struct(`<
  ~@2 A ~@6 B C D C D C D C D C D C D A ~@8 B C D C D C D C D A ~@8 B C D C D C D C B A@7 E C D C D C D C D A ~@7 F
>`.pickRestart({
  A: "x", B: "~@3 x", C: "x ~ x ~@4 x", D: "~@3 x ~@4", E: "x ~@2 x", F: "x!2 ~@2",
})).gain(0.5)

// drums · ride bell
const ride_bell = s("rd").struct("<~@58 [~ x!3]!7 [~ x!2 ~] ~@17>").gain(0.5)

stack(distortion_guitar, bass, kick, snare, low_tom, hihat, open_hat, mid_tom, crash, ride_bell)

More by Green Day