Strudelify
Good Riddance (Time of Your Life) cover art

1997 · Nimrod

Good Riddance (Time of Your Life)

Green Day

KeyG majorTempo95 bpm
0:00/0:00
// Good Riddance (Time of Your Life) — Green Day
// 95 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 61 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(95/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 · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C@8 D E@2 F G@3 H@5 I@2 J@2 E@2 F G@3 K@7 L@2 E@2 F G@3 M I@2 N@4 O@7
>`.pickRestart({
  A: "g2@2 ~@3 d3@2 ~@9, ~ g2@2 ~@5, ~@3 g3@4 ~@9",
  B: "g2@2 ~@3 d3@2 ~@3 [a2,d3,g3] ~@2 [a2,d3,g3] ~@2, ~ g2@2 ~@5, ~@3 g3@4 ~@9", // Dsus4
  C: "[[b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [c3,e3]@2 [c3,e3,g3] [c3,e3,g3]@2 ~ [c3,e3] [c3,e3,g3] [a2,d3]@2 [a2,d3,a3] [a2,d3,a3]@2 ~ [a2,d3] [a2,d3,a3] [b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [c3,e3]@2 [c3,e3,g3] [c3,e3,g3]@2 ~ [c3,e3] [c3,e3,g3] [a2,d3]@2 [a2,d3,a3] [a2,d3,a3]@2 ~ [a2,d3] [a2,d3,a3] [b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [c3,e3]@2 [c3,e3,g3] [c3,e3,g3]@2 ~ [c3,e3] [c3,e3,g3] [a2,d3]@2 [a2,d3,a3] [a2,d3,a3]@2 ~ [a2,d3] [a2,d3,a3] [b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [b2,d3]@2 [b2,d3,g3] [b2,d3,g3]@2 ~ [b2,d3] [b2,d3,g3] [c3,e3]@2 [c3,e3,g3] [c3,e3,g3]@2 ~ [c3,e3] [c3,e3,g3] [a2,d3]@2 [a2,d3,a3] [a2,d3,a3]@2 ~ [a2,d3] [d3,g3], g2!2 ~@2 g2!2 ~@2 g2!2 ~@2 g2!2 ~@2, ~@3 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@8 d4@5, ~@5 [d3,g3]@2 ~@6 [d3,g3]@2 ~@6 [e3,g3]@2 ~@6 [d3,a3]@2 ~@6 [d3,g3]@2 ~@6 [d3,g3]@2 ~@6 [e3,g3]@2 ~@6 [d3,a3]@2 ~@6 [d3,g3]@2 ~@6 [d3,g3]@2 ~@6 [e3,g3]@2 ~@6 [d3,a3]@2 ~@6 [d3,g3]@2 ~@6 [d3,g3]@2 ~@6 [e3,g3]@2 ~@6 [d3,a3]@2 ~]/8", // Bm G Bm G Bm G Bm G …
  D: "[b2,e3]@2 [b2,e3,g3,b3]@2 [b2,e3,g3,b3]!2 ~ [b2,e3,g3] [a2,d3,a3]@2 [a2,d3,a3,d4]@2 [a2,d3,a3] [d3,a3] [a2,d3,a3]!2, e2!2 ~@2, ~@2 e4@4 [e3,g3,b3,e4]@2 ~@5 d4@3", // E5 Em D5 Em
  E: "[[e3,g3]@2 e3@2 e3 [e3,g3] [e3,g3,d4] [c3,e3,g3] d3@2 [d3,g3]@2 [b2,d3,g3] [g2,b2,d3] [b2,d3,g3,d4] [g2,b2,d3] [b2,e3]@2 [b2,e3,g3,b3]@2 [b2,e3,g3,b3]!2 ~ [b2,e3,g3] [a2,d3,a3]@2 [a2,d3,a3,d4]@2 [a2,d3,a3] [d3,a3] [a2,d3,a3]!2, c3@4 c3@3 ~ [g2,b2]@5 ~@3 e2@4 e2@4 ~@8, ~@2 [g3,d4]@4 ~@4 d4@4 ~ g3@3 e4@4 [e3,g3,b3,e4]@2 ~@5 d4@3]/2", // Em Em7 C G5 G E5 Em D5 …
  F: "[e3,g3]@2 e3@2 e3 [e3,g3] [e3,g3,d4] [c3,e3,g3] d3@2 [d3,g3]@2 [b2,d3,g3] [g2,b2,d3] [b2,d3,g3,d4] [e2,a2,d3,g3], c3@4 c3@3 ~ [g2,b2]@5 ~@3, ~ [g3,d4]@2 ~@2 d4@2 ~", // Em Em7 C G5 G Em7 G G5
  G: "[~@7 [b3,e4] ~@2 g3 g3@2 ~@2 d3 ~@7 [b3,e4] ~@2 g3 g3@2 ~@2 d3 ~@7 [g3,b3,e4] [d3,a3]@2 [d3,a3]@2 [d3,a3]!2 [d3,a3,f#4] [a2,d3,a3,e4], e2 g2 e2 g2 e2 ~, b2@6 [b2,e3]@3 ~ d3@3 [d3,g3]@2 g3@3 [e3,g3]@3 [e3,g3]@2 g3@3 ~ d4@8 [b3,e4]@4 ~@3 f#4@4 ~@2, ~@2 [e3,g3]@3 [e3,g3]@2 g3@3 ~ d4@8 [b3,e4]@4 ~ b2@5 ~ b2@2 b2@6 [b2,e3]@2 a2@4 a2@3 ~, ~@3 [b3,e4]@4 ~ b2@5 ~ b2@2 b2@6 [b2,e3]@3 ~ d3@3 [d3,g3]@2 g3@3 [e3,g3]@3 [e3,g3]@2 ~@9]/3", // E5 Em D5 D Asus4 E5 G5 Em …
  H: "[[b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [b2,d3,g3,d4]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [e3,g3,c4]@2 [e3,g3,c4,g4]@2 [c3,e3,g3,c4] [e3,g3,c4,g4] [c3,e3,g3,c4,g4] [c3,e3,g3,c4] [d3,a3,d4]@2 [d3,a3,d4,f#4]@2 [a2,d3,a3,d4] [d3,a3,d4,f#4] [a2,d3,a3,d4,f#4] [a2,d3,a3] [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [b2,d3,g3,d4]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [e3,g3,c4]@2 [e3,g3,c4,g4]@2 [c3,e3,g3,c4] [e3,g3,c4,g4] [c3,e3,g3,c4,g4] [c3,e3,g3,c4] [d3,a3,d4]@2 [d3,a3,d4,f#4]@2 [a2,d3,a3,d4] [d3,a3,d4,f#4] [a2,d3,a3,d4,f#4] [a2,d3,a3] [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [d3,g3,d4] [b2,d3,g3,d4,g4]@2 [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [d3,g3,d4] [b2,d3,g3,d4,g4] [b2,d3,g3,d4], g2!4 c3 ~ a2 ~ g2!4 c3 ~ a2 ~ g2@2 g2@2, ~@2 [d4,g4]@4 g4@4 [d4,g4]@4 g4@4 ~@13 [d4,g4]@3 [d4,g4]@4 g4@4 [d4,g4]@4 g4@4 ~@13 [d4,g4]@3 [d4,g4]@4 ~@4 [d4,g4]@4 ~@2]/5", // G G5 G G5 G C D5 D …
  I: "[[e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]!2 [e3,g3,c4,g4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 a3!2 [d3,a3,d4,f#4] [d3,a3] [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [d3,g3,d4] [b2,d3,g3,d4,g4]@2 [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [d3,g3,d4] [b2,d3,g3,d4,g4] [b2,d3,g3,d4], c3!2 a2!2 g2@2 g2@2, ~@2 g4@4 ~@4 f#4@4 ~ [d4,g4]@3 [d4,g4]@4 ~@4 [d4,g4]@4 ~@2, ~@6 [d3,d4] ~@9]/2", // C D5 D D5 G G5 G G5 …
  J: "[[e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]!2 [e3,g3,c4,g4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 a3!2 [d3,a3,d4,f#4] [d3,a3] [b2,e3,g3]@2 [b2,e3,g3,b3]@2 [b2,e3,g3,b3]!2 ~ [b2,e3,g3] [a2,d3,a3]@2 [a2,d3,a3,d4]@2 [a2,d3,a3] [d3,a3] [a2,d3,a3]!2, c3!2 a2!2 e2!2 ~@2, ~@2 g4@4 ~@4 f#4@4 ~ [d4,g4]@3 e4@4 ~@7 d4@3, ~@6 [d3,d4] ~@4 [e3,g3,b3,e4] ~@4]/2", // C D5 D D5 Em D5 G5 D …
  K: "[[b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [b2,d3,g3,d4]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [e3,g3,c4]@2 [e3,g3,c4,g4]@2 [c3,e3,g3,c4] [e3,g3,c4,g4] [c3,e3,g3,c4,g4] [c3,e3,g3,c4] [d3,a3,d4]@2 [d3,a3,d4,f#4]@2 [a2,d3,a3,d4] [d3,a3,d4,f#4] [a2,d3,a3,d4,f#4] [a2,d3,a3] [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [b2,d3,g3,d4]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [e3,g3,c4]@2 [e3,g3,c4,g4]@2 [c3,e3,g3,c4] [e3,g3,c4,g4] [c3,e3,g3,c4,g4] [c3,e3,g3,c4] [d3,a3,d4]@2 [d3,a3,d4,f#4]@2 [a2,d3,a3,d4] [d3,a3,d4,f#4] [a2,d3,a3,d4,f#4] [a2,d3,a3] [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [b2,d3,g3,d4]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [e3,g3,c4]@2 [e3,g3,c4,g4]@2 [c3,e3,g3,c4] [e3,g3,c4,g4] [c3,e3,g3,c4,g4] [c3,e3,g3,c4] [d3,a3,d4]@2 [d3,a3,d4,f#4]@2 [a2,d3,a3,d4] [d3,a3,d4,f#4] [a2,d3,a3,d4,f#4] [a2,d3,a3] [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4] [b2,d3,g3,d4]@2 [b2,d3,g3]@2 [b2,d3,g3] [b2,d3,g3,d4] [d3,g3,d4] [b2,d3,g3,d4], g2!4 c3 ~ a2 ~ g2!4 c3 ~ a2 ~ g2!4 c3 ~ a2 ~ g2!4, ~@2 [d4,g4]@4 g4@4 [d4,g4]@4 g4@4 ~@13 [d4,g4]@3 [d4,g4]@4 g4@4 [d4,g4]@4 g4@4 ~@13 [d4,g4]@3 [d4,g4]@4 g4@4 [d4,g4]@4 g4@4 ~@13 [d4,g4]@3 [d4,g4]@4 g4@4 [d4,g4]@4 g4@2]/7", // G G5 G G5 G C D5 D …
  L: "[[e3,g3,c4]@2 [e3,g3,c4,g4]@2 [c3,e3,g3,c4] [e3,g3,c4,g4] [c3,e3,g3,c4,g4] [c3,e3,g3,c4] [d3,a3,d4]@2 [d3,a3,d4,f#4]@2 [a2,d3,a3,d4] [d3,a3,d4,f#4] [a2,d3,a3,d4,f#4] [a2,d3,a3] [b2,e3,g3]@2 [b2,e3,g3,b3]@2 [b2,e3,g3,b3]!2 ~ [b2,e3,g3] [a2,d3,a3]@2 [a2,d3,a3,d4]@2 [a2,d3,a3] [d3,a3] [a2,d3,a3]!2, c3@4 ~@4 a2@4 ~@3 [d4,g4]@3 e4@4 [e3,g3,b3,e4]@2 ~@5 d4@3, ~@4 e2!2 ~@2]/2", // C D5 D D5 D D5 Em D5 …
  M: "[b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [d3,g3,d4] [b2,d3,g3,d4,g4]@2 [b2,d3,g3]@2 [b2,d3,g3]@2 [b2,d3,g3] [d3,g3,d4] [b2,d3,g3,d4,g4] [b2,d3,g3,d4], g2!2, ~ [d4,g4]@2 ~@2 [d4,g4]@2 ~", // G G5 G G5 G G5
  N: "[[e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]!2 [e3,g3,c4,g4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 a3!2 [d3,a3,d4,f#4] [d3,a3] ~@7 [b3,e4] ~@7 d3 ~@7 [b3,e4] ~@6 d3!2 ~@7 [b3,e4] ~@4 d3 ~@2 [d3,a3], c3!2 a2!2 e2@2 g2@2 e2@2 [g2,b2]@2 e2@2 ~@2, ~@2 g4@4 ~@4 f#4@4 ~ [d4,g4]@3 ~ [b3,e4]@3 b2@8 b2@2 b2@5 e3@3 ~@3 d4@5 ~@3 [b3,e4]@3 b2@2 a2@8, ~@12 [d3,d4]@2 ~@4 e3@3 g3@6 g3@4 g3@3 g3@4 b2@2 ~@13 e3@3 d3@4 ~ [d3,a3]@2 ~, ~@22 e3@2 ~@2 d3@3 d3@2 ~@4 [b3,e4]@4 g3@3 g3@3 g3@2 g3@3 g3@6 ~@2 [d4,f#4]@4 [a3,f#4]@2]/4", // C D5 D D5 E5 D5 G G5 …
  O: "[~@15 a2 ~@7 d3 ~@7 a2 ~@15 a2 ~@2 g3@2 ~@4 d3 ~@2 g3@2 g3 ~ a2@2 d3 ~ [g3,d4]@36 ~@9, g2@8 g2@6 d3@2 ~@6 e3@2 ~@6 d3@2 ~@2 d3@4 d3@7 g3@5 ~@4 g3@5 ~@3 g3@4 ~@46, ~@2 d3@3 g3@2 g3@4 d4@8 d4@8 d4@8 d4@7 b2@4 d3@2 c3@9 [a2,d3]@7 ~@2 [g2,b2,d3]@36 ~@10, ~@3 d4@7 b2@6 c3@8 [a2,d3]@7 ~ g2@8 g2@8 ~@7 e3@2 ~@55, ~@6 d3@7 g3@5 g3@3 g3@3 ~@2 a3@3 a3@3 ~@5 g3@2 g3@4 d4@8 ~ d4@7 d4@8 ~@45]/7", // G5 D5 G D5
})).s("gm_acoustic_guitar_steel").gain(0.58)

// other · string ensemble 2
const string_ensemble_2 = note("<~@19 A B ~@4 C D C D ~@13 E F ~@7 G H@2 ~@7>".pickRestart({
  A: "d5 b4", B: "c5 d5", C: "e5 d5", D: "c5 g4", E: "e4 d4", F: "c4 d4", G: "g4@12 f#4@2 g4 [f#4,a4]",
  H: "[e4 b3@2 ~]/2",
})).s("gm_string_ensemble_2").gain(0.54)

// other · string ensemble 2
const string_ensemble_2_2 = note("<~@17 A@2 B C ~@6 D E F@2 G B H I J I J I J H K H L D M J A@2 B C ~@10>".pickRestart({
  A: "[g4 f#4@7]/2", B: "g4", C: "f#4", D: "b4 g4", E: "f#4 g4@3", F: "[g4@3 b4]/2", G: "g4 a4", H: "e4 d4", I: "d4 a4",
  J: "g4 f#4", K: "c4 d4", L: "e4 g4", M: "e4 b4",
})).s("gm_string_ensemble_2").gain(0.54).pan(0.4)

// other · string ensemble 2
const string_ensemble_2_3 = note(`<
  ~@17 A B A B A B A B C D C E F@2 G A B A B H I H I J E J E ~@3 A B A B ~@10
>`.pickRestart({
  A: "g2", B: "c3 d3", C: "b2 d3", D: "c3@3 g2@5", E: "c3 g2", F: "[e3@3 g3@7 b3@6]/2", G: "e3 f#3",
  H: "f#3 g3@2 f#3 g3@3 f#3 g3 f#3 g3@2 f#3 g3@3", I: "f#3 g3@2 f#3 g3@3 g3 f#3@8", J: "e3 d3",
})).s("gm_string_ensemble_2").gain(0.54).pan(0.4)

// other · string ensemble 1
const string_ensemble_1 = note("<~@18 A B A ~@5 C ~@6 A B A B A B A D E D E F@2 D ~ A B A ~@4 A B ~@4>".pickRestart({
  A: "c2 d2", B: "g1", C: "c2@3 g1@5", D: "e1 d2", E: "c2 g1", F: "e1 g1",
})).s("gm_string_ensemble_1").gain(0.54).pan(0.6)

stack(acoustic_guitar_steel, string_ensemble_2, string_ensemble_2_2, string_ensemble_2_3, string_ensemble_1)

More by Green Day