Strudelify
In the End cover art

1994 · Dookie

In the End

Green Day

KeyE majorTempo139 bpm
0:00/0:00
// In the End — Green Day
// 139 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 61 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(139/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · electric guitar clean · "Guitar 1 - Electric"
const electric_guitar_clean = note(`<
  ~ A@7 B C D B E F G A@9 B C D B E F G A@4 H@15 I C D B E F G A@2 J K
>`.pickRestart({
  A: "[g#2,d#3,g#3]@3 [g#2,d#3,g#3]@3 [g#2,d#3,g#3]@2 [f#2,c#3,f#3]@3 [f#2,c#3,f#3]@3 [f#2,c#3,f#3]@2", // G#5 F#5
  B: "[g#2,d#3,g#3]@2 [g#2,d#3,g#3] [g#2,d#3,g#3]@2 [g#2,d#3,g#3]!3 [g#2,d#3,g#3]@2 [g#2,d#3,g#3] [g#2,d#3,g#3]@2 [g#2,d#3,g#3]!3", // G#5
  C: "[c#3,g#3,c#4]@2 [c#3,g#3,c#4] [c#3,g#3,c#4]@2 [c#3,g#3,c#4]!3 [c#3,g#3,c#4]@2 [c#3,g#3,c#4] [c#3,g#3,c#4]@2 [c#3,g#3,c#4]!3", // C#5
  D: "[d#3,a#3,d#4]@2 [d#3,a#3,d#4] [d#3,a#3,d#4]@2 [d#3,a#3,d#4]!3 [d#3,a#3,d#4]@2 [d#3,a#3,d#4] [d#3,a#3,d#4]@2 [d#3,a#3,d#4]!3", // D#5
  E: "[f2,c3,f3]@2 [f2,c3,f3]!6 [f2,c3,f3]@2 ~@6", // F5
  F: "[c#3,g#3,c#4]@3 [c#3,g#3,c#4]@3 [c#3,g#3,c#4]@2 [c#3,g#3,c#4]@3 [c#3,g#3,c#4]@3 [c#3,g#3,c#4]@2", // C#5
  G: "[g2,d#3,g3]@3 [g2,d#3,g3]@3 [g2,d#3,g3]@2 [g2,d#3,g3]@3 [g2,d#3,g3]@3 [g2,d#3,g3]@2", // Cm
  H: "g#2@3 c3@3 g#2@2 f#2@3 c#3@3 f#2@2", I: "[g#2,d#3,g#3]!16",
  J: "[g#2,d#3,g#3]@3 [g#2,d#3,g#3]@3 [g#2,d#3,g#3]@2 [f#2,c#3,f#3]@3 [f#2,c#3,f#3]@3 [g#2,c#3,f#3]@2", // G#5 F#5 C#sus4
  K: "[g#2,d#3,g#3]@3 ~@13", // G#5
})).s("gm_electric_guitar_clean").gain(0.41)

// bass · fretless bass · "Guitar 2 - Bass"
const bass = note("<~ A@7 B C D E F C G A@9 B C D E F C G A@4 H@15 I C D E F C G A@3 J>".pickRestart({
  A: "g#2@3 g#2@3 g#2@2 f#2@3 f#2@3 f#2@2", B: "g#2@2 g#2!2 g#2@2 g#2!2 g#2@2 g#2 g#2@2 a#2 g#2@2",
  C: "c#3@3 c#3@3 c#3@2 c#3@3 c#3@3 c#3@2", D: "d#3@3 d#3@3 d#3@2 d#3@3 d#3@3 d#3@2",
  E: "g#2@3 g#2@3 g#2@2 g#2@3 g#2@3 g#2@2", F: "f2@2 f2!6 f2@2 ~@6", G: "g2@3 g2@3 g2@2 g2@3 g2@3 g2@2",
  H: "g#2@3 d#2@3 g#2@2 f#2@3 d#2@3 f#2@2", I: "g#2!16", J: "g#2@3 ~@13",
})).s("gm_fretless_bass").gain(0.22)

// other · distortion guitar · "Guitar 3 - Distortion"
const distortion_guitar = note("<~@36 A B A B A B A B A B A B A B ~@11>".pickRestart({
  A: "~@7 f3", B: "f#3@3 ~",
})).s("gm_distortion_guitar").gain(0.31)

// drums · kick
const kick = s("bd").struct("<~ A@7 B A@3 C A@11 B A@3 C A@6 D@15 ~ A@3 C A@4 E C>".pickRestart({
  A: "x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2", B: "x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~", C: "x", D: "x!4",
  E: "x ~@2 x ~ x ~@2 x ~@7",
})).gain(0.41)

// drums · snare
const snare = s("sd").struct("<A B@7 C B@3 D B@11 C B@3 D B@6 E@7 F E G H@2 I@2 E J B@3 D B@4 K L>".pickRestart({
  A: "~@7 x", B: "~ x ~ x ~ x ~ x", C: "~@2 x ~@2 x ~@4 x ~@2 x ~@2", D: "~@2 x!7 ~@7",
  E: "x ~ x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~", F: "x ~ x!2 ~ x!2 ~ x!8", G: "x ~ x!7 ~ x!2 ~ x!2 ~",
  H: "x ~ x!2 ~@2 x ~ x ~ x!2 ~@2 x ~", I: "x ~ x!2 ~ x!2 ~ x ~ x!5 ~", J: "x!16", K: "~@2 x ~@3 x ~@3 x!2 ~ x!2 ~",
  L: "x",
})).gain(0.41)

// drums · hihat
const hihat = s("hh").struct("<~@12 [~ x] ~@15 [~ x] ~@25 [~ x] ~@6>").gain(0.31)

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

// drums · crash
const crash = s("cr").struct("<~@13 A ~@2 B A ~@11 A ~@21 A ~@3 A ~@4 A>".pickRestart({
  A: "x", B: "~@2 x!2",
})).gain(0.31)

// drums · ride
const ride = s("rd").struct("<~@51 x ~@9>").gain(0.41)

stack(electric_guitar_clean, bass, distortion_guitar, kick, snare, hihat, open_hat, crash, ride)

More by Green Day