Strudelify

All by Myself

Green Day

KeyG majorTempo180 bpm
0:00/0:00
// All by Myself — Green Day
// 180 bpm, 6/8, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/3)

// 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.

// other · electric bass pick
const electric_bass_pick = note(`<
  ~@7 A B@4 C@4 D@4 E@4 F@4 G@4 H@4 I@4 J@4 K@4 E@4 L@4 M@4 N@4 O@4 P@4 Q@4
>`.pickRestart({
  A: "~@8 a3@3 a3@2 a3@3", B: "[a3@51 a2@2 a2@3 a3@3 a3@2 a3@3]/4", C: "[a3@55 ~ d3@3 e3@2 f#3@3]/4",
  D: "[b3@4 ~ a3@45 ~ a3@2 a3@3 a3@3 a3@2 a3@3]/4", E: "[a3@52 ~ d3@3 d3@3 e3@2 f#3@3]/4",
  F: "[b3@4 ~ a3@45 ~ b3@2 b3@3 b3@3 b3@2 b3@3]/4", G: "[b3@55 ~ [b3,b4]@3 [b3,b4]@2 [b3,b4]@3]/4",
  H: "[[b3,b4]@55 ~ [b3,b4]@3 [b3,b4]@2 [b3,b4]@3]/4", I: "[[b3,b4]@55 ~ [b3,e5]@3 [b3,e5]@2 [b3,e5]@3]/4",
  J: "[[b3,e5]@52 ~ e3@3 f#3@3 f#3@2 f#3@3]/4", K: "[f#3@52 ~ a3@3 a3@3 a3@2 a3@3]/4",
  L: "[f#3@51 a3@2 a3@3 a3@3 a3@2 a3@3]/4", M: "[a3@55 ~@9]/4", N: "[g#3@3 g#3@2 a3@3 g#3@47 ~ b3@7 ~]/4",
  O: "[b3@3 b3@2 c#4@3 b3@43 b3@2 b3@3 b3@3 b3@2 b3@3]/4", P: "[b3@55 ~ [b3,e5]@3 [b3,e5]@2 [b3,e5]@3]/4",
  Q: "[[b3,e5]@51 ~@13]/4", // E5
})).s("gm_electric_bass_pick").gain(0.72)

// bass · electric bass finger · "Dookie"
const bass = note(`<
  A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@2 D@2 C@2 D@2 C@2 D@2 C@2 E F A@2 B@2 A@2 B@2 A@2 B@2 A@2
  B@2 C@2 D@2 C@2 D@2 C@2 D@2 C@2 E F
>`.pickRestart({
  A: "[d3@31 ~]/2", B: "[g3@31 ~]/2", C: "[e2@31 ~]/2", D: "[a2@31 ~]/2", E: "a2@15 ~", F: "a2@3 ~@13",
})).s("gm_electric_bass_finger").gain(0.72)

// other · woodblock
const woodblock = note("<~@75 [e3@7 ~@9]>").s("gm_woodblock").gain(0.72)

stack(electric_bass_pick, bass, woodblock)

More by Green Day