Strudelify

I Want to Be Alone

Green Day

KeyD majorTempo192 bpm
0:00/0:00
// I Want to Be Alone — Green Day
// 192 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 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 151 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(192/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.

// bass · electric bass pick · "Bass: Mike"
const bass = note(`<
  ~@11 A B ~@2 A B ~@2 A B ~@2 A B C D E F C D E F C D E F C D G H A I G H A I G H A I G H A I G H A J C D E F C D E F C
  D E F C D G H A I G H A I G H A I G H A I H@2 A I H K A B ~@10 A B ~@2 A B ~@2 A B ~@2 A B C D E F C D E F C D E F C D
  G H A I G H A I G H A I G H A B
>`.pickRestart({
  A: "d2@5 ~ c2@5 ~ d2@4", B: "~@2 c2@5 ~ d2@5 ~@3", C: "g1@3 ~ g1@3 ~ g1@2 g1@2 g1@2 a1@2",
  D: "~@2 a1@2 a1@3 ~ a1@2 a1@2 a1@2 a1@2", E: "d2@3 ~ d2@3 ~ d2@2 d2@2 d2@2 b1@2", F: "~ b2 ~ a2 ~ g2 ~ f#1",
  G: "d2@3 ~ d2@2 d2@2 d2@2 d2@2 d2@2 d2@2", H: "d2!8", I: "~@2 c2@5 ~ d2@5 ~ d2@2", J: "~@2 c2@5 ~ d2@7 ~",
  K: "g#2 a2 c#3@2 d3@2 g2@2 g2!2 f#2@2 f#2!2 g2@2",
})).s("gm_electric_bass_pick").gain(0.72)

// chords · distortion guitar · "Guitar: Billie Joe"
const distortion_guitar = note(`<
  A B C D@2 E C D@2 E C D@2 E C D@2 E C D@2 E C D@2 F G H I F G H I F G H I F G E C D@2 E C D@2 E C D@2 E C D@2 E C D@2
  F G H I F G H I F G H I F G E C D@2 E C D@2 ~@2 D@2 ~@2 J@2 K L M N O P Q R B C D@2 E C D@2 E C D@2 E C D@2 E C D@2 E
  C D@2 F G H I F G H I F G H I F G E C D@2 E C D@2 E C D@2 E C S@2
>`.pickRestart({
  A: "~@7 a2", B: "d3 ~ d3 ~ a3@2 d3 ~ a3@2 g3@2 d3 ~ d3 ~", C: "a3@2 d3 ~ d3 ~ g3@2 d3 ~ d3 ~ a3@2 a2@2",
  D: "[f#3 ~ [d3,f#3] e3 ~ [c3,e3] f#3 ~ [d3,f#3] e3 ~ [c3,e3] f#3 g3 [d3,f#3] e3, d3@2 ~ c3@2 ~ d3@2 ~ c3@2 ~ d3@2 ~@2, ~ g3@3 g3@3 g3@3 g3@3 ~@3]/2", // D C D C D
  E: "d3 ~ d3 ~ a3@2 d3 ~ d3 ~ g3@2 d3 ~ d3 ~",
  F: "[g2,d3,g3]@3 ~ [g2,d3,g3]@3 ~ [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [a2,e3,a3]@2", // G5 A5
  G: "~@2 [a2,e3,a3]@2 [a2,e3,a3]@3 ~ [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2", // A5
  H: "[d3,a3,d4]@3 ~ [d3,a3,d4]@3 ~ [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 [b2,f#3,b3]@2", // D5 B5
  I: "~@2 [b2,f#3,b3]@2 [b2,f#3,b3]@3 ~ [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2", // B5
  J: "[f#3 ~ [d3,f#3] e3 ~ [c3,e3] f#3 ~ [d3,f#3] e3 ~ [c3,e3] f#3 g3 [d3,f#3,a4] [e3,a4], d3@2 ~ c3@2 ~ d3@2 ~ c3@2 ~ d3@2 ~@2, ~ g3@3 g3@3 g3@3 g3@3 ~@3]/2", // D C D C D A5
  K: "a4 d5@5 d5@3 ~ d5@2 e5@4", L: "f#5@5 ~ f#5@3 ~ f#5@3 ~ f#5@2",
  M: "e5@2 ~@2 a4@2 d5@3 ~ e5@2 f#5@2 e5@2, ~ d5@2 ~@5", N: "d5@2 d5@5 ~ d5@3 ~ d5@2 a5@2", O: "a5 g5!2 f#5!2 e5!2 d5",
  P: "f5@2 d5 c#5 a4@2 f4@7 ~ [f4,g4] a4", Q: "g#4 a4 a4@2 a4@2 g#4 a4 a4@2 a4@2 g#4 a4 a4@2",
  R: "a4@2 a4@3 ~ a4@7 ~ c#3@2",
  S: "[f#3@2 ~@2 [d3,f#3]@2 e3@2 ~@2 [c3,e3]@2 f#3@2 ~@2 [d3,f#3]@2 e3@2 ~@2 [c3,e3]@2 [d3,f#3]@5 ~@3, d3@2 ~ c3@2 ~ d3@2 ~ c3@2 ~@5, ~ g3@3 g3@3 g3@3 g3@2 ~@4]/2", // D C D C D
})).s("gm_distortion_guitar").gain(0.72)

// other · guitar harmonics · "listen.to/gd_midis"
const guitar_harmonics = note(`<
  ~@81
  [a4 d4 a4 d4 e4 f#4 g4 d4]
  [g4 d4 g4 f#4 d5!2 f#4 ~]
  ~@2
  [g4 d4 b4 f#4 e5 f#4 b4 d4]
  [g4!2 b4!2 e5!2 f#4 ~]
  ~@64
>`).s("gm_guitar_harmonics").gain(0.72)

// drums · kick
const kick = s("bd").struct(`<
  ~@11 A B ~@2 A B ~@2 A B ~@2 A C D E D F D E D F D E D F D E G H I J G H I J G H I J G H I J G H I J D E D F D E D F D
  E D F D E G H I J G H I J G H I J G H I J G H I J G H I J ~@10 A B ~@2 A B ~@2 A B ~@2 A C D E D F D E D F D E D F D E
  G H I J G H I J G H I J G K I J
>`.pickRestart({
  A: "x ~@2 x ~@2 x ~", B: "~ x ~@2 x ~@3", C: "~ x ~@6", D: "x ~@3 x!2 ~ x", E: "~ x ~@2 x!2 ~@2",
  F: "~ x ~ x ~ x ~ x", G: "x ~@3 x!2 ~@2", H: "x!2 ~ x ~ x ~@2", I: "x ~@2 x ~ x ~@2", J: "x!2 ~@2 x ~@3",
  K: "x!2 ~@2 x!2 ~@2",
})).gain(0.46)

// drums · snare
const snare = s("sd").struct("<~@24 A B@33 C B@37 D ~@23 A B@29 D>".pickRestart({
  A: "~@8 x ~@3 x!3 ~", B: "~ x ~ x", C: "~@4 x ~@7 x!4", D: "~ x ~@2",
})).gain(0.46)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@24 A B C@2 D B C@2 D B C@2 D B C E@2 F G C@2 F G C@2 F G C@2 F G C@2 F H B C@2 D B C@2 D B C@2 D B C ~@2 F G I E F G
  I E F J I E F J ~@6 F H ~@23 A B C@2 D B C@2 D B C@2 D B C E@2 F J C@2 F J C@2 F J B C K ~
>`.pickRestart({
  A: "~ x", B: "~ x!7", C: "x!8", D: "x!7 ~", E: "x!4", F: "~ x ~ x", G: "x!2 ~ x", H: "x!2 ~@2", I: "~ x!3",
  J: "x ~ x ~@2 x ~ x", K: "~ x ~@2",
})).gain(0.46)

// drums · crash
const crash = s("cr").struct(`<
  ~@11 A B ~@2 A B ~@2 A B ~@2 A C D ~@2 E D ~@2 E D ~@2 E D ~@3 F G ~@2 F G ~@2 F G ~@2 F G ~@2 F G D ~@2 E D ~@2 E D
  ~@2 E D ~ D ~ F G H I F G H I F J H I F J D ~ F ~ D ~ F G ~@10 A B ~@2 A B ~@2 A B ~@2 A C D ~@2 E D ~@2 E D ~@2 E D
  ~@3 F J ~@2 F J ~@2 F J D ~ A B
>`.pickRestart({
  A: "x ~@2 x ~@2 x ~", B: "~ x ~@2 x ~@3", C: "~ x ~@6", D: "x", E: "~ x ~ x ~ x ~ x", F: "x ~@2 x ~@4", G: "~ x",
  H: "x ~@2 x ~ x ~ x", I: "~ x ~ x ~@4", J: "~@2 x!2",
})).gain(0.46)

// drums · ride bell
const ride_bell = s("rd").struct("<~@73 A B ~@14 A B A B A B ~@56>".pickRestart({
  A: "~ x!3", B: "x!4",
})).gain(0.46)

// drums · tambourine
const tambourine = s("tb").struct("<~@28 A ~@3 A ~@3 A ~@25 A ~@3 A ~@3 A ~@53 A ~@3 A ~@3 A ~@18>".pickRestart({
  A: "~ x ~ x ~ x ~@2",
})).gain(0.46)

stack(bass, distortion_guitar, guitar_harmonics, kick, snare, open_hat, crash, ride_bell, tambourine)

More by Green Day