0:00/0:00
// Hate This Place — Goo Goo Dolls
// 133 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 119 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(133/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 bass pick
const electric_bass_pick = note(`<
A@4 B@3 C B@3 C B@16 D E F G H I J@2 K L M N O P Q R B@16 D E F G H I J@2 K L M N O P Q R S T U V S T U V S T U V W X
Y@4 K L M N K L M N K L M N K L M N K L M N Z L AA N ~
>`.pickRestart({
A: "[c#5 ~@16 b4@18 ~@6 e5@34 e5@12 e5@9, ~ c#5@18 ~@77]/4", B: "e5", C: "~ e5@23",
D: "[g#3,d#4]@3 [g#3,d#4]@3 [g#3,d#4]@3 [g#3,d#4]@3 [g#3,d#4]@3 [g#3,d#4]@2 e3@3 ~ [a3,e4]@3", // G#5 A5
E: "~@3 a3@3 [a3,e4]@2 ~ e4@3 [a3,e4]@2 ~ a3@3 a3@3 [g#3,d#4]@3, ~@2 e4@3 ~@3 a3@3 ~@3 e4@3 ~@7", // A5 G#5
F: "~ [g#3,d#4]!2 g#3 [g#3,d#4]!2 e3 [a3,e4]", // G#5 A5
G: "e3@3 ~ a3@2 [a3,e4]@3 [a3,e4]@3 [a3,e4]@3 [a3,e4]@3 ~@3 [g#3,d#4]@3, ~ e4 ~@6", // A5 G#5
H: "~@3 [g#3,d#4]@3 [g#3,d#4]@3 [g#3,d#4]@2 ~ g#3@2 ~ d#4@3 ~@2 [a3,e4]@3 ~, ~@11 d#4@3 g#3@3 ~@7", // G#5 A5
I: "~@3 [a3,e4]@2 ~ a3@2 a3@3 ~ [a3,e4]@2 [a3,e4]@3 ~ [a3,e4]@3 ~@3, ~@5 e4@3 ~@16", // A5
J: "[[b3,f#4]@6 ~@4 b3@2 [b3,f#4]@2 ~ b3@2 ~ b3@3 [a3,e4]@18 [a3,e4]@2 ~ a3@3 [a3,e4]@3, ~@9 f#4@3 ~@2 f#4@3 f#4@3 ~@21 e4@3 ~@4]/2", // B5 A5
K: "[c#4,g#4]@3 [c#4,g#4]@2 [c#4,g#4]@3 ~ [c#4,g#4]@2 ~ c#4@2 ~ c#4@2 ~ c#4@3 [b3,f#4]@3, ~@11 g#4@3 g#4@3 g#4@3 ~@4", // C#5 B5
L: "[b3,f#4]@3 [b3,f#4]@3 [b3,f#4]@3 [b3,f#4]@6 [b3,f#4]@3 [b3,f#4]@3 ~ a3@2", // B5
M: "[a3,e4]@3 [a3,e4]@2 ~ a3@3 [a3,e4]@5 ~@5 b3@2 [e3,b3]@3, ~@5 e4@3 ~@6 e4@6 ~@4, ~@5 a3@2 ~, ~@6 e3 ~", // A5 E5
N: "~ e3@23, b3",
O: "~ [c#4,g#4]@3 [c#4,g#4]@2 [c#4,g#4]@3 ~ [c#4,g#4]@2 [c#4,g#4]@3 ~ c#4@2 [c#4,g#4]@3 ~ b3@2, ~@5 g#4 ~ f#4", // C#5
P: "~ [b3,f#4]@2 ~ f#4@2 [b3,f#4]@3 ~ b3@5 [b3,f#4]@3 [b3,f#4]@3 ~ a3@2, ~ b3 ~ f#4@2 ~@3", // B5
Q: "~ [a3,e4]@2 ~ a3@2 [a3,e4]@3 [a3,e4]@6 ~@4 [e3,b3]@2 ~ e3@2, ~ e4 ~@3 e4@2 b3, ~@8 a3@3 ~", R: "~ [e3,b3]@23",
S: "a4@6 e5@3 g#4@6 ~ e5@2 e4@6", T: "e5@3 g#4@2 g#4@3 ~ g#4@3 ~ a4@3 e5@2 g#4@6",
U: "b4@6 e5@3 b4@3 b4@2 e5@3 b4@3 b4@3 ~", V: "e5@2 b4@3 b4@3 [b4,e5]@3 ~ b4@3 b4@2 a4@3 ~ g#3@3",
W: "a4@5 e5@3 ~ g#4@6 e5@3 e4@6", X: "e5@3 g#4@5 e5@3 ~ a4@3 e5@2 a4@3 ~ e5@3",
Y: "[b4@17 b4@3 c#5@24 ~ e4@20 ~@7 e5@24, ~@65 e4@24 ~@7]/4",
Z: "[c#4,g#4]@3 ~ [c#4,g#4]@2 [c#4,g#4]@3 ~ [c#4,g#4]@2 [c#4,g#4]@3 [c#4,g#4]@2 ~ c#4@3 [b3,f#4]@3, ~@17 g#4@3 ~@4", // C#5 B5
AA: "[a3,e4]@3 [a3,e4]@2 ~ a3@3 [a3,e4]@6 ~@4 b3@2 [e3,b3]@3, ~@5 e4@3 ~@7 [a3,e4]@6 ~@3, ~@6 e3 ~", // A5 E5 A5
})).s("gm_electric_bass_pick").gain(0.12)
// chords · distortion guitar
const distortion_guitar = note(`<
A@4 B@2 C D E@2 F G H@4 I J K@2 L@2 M@2 N@2 O@2 P Q R S T U V@2 W X Y Z AA AB AC AD H@4 I J K@2 AE@2 AF@2 AG@2 O@2 P Q
R S T U V@2 W X Y Z AA AB AC AD AH AI AJ AK AH AI AJ AK AH AI AJ AK AH AI AL@4 W X Y Z AM AN AO AP AQ AR AS AT AU AV
AW AX AY AZ BA BB ~@5
>`.pickRestart({
A: "[~ e5@17 [b3,f#4,b4,d#5]@18 ~@7 a4@31 ~ [a3,e4]@11 ~ [a3,e4]@9, [c#4,g#4,c#5]@18 ~@24 [a3,e4]@32 a4@12 a4@9 ~]/4", // B A5 C#5 A5
B: "[~ b3@2 ~@3 b4@24 ~ b4@2 ~ e4@2 [e4,a4,e5]@3 ~@9, b4@3 c#4@2 b3@24 ~ b3@3 ~@15, ~@4 c#5@3 ~@26 [a4,e5]@3 ~@12]/2", // A5
C: "[e4,e5]@3 [f#4,g#5]@3 ~ e4@3 ~@2 b4@3 ~@2 [b3,b4]@3 ~@4, ~@6 e5@3 ~@2 b3@3 ~@10", // E F#sus2 B
D: "[c#4,c#5]@3 ~ b3@3 e3@2 f#3@2 g#3@3 f#3@3 ~ e3@3 ~@3, ~ b4 ~@6", // C#
E: "[[b3,b4]@3 [c#4,c#5]@2 b4@24 ~@4 [a4,e5]@3 [e4,a4,e5]@3 ~@9, ~@5 c#4@36 ~@7, ~@29 b3@3 e4@3 ~@13, ~@30 b4@11 ~@7]/2", // B C# A5
F: "[e4,a4,e5] [f#4,g#5] [e4,a4,e5] ~ [b3,e4,b4] ~ [b3,e4,b4] ~", // A5 F#sus2 A5 E5
G: "[c#4,c#5]@3 [b3,b4]@3 e3@3 ~@2 g#3@3 ~ f#3@2 e3@3 ~@4, ~@10 f#3@3 ~@11", // C# B
H: "[~ d#4@10 ~ g#3@3 ~@9 g#3@24 b4@3 ~ b4@3 ~@2 [b3,b4]@3 ~ b3@3 ~@26 [e3,b3,e4,g#4,b4]@3 [e3,b3,e4,g#4,b4,e5]@3, [g#3,b4,e5]@11 [d#4,b4,e5]@3 ~ [e3,b3,e4]@36 [b3,f#4]@3 ~@2 e4@3 ~ [f#4,b4]@3 ~ e4@2 e4@24 ~@6, ~@2 g#3 g#3, ~@65 a4@24 e5@3 ~@4, ~@67 a3@24 ~@5]/4", // B E Emaj7 E5 B5
I: "[e3,b3,e4,g#4,b4,e5]@11 ~ [e3,b3,e4,b4]@3 ~ [d#4,b4,e5]@3 ~@5, g#3@5 g#3 ~@2, ~@11 [g#4,e5]@3 ~@10", // E E5 Emaj7 C#m
J: "[g#3,b4] [g#3,b4]@23, [d#4,e5]", // G#m Emaj7
K: "[~@3 b4 [b4,e5]@3 ~@2 [b3,f#4]@3 [b3,f#4,b4]@3 ~@3 a4@3 ~@21 [g#4,b4,e5]@3 [e3,b3,e4,g#4,b4,e5]@3, [b3,f#4,b4]@3 ~@5 b4@3 ~@6 e4@3 ~ [a3,e4]@24 ~@3, ~ g#3@23 g#3@24]/2", // E5 B5 E B5 A5
L: "[b4 b4@10 b4!2 ~@6 [c#4,b4]@24 ~@5, [e3,g#3,b3,d#4,e4,g#4,e5]@12 [g#3,d#4,g#4,e5]@5 [g#3,e5]@24 ~@7, ~@4 [e3,b3,e4] [e3,b3]@8 ~@3, ~@13 b4@3 e4@24 ~@8, ~@17 b4 d#4@24 ~@6]/2", // C#7 Emaj7 C#m E5
M: "[[b3,f#4,b4]@3 [b3,f#4,b4]@3 ~@2 f#4 [b3,f#4,b4]@3 [f#4,b4] [f#4,b4]@3 ~@2 [a3,e4,a4]@3 ~@10 e3@3 ~ g#3@3 ~ [a3,b3,f#4]@3 ~ b3@2 [e3,b3]@3, ~@4 b3 ~@2 [a3,e4,a4]@4 ~@3 [e3,g#3] ~]/2", // B5 A5 B7 E5 A5 E
N: "[b4 b4@10 b4!2 b4@2 b4 [d#4,e4,b4]@24 ~@8, [e3,g#3,b3,d#4,e4,g#4,e5]@2 g#4 ~@5, ~@4 [e3,g#3,b3,d#4,e4,e5] [e3,g#3,b3,e5]@8 ~@3]/2", // Emaj7 E
O: "[[b3,f#4,b4]@3 b3 b3@3 ~ [b3,e4,f#4,b4]@3 ~ [b3,e4,f#4,b4]@3 ~@2 e4 [a3,e4]@23 e4 e4@2 ~ [e4,a4]@3, ~@3 [f#4,b4]@3 ~@9 e4@2 ~@27 a3@3 ~, ~@16 a4@3 ~@22 a4@3 ~@4]/2", // B5 Bsus4 A5 B5
P: "~@3 d#5@3 [e4,e5]@2 ~ d#4@3 [e4,e5]@3 ~ d#5@3 ~@2 e5@3, ~@2 d#4@3 ~@3 d#5@3 ~@4 d#4@3 ~@2 e4@3 ~", // E
Q: "~@3 [e4,e5]@3 [f#4,f#5]@2 ~ e4@3 ~ f#5@2 [e4,e5]@3 ~@3 d#5@3, ~@8 e5@3 ~ f#4@3 ~@5 e4@3 ~", // E F# E
R: "~@2 [d#4,d#5]@3 ~ e4@2 ~ d#4@3 [e4,e5]@3 [d#4,d#5]@3 ~@2 [e4,e5]@3 ~, ~@5 e5@3 d#5@3 ~@13", // D# E D# E
S: "~@2 [e4,e5]@3 ~ f#4@2 ~ e4@3 [f#4,f#5]@2 e4@2 e5@3 ~ [d#4,d#5]@3 ~, ~@5 f#5@3 e5@3 ~@13", // E F# D#
T: "~@3 d#5@3 [e4,e5]@2 ~ d#4@3 [e4,e5]@2 ~ d#4@3 ~@3 [e4,e5]@3, ~@2 d#4@3 ~@3 e5@3 ~@3 d#5@3 ~@7", // E
U: "~@3 e5@2 [f#4,f#5]@3 ~ e5@2 ~ f#5@2 [e4,e5]@3 ~ [g#4,g#5]@2 ~ g#4@3, ~@2 e4@3 ~@3 e4@3 f#4@3 ~@6 g#5@3 ~", // F# E G#
V: "[[g#4,g#5]@2 g#4@2 g#5@3 ~ [g#4,f#5]@3 ~@4 f#4@2 ~ e4@2 [e4,e5]@18 ~@10, ~@14 f#5@3 e5@3 ~@28]/2", // G# G#7 E
W: "[e4,e5]@3 ~ e4 [e4,e5]@3 ~ f#5@5 [g#4,g#5]@3 [g#4,g#5]@3 [e4,e5]@3 ~, ~@3 e5@2 ~@3 f#4@6 ~@10", // E G# E
X: "[e4,e5]@2 ~ e5@2 [e4,e5]@3 ~ [f#4,f#5]@5 [g#4,g#5]@3 [g#4,g#5]@3 ~ e5@3, ~@2 e4@3 ~@15 e4@3 ~", // E F# G#
Y: "[e4,e5]@2 [e4,e5]@3 [e4,e5]@3 ~ [f#4,f#5]@5 ~ g#5@3 [e3,b3,e4,g#4,b4,e5]@2 ~ [e3,b3,b4,e5]@3, ~@14 g#4@3 ~@3 [e4,g#4]@3 ~", // E F# E E5 E
Z: "~@12 b4@2 [b3,b4]@3 [b3,b4]@3 [b3,b4]@3 ~, [e3,e4,e5], [b3,b4,d#5]@11 b3@3 ~@10, ~ g#4@23", // B E B
AA: "[e4,e5] [e4,e5]@2 [e4,e5] [e4,e5]@2 [e4,e5]@3 f#5 ~@4 g#4 [g#4,g#5]@2 g#4 [g#4,g#5]@2 e4 [e4,e5]@3, ~@3 f#4@2 ~@3, ~@5 f#5@3 ~@4", // E G# E
AB: "[e4,e5] ~ e4 ~ e5 [e4,e5] [e4,e5]@3 f#5 ~@4 g#4 [g#4,g#5]@2 [g#4,g#5] [g#4,g#5]@2 e4 [e4,e5]@3, ~ [e4,e5]@2 [e4,e5]@2 ~@4 f#4@6 ~@9, ~@5 f#5@3 ~@4", // E G# E
AC: "[e4,e5] [e4,e5]@2 [e4,e5]@3 [e4,e5]@2 ~@2 f#4@5 ~ g#5@2 ~@2 b3 ~ e3@2, ~@8 d#4@6 ~ c#4@6 ~@3, ~@3 [d#5,f#5]@2 g#4 [e3,g#4,b4] ~, ~@8 c#5@3 ~, ~@19 [b3,e4,e5]@2 [b3,e4,g#4,b4,e5]@3", // E D#m E E5 E
AD: "[b3,b4] [e3,b3,e4,g#4,b4,e5]@23", // B E
AE: "[b4 b4@10 b4!2 ~@6 [c#4,b4]@24 ~@5, [e3,g#3,b3,d#4,e4,g#4,e5]@12 [e3,g#3,d#4,g#4,e5]@5 [g#3,e5]@24 ~@7, ~@4 [b3,e4] b3@8 ~@3, ~@13 b4@3 e4@24 ~@8, ~@17 b4 d#4@24 ~@6]/2", // C#7 Emaj7 C#m E5
AF: "[[b3,f#4,b4]@3 [b3,f#4,b4]@3 ~@2 f#4 [b3,f#4,b4]@3 [f#4,b4] [f#4,b4]@3 ~@2 [a3,e4,a4]@3 ~@10 e3@3 ~ g#3@3 ~ [a3,b3,f#4]@3 ~ b3@2 [e3,b3]@3, ~@4 b3 ~@2 [a3,e4,a4]@4 ~@3 g#3 ~]/2", // B5 A5 B7 E5 A5
AG: "[b4 b4@10 b4!2 b4@2 b4 [d#4,e4,b4]@24 ~@8, [e3,g#3,b3,d#4,e4,g#4,e5]@2 [e3,g#4] ~@5, ~@4 [g#3,b3,d#4,e4,e5] [g#3,b3,e5]@8 ~@3]/2", // Emaj7 E Emaj7 E
AH: "~@2 a4 ~ e5@2 a4@2 a4 [a4,b4,d#5]@3 [a4,b4,d#5,e5]@3 [d#4,a4]@2 a4 [a4,b4,d#5,e5]@2 a4 [a4,b4,d#5,e5]@3, [a4,b4,d#5]@2 b4@3 ~@3 e5@3 ~@13, ~ e5@2 [a4,d#5]@3 ~@18", // B7 Asus2 D#dim Asus2 B7 Adim
AI: "a4@2 a4 ~ b4@2 a4@3 [a4,b4,d#5,e5]@3 a4@2 a4 [a4,b4,d#5,e5]@3 a4@2 ~ [b4,d#5,e5]@3, ~@3 [a4,d#5,e5]@3 ~@14 a4@3 ~", // Asus2 Emaj7 A
AJ: "b4 ~ b4 [f#4,a4,b4,e5]@3 a4@2 ~ a4@3 ~ f#4@2 a4@2 ~ [a4,e5]@2 b4 [f#4,a4,b4,e5]@3, [f#4,a4]@3 ~@5 [f#4,b4,e5]@3 ~@6 [f#4,b4]@3 ~@4, ~ [b4,e5]@2 ~@9 [a4,b4,e5]@3 ~@9", // F#m7 A5 F#m7 F#m Esus2 B5 E5 Asus2
AK: "a4@2 b4 [a4,b4,e5]@3 b4 b4@2 a4@2 ~ [a4,e5]@3 a4@3 b4 b4@2 a3@3, ~@2 f#4@3 ~ [f#4,a4,e5]@3 ~@2 [f#4,b4]@3 ~@4 [f#4,e5]@3 ~@3", // Asus2 A5 F#m7 B5 F#7
AL: "[c#5@12 ~@10 b4@23 ~@27 [g#3,e4]@24, ~@7 f#4@8 e5@12 ~@5]/4", // C#m
AM: "e5 e5@2 ~ e4 [e4,e5] [e4,e5]@2 ~ f#5@5 g#5 g#5@2 ~ c#5@2 e4 [e4,d#5,f#5]@3, c#5@18 ~@2 e5@3 ~, e4@3 [e4,e5]@2 ~@3 [e4,f#4]@6 g#4@3 [g#4,g#5]@4 ~@3, ~@5 d#4@2 ~", // E D#m E Esus2 G#
AN: "[e4,e5]@2 ~ e5@2 ~ f#4@2 f#4 [f#4,e5]@3 [f#4,e5]@2 ~ [f#4,e5]@2 ~ d#5@2 ~ [a3,e5]@3, d#5@3 ~, f#5@2 ~ f#5@2 ~@3, ~@2 e4@3 [e4,e5]@3 ~@6 [g#4,g#5]@3 [a3,g#4,g#5]@3 e4@3 ~", // E F#7 A5 E G# Amaj7
AO: "[c#4,e4,c#5,e5]@2 ~ [c#4,c#5]@2 ~ c#4@3 [d#4,f#4,d#5,f#5]@5 ~ g#5@2 e5 [e3,b3,e4,g#4,b4,e5]@2 e5 [e3,b3,b4,e5]@3, ~@2 [e4,e5]@3 [e4,c#5,e5]@3 ~@6 [e4,g#4,e5]@3 ~@3 [e4,f#4,g#4]@3 ~", // C#m C# D#m E E5 E C#m E
AP: "~@3 [f#4,e5]@3 [f#4,e5]@2 ~ f#4@2 ~ [f#4,b4,e5]@2 ~ f#4@2 [b3,b4,b5]@3 ~@2 a5@2, [e3,e4], [b3,b4,d#5]@11 b3@3 [b3,b4]@3 ~@3 [b3,b4] a4@3, [f#4,e5]@3 ~@5 e5@4 ~@3 e5@9, ~ g#4@23", // F#7 Esus2 B E B F#7
AQ: "e5 e5@2 [e4,e5]@2 ~ [e4,e5,a5]@2 ~ a5 a5@2 [g#4,g#5]@2 g#5 g#5@2 ~ c#5@2 ~ [e4,d#5,e5,f#5]@3, c#5@18 ~@2 f#4@3 ~, [a4,a5]@2 ~ f#5@2 ~@3, e4@3 ~@2 [f#4,a4]@3 e4@6 ~ d#4@6 ~@3, ~@9 a4@3 ~@2 g#4@3 [g#4,g#5]@4 ~@3", // E A5 G# D#m A F#m G#
AR: "[e4,f#4,e5,f#5]@5 e5 [e4,f#4,e5]@2 ~ e5 e5@2 [f#4,e5]@2 ~ [f#4,e5]@2 ~ [d#5,e5]@2 ~ [a3,e5,a5]@3, d#5@3 ~, ~@8 f#4@3 ~@3 e4@3 [a3,e4]@3 e4@3 ~, ~@3 [e4,a5]@2 g#5@2 ~", // Esus2 F#7 Emaj7 A5
AS: "[c#4,e4,c#5,e5]@2 ~ [c#4,c#5,e5]@2 e5 [c#4,e4,e5]@3 [d#4,e4,d#5,e5,a5]@5 [e4,e5] e5@2 e5@3 e5 b4 b4@2, ~@2 e4@3 [f#4,c#5]@3 ~@7 [e4,g#5]@5 [e4,f#4]@3 ~, ~@7 [b3,e5]", // C#m A E F#5 E Esus2 E5
AT: "[b3,e4,f#4,b4,e5]@3 [b3,e4,f#4,b4,e5]@2 e5 [b3,e4,f#4,b4,e5]@2 e5 [f#4,e5]@3 [f#4,e5]@2 b4 e5 ~ b4 b4@3 ~ a5@2, ~@9 [b3,e4,b4]@5 e4@9 ~, ~@15 [b3,f#4,b4]@2 [b3,b5]@3 ~ [b3,a4,b4]@3, ~@2 e5", // Bsus4 F#7 E5 B5 B B7
AU: "~@4 e5!2 [c#4,g#4,b4,c#5,e5,a5]@3 a5 a5@2 [g#4,g#5]@2 [g#4,b4,g#5] ~@2 [g#4,b4] [c#4,g#4,b4,c#5,e5,b5]@2 f#4 [b3,e4,f#4,e5,f#5,a5]@3, e4 ~@3, [c#4,g#4,a4,e5,a5]@4 ~ [f#4,a4]@3 ~ [g#4,a4,g#5]@3 ~@5 g#5@3 ~@4, b4@2 b4@3 ~@11 c#5@2 ~@2 a4@3 ~, ~ c#5@2 [c#4,g#4,a4,c#5,a5]@3 ~@3 [c#4,b4,c#5,e5]@6 [c#4,g#4,b4,e5,g#5,b5]@3 ~@6", // C#m7 G# G#m C#m7 Bsus4 Amaj7 F#m Amaj7 …
AV: "[f#4,e5,f#5]@5 e5 [e4,f#4,e5]@3 ~ e5@4 ~ e5@2 ~ e5@2 ~ [e5,g#5,a5]@3, [a4,a5]@9 g#4@11 ~@4, ~@9 [e4,g#5,a5]@5 e4@3 e4@3 [e4,g#4]@3 ~, ~@5 g#5@2 ~", // F#7 Esus2 Amaj7 A Amaj7 E
AW: "[e4,a4,e5,a5]@2 ~ e5@2 e5 [e4,a4,e5,a5]@2 ~ [e4,e5,g#5,a5]@6 [a4,e5,a5]@2 ~ e5@2 b4!2 b4@2, ~@2 [e4,a4,a5]@3 f#4@3 g#4@6 ~ [e4,g#5]@6 [b3,b5]@3, ~@17 [b4,b5]@3 [e4,e5]@3 ~", // A5 Amaj7 A5 E B E
AX: "[b3,e4,b4,e5,b5]@3 [b3,e4,b4,e5]@2 ~ [b3,e4,b4]@2 ~ [b3,e4,b4,e5]@5 b4 e5 ~@2 b4@2 ~ [b3,b4,c#5]@3, ~@3 b5@5 b5@6 ~ [b3,b4]@2 b3@3 c#4@3 ~, ~@5 e5@3 ~@6 e4@9 ~, ~@2 e5", // E5 Bsus2 B
AY: "~@4 e5 ~ [c#4,g#4,b4,c#5]@3 [c#4,g#4,b4,c#5,e5,g#5]@5 b4 ~@2 b4 [c#4,g#4,b4,c#5,e5,b5]@2 ~ [b3,f#4,a5]@3, [c#4,g#4,a4,b4,e5,a5]@2 b4@3 e5@3 ~@8 c#5@2 ~@6, ~ c#5@2 [a4,a5]@6 ~@11 a4@3 ~, ~ [c#4,g#4,c#5] ~@3 [c#4,g#4,b4,e5,b5] ~@2", // C#7 C#m7 B7 C#m7 A C#5 C#m7
AZ: "~@4 e5 ~ [c#4,g#4,b4,c#5]@3 [c#4,g#4,b4,c#5,e5]@6 ~ c#5@2 [c#4,g#4,b4,c#5,e5]@2 ~ [b3,g#5]@3, [a4,a5]@9 ~@11 g#4@3 ~, [c#4,g#4,b4,e5]@2 b4@3 e5@3 ~ g#5@12 ~@3, ~ c#5@2 [c#4,g#4,c#5]@3 ~@9 [c#4,g#4,b4,e5]@3 ~@6", // C#7 C#m7 E A C#m7 C#5 C#m7
BA: "~@2 a4 [a3,e4,a4,b4,e5]@3 ~@3 [a3,e4,a4,b4,e5,g#5]@6 [a3,e4,a4,b4,e5,a5]@2 [b4,e5] ~@2 [b4,e5] [a3,e4,a4,b4,e5,b5]@3, [a3,e4,a4,e5,a5]@2 a5@3 ~@2 e5@2 ~@8 b5@2 a3@2 ~@3, ~ b4@2 ~@3 [a3,e4,a4,b4,a5]@2 g#4@6 ~@4 [e4,a4,b4,e5]@3 ~@3", // Asus2 E Asus2 E5 Asus2 A5 Asus2 Esus4
BB: "[e3,a3,e4,a4,b4,e5,b5]@2 [b4,e5] ~ a3@2 [e3,a3,e4,a4,b4,e5]@2 ~ [e3,a3,e4,a4,b4,e5]@5 ~@2 a5@2 [a4,a5]@2 ~ [a4,c#5,a5]@3, ~@3 b5@5 b5@6 ~ [a4,e5]@3 ~@6, ~@3 [e3,e4,a4,b4,e5]@3 ~@8 e4@3 ~@3 c#4@3 ~", // Esus4 E5 Esus4 A A5 Esus4
})).s("gm_distortion_guitar").gain(0.1)
// chords · rock organ
const rock_organ = note(`<
A@4 B@2 C D E@2 F G H@4 I J@5 K@2 L@2 M@2 N O P Q R S T@2 U V W X Y Z AA AB AC@4 AD AE AF@2 AG@2 K@2 L@2 M@2 N O P Q R
S T@2 U V W X Y Z AA AB ~ AH AI AJ AK AH AI AJ AK AH AI AJ AK AH AL@4 U V W X AM AN AO AP AQ AR AS AT AU AV AW AX AY
AZ BA BB ~@5
>`.pickRestart({
A: "[[c#4,g#4,c#5,e5]@17 ~ [f#4,d#5]@18 ~@7 a4@31 ~ a3@11 [a3,e4,a4]@9 ~, ~@17 [b3,b4]@18 ~@6 a3@34 ~@21, ~@21 e4@16 [e4,a4]@6 ~@5]/4", // C#m D#m A5 B A5
B: "[[b3,b4]@3 ~@2 [b3,b4]@24 ~ b4@3 ~@3 [e4,a4]@3 ~@9, ~@3 c#4@3 ~@23 b3@3 ~@2 e4@2 ~@12, ~@4 c#5@3 ~@26 [a4,e5]@2 e5@3 ~@10]/2", // B A5
C: "[e4,e5] [e4,e5]@2 [f#4,g#5] [f#4,g#5]@2 ~ e4 [e4,e5]@3 ~ b4 [b3,b4]@3 ~ b3 ~ b4@3 ~@2, ~@6 e5@2 ~@3 b3@2 ~@4 b4@2 ~@5, ~@6 b3 ~", // E F#sus2 E B
D: "[c#4,c#5] [c#4,c#5]@2 ~@4 e3 ~ f#3 ~ g#3@2 ~ f#3@2 f#3@2 e3 e3@3 ~@2, ~@3 b4@2 b4@3 e3@3 ~@13, ~@4 b3@2 b3@3 ~ f#3@3 g#3@3 ~@8", // C#
E: "[[b3,b4] [b3,b4]@2 [c#4,c#5] c#4 [c#4,b4]@2 b4@22 ~ b4 ~@2 a4 ~ e5 e4 ~ [a4,e5]@3 ~@7, ~@4 c#5@3 c#4@36 ~@5, ~@29 b3@2 b4@11 ~@6, ~@31 b3@2 e5@2 ~@2 e4@3 ~@8, ~@16 e4 [e4,a4] [a4,e5] ~@5]/2", // B C# C#7 A5
F: "[e4,e5] ~@2 f#4 ~@2 [e4,a4,e5]@2 [e4,a4,e5]@3 ~ [b3,e4,b4]@2 [b3,e4,b4]@3 ~ [b3,e4,b4] [b3,e4,b4]@3 ~@2, a4@2 a4@2 f#4@3 ~@17, ~ [e4,e5]@2 g#5@2 g#5@3 ~@16", // E A5 E5 E
G: "[c#4,c#5] [c#4,c#5]@2 [b3,b4]@2 ~ e3@2 e3@2 f#3 [f#3,g#3]@2 g#3@2 f#3 ~ e3@2 e3@3 ~@2, ~@5 [b3,b4]@3 ~@8 f#3@3 ~@5", // C# B F#sus2 B
H: "[[g#3,b4,e5] d#4 d#4@9 b4 g#3 [g#3,d#4,e5]@2 [e3,b3] ~@32 b4 b4@2 f#4 b4 [b3,b4]@3 ~ [b3,b4] [b3,e4,b4]@2 ~@4 e4!3 a3 ~@21 e5 [b3,e4,g#4,b4] ~ e3 [e4,b4,e5] ~ [e3,b3,g#4], ~ [g#3,b4,e5]@10 [d#4,e5]@2 ~@2 e4@2 e4@35 f#4@3 ~ e4@2 ~@2 [f#4,b4]@2 [f#4,b4]@3 a4@2 [e4,a4]@23 [e3,e5]@3 [e3,b3,g#4]@2 ~, ~@12 b4@3 ~ [e3,b3]@35 b3@2 ~@8 b3@2 b3@3 ~@2 a3@23 [b3,e4,g#4,b4]@2 ~ [e4,b4,e5]@2]/4", // E Emaj7 E5 B E5 E E5 E …
I: "[e3,b3,b4,e5] ~ [e4,g#4]@9 ~ [e3,b3,e4,b4] [e3,b3,e4,g#4,b4,e5]@2 g#3 [b4,e5] b4 [d#4,b4]@3 ~@3, [e4,g#4]@2 ~@9 [g#4,e5]@2 ~@4 e5@3 ~@4, ~ [e3,b3,b4,e5]@11 ~@4 [g#3,d#4]@3 ~@5", // E5 E E5 E E5 G#m E C#m …
J: "[[d#4,b4,e5] g#3 ~ b4@21 [b3,f#4,b4] [b3,f#4,b4]@2 b4 [b4,e5] [b4,e5]@3 ~ [b3,f#4] [b3,f#4,b4]@2 [b3,b4] ~ f#4@3 e4 a4 a4@2 [a3,e4] ~@20 [g#4,b4,e5]@3 [e3,b4] ~ [d#4,g#4] [e3,b3,e4,g#4,b4,e5]@12 [e3,b3,e4,g#4,b4,e5]@5 ~@2 [c#4,b4]@24 ~@5, ~ [d#4,e5]@24 ~@11 f#4@2 ~@4 e4@3 ~@24 [b3,e4,g#4,e5]@3 d#4@3 ~@14 b4@2 ~@29, ~ b4@2 ~@29 b4@2 ~@37 a3@3 ~@15 [g#3,e5]@24 ~@7, ~@2 g#3@24 ~@11 [b3,b4]@3 ~@6 [a3,e4]@24 [e3,b4]@2 ~@18 d#4@24 ~@6]/5", // Emaj7 B5 E5 B5 B A5 E E5 …
K: "[[b3,f#4,b4]@3 [b3,f#4,b4]@3 ~@3 [b3,f#4,b4]@3 [b3,f#4,b4]@3 ~@3 [e4,a4]@3 ~@10 e3@3 ~ g#3@3 ~ b3@3 g#3@3 e3@3, ~@7 [a3,e4,a4]@4 ~@5]/2", // B5 A5
L: "[[e3,b3,e4,g#4,b4,e5]@12 [b4,e5]@3 b4 [d#4,b4]@24 ~@8, ~@2 [e3,b3,e4,g#4] ~@5, ~@5 [g#3,e5]@8 ~@3]/2", // E E5 G#m E C#m
M: "[[b3,f#4,b4]@3 [b3,f#4,b4]@3 ~@2 [b3,f#4,b4]@3 ~ [b3,f#4,b4]@3 ~@3 [a3,e4]@23 ~ e4@3 [e4,a4]@3, ~@41 a4@3 ~@4]/2", // B5 A5
N: "~@3 d#5@3 [e4,e5]@2 ~ d#4@3 [e4,e5]@3 ~ d#5@3 ~@2 e5@3, ~@2 d#4@3 ~@3 d#5@3 ~@4 d#4@3 ~@2 e4@3 ~", // E
O: "~@3 [e4,e5]@3 [f#4,f#5]@2 ~ e4@3 ~ f#5@2 [e4,e5]@3 ~@3 d#5@3, ~@8 e5@3 ~ f#4@3 ~@5 e4@3 ~", // E F# E
P: "~@2 [d#4,d#5]@3 ~ e4@2 ~ d#4@3 [e4,e5]@3 [d#4,d#5]@3 ~@2 [e4,e5]@3 ~, ~@5 e5@3 d#5@3 ~@13", // D# E D# E
Q: "~@2 [e4,e5]@3 ~ f#4@2 ~ e4@3 [f#4,f#5]@2 e4@2 e5@3 ~ [d#4,d#5]@3 ~, ~@5 f#5@3 e5@3 ~@13", // E F# D#
R: "~@3 d#5@3 [e4,e5]@2 ~ d#4@3 [e4,e5]@2 ~ d#4@3 ~@3 [e4,e5]@3, ~@2 d#4@3 ~@3 e5@3 ~@3 d#5@3 ~@7", // E
S: "~@3 e5@2 [f#4,f#5]@3 ~ e5@2 ~ f#5@2 [e4,e5]@3 ~ [g#4,g#5]@2 ~ g#4@3, ~@2 e4@3 ~@3 e4@3 f#4@3 ~@6 g#5@3 ~", // F# E G#
T: "[[g#4,g#5]@2 g#4@2 g#5@3 ~ [g#4,f#5]@3 ~@4 f#4@2 ~ e4@2 [e4,e5]@18 ~@10, ~@14 f#5@3 e5@3 ~@28]/2", // G# G#7 E
U: "[e4,e5]@3 ~ e4 [e4,e5]@3 ~ f#5@5 [g#4,g#5]@3 [g#4,g#5]@3 [e4,e5]@3 ~, ~@3 e5@2 ~@3 f#4@6 ~@10", // E G# E
V: "[e4,e5]@2 ~ e5@2 [e4,e5]@3 ~ [f#4,f#5]@5 [g#4,g#5]@3 [g#4,g#5]@3 ~ e5@3, ~@2 e4@3 ~@15 e4@3 ~", // E F# G#
W: "[e4,e5]@2 [e4,e5]@3 [e4,e5]@3 ~ [f#4,f#5]@5 ~ g#5@3 [e3,b3,e4,g#4,b4,e5]@2 ~ [e3,b3,b4,e5]@3, ~@14 g#4@3 ~@3 [e4,g#4]@3 ~", // E F# E E5 E
X: "~ g#4@23, [e3,b3,e4,b4,e5]", // E5
Y: "~ [e4,e5]@3 [e4,e5]@2 [e4,e5]@3 ~@6 g#5@3 [g#4,g#5]@3 [e4,e5]@3, ~@9 f#4@5 g#4@3 ~@7, ~@5 f#5@3 ~@4", // E G# E
Z: "~ e4 e4@2 e5@2 [e4,e5]@3 ~ f#5@5 [g#4,g#5]@3 [g#4,g#5]@3 [e4,e5]@3, ~ e5@3 ~@5 f#4@6 ~@9", // E G# E
AA: "~ [e4,e5]@2 [e4,e5]@3 [e4,e5]@3 ~ f#4@5 ~ g#5@2 ~ [b3,e4,e5]@2 ~ e3@2, ~@3 f#5@2 g#4 [e3,g#4,b4] [b3,e4,g#4,b4,e5]", // E E5 E
AB: "~ [e3,b3,e4,g#4,b4,e5]@23", // E
AC: "[~ d#4@10 ~ g#3@3 ~@33 b4@3 ~ b4@3 ~@2 [b3,b4]@3 ~ b3@3 ~@26 [e3,b3,e4,g#4,b4]@3 [e3,b3,e4,g#4,b4,e5]@3, [g#3,b4,e5]@11 [d#4,b4,e5]@3 ~ [e3,b3,e4]@36 [b3,f#4]@3 ~@2 e4@3 ~ [f#4,b4]@3 ~ e4@2 e4@24 ~@6, ~@65 a4@24 e5@3 ~@4, ~@67 a3@24 ~@5]/4", // B E Emaj7 E5 B5
AD: "[e3,b3,e4,g#4,b4,e5]@11 ~ [e3,b3,e4,b4]@3 ~ [d#4,b4,e5]@3 ~@5, ~@11 [g#4,e5]@3 ~ g#3@3 ~@6", // E E5 Emaj7 C#m
AE: "b4 [g#3,b4]@23, [d#4,e5]", // G#m Emaj7
AF: "[[b3,f#4,b4]@3 b4 [b4,e5]@3 ~@2 [b3,f#4]@3 [b3,f#4,b4]@3 ~@3 a4@3 ~@21 [g#4,b4,e5]@3 [e3,b3,e4,g#4,b4,e5]@3, ~@8 b4@3 ~@6 e4@3 ~ [a3,e4]@24 ~@3]/2", // B5 E5 B5 E A5
AG: "[[e3,b3,e4,g#4,b4,e5]@12 [e3,b3,e4,g#4,b4,e5]@5 ~@2 [c#4,b4]@24 ~@5, ~@17 [g#3,e5]@24 ~@7, ~@17 b4@2 ~@29, ~@3 d#4@4 ~]/2", // E C#7 C#m
AH: "a4@3 a4@3 a4@3 a4@3 a4@2 a4@3 ~ a4@6", AI: "a4!8", AJ: "a4!6 b4@2",
AK: "a4@3 a4@3 a4@3 a4@3 a4@3 a4@2 a4@3 ~ a4@3", AL: "[c#5@12 ~@10 b4@23 ~@27 e4@24, ~@7 f#4@8 e5@12 ~@5]/4",
AM: "e5 e5@2 e4!2 [e4,e5] [e4,e5]@2 ~ f#5@5 g#5 g#5@2 [g#4,g#5]@3 e4 [e4,f#5]@3, e4@3 e5@2 ~@3 [e4,f#4]@6 g#4@3 ~@3 e5@3 ~, ~@5 d#4@2 ~", // E G# Esus2
AN: "[e4,e5]@2 ~ e5@2 ~ f#4@2 f#4 [f#4,e5]@3 [f#4,e5]@2 ~ [f#4,e5]@2 [a3,g#4,g#5]@3 ~ [a3,e5]@3, f#5@2 ~ f#5@2 ~@3, ~@2 e4@3 [e4,e5]@3 ~@6 [g#4,g#5]@3 ~@3 e4@3 ~", // E F#7 Amaj7 A5 E G#
AO: "[c#4,e4,c#5,e5]@2 ~ [c#4,c#5]@2 ~ c#4@3 [d#4,f#4,d#5,f#5]@5 ~ g#5@3 [e3,b3,e4,g#4,b4,e5]@2 ~ [e3,b3,b4,e5]@3, ~@2 [e4,e5]@3 [e4,c#5,e5]@3 ~@6 [e4,g#4,e5]@4 ~@2 [e4,f#4,g#4]@3 ~", // C#m C# D#m E E5 E C#m E
AP: "~@3 [f#4,e5]@3 [f#4,e5]@2 ~ f#4@3 [f#4,e5]@3 f#4@2 b5@3 ~@2 a5@2, [e3,b3,e4]@7 a4, b4@17 b4@7, [f#4,e5]@3 ~@5 e5@4 ~@3 e5@9, ~ g#4@23", // F#7 E5 F#7
AQ: "~ e5@2 [e4,e5]@2 ~ [e4,e5,a5]@2 ~@2 a5@2 [g#4,g#5]@2 g#5 g#5@2 [g#4,g#5]@3 ~ [e4,f#5]@3, [a4,a5]@6 ~@2 e4@6 ~ d#4@6 ~@3, e4@3 ~@2 a4@3 ~ f#5@6 ~@9, ~@9 a4@3 ~@2 g#4@3 ~@3 f#4@3 ~", // E A5 G# Esus2 A
AR: "[e4,f#4,f#5]@5 ~ [e4,f#4]@2 ~ e5 e5@2 [f#4,e5]@2 ~ [f#4,e5]@2 ~ e5@2 ~ [a3,e5]@3, ~@5 e5@3 f#4@3 ~@9 e4@3 ~, ~@9 e4@5 e4@3 [a3,e4]@3 ~@4", // Esus2 F#7 A5
AS: "[c#4,e4,c#5,e5]@2 ~ [c#4,c#5,e5]@2 ~ [c#4,e4,e5]@3 [d#4,e4,d#5,e5]@5 [e4,e5] [e4,e5]@5 ~@2 b4@2, ~@2 e4@3 c#5@3 ~@12 f#4@3 ~, ~@7 [b3,e5]", // C#m Emaj7 E E5
AT: "[b3,f#4,b4,e5]@3 [b3,f#4,b4,e5]@3 [b3,f#4,b4,e5]@2 ~ f#4@3 [f#4,e5]@3 [b3,f#4,b4,e5]@2 b4 b4@3 ~ a5@2, ~@8 e5@3 ~@13, ~@9 [b3,b4]@6 ~@2 [b3,b5]@3 ~ [b3,a4,b4]@3", // Bsus4 F#7 Bsus4 B B7
AU: "~@4 e5 ~ [c#4,g#4,b4,c#5,a5]@3 ~ a5@2 [g#4,g#5]@2 g#4 ~@2 g#4 [c#4,g#4,b4,c#5,e5]@2 f#4 [b3,f#4,f#5]@3, [a4,a5]@6 ~@3 [g#4,a4]@3 ~@4 c#5@2 ~@6, [c#4,g#4,b4,e5]@2 b4@3 [a4,e5]@3 ~@6 g#5@3 g#5@3 ~@4, ~ c#5@2 [c#4,g#4,c#5]@3 ~@3 [c#4,b4,c#5,e5]@6 [c#4,g#4,b4,e5]@3 ~@6", // C#7 G# C#m7 B5 A Amaj7 C#m7 A5 …
AV: "[f#4,f#5]@5 ~ e4@3 ~ e5@4 ~ e5@2 ~ e5@2 ~ e5@3, ~@5 e5@3 ~ e4@5 e4@3 e4@3 e4@3 ~", // F#
AW: "[e4,e5]@2 ~ e5@3 [e4,e5]@3 [e4,e5]@6 [e4,e5]@6 ~ b4@2, ~@2 e4@3 ~@16 b3@3", // E
AX: "[b3,b4]@3 [b3,b4]@3 [b3,b4]@3 [b3,b4]@6 [b3,b4]@2 ~ b4@3 [b3,b4]@3, ~@17 b3@3 ~@4", // B
AY: "~@4 e5 ~ [c#4,g#4,b4,c#5]@3 [c#4,g#4,b4,c#5,e5]@6 ~ c#5@2 [c#4,g#4,b4,c#5,e5]@3 [b3,f#4]@3, [c#4,g#4,b4,e5]@2 b4@3 e5@3 ~@16, ~ c#5@2 [c#4,g#4,c#5]@3 ~@9 [c#4,g#4,b4,e5]@3 ~@6", // C#7 C#m7 B5 C#m7 C#5 C#m7
AZ: "~@4 e5 ~ [c#4,g#4,b4,c#5]@3 [c#4,g#4,b4,c#5,e5]@6 ~ c#5@2 [c#4,g#4,b4,c#5,e5]@3 b3@3, [c#4,g#4,b4,e5]@2 b4@3 e5@3 ~@16, ~ c#5@2 [c#4,g#4,c#5]@3 ~@9 [c#4,g#4,b4,e5]@3 ~@6", // C#7 C#m7 C#5 C#m7
BA: "~ b4@2 [a3,e4,a4,b4,e5]@3 ~ e5@2 [a3,e4,a4,b4,e5]@6 [a3,e4,a4,b4,e5]@2 ~@2 a3@2 [a3,e4,a4,b4,e5]@3, [a3,e4,a4,e5]@3 ~@3 [a3,e4,a4,b4]@3 ~@8 e5@3 ~@4, ~@6 [e4,a4,b4] ~", // Asus2 A5 Asus2 Esus4
BB: "[e3,a3,e4,a4,b4,e5]@2 ~@2 a3@2 [e3,a3,e4,a4,b4,e5]@3 [e3,a3,e4,a4,b4,e5]@6 ~ a5@2 [a4,a5]@3 [a4,a5]@3, ~@2 [b4,e5]@3 ~@10 a4@3 ~@6, ~ [e3,e4,a4] ~@6", // Esus4 A E5 A5
})).s("gm_rock_organ").gain(0.05)
// drums · hihat
const hihat = s("hh").struct("<A@31 B C@13 D ~@3 A@7 E A@23 B C@13 D ~@3 A@15 B C@4 ~>".pickRestart({
A: "x!4", B: "x ~@6 x", C: "x!8", D: "x!6 ~@2", E: "x!3 ~",
})).gain(0.36)
// drums · open hat
const open_hat = s("oh").struct("<~@31 [~ x!2 ~] ~@48 [~ x!2 ~] ~@32 [~ x!2 ~] ~@5>").gain(0.36)
// drums · crash
const crash = s("cr").struct("<[~@2 x ~@18 x ~@2] [~@3 x] ~@117>").gain(0.42)
stack(electric_bass_pick, distortion_guitar, rock_organ, hihat, open_hat, crash)
More by Goo Goo Dolls
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.