Strudelify

What Went Wrong

blink-182

KeyA majorTempo113 bpm
0:00/0:00
// What Went Wrong — blink-182
// 112.5 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 89 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112.5/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.

// other · acoustic guitar nylon · "Tom - Guitar 1"
const acoustic_guitar_nylon = note("<A B C@4 ~@8 A B C@2 ~@16 A B C@2 ~@16 D@2 E@2 F G H I ~@18 J@8 ~>".pickRestart({
  A: "[e3,e4]@3 [b3,b4]@3 [a3,a4]@6 ~@4", B: "~@3 [b3,b4]@3 [a3,a4]@6 ~@4, [e3,e4]@3 ~@5",
  C: "~@3 [a3,a4]@3 ~@2, [e3,e4]@3 ~@5, ~@3 [b3,b4]@6 ~@7", D: "f#2 a3 e4 a3 f#2 a3 c#4 a3",
  E: "d3 a3 e4 a3 d3 a3 c#4 a3", F: "a2 a3 e4 a3 a2 a3 c#4 a3", G: "c#3 a3 e4 a3 c#3 a3 c#4 a3",
  H: "d3 a3 c#4 d3 a3 c#4 d3 a3",
  I: "[d3,a3,c#4]@2 [d3,a3,c#4]!3 [d3,a3,c#4]@2 [d3,a3,c#4]@2 [d3,a3,c#4]!3 [d3,a3,c#4]@2 [d3,a3,c#4]@2", // Dmaj7
  J: "[e3,e4]@3 ~@3 [a3,a4]@6 ~@4, ~@3 [b3,b4]@6 ~@7", // E A B
})).s("gm_acoustic_guitar_nylon").gain(0.45)

// chords · acoustic guitar nylon · "Tom - Guitar 2"
const acoustic_guitar_nylon_2 = note(`<
  ~@2 A B A B C D E F C D E F A B A B C D E F C D E F G H I J G H I J A B A B C D K L C D E F G H I J G H I J M ~@6 N O
  P O P O P O A Q A@2 R A R A R A R A B A B A B A B S
>`.pickRestart({
  A: "[a2,e3,a3]@2 [a2,e3,a3]!2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]!2", // A5
  B: "[f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]!2", // F#5 D5
  C: "[a2,e3,a3]@2 [a2,e3,a3]!2 [a2,e3,a3]@2 [a2,e3,a3]!2 [a2,e3,a3]@2 [a2,e3,a3]!2 [a2,e3,a3]@2 [a2,e3,a3]!2", // A5
  D: "[f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2", // F#5
  E: "[e3,b3,e4]@2 [e3,b3,e4]!2 [e3,b3,e4]@2 [e3,b3,e4]!2 [e3,b3,e4]@2 [e3,b3,e4]!2 [e3,b3,e4]@2 [e3,b3,e4]!2", // E5
  F: "[d3,a3,d4]@2 [d3,a3,d4]!2 [d3,a3,d4]@2 [d3,a3,d4]!2 [d3,a3,d4]@2 [d3,a3,d4]!2 [d3,a3,d4]@2 [d3,a3,d4]!2", // D5
  G: "[a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]!2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2", // A5
  H: "[g#2,d#3,g#3]@2 [g#2,d#3,g#3]@2 [g#2,d#3,g#3]@2 [g#2,d#3,g#3]!2 [g#2,d#3,g#3]@2 [g#2,d#3,g#3]@2 [g#2,d#3,g#3]@2 [g#2,d#3,g#3]@2", // G#5
  I: "[f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2", // F#5
  J: "[d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]!2 [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2", // D5
  K: "[e3,b3,e4]@2 [e3,b3,e4]!2 [e3,b3,e4]@2 [e3,b3,e4]!2 [e3,b3,e4]@2 [e3,b3,e4]!6", // E5
  L: "[d3,a3,d4]@2 [d3,a3,d4]!2 [d3,a3,d4]@2 [d3,a3,d4]!2 [d3,a3,d4]@2 [d3,a3,d4]!6", M: "[c#3,f#3] ~@7, f#2",
  N: "~@9 [d3,a3,c#4]!3 [d3,a3,c#4]@2 [d3,a3,c#4]@2", O: "[a2,e3,a3]!8", P: "[d3,a3,d4]!8",
  Q: "[f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2", // F#5
  R: "[f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4]@2 [d3,a3,d4] [a2,d3,e3,a3,d4]", // F#5 D5 Asus4
  S: "[a2,e3,a3]", // A5
})).s("gm_acoustic_guitar_nylon").gain(0.37)

// other · clarinet · "Some dude on clarinet"
const clarinet = note("<~@26 A B C D A B C D ~@12 A B C D A B C D ~@8 A E A F A E G@2 H A ~@17>".pickRestart({
  A: "a3", B: "g#3", C: "f#3", D: "d4", E: "g#3@3 a3@3 b3@2", F: "c#4@3 d4@3 e4@2", G: "[c#4@11 a3@3 e3@2]/2", H: "b3",
})).s("gm_clarinet").gain(0.45)

stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2, clarinet)

More by blink-182