0:00/0:00
// Aliens Exist — blink-182
// 125 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 85 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · "Tom - guitar"
const overdriven_guitar = note(`<
~ A B C ~@6 D E F E G H I H I J K H L M N M O P Q R S T@3 U V U W X Y X Y Z AA X AB M N M O P Q R S ~@2 AC AD@3 AE AF
AG AH AI@8 AJ AK AL AM AN AO AP AQ AR AS AT AU@2
>`.pickRestart({
A: "~@15 f3", B: "f3!5 ~ f3!10", C: "f3 ~", D: "~@7 [c4,d4] e4@7 a3",
E: "[f3,a3]!3 ~ [f3,a3] ~ [d3,f3]!4 [c3,e3] ~ [c3,e3] ~ [c3,e3]!2", // F Dm C
F: "[c3,e3]!2 [d3,f3] ~ [d3,f3] ~ [d3,f3]!4 [b2,d3] ~ [b2,d3] [d3,f3] g3 a3", // C Dm Bm Dm
G: "[c3,e3]!2 [d3,f3] ~ [d3,f3] ~ [d3,f3]!4 [b2,d3] ~ [b2,d3] ~@3", H: "e3!8 c3!8", I: "d3!8 b2!8", J: "e3!8 g3!8",
K: "f3!8 d3!8", L: "d3!8 ~@8", M: "f3 ~ f3!14", N: "e3 ~ e3!14", O: "g3 ~ g3!14",
P: "[f3,a3]!2 [d3,f3] ~ [f3,a3]!2 [d3,f3] ~ [g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~", // F Dm F Dm G F G F
Q: "[g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~", // G F G F G F G F
R: "[d3,f3]!2 [c3,e3] ~ [d3,f3]!2 [c3,e3] ~ [d3,f3]!2 [c3,e3] ~ [d3,f3]!2 [c3,e3] ~", // Dm C Dm C Dm C Dm C
S: "[e3,g3]!2 [d3,f3] ~ [e3,g3]!2 [d3,f3] ~ [e3,g3]!2 [d3,f3] ~ [e3,g3]!2 [d3,f3] ~", // Em Dm Em Dm Em Dm Em Dm
T: "[[a2,c3]@4 [c3,e3]@8 [c3,e3]@8 [c3,e3]@8 [b2,d3]@8 [d3,f3]@4 [c3,e3]@4 [f3,a3]!3 ~]/3", // Am C Bm Dm C F
U: "[f3,a3] ~ [d3,f3]!4 [c3,e3] ~ [c3,e3] ~ [c3,e3]!4 [d3,f3] ~", // F Dm C Dm
V: "[d3,f3] ~ [d3,f3]!4 [b2,d3] ~ [b2,d3] [d3,f3] g3 a3 [f3,a3]!3 ~", // Dm Bm Dm F
W: "[d3,f3] ~ [d3,f3]!4 [b2,d3] ~ [b2,d3] ~@3 e3!4", X: "e3!4 c3!8 d3!4", Y: "d3!4 b2!8 e3!4", Z: "e3!4 g3!8 f3!4",
AA: "f3!4 d3!8 e3!4", AB: "d3!4 ~@12", AC: "~@12 b3!4", AD: "b3!16", AE: "b3!12 [b3,e4]!4",
AF: "[b3,e4]!14 [b3,d4]!2", AG: "[b3,d4]!12 [b3,f4]!4", AH: "[b3,f4]!14 [b3,d#4]!2",
AI: "[[b3,d#4]!12 [a2,c3,e3]@16 [d2,f2,a2]@16 [e2,g2,b2]@16 [b1,d2,f2]@16 [a2,c3,e3]@16 [d2,f2,a2]@16 [e2,g2,b2]@16 [b1,d2,f2]@4]/8", // B Am Dm Em Bdim Am Dm Em …
AJ: "~@12 f3 ~ f3!2", AK: "f3!12 e3 ~ e3!2", AL: "e3!12 f3 ~ f3!2", AM: "f3!12 g3 ~ g3!2",
AN: "g3!12 [f3,a3]!2 [d3,f3] ~", // F Dm
AO: "[f3,a3]!2 [d3,f3] ~ [g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~", // F Dm G F G F G F
AP: "[g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~ [g3,b3]!2 [f3,a3] ~ [d3,f3]!2 [c3,e3] ~", // G F G F G F Dm C
AQ: "[d3,f3]!2 [c3,e3] ~ [d3,f3]!2 [c3,e3] ~ [d3,f3]!2 [c3,e3] ~ [e3,g3]!2 [d3,f3] ~", // Dm C Dm C Dm C Em Dm
AR: "[e3,g3]!2 [d3,f3] ~ [e3,g3]!2 [d3,f3] ~ [e3,g3]!2 [d3,f3] ~ [a2,c3]@4", AS: "e3 c3", AT: "d3 g2", AU: "c3/2",
})).s("gm_overdriven_guitar").gain(0.4)
// bass · electric bass finger · "Mark - bass"
const bass = note(`<
~ A B C D E D@2 E D ~ D E D F D E D F D E D F D E D F D E D F ~@2 G H I J K H I J K H I J L D E D F D E D F ~@2 M N@3
O P Q R S N@7 T H I J K H I J U N V W@2
>`.pickRestart({
A: "~@15 f2", B: "f2!5 ~ f2!3 e2!3 f2 a2 b2 e3", C: "f2!16", D: "d2!16", E: "e2!16", F: "c2!16", G: "~@12 d2!4",
H: "d2!12 e2!4", I: "e2!12 d2!4", J: "d2!12 c2!4", K: "c2!12 d2!4", L: "c2!12 ~@4", M: "~@6 e2!2", N: "e2!8",
O: "e2!6 a2!2", P: "a2!7 g2", Q: "g2!6 b2!2", R: "b2!7 c2", S: "c2!6 e2!2", T: "d2@2 d2@2 d2@2 d2@2 d2@2 d2@2 d2!4",
U: "c2!12 ~@2 e2@2", V: "d2", W: "[e2@3 ~]/2",
})).s("gm_electric_bass_finger").gain(0.41)
// drums · kick
const kick = s("bd").struct(`<
A B C D@7 E ~@2 F G D@7 H ~@2 F G I@4 J ~ K ~ L M N D@7 O ~@2 F G I@4 J ~ P D@3 Q D@11 R ~ L M N S@3 T U ~ V ~
>`.pickRestart({
A: "~@13 x!2 ~", B: "x!3 ~@2 x!3 ~ x!3 ~@2 x!2", C: "x ~ x!3 ~@2 x!3 ~ x!3 ~@2", D: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2",
E: "x!2 ~@2 x!2 ~@2 x!2 ~ x!3 ~@2", F: "~@3 x!2 ~ x ~ x ~@3 x!2 ~@2", G: "x!7 ~ x!2 ~@2 x!2 ~@2",
H: "x!2 ~@2 x!2 ~@2 x!3 ~ x!3 ~", I: "x!2 ~@2 x!2 ~@3 x!2 ~@2 x!2 ~", J: "~@6 x!6 ~@4", K: "~@5 x!2 ~ x!2 ~@6",
L: "~@15 x", M: "x ~ x ~ x ~@3 x!2 ~@2 x!4", N: "x!3 ~ x!2 ~@2 x!2 ~@2 x!2 ~@2", O: "x!2 ~@2 x!3 ~ x!3 ~@5",
P: "~@5 x!2 ~ x!2 ~@2 x!2 ~@2", Q: "x!2 ~@2 x!3 ~ x!3 ~ x!2 ~@2", R: "x!2 ~@2 x!2 ~@2 x!4 ~@4",
S: "x!2 ~@3 x!2 ~@2 x!2 ~ x!2 ~@2", T: "x!2 ~@3 x!2 ~@2 x!2 ~@5", U: "~@2 x!6 ~@8", V: "~@5 x ~@5 x!3 ~@2",
})).gain(0.41)
// drums · snare
const snare = s("sd").struct(`<
~@3 A@7 B C@2 D E A@7 B C@2 D E ~@4 F G ~ H@2 I J A@7 F C@2 D E ~@4 F G K A@3 L A@11 B H@2 I M ~@3 K ~@2 F ~
>`.pickRestart({
A: "~ x ~ x ~ x ~ x", B: "~ x ~ x ~@4", C: "~@2 x ~@3 x!2", D: "~@5 x ~ x", E: "~ x ~ x ~ x ~@4 x!6", F: "~ x ~@6",
G: "~@15 x", H: "x ~@3 x!2 ~@2", I: "~@6 x ~@3 x ~@2 x ~ x", J: "~ x ~@4 x!6 ~@2 x ~", K: "~@7 x",
L: "~@2 x!11 ~ x ~", M: "~ x ~@4 x!6 ~@4",
})).gain(0.41)
// drums · low tom
const low_tom = s("lt").struct(`<
~@2 A ~@8 B C D ~@9 B C D ~@5 E ~ F G H ~@10 B C D ~@5 E ~ I ~@15 J G H ~@6 K ~ L ~
>`.pickRestart({
A: "~@14 x!2", B: "x ~ x ~@5 x!3 ~@5", C: "x!3 ~@5 x ~ x ~@5", D: "~ x!2 ~@13", E: "~@4 x!2 ~@10",
F: "~@3 x ~@8 x ~ x ~", G: "~@4 x!3 ~@5 x!3 ~", H: "~@4 x ~ x ~@6 x!2 ~", I: "~@3 x ~@12", J: "~@6 x!2",
K: "x!2 ~@14", L: "~@2 x ~@2 x ~@2",
})).gain(0.41)
// drums · hihat
const hihat = s("hh").struct(`<
~@32
[~@2 x ~ x ~ x ~ x ~ x ~ x!2 ~@2]
~@22
[~@2 x ~ x ~ x ~ x ~ x ~ x!2 ~@2]
~@25
[~@7 x]
[x!8]
~@2
>`).gain(0.41)
// drums · mid tom
const mid_tom = s("mt").struct(`<
A B C ~@7 D ~@2 E ~@8 F ~@2 E ~ G@4 H ~ I ~ J ~@9 K ~@2 E ~ G@4 H ~ I ~@17 J ~ L M@3 N ~@2 O ~
>`.pickRestart({
A: "~@15 x", B: "~@3 x ~@4 x ~@3 x ~@3", C: "~ x ~@4 x ~@3 x ~@3 x ~", D: "~@7 x ~@2 x ~@3 x ~", E: "x",
F: "~@11 x ~@3 x", G: "~@2 x ~@4 x ~@3 x ~@4", H: "x ~@2 x ~@12", I: "~ x!2 ~@13", J: "~@3 x", K: "~@7 x ~@3 x ~@4",
L: "~@7 x", M: "~@3 x ~@3 x ~@6 x ~", N: "~@3 x ~@3 x ~@4 x ~@2 x", O: "x ~@2 x ~@3 x ~ x ~@6",
})).gain(0.41)
// drums · open hat
const open_hat = s("oh").struct("<~@3 A@7 B ~@3 C A@7 D ~@3 C ~@10 E A@6 F G ~@3 C ~@26 H ~@8>".pickRestart({
A: "x!8", B: "x!4 ~@4", C: "~@4 x!4", D: "x!7 ~ x ~ x ~ x ~ x ~", E: "~@2 x!6", F: "x ~ x ~ x ~ x ~ x ~ x ~ x!4",
G: "x!3 ~ x ~ x ~ x ~ x ~@5", H: "~@2 x!4 ~@2",
})).gain(0.41)
// drums · crash
const crash = s("cr").struct(`<
~@10 A B@3 C ~@8 B@3 C D@4 E F E B@3 G ~@8 B@3 C D@4 E F E B@15 H B@3 I J@3 K L ~ M ~
>`.pickRestart({
A: "~@15 x", B: "x!8", C: "x!4 ~@4", D: "x ~ x ~ x ~ x ~ x!8", E: "~@6 x!2", F: "x", G: "x!2 ~@6",
H: "x!2 ~ x ~ x!2 ~ x ~ x!6", I: "x!2 ~@4 x!2", J: "x ~ x ~ x!9 ~ x ~", K: "x ~ x ~ x!8 ~@4", L: "~@4 x!3 ~",
M: "~@7 x",
})).gain(0.41)
stack(overdriven_guitar, bass, kick, snare, low_tom, hihat, mid_tom, open_hat, crash)
More by blink-182
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.