0:00/0:00
// First Date — blink-182
// 191 bpm, 8/8, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 133 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(191/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 · distortion guitar
const distortion_guitar = note(`<
~@2 A B@2 C A B@2 C ~@8 D@8 E F G H E F G H I J G H I J G H A B@2 C A B@2 C ~@8 D@8 E F G H E F G H I J G H I J G H K
L M N K L M N K L M N K L M N K L M N K L M N E F G H E F G H I J G H I J G H A B@2 C A B@2 C O@3
>`.pickRestart({
A: "e4 ~@3 c4@2 c4@2, ~ c4@3 ~@4, ~ g3@3", B: "d4 ~@3 c4@2 c4@2, ~ c4@3 ~@4, ~ g3@3",
C: "d4 ~@3 b3@2 b3@2, ~ c4@3 ~@4, ~ g3@3", D: "~@2 c4 ~ c4 ~ c4 ~@3 c4 ~ c4 ~ c4 ~", E: "[c3,g3,c4]!3 ~@5",
F: "[b2,g3,c4]!3 ~@5", G: "[a2,e3,a3]!8", H: "[f2,c3,f3]!4 [g2,d3,g3]!4", I: "[c3,g3,c4]!8", J: "[b2,g3,c4]!8",
K: "~@2 [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // C5
L: "~@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
M: "~@2 [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // F5
N: "~@2 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", O: "[[c3,g3,c4]@5 ~]/3",
})).s("gm_distortion_guitar").gain(0.64)
// chords · distortion guitar
const distortion_guitar_2 = note(`<
~@2 A B C D A B C D E@2 ~@30 A B C D A B C D E@2 ~@38 F G H I J G H I J G H I J G H I ~@16 K L M N K L M N ~@3
>`.pickRestart({
A: "[c3,g3]!8", B: "[d3,a3]!8", C: "[f2,c3]!8", D: "[g2,d3]!8", E: "[c3,c4]/2", F: "~ [c3,c4]!7",
G: "~ [e3,e4]!4 [c3,c4]!3", H: "~ [f3,f4]!4 [c3,c4]!3", I: "~ [d3,d4]!7", J: "[d3,d4] [c3,c4]!7", K: "[c3,g3,c4]!8",
L: "[b2,g3,c4]!8", M: "[a2,e3,a3]!8", N: "[f2,c3,f3]!4 [g2,d3,g3]!4",
})).s("gm_distortion_guitar").gain(0.64)
// bass · acoustic bass
const bass = note(`<
~@2 A B C D A B C D A@2 E F A@2 E F A@2 E F A@2 E F G H I J G H I J A K I J A K I J A B C D A B C D A@2 E F A@2 E F
A@2 E F A@2 E F G H I J G H I J A K I J A K I J L@4 ~@4 M N O P M N O P M N O P M N O P G H I J G H I J A K I J A K I
J A K I J A K I J Q@3
>`.pickRestart({
A: "c2!8", B: "d2!8", C: "f2!8", D: "g2!8", E: "g1!8", F: "f1!8", G: "c2!3 ~@5", H: "b1!3 ~@5", I: "a1!8",
J: "f1!4 g1!4", K: "b1!8", L: "c2/4", M: "~ c2!7", N: "~ e2!7", O: "~ f2!7", P: "~ g2!7", Q: "[c2@5 ~]/3",
})).s("gm_acoustic_bass").gain(0.64)
// other · distortion guitar
const distortion_guitar_3 = note(`<
~@37 A@2 ~@2 B@2 ~@34 A@2 ~@2 B@2 ~@34 A@2 ~@2 B@2 ~@2 A@2 ~@2 C@2 ~@2
>`.pickRestart({
A: "[f4@2 f4@2 d4@2 e4@3 ~@7]/2", B: "[f4@2 f4@2 d4@2 c4@3 ~@7]/2", C: "[f4!2 d4 c4@3 ~@2]/2",
})).s("gm_distortion_guitar").gain(0.64)
// drums · kick
const kick = s("bd").struct(`<
A ~ B@8 C D C D C D C D C D C D C D C D E@2 A ~ E@2 A ~ B@3 F B@3 F B@8 C D C D C D C D C D C D C D C D E@2 A ~ E@2 A
~ B@3 F B@3 F G ~@3 G ~@3 H@16 E@2 A ~ E@2 A ~ B@3 F B@3 F B@3 F B@3 F G ~@2
>`.pickRestart({
A: "~ x ~ x ~ x ~@2", B: "x!2 ~@2 x!2 ~@2", C: "x ~@3 x!2 ~@2", D: "x ~ x!2", E: "x!3 ~@5", F: "x!2", G: "x",
H: "~@2 x!2 ~@2 x!2",
})).gain(0.25)
// drums · snare
const snare = s("sd").struct(`<
A B C@3 D C@3 D C E C E C E C E C E C E C E C E F@2 A B F@2 A B C@11 D C@3 D C E C E C E C E C E C E C E C E F@2 A B
F@2 A B C@8 ~@8 G@16 F@2 A B F@2 A B C@16 ~@3
>`.pickRestart({
A: "x ~@3 x ~@3 x ~@3 x ~ x!2", B: "x ~@5 x!2 ~ x!4 ~@3", C: "~ x ~ x", D: "~ x ~@2", E: "~@2 x ~@2 x ~ x",
F: "x!3 ~@5", G: "~ x",
})).gain(0.25)
// drums · low tom
const low_tom = s("lt").struct("<~ A ~@27 A ~@3 A ~@35 A ~@3 A ~@35 A ~@3 A ~@19>".pickRestart({
A: "~@14 x!2",
})).gain(0.25)
// drums · open hat
const open_hat = s("oh").struct("<~@2 A B C D A B C D ~@32 A B C D A B C D ~@83>".pickRestart({
A: "~ x!7", B: "x!8", C: "x ~ x!2 ~ x!3", D: "x!6 ~@2",
})).gain(0.25)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~ A ~@3 B ~@3 B ~@16 C@2 ~ A C@2 ~ A ~@11 B ~@3 B ~@16 C@2 ~ A C@2 ~ A ~@32 C@2 ~ A C@2 ~ A ~@19
>`.pickRestart({
A: "~@2 x ~ x ~@3 x ~@4 x!3", B: "~@6 x!2", C: "x!3 ~@5",
})).gain(0.25)
// drums · high tom
const high_tom = s("ht").struct(`<
A B C@3 D C@3 D C E C E C E C E C E C E C E C E F@2 A B F@2 A B C@11 D C@3 D C E C E C E C E C E C E C E C E F@2 A B
F@2 A B C@8 ~@8 G@16 F@2 A B F@2 A B C@16 ~@3
>`.pickRestart({
A: "x ~@3 x ~@3 x ~@3 x ~ x!2", B: "x ~ x ~ x ~ x!8 ~@2", C: "~ x ~ x", D: "~@2 x ~@3 x!2", E: "~@2 x ~@2 x ~ x",
F: "x!3 ~@5", G: "~ x",
})).gain(0.25)
// drums · crash
const crash = s("cr").struct(`<
A ~ A ~ B ~ A ~ B ~ A ~@17 A ~@3 A ~ C@8 A ~ B ~ A ~ B ~ A ~@17 A ~@3 A ~ C@8 A ~@3 A ~@21 A ~@3 A ~ C@16 A ~@2
>`.pickRestart({
A: "x", B: "~ x ~@2 x ~@3", C: "x!4",
})).gain(0.25)
// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
A ~@9 B C@15 ~@2 A ~@3 A ~@17 B C@15 ~@2 A ~@3 A ~@13 D@20 ~@2 A ~@3 A ~@20
>`.pickRestart({
A: "~ x!3", B: "~ x!7", C: "x!8", D: "~ x ~ x",
})).gain(1.29)
// drums · shaker
const shaker = s("sh").struct("<~@86 [~ x!3 ~@4 x!4 ~@4] [x!4 ~@4 x!4 ~@4]!19 ~@27>").gain(0.25)
stack(
distortion_guitar, distortion_guitar_2, bass, distortion_guitar_3, kick, snare, low_tom, open_hat, mid_tom, high_tom,
crash, cabasa, shaker
)
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.