Strudelify

Take Back

Green Day

KeyB majorTempo210 bpm
0:00/0:00
// Take Back — Green Day
// 210 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 12 "Billie -2" distortion guitar (copy of ch 11 "Billie -1" overdriven guitar); ch 8 "Track 8" electric bass finger (copy of ch 13 "Mike" electric bass pick)
// note: Full arrangement: all 58 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(210/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 · overdriven guitar · "Billie -1"
const overdriven_guitar = note("<~@4 A@16 B@4 A@20 B@4 A@4 C D@3 ~@2>".pickRestart({
  A: "[[b2,f#3]@3 ~ [b2,f#3]@3 ~ [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [a2,e3]@4 [a2,e3]@2 [a2,e3]@2 [c3,g3,c4]@4 [c3,g3,c4]@2 [c3,g3,c4]@2 [c3,g3,c4]@2]/2", // B5 A5 C5
  B: "[[d#3,a#3,d#4]@3 ~ [d#3,a#3,d#4]@3 ~ [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [a#2,f3,a#3]@4 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [e3,b3,e4]@4 [e3,b3,e4]@2 [e3,b3,e4]@2 [e3,b3,e4]@2]/2", // D#5 A#5 E5
  C: "[b2,f#3,b3]@15 ~", D: "[[b2,f#3,b3]@3 ~ [b2,f#3,b3]@43 ~]/3",
})).s("gm_overdriven_guitar").gain(0.72).pan(1)

// bass · electric bass pick · "Mike"
const bass = note("<A@4 B@16 C@4 B@20 C@4 B@4 D E@4 ~>".pickRestart({
  A: "[b1@63 ~]/4", B: "[b1@3 ~ b1@3 ~ b1@2 b1@2 b1@2 a1@4 a1@2 b1@2 c2@4 c2@2 c2@2 c2@2]/2",
  C: "[d#2@3 ~ d#2@3 ~ d#2@2 d#2@2 d#2@2 a#1@4 a#1@2 a#1@2 e2@4 e2@2 e2@2 e2@2]/2", D: "b1@15 ~",
  E: "[b1@3 ~ b1@47 ~@13]/4",
})).s("gm_electric_bass_pick").gain(0.72).pan(1)

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

// drums · snare
const snare = s("sd").struct("<~@3 A B@7 C B@7 C B@3 D B@3 D B@7 C B@7 C B@3 D B@3 C ~@6>".pickRestart({
  A: "~@7 x", B: "~ x ~ x", C: "~@2 x ~@2 x!3", D: "~@4 x ~@5 x ~ x ~ x!2",
})).gain(0.72)

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

// drums · high tom
const high_tom = s("ht").struct("<~@19 [~@5 x!3] ~@23 [~@5 x!3] ~@14>").gain(0.72)

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

// drums · ride bell
const ride_bell = s("rd").struct("<~@55 x ~ x>").gain(0.72)

stack(overdriven_guitar, bass, kick, snare, open_hat, high_tom, crash, ride_bell)

More by Green Day