0:00/0:00
// Please Take Me Home — blink-182
// 104 bpm, 4/4, key B 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 71 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(104/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
const electric_guitar_clean = note("<A B C D E F@5 G D H ~@9 I J K L@4 M ~@34 N@4 O@2 ~>".pickRestart({
A: "[f3,a#3]@2 [b3,d#4]!14", B: "[b3,d#4]!10 [f#3,b3]!6", C: "[f#3,b3] [f#3,b3]@2 [b3,d#4]!13",
D: "[b3,d#4]!11 [f#3,b3]!5", E: "[f#3,b3]!2 [f#3,b3]@2 [b3,d#4]!12",
F: "[[b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [f#3,b3]@2 [f#3,b3] [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4] [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2]/5", // B B5 B B5 B B5
G: "[f#3,b3]!3 [b3,d#4]!13", H: "[f#3,b3]!3 ~@13",
I: "~@3 [b3,d#4] [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2", // B
J: "[b3,d#4]!9 [f#3,b3]!7", K: "[f#3,b3] [b3,d#4]!15",
L: "[[b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4] [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4] [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2]/4", // B B5 B B5 B
M: "[b3,d#4]!8 [f#3,b3]!8", // B B5
N: "[~@21 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4] [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@2 [b3,d#4]@3 [b3,d#4]@3]/4", // B B5 B
O: "[[b3,d#4]@2 [b3,d#4]@3 [b3,d#4]@2 [f#3,b3]@3 [f#3,b3]@42 ~@12]/2", // B B5
})).s("gm_electric_guitar_clean").gain(0.32)
// chords · electric guitar muted
const electric_guitar_muted = note("<~@4 A B@5 C D E ~@9 F G H I@4 J ~@17 K@2 L M N ~@7 O@2 ~@10>".pickRestart({
A: "~@4 [f#3,b3]!8 [g#3,c#4]!4", // B5 C#5
B: "[[g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [b2,e3]@2 [b2,e3] [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4] [g#3,c#4]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2]/5", // C#5 G#5 E5 B5 C#5 G#5 E5 B5 …
C: "[b2,e3]!3 [f#3,b3]!8 [g#3,c#4]!5", D: "[g#3,c#4]!3 [d#3,g#3]!8 [b2,e3]!5", E: "[b2,e3]!3 ~@13",
F: "~@3 [f#3,b3] [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2", // B5 C#5
G: "[g#3,c#4] [d#3,g#3]!8 [b2,e3]!7", H: "[b2,e3] [f#3,b3]!8 [g#3,c#4]!7",
I: "[[g#3,c#4]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3] [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [b2,e3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [f#3,b3]@2 [g#3,c#4]@2 [g#3,c#4] [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4]@2]/4", // C#5 G#5 E5 B5 C#5 G#5 E5 B5 …
J: "[d#3,g#3]!8 [b2,e3]!8", // G#5 E5
K: "[~@27 [b1,f#2,b2]@2 [b1,f#2,b2]@2 [b1,f#2,b2]@2 [b1,f#2,b2]@2 [b1,f#2,b2] [b1,f#2,b2]@2 [b1,f#2,b2]@2 [b1,f#2,b2]@2 [c#2,g#2,c#3]@2 [c#2,g#2,c#3]@2 [c#2,g#2,c#3]@2 [c#2,g#2,c#3]@2 [c#2,g#2,c#3]@2 [c#2,g#2,c#3]@2 [c#2,g#2,c#3]@2 [c#2,g#2,c#3]@2 [d#2,a#2,d#3]@2 [d#2,a#2,d#3]@2 [d#2,a#2,d#3]@2]/2", // B5 C#5 D#5
L: "[d#2,a#2,d#3]!5 [e2,b2,e3]!8 [b1,f#2,b2]!3", M: "[b1,f#2,b2]!5 [c#2,g#2,c#3]!8 [d#2,a#2,d#3]!3",
N: "[d#2,a#2,d#3]@2 [d#2,a#2,d#3]@2 [d#2,a#2,d#3]@2 [d#2,a#2,d#3]@2 [d#2,a#2,d#3]@2 [e2,b2,e3] [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 ~@7", // D#5 E5
O: "[~@23 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 [c#2,f#2]@2 ~@9]/2", // F#5
})).s("gm_electric_guitar_muted").gain(0.8)
// bass · electric bass pick
const bass = note("<~@4 A B@8 C D E F G@8 H I J K L M N@4 O@3 P@8 Q@6 R S T U V W@8 X Y Z@4>".pickRestart({
A: "~@2 b1!4 c#2!2",
B: "[c#2@4 c#2@4 g#1@4 g#1@4 g#1@4 g#1@4 e1@3 e1@4 e1@4 e1@4 b1@4 b1@4 b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@4 g#1@4 g#1@4 g#1@4 g#1@4 e1@4 e1@4 e1@4 e1@4 b1@4 b1@4 b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@3 g#1@4 g#1@4 g#1@4 g#1@4 e1@4 e1@4 e1@4 e1@4 b1@4 b1@4 b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@4 g#1@4 g#1@4 g#1@4 g#1@4 e1@4 e1@4 e1@4 e1@4 f#1@2 f#1@2 f#1 f#1@2 f#1@2 ~@17]/8",
C: "~@5 b1@2 b1@2 b1@2 b1@2 b1@2 ~@17", D: "~@5 g#1@2 g#1@2 g#1@2 g#1@2 g#1@2 ~@17",
E: "~@5 f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 ~@17", F: "~@2 e2!14",
G: "[e2@2 e2@2 a#2@2 a#2@2 a#2@2 a#2@2 a#2@2 a#2@2 a#2@2 a#2@2 f#2@16 b1@4 b1@4 b1@4 b1@4 a#1@4 a#1@3 a#1@4 a#1@4 d#2@4 d#2@4 d#2@4 d#2@4 c#2@4 c#2@4 c#2@4 c#2@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 c#2@32 b1@3 b1@4 b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@4 g#1@4 g#1@4 g#1@4 g#1@4 e1@4 e1@4 e1@4 e1@4 b1@4 b1@4 b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@2]/8",
H: "~@2 g#1@4 g#1@4 g#1@3 g#1@4 e1@4 e1@4 e1@4 e1@3", I: "~ b1@4 b1@4 b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@3",
J: "~ g#1@4 g#1@4 g#1@4 g#1@4 e1@4 e1@4 e1@4 e1@3", K: "~ b1@4 b1@4 b1@4 b1@4 c#2@3 c#2@4 c#2@4 c#2@4",
L: "g#1!4 e1!4", M: "f#1!5 ~@11",
N: "[b1@2 b1@2 b1@2 b1@2 b1@2 ~@21 g#1@2 g#1@2 g#1@2 g#1@2 g#1@2 ~@22 f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 ~@22 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 e2@2 a#2]/4",
O: "[~ a#2@2 a#2 a#2@2 a#2@2 a#2@2 a#2@2 a#2@2 f#2@16 b1@4 b1@4 b1@4 b1@4 a#1@4 a#1@4 a#1@4 a#1@4 d#2@4 d#2@4 d#2@4 d#2@4 c#2@4 c#2@4 c#2@4 c#2@4 b1@2]/3",
P: "[~@2 b1@4 b1@4 b1@3 b1@4 b1@4 b1@4 b1@4 c#2@16 ~@16 b1@8 b1@8 c#2@8 c#2@8 d#2@8 d#2@8 b1@7 b1@8 b1@8 b1@8 c#2@8 c#2@8 d#2@8 d#2@8 b1@8 b1@8 b1@8 b1@8 c#2@8 c#2@7 d#2@8 d#2@8 b1@8 b1@8 b1@5]/8",
Q: "[~@3 b1@8 c#2@8 c#2@8 d#2@8 d#2@8 b1@8 [b1,e2]@8 b1@4 b1@4 b1@3 b1@4 c#2@4 c#2@4 c#2@4 c#2@4 d#2@4 d#2@4 d#2@4 d#2@4 e2@4 e2@4 e2@4 e2@4 b1@4 b1@4 b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@4 d#2@4 d#2@4 d#2@4 d#2@4 e2@3 e2@4 e2@4 e2@4 b1@4 b1@3]/6", // E5
R: "~ b1@4 b1@4 c#2@4 c#2@4 c#2@4 c#2@4 d#2@4 d#2@3", S: "~ d#2@4 d#2@4 e2@4 e2@4 e2@4 e2@4 b1@4 b1@3",
T: "~ b1@4 b1@4 c#2@4 c#2@4 c#2@3 c#2@4 d#2@4 d#2@4", U: "d#2!2 e2!4 b1!2", V: "b1 c#2 a#1!3 b1 g#1!2",
W: "[g#1@4 a#1@4 f#1@4 f#1@4 f#1@4 f#1@4 b1@3 b1@4 b1@4 c#2@4 a#1@4 a#1@4 a#1@4 b1@4 g#1@4 g#1@4 g#1@4 a#1@4 f#1@4 f#1@4 f#1@4 f#1@4 f#1@32 b1@4 b1@4 b1@4 b1@3 a#1@4 a#1@4 a#1@4 a#1@4 d#2@4 d#2@4 d#2@4 d#2@4 c#2@4 c#2@4 c#2@4 c#2@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 b1@4 c#2@16 ~@7 e2@4 e2@4 b1@4 b1@4 b1@3]/8",
X: "~ c#2@4 a#1@4 a#1@4 a#1@4 b1@4 g#1@4 g#1@4 g#1@3", Y: "~ a#1@4 f#1@4 f#1@4 f#1@4 f#1@4 e1@4 e1@4 e1@3",
Z: "[~ e1@4 e1@4 e1@4 e1@4 e1@3 f#1@4 f#1@5 f#1@5 f#1@5 f#1@62 ~@27]/4",
})).s("gm_electric_bass_pick").gain(0.64)
// chords · distortion guitar
const distortion_guitar = note("<~@12 A B C D E F@6 ~@7 G H@5 I J K@8 L@2 ~@12 M@2 N O P@4 Q@2 ~>".pickRestart({
A: "~@6 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3] [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 ~@17", // F#5
B: "~@5 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 ~@17", // B5
C: "~@5 [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 ~@17", // G#5
D: "~@5 [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 ~@17", E: "~@2 [b1,e2]!14",
F: "[[b1,e2]@2 [b1,e2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [c#2,f#2]@16 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3] [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#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#2,d#3,g#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#2,c#3,f#3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@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#2,c#3,f#3]@2 [f#2,c#3,f#3]@16 ~@29]/6", // E5 A#5 F#5 B5 A#5 G#5 F#5 E5 …
G: "[f#2,c#3,f#3]!5 ~@11", // F#5
H: "[[b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 ~@21 [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 ~@22 [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 ~@22 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [b1,e2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2] [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [f2,a#2]@2 [c#2,f#2]@16 [b2,f#3,b3]@2]/5", // B5 G#5 F#5 E5 A#5 F#5 B5
I: "[b2,f#3,b3]!7 [a#2,f3,a#3]!8 [g#2,d#3,g#3]", J: "[g#2,d#3,g#3]!7 [f#2,c#3,f#3]!8 [e2,b2,e3]",
K: "[[e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3] [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@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#2,c#3,f#3]@2 [f#2,c#3,f#3]@16 f#3@8 f#3@8 e3@8 e3@8 f#3@8 f#3@8 e3@7 e3@8 f#3@8 f#3@8 e3@8 e3@8 f#3@8 f#3@8 e3@8 e3@8 f#3@8 f#3@8 e3@8 e3@7 f#3@8 f#3@8 e3@8 e3@8 f#3@5, ~@61 [b1,f#2,b2]@32 ~@163]/8", // E5 F#5 B5
L: "[~@3 f#3@8 e3@8 e3@8 f#3@8 f#3@8 e3@8 e3@8 ~@5]/2",
M: "[~@23 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3] [b2,f#3,b3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#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]/2", // B5 A#5 G#5
N: "[g#2,d#3,g#3]!3 [f#2,c#3,f#3]!8 [e2,b2,e3]!5", O: "[e2,b2,e3]!11 [f#2,c#3,f#3]!5",
P: "[[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]@15 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#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#2,d#3,g#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#2,c#3,f#3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@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]@3 [f#2,c#3,f#3]@3, ~@115 [e2,b2,e3]@2 ~@11]/4", // F#5 B5 A#5 G#5 F#5 E5 F#5 E5
Q: "[[f#2,c#3,f#3]@2 [f#2,c#3,f#3]@3 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@42 ~@15]/2", // F#5
})).s("gm_distortion_guitar").gain(0.64)
// chords · distortion guitar
const distortion_guitar_2 = note("<~@47 A ~ B ~ C@4 D E F@3 ~@11>".pickRestart({
A: "~@21 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 ~@5", B: "~@10 [b2,f#3,b3]!3 ~@3",
C: "[~@19 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [c#3,g#3,c#4]@2 [c#3,g#3,c#4]@2 [c#3,g#3,c#4]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [c#3,g#3,c#4]@2 [c#3,g#3,c#4]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a#2,f3,a#3] [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2]/4", // B5 A#5 D#5 C#5 B5 C#5 B5 A#5 …
D: "[d#3,a#3,d#4]!4 [c#3,g#3,c#4]!8 [d#3,a#3,d#4]!4", E: "[d#3,a#3,d#4]!16",
F: "[[d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4] [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [d#3,a#3,d#4]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 ~@9]/3", // D#5 B5 D#5 B5
})).s("gm_distortion_guitar").gain(0.64)
// drums · kick
const kick = s("bd").struct(`<
~@4 A B C@3 D E@2 F G@3 H I J K@2 L M N@2 O P@2 Q R S T U@2 K V W@2 X Y Z AA@3 AB AC AB AD AE W@2 AF AG AH@2 AI AJ@2
AK AL AM AE W@2 AN AO@2 AP AL ~@2
>`.pickRestart({
A: "~@4 x ~@2 x ~@2 x ~@3 x ~", B: "~@4 x ~@3 x ~@5 x ~@5 x ~@6 x ~@4", C: "~@3 x ~@3 x ~@5 x ~@5 x ~@7 x ~@4",
D: "~@3 x ~@2 x ~@5 x ~@5 x ~@7 x ~@5", E: "~ x ~ x ~@2 x ~@2 x ~@3 x ~@2", F: "~@2 x ~@3 x ~ x ~@2 x ~ x ~@18",
G: "~@5 x ~ x ~@3 x ~ x ~@18", H: "~ x!7", I: "x ~@3 x ~@3 x!5 ~@7 x ~@11",
J: "~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x", K: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x",
L: "~@19 x ~@12", M: "~@3 x ~@4 x ~@5 x ~@7 x ~@7 x ~", N: "~ x ~@2 x ~@2 x ~@3 x ~@3 x",
O: "~@2 x ~@5 x ~@4 x ~@7 x ~@7 x ~@2", P: "~ x ~@5 x ~@5 x ~@7 x ~@7 x ~@2", Q: "~ x ~@5 x ~@5 x ~@6 x ~@7 x ~@3",
R: "x ~@2 x ~@2 x ~@3 x ~@3 x ~", S: "x!2 ~ x!2 ~@11", T: "x ~ x ~@3 x ~ x ~@22 x", U: "~ x ~@3 x ~ x ~@23 x",
V: "~@3 x!4 ~@7 x ~@15 x ~", W: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", X: "~@2 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@6",
Y: "~@13 x ~@15 x ~@2", Z: "~@29 x ~@2", AA: "~@7 x", AB: "~@27 x ~@4", AC: "~@13 x ~@3 x ~@9 x ~@4",
AD: "~@13 x ~@3 x ~@9 x ~@3 x", AE: "~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~",
AF: "~@2 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@4 x ~@3 x ~", AG: "~@2 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@2",
AH: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2", AI: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@7",
AJ: "~ x ~ x", AK: "~@7 x ~@15 x ~@8", AL: "~@7 x ~@24", AM: "~@17 x ~@5 x ~@3 x ~@3 x",
AN: "~@2 x ~ x ~@5 x!2 ~@9 x ~@5 x ~@3 x", AO: "~@3 x ~@3 x ~@3 x ~@9 x ~@5 x ~@3 x", AP: "~@3 x ~@3 x ~@3 x ~@20",
})).gain(0.64)
// drums · rim
const rim = s("rim").struct("<~@55 A B C D E F ~@3 G H@3 ~@3>".pickRestart({
A: "~@7 x", B: "~ x!2 ~@3 x ~@2 x!2 ~@3 x ~", C: "~@2 x ~ x ~@7 x ~@5 x ~ x ~@6 x ~@4",
D: "~ x ~ x ~@7 x ~@5 x ~ x ~@7 x ~@4", E: "~ x ~ x ~@7 x ~@5 x ~ x ~@12", F: "~@21 x ~@10",
G: "~@10 x!2 ~@5 x ~ x ~@12", H: "~@17 x ~ x ~@12",
})).gain(0.64)
// drums · snare
const snare = s("sd").struct(`<
~@4 A B C@3 D@3 E F@2 G H I J K@2 L M N@2 O P@2 Q R S T U V W X Y@2 Z AA AB AC AD@2 AE AF AG AH AI AJ Y AK AL AM AN AO
AP AQ AR AS AT AI Y@2 AU AV@2 AW AX ~@2
>`.pickRestart({
A: "~ x", B: "x ~@5 x ~@9 x ~@14 x", C: "~@5 x ~@9 x ~@15 x", D: "~@2 x ~@4 x ~@7 x", E: "~@4 x ~ x ~@6 x ~@15 x ~@2",
F: "~@5 x ~@7 x ~@15 x ~@2", G: "~@5 x ~@7 x ~@14 x ~@3", H: "~@3 x ~ x ~ x ~ x ~ x ~ x ~ x",
I: "~@2 x ~ x!4 ~@12 x ~@11", J: "~@6 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@2",
K: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2", L: "~ x ~ x!17 ~@12", M: "~@5 x ~@7 x ~@2",
N: "x ~@4 x ~@7 x ~@2", O: "x ~@9 x ~@14 x ~@5 x", P: "~@9 x ~@15 x ~@5 x", Q: "~@9 x ~@14 x ~@5 x ~",
R: "~@4 x ~@7 x ~@2 x", S: "x!2 ~ x", T: "x ~@7 x ~@15 x ~@6 x", U: "~@7 x ~@15 x ~@7 x", V: "~@7 x ~@15 x ~@8",
W: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~ x", X: "x!3 ~@11 x ~@17", Y: "x!8",
Z: "x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~ x!3", AA: "x!14 ~@15 x ~@2", AB: "~@5 x ~@21 x ~ x ~@2",
AC: "~@5 x ~@18 x ~@3 x ~@3", AD: "~ x ~@4 x!2", AE: "~@4 x ~@19 x ~@2 x ~@4",
AF: "~@3 x ~@11 x ~@3 x ~ x ~ x ~ x ~ x ~@4", AG: "~@3 x ~@19 x ~@3 x ~@4",
AH: "~@3 x ~@11 x ~@3 x ~ x ~ x ~ x ~@3 x ~@2", AI: "~ x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3",
AJ: "x!6 ~ x", AK: "x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@8 x ~@3",
AL: "x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x", AM: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@7 x ~@3 x",
AN: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", AO: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@5 x ~",
AP: "~@4 x ~@2 x ~@4 x ~@2 x", AQ: "~@8 x ~@5 x ~@9 x ~@4 x ~@2", AR: "~@7 x ~@5 x ~@9 x ~@5 x ~@2",
AS: "~@7 x ~@5 x ~@9 x ~ x ~ x ~ x ~ x", AT: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@3 x ~@5 x ~@3 x ~@2",
AU: "x ~@3 x ~ x ~ x ~@4 x ~ x ~@13 x ~@2", AV: "~@13 x ~@15 x ~@2", AW: "~@13 x ~@6 x ~ x ~ x ~ x ~@2 x ~@2",
AX: "x ~ x ~@2 x ~ x ~@24",
})).gain(0.64)
// drums · clap
const clap = s("cp").struct("<~@17 [~@12 x!4 ~@16] ~@17 [~@6 x!4 ~@22] ~@29 [~@15 x ~@16]!3 ~@3>").gain(0.64)
// drums · low tom
const low_tom = s("lt").struct("<~@17 [~@16 x!4 ~@12] ~@17 [~@10 x!4 ~@18] ~@27 [~@15 x] [x ~@2 x!2 ~@11] ~@6>")
.gain(0.64)
// drums · hihat
const hihat = s("hh").struct("<~@40 A B C@3 D@3 ~@9 E F ~@12>".pickRestart({
A: "~@13 x ~@7 x ~@10", B: "~@13 x ~@6 x ~@11", C: "~@3 x ~ x ~@2", D: "~@11 x ~@7 x ~@12", E: "~@3 x",
F: "~@23 x ~@8",
})).gain(0.64)
// drums · open hat
const open_hat = s("oh").struct(`<
~@4 A B C@3 D E@2 F G@2 H I ~ J K@2 ~ L M@2 N O@2 P Q R S T@2 U V W@2 X ~@8 Y Z AA@2 AB AC AD@2 AE ~@4 AF W@3 ~@7
>`.pickRestart({
A: "~@2 x ~ x ~ x!2", B: "x ~@3 x ~ x ~ x ~@7 x ~@7 x ~@2 x ~@3 x", C: "~@3 x ~ x ~ x ~@7 x ~@7 x ~@3 x ~@3 x",
D: "~@3 x!2 ~ x ~@7 x ~@7 x ~@3 x ~@3 x ~", E: "~ x!3 ~@3 x ~@3 x ~ x ~ x", F: "~@2 x ~ x ~ x ~@6 x ~@7 x ~@7 x ~@2",
G: "~@5 x ~@7 x ~@7 x ~@7 x ~@2", H: "~@5 x ~@7 x ~@6 x ~@7 x ~@3", I: "~ x ~ x ~ x ~ x",
J: "~@4 x ~@7 x ~@7 x ~@6 x ~@4", K: "~@3 x ~@7 x ~@7 x ~@7 x ~@4", L: "~@3 x ~@6 x ~@7 x ~@3 x ~@3 x ~@3 x ~",
M: "x!2 ~@3 x ~@3 x ~ x ~ x ~ x", N: "x ~ x ~@7 x ~@6 x ~@3 x ~@3 x ~@3 x ~ x",
O: "~ x ~@7 x ~@7 x ~@3 x ~@3 x ~@3 x ~ x", P: "~ x ~@7 x ~@7 x ~@2 x ~@3 x ~@3 x ~ x ~",
Q: "x ~@3 x ~@3 x ~ x ~ x ~ x!2", R: "x!4", S: "x ~@7 x ~@7 x ~@7 x ~@6 x", T: "~@7 x ~@7 x ~@7 x ~@7 x",
U: "~@7 x ~@7 x ~@7 x ~@8", V: "~@15 x", W: "~@3 x ~@3 x ~@3 x ~@3 x", X: "~@6 x ~@6 x ~@7 x ~@10", Y: "~@27 x ~@4",
Z: "~@3 x ~@6 x ~@7 x ~@7 x ~@5", AA: "~ x ~@3 x ~@3 x ~@3 x ~@2", AB: "~@2 x ~@7 x ~@6 x ~@8 x ~@5",
AC: "~@2 x ~@7 x ~@6 x ~@7 x ~@6", AD: "~ x ~@7 x ~@7 x ~@7 x ~@6", AE: "~ x ~@7 x ~@7 x ~@14", AF: "~@23 x ~@7 x",
})).gain(0.64)
// drums · mid tom
const mid_tom = s("mt").struct("<~@8 [~@2 x!2 ~@12] ~@16 [~@15 x] x ~@44>").gain(0.64)
// drums · crash
const crash = s("cr").struct(`<
~@12 A B@3 C D E F@2 G ~@8 H I J@2 K L M@2 N O P Q@3 R@4 S T@2 U V W@2 X Y@2 Z AA AB M@3 ~@4 AA ~@2
>`.pickRestart({
A: "~@6 x ~@6 x ~@18", B: "~@5 x ~@7 x ~@18", C: "~ x ~ x ~ x ~ x", D: "~@5 x ~@2", E: "~@4 x ~@7 x ~@7 x ~@6 x ~@4",
F: "~@3 x ~@7 x ~@7 x ~@7 x ~@4", G: "~@19 x ~@12", H: "x!2 ~@2", I: "x ~@7 x ~@22 x", J: "~@7 x ~@23 x",
K: "~@7 x ~@7 x ~@7 x ~@8", L: "~@7 x ~@7 x", M: "~@3 x ~@3 x ~@3 x ~@3 x", N: "~@6 x ~@6 x ~@7 x ~@10",
O: "~@13 x ~@15 x ~@2", P: "~@29 x ~@2", Q: "~@7 x", R: "~@27 x ~@4", S: "~@3 x ~@6 x ~@7 x ~@7 x ~@5",
T: "~ x ~@3 x ~@3 x ~@3 x ~@2", U: "~@2 x ~@7 x ~@6 x ~@8 x ~@5", V: "~@2 x ~@7 x ~@6 x ~@7 x ~@6",
W: "~ x ~@7 x ~@7 x ~@7 x ~@6", X: "~ x ~@7 x ~@7 x ~@6 x ~@7", Y: "~ x ~ x", Z: "~@7 x ~@15 x ~@8", AA: "~@7 x ~@24",
AB: "~@19 x ~@3 x ~@7 x",
})).gain(0.64)
stack(
electric_guitar_clean, electric_guitar_muted, bass, distortion_guitar, distortion_guitar_2, kick, rim, snare, clap,
low_tom, hihat, open_hat, mid_tom, 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.