Strudelify

Bad

U2

KeyA majorTempo100 bpm
0:00/0:00
// Bad — U2
// 100 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 56 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · electric guitar muted
const electric_guitar_muted = 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 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
>`.pickRestart({
  A: "[a2,a3,d4]@2 [a2,a3,d4]!4 a2@3 a2!7, ~@3 [a3,c#4]@5", B: "[d3,e4]@2 [d3,e4]!4 d3@3 d3!7, ~@3 d4@5",
})).s("gm_electric_guitar_muted").gain(0.41)

// bass · electric bass pick
const bass = note("<~@19 A B A C A B A D E F@2 D E F@2 D E F@2 D E F@2 D E F@2 D E F@2 D E F@2 D E>".pickRestart({
  A: "~@3 g2", B: "a1", C: "d2", D: "d2@3 g2", E: "d2@4 a2@2 d2@2 d3 ~ a2@2 g2@2 a2@2", F: "[a1@7 g2]/2",
})).s("gm_electric_bass_pick").gain(0.41)

// drums · kick
const kick = s("bd").struct("<~@20 [~ x ~ x ~ x ~ x]!36>").gain(0.41).pan(0.9)

// drums · splash
const splash = s("cr").struct("<A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@37>".pickRestart({
  A: "~ x",
})).gain(0.41).pan(0.9)

// drums · shaker
const shaker = s("sh").struct("<~@20 [x!16]!36>").gain(0.41).pan(0.9)

stack(electric_guitar_muted, bass, kick, splash, shaker)

More by U2