Strudelify
Shut Up cover art

Take Off Your Pants And Jacket

Shut Up

blink-182

KeyA majorTempo228 bpm
0:00/0:00
// Shut Up — blink-182
// 228.2 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 185 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(228.2/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 clean · "untitled"
const electric_guitar_clean = note("<~@34 A@4 ~@72 B@2 C D B@2 C D B@2 C D B@2 C D B@2 C D B@2 C D ~@51>".pickRestart({
  A: "[~@15 a3, a2 a2 c#3 d3, ~ a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 ~, ~ e4 ~ e4 ~ e4 ~ e4]/4", B: "[b2,e3,e4]!4",
  C: "[c#3,f#3,e4]!4", D: "[a2,d3,e4]!4",
})).s("gm_electric_guitar_clean").gain(0.64)

// chords · distortion guitar
const distortion_guitar = note("<~@134 A@2 B C A@2 B C A D@7 ~@35>".pickRestart({
  A: "[a2,e3]!4", B: "[c#3,g#3]!4", C: "[d3,a3]!4",
  D: "[[a2,e3]@4 [a2,e3]@4 [a2,e3]@3 [a2,e3]@4 [c#3,g#3]@4 [c#3,g#3]@4 [c#3,g#3]@4 [c#3,g#3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [c#3,g#3]@4 [c#3,g#3]@4 [c#3,g#3]@4 [c#3,g#3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 ~]/7", // A5 C#5 D5 A5 C#5 D5
})).s("gm_distortion_guitar").gain(0.25)

// chords · distortion guitar
const distortion_guitar_2 = note(`<
  A@2 B C D E C@2 D E C@2 D E C@2 D E F@8 ~@12 C@2 D E C@2 D E F@8 ~@8 G ~ H I G ~ H I J@2 G@2 J@2 G K H@2 L G H@2 L G
  H@2 L G H@2 L G@2 ~ H I G ~ H I J@2 G@2 J@2 G K ~@24 M@2 N O P@2 Q M@2 R@8 S@4 T@2 U@7 V@8 W@8 X@5
>`.pickRestart({
  A: "[e3,a3]!4", B: "[a2,e3,a3] [a2,a3] a2 [a2,a3], ~ e4", C: "a2 [a2,a3] a2 [a2,a3], ~ e4",
  D: "c#3 [c#3,a3] c#3 [c#3,a3], ~ e4", E: "d3 [d3,a3] d3 [d3,a3], ~ e4", F: "[a2,e3]/8", G: "[d3,a3]!4",
  H: "[a2,e3]!4", I: "[a3,a4]!6 [a3,a4]@2", J: "[b2,f#3]!4", K: "[d3,a3]", L: "[c#3,g#3]!4", M: "[a3,a4]!8",
  N: "[g#3,g#4]!8", O: "[f#3,f#4]!8", P: "[c#4,c#5]!8", Q: "[b3,b4]!8",
  R: "[[a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4] [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [g#3,g#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [c#4,c#5]@2 [b3,b4]@2 [b3,b4]@2 [b3,b4]@2 [b3,b4]@2 [b3,b4]@2 [b3,b4]@2 [b3,b4]@2 [b3,b4]@2 [d4,d5]@2 [d4,d5]@2 [d4,d5]@2 [d4,d5]@2 [d4,d5]@2 [d4,d5]@2 [d4,d5]@2 [d4,d5]@2 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 ~]/8", // A G# F# C# B D D5
  S: "[~@15 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 ~]/4", // A5 A D5
  T: "[~@15 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a2,e3]@4 [a3,a4]]/2", // A5 A
  U: "[~ [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [d3,a3]]/7", // A B5 D5 B5 D5
  V: "[~@3 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@16 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 c#3@4 [c#3,a3]@4 c#3@4 [c#3,a3]@4 d3@4 [d3,a3]@4 d3@4 [d3,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 c#3, ~@39 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~]/8", // D5 A F#m D5 A
  W: "[~@3 [c#3,a3]@4 c#3@4 [c#3,a3]@4 d3@4 [d3,a3]@4 d3@4 [d3,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 c#3@4 [c#3,a3]@4 c#3@4 [c#3,a3]@4 d3@4 [d3,a3]@4 d3@4 [d3,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 a2@4 [a2,a3]@4 c#3, ~@7 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~@8 e4@8 ~]/8", // F#m D5 A F#m D5 A
  X: "[~@3 [c#3,a3]@4 c#3@4 [c#3,a3]@4 d3@4 [d3,a3]@4 d3@4 [d3,a3]@4 [a2,e3]@48 ~, ~@7 e4@8 ~@8 e4@8 ~@49]/5", // F#m D5 A5
})).s("gm_distortion_guitar").gain(0.64)

// bass · electric bass pick
const bass = note(`<
  ~@2 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C D ~@3 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2
  B C@2 ~ A ~ C ~ A ~ E@2 C@2 E@2 C F A@2 B C A@2 B C A@2 B C A@2 B C@2 ~ A ~ C ~ A ~ E@2 C@2 E@2 C F ~@24 A@2 B C A@2 B
  C A G@8 H@2 I@2 H@2 J@7 K@8 L@8 M@5
>`.pickRestart({
  A: "a1!4", B: "c#2!4", C: "d2!4", D: "a1 ~@3", E: "b1!4", F: "d2",
  G: "[a1@4 a1@4 a1@3 a1@4 c#2@4 c#2@4 c#2@4 c#2@4 d2@4 d2@4 d2@4 d2@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 c#2@4 c#2@4 c#2@4 c#2@4 d2@4 d2@4 d2@4 d2@4 d2@4 d2@4 d2@4 d2@4 ~]/8",
  H: "[~@15 a1@4 a1@4 a1@4 a1@4 ~]/2", I: "[~@15 d2@4 d2@4 d2@4 d2@4 ~]/2",
  J: "[~@15 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 d2@4 d2@4 d2@4 d2@4 d2@4 d2@4 d2@4 d2@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 d2]/7",
  K: "[~@3 d2@4 d2@4 d2@4 d2@16 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 c#2@4 c#2@4 c#2@4 c#2@4 d2@4 d2@4 d2@4 d2@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 c#2]/8",
  L: "[~@3 c#2@4 c#2@4 c#2@4 d2@4 d2@4 d2@4 d2@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 c#2@4 c#2@4 c#2@4 c#2@4 d2@4 d2@4 d2@4 d2@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4 c#2]/8",
  M: "[~@3 c#2@4 c#2@4 c#2@4 d2@4 d2@4 d2@4 d2@4 a1@48 ~]/5",
})).s("gm_electric_bass_pick").gain(0.64)

// bass · electric bass pick
const bass_2 = note("<~@110 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C ~@51>".pickRestart({
  A: "b2 ~ e3 b2, ~ b2@2 ~", B: "c#3 ~ e3 c#3, ~ c#3@2 ~", C: "a2 ~ e3 a2, ~ a2@2 ~",
})).s("gm_electric_bass_pick").gain(0.25)

// other · distortion guitar
const distortion_guitar_3 = note(`<
  ~@51 A ~ B ~@4 C A D E F ~@19 C A D A ~@4 D A D A ~@76 G@2 ~@2 G@2 ~@2 G@2 ~@5
>`.pickRestart({
  A: "e4 c#4", B: "e4!2", C: "~@3 c#4", D: "~ c#4 e4 c#4", E: "e4 f#4", F: "e4@3 ~",
  G: "[~@3 a3@4 c#4@4 a3@4 a3@12 ~@5]/2",
})).s("gm_distortion_guitar").gain(0.19)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A B C D A E F G A H C D A E I J C F C F C F C F C F C F C F C F K ~@3 A B C D A E F G C F C F C F C F C F C F C F
  C F L M N ~ L M N ~ O@7 K A B A P A B A P A B A P A B A P L M N ~ L M N ~ O@7 K@2 ~@15 A B A B A B A B A B C D A E F G
  A Q R S T R U V W X Y Z W X Y Z AA@7 Z T AB R S T R AC AD T AE R S T R@2 AE ~@3
>`.pickRestart({
  A: "x ~@2 x ~@2 x ~", B: "~@3 x ~ x ~@2", C: "x ~@2 x ~@3 x", D: "~@3 x ~@4", E: "~@3 x ~@3 x", F: "~@2 x ~@2 x ~@2",
  G: "x ~@2 x!3 ~@2", H: "~@3 x ~@2 x ~", I: "~@2 x!2 ~@4", J: "x!2 ~ x ~@4", K: "x", L: "x!2 ~@2 x!2 ~@2",
  M: "x!2 ~@2", N: "x!2 ~@2 x!2 ~ x", O: "x!2 ~ x", P: "~ x ~ x ~@4", Q: "~@6 x ~@4 x ~@3 x", R: "~@5 x ~@7 x ~@2",
  S: "~@5 x ~@9 x", T: "~@5 x ~@5 x ~@4", U: "~@3 x ~ x ~@9 x", V: "~ x ~@3 x ~@9 x", W: "~ x ~@5 x ~ x ~@5 x",
  X: "~@3 x ~@11 x", Y: "~ x ~@5 x ~ x ~@3 x ~@2", Z: "~@15 x", AA: "~@3 x ~@7 x ~@3 x", AB: "~@5 x ~@3 x ~@5 x",
  AC: "~@3 x ~@5 x ~@5 x", AD: "~@5 x ~ x ~ x ~@5 x", AE: "~@5 x ~@5 x ~@3 x",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  ~@2 A B C D A B E F A B C D A B G H ~@20 A B C D A B E F ~@16 I A I J I A I J A@2 K L A@2 M ~ A B N O A B N E A B N O
  A B N O I A I J I A I J A@2 K L A@2 M ~@17 A B A B A B A B A B C D A B E F A B P Q R S T U V R W R V R W R@3 X Y R@2 Z
  ~ R AA P Q R S AB@2 R AA P Q R S AC R ~@3
>`.pickRestart({
  A: "~ x", B: "~ x ~@2 x ~@3", C: "~@2 x!2", D: "~ x ~@2 x!2 ~@2", E: "x ~@2 x", F: "~@3 x", G: "x!2 ~@2 x ~ x!2",
  H: "~ x!2 ~", I: "~@3 x ~@2 x ~", J: "x!2", K: "~@4 x!2 ~ x", L: "~ x ~ x!2 ~@3", M: "~ x ~@2", N: "~@2 x ~@2 x ~@2",
  O: "x ~@3 x!3 ~", P: "~@7 x ~@3 x ~@4", Q: "~ x ~@5 x ~ x ~@6", R: "~@7 x ~@8", S: "~ x ~@5 x ~@7 x",
  T: "~ x ~@5 x ~@3 x ~ x ~@2", U: "~@3 x ~@3 x ~@8", V: "~@5 x ~@5 x ~@4", W: "~@5 x ~@5 x ~@3 x",
  X: "~@7 x ~ x ~@3 x ~@2", Y: "~ x ~@3 x ~ x ~@8", Z: "~@3 x ~@12", AA: "~ x ~@5 x ~@8", AB: "~@11 x ~@4",
  AC: "~ x ~@14",
})).gain(0.4)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@65 A ~@3 A ~@27 A ~@3 A ~@51 B ~@3 B ~@27>".pickRestart({
  A: "~@6 x!2 ~@8", B: "~@5 x!2 ~@9",
})).gain(0.2)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@17 A ~@47 B ~@3 B ~@3 B ~@2 C ~@20 B ~@3 B ~@3 B ~@2 C ~@40 D ~@3 E ~@3 E ~@3 E ~@2 F ~@15 G H ~@3
>`.pickRestart({
  A: "~@3 x", B: "~@6 x!2", C: "~@11 x!2 ~@3", D: "~@11 x ~@4", E: "~@11 x ~ x ~@2", F: "~@10 x!2 ~@4", G: "~@15 x",
  H: "~ x ~@14",
})).gain(0.4)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  ~@18 A B A B A B A B A B A B A B A B ~@12 A B A B A B A B A B A B A B A B ~@123
>`.pickRestart({
  A: "~ x!3", B: "x!4",
})).gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@8 A B ~@7 C ~@26 A B ~@16 D ~ D E D ~ D E ~@2 F G ~@2 H ~@8 I ~@8 D ~ D E D ~ D E ~@2 F G ~@2 H ~@31 A B ~@7 J ~ K ~
  L ~ K ~ M ~@2 N O ~@2 P ~@7 Q R ~@6 S T ~@3
>`.pickRestart({
  A: "~@3 x ~@4", B: "~ x ~@2 x!2 ~@2", C: "~@5 x!2 ~", D: "x", E: "~ x!2 ~@2 x!3", F: "~ x ~@2", G: "~@5 x!3",
  H: "~@8 x ~ x!3 ~@3", I: "~@4 x!2 ~@2", J: "~@9 x ~ x ~@3 x", K: "~@15 x", L: "~ x ~ x ~@5 x ~ x ~ x ~ x",
  M: "~ x ~ x ~@5 x ~ x ~ x ~@2", N: "~@3 x ~@12", O: "~@9 x ~ x ~ x ~@2", P: "~@7 x ~ x!3 ~@4", Q: "~@5 x ~@10",
  R: "~ x ~@5 x ~ x ~@6", S: "~@7 x ~ x ~@5 x", T: "~ x ~@14",
})).gain(0.4)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@62 A ~ A ~ A ~ A ~@12 B ~@7 B ~@3 B A ~ A ~ A ~ A ~@49 C ~ C ~ C ~ C ~@28
>`.pickRestart({
  A: "~ x ~@2", B: "~@7 x", C: "~@3 x ~@12",
})).gain(0.4)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@2 A B C D A B E F A B C D A B G H ~@20 A B C D A B E F ~@16 E A E I E A E I A@2 J K A@2 H ~ A B L M A B L M A B L M
  A B L M E A E I E A E I A@2 J K A@2 H ~@17 A B A B A B A B A B C D A B E F A B N O P Q R S T U V W T U V O P@2 X Y P@2
  Z ~ P AA N O P Q T AB P AA N O P Q O ~@4
>`.pickRestart({
  A: "~ x", B: "~ x ~@2 x ~@3", C: "~@2 x!2", D: "~ x ~@2 x!2 ~@2", E: "x ~@2 x ~@2 x ~", F: "~ x ~@4 x ~",
  G: "x!2 ~@2 x ~ x!2", H: "~@2 x ~ x!2 ~@2", I: "x!2 ~@2 x!2 ~@2", J: "~@2 x ~ x!2 ~ x", K: "~ x ~ x!3 ~@2",
  L: "~@2 x ~@2 x ~@2", M: "x ~@3 x!3 ~", N: "~@7 x ~@3 x ~@4", O: "~ x ~@5 x ~ x ~@6", P: "~@7 x ~@8",
  Q: "~ x ~@5 x ~@7 x", R: "~ x ~@5 x ~@3 x ~ x ~@2", S: "~@3 x ~@3 x ~ x ~@5 x", T: "~@5 x ~@5 x ~@4",
  U: "~@7 x ~@7 x", V: "~@5 x ~@5 x ~@3 x", W: "~ x ~@5 x ~ x ~@5 x", X: "~@3 x ~@3 x ~ x ~@3 x ~@2",
  Y: "~ x ~@3 x ~ x ~ x ~@6", Z: "~@3 x ~@3 x ~ x ~@6", AA: "~ x ~@5 x ~@8", AB: "~ x ~@9 x ~@4",
})).gain(0.4)

// drums · high tom · soft notes
const high_tom_soft = s("ht").struct("<~@18 [~ x]!16 ~@12 [~ x]!16 ~@123>").gain(0.15)

// drums · tambourine
const tambourine = s("tb").struct("<~@18 [~ x]!16 ~@12 [~ x]!16 ~@123>").gain(0.45)

// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct(`<
  ~@19 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@13 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@123
>`.pickRestart({
  A: "~ x ~@5 x",
})).gain(0.15)

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

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~@16 A B C A C A C A C A C A C A C A C A ~@12 C A C A C A C A C A C A C A C A ~@16 D E@2 F D E@2 G D E@2 F D E@2 F
  ~@54 H ~@36
>`.pickRestart({
  A: "~ x ~@2", B: "x", C: "x ~@6 x", D: "~ x!3", E: "x!4", F: "x!3 ~", G: "x!2 ~@2", H: "~@3 x ~@11 x",
})).gain(2.01)

stack(
  electric_guitar_clean, distortion_guitar, distortion_guitar_2, bass, bass_2, distortion_guitar_3, kick, snare,
  snare_soft, low_tom, pedal_hat, mid_tom, open_hat, high_tom, high_tom_soft, tambourine, tambourine_soft, splash,
  cabasa
)

More by blink-182