0:00/0:00
// Gun — Soundgarden
// 100 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 113 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · tremolo strings
const tremolo_strings = note("<~@16 A B C@3 ~@47 D@2 E F G H I J K L M@7 N@2 ~@15 O@3 P@2 ~@4 Q@2>".pickRestart({
A: "~@9 e3@3 f3@4", B: "~@8 e3@6 ~ f3@7 ~@10",
C: "[~@11 e3@6 f3@6 ~@6 e3@5 ~@2 f3@6 e3@6 ~@8 f3@6 ~ e3@5 ~@7 b3 ~@5 b3@13 ~@2, ~@74 e3@4 ~@2 e3@13 ~@3]/3",
D: "[~@18 b4@5 a4@6 g4@5 f#4@17 ~@2 b4@6 a4@5, ~@17 a4@3 ~@32 a4@2 ~@10]/2", E: "~ g4@5 f#4@18 ~@8",
F: "~@26 [g4,a4] g4@2 a4 g4 a4, ~@13 b4 ~@2", // Gsus2
G: "g4 ~ e4@3 f4@2 d4@2 [d4,e4,f4] ~ e4 c4@2 e4 ~ [b3,c4,e4] ~@2 d4@9 [e4,f4] d4 ~ e4", // Dm Cmaj7 Fmaj7
H: "d4 e4 [d4,e4] ~ e4 f4 e4 f4 e4 g4@2 ~ g4 [f4,a4] [e4,f4] [a4,b4] [f4,g4] [a4,b4] f4 [a4,b4,c5] f4 ~ [g4,a4,b4] f4 a4 g4 [a4,a#4] g4 a#4 [g4,a4] ~ a#4, ~@11 e4@2 ~@17 d#4@2", // Dsus2 F Fmaj7 Asus2 Fsus2 Asus2 Am G …
I: "~ b4@3 e5 a#4!2 [c#5,e5] ~@2 c#5 [b4,c5,d5] g#5 ~ [f4,g#4,g5] ~@7 [f#5,g#5] ~ f5 ~ [g5,b5] [a5,c6] [b5,c6] a5 b5 c6, c5@4 ~ d#5@2 ~@2 e5@2 ~ c5@6 ~@14, c#5 ~ c#5 f5@2 ~ b5@5 ~@5, ~@7 a5@2 ~@2 g5 ~@4", // C#m Bm Fm F#sus2 G Am Cmaj7
J: "[a5,b5,c6] [a5,b5] c6 b5 c6 b5 c6 ~ b5 a5 b5 a5 b5 a5 [a5,b5] a5@2 g5 a5 ~ g5 b5 g5 b5@2 a#5 b5 ~ [e5,f5]@2 a5 g5, ~@27 g5@2 ~@3", // Am Asus2 Fmaj7
K: "[e5,f5] ~ g5 e5 f5 ~@2 [e5,f5] d5 e5 d5 e5 ~ d5 [d5,e5] [a4,c5,d5] b4 d5@2 [b4,c5]@3 [d5,e5]@2 c5 e5 ~@2 e5 [c5,d5] [d5,e5] c5", // Fmaj7 Dsus2 D7 Cmaj7 Dsus2 Csus2 Dsus2
L: "[e5,f5] c5 d5 ~ [b4,c5] [c5,d5] b4@2 ~@2 a4@11 b4@2 g4@9, ~@9 c5@2 ~@21", // Fmaj7 Cmaj7 Csus2
M: "[f4@9 e4@10 d4@4 e4@13 f4@7 ~ f4@11 e4@79 a4@2 b4@6 a4@6 g4@5 f#4@19 ~ b4@6 a4@5 g4@6 f#4@25 d4@9, ~@43 e4@3 ~@126 a4@2 ~@50]/7",
N: "[~@3 e4@46 ~@15]/2", O: "[~@5 e3@6 f3@8 ~@5 e3@6 ~ f3@11 ~@14 e3@5 f3@6 ~@6 e3@6 f3@7 e3@6 ~@4]/3",
P: "[~ f3@7 e3@6 ~@6 b3@5 ~ b3@27 ~@11, ~@19 e3@33 ~@12, ~@20 a3 ~@43]/2", Q: "[~@9 e3@52 ~@3, ~@9 a2@48 ~@7]/2",
})).s("gm_tremolo_strings").gain(0.4).pan(0.7)
// bass · electric bass pick
const bass = note("<~ A B@3 C@2 D@2 E@2 F@4 G@2 H@6 I@2 J K L M N@2 O@6 P Q R@3 S@2 T@2 U ~@66>".pickRestart({
A: "~@31 d1",
B: "[e1 [f1,g1] [a1,b1] [c2,d2] [e2,f2] g2@12 ~@2 d1@6 e1@6 f1@7 d1@7 e1@8 f1@7 d1@8 ~ d1@5 ~ d1@7 e1@8 f1@6]/3", // Fsus2 Asus2 Csus2 Fmaj7
C: "[~ d1@7 e1@7 f1@9 e1@6 d1@9 f1@6 e1@7 d1@7 e1@5]/2", D: "[~ e1@23 ~@4 f1@6 e1@7 d1@7 e1@5 ~ e1@10]/2",
E: "[f1 g1 [a1,b1] [c2,d2,e2] [f2,g2,a2] [b2,c3,d3] [e3,f3] g3 a3@2 b3@4 ~@2 d1@6 e1@7 f1@7 d1@7 e1@8 ~@7 d1@6, ~@51 f1@11 ~@2]/2", // Asus2 C F Bm Fmaj7
F: "[~ d1@5 ~@2 d1@7 e1@6 f1@7 d1@7 e1@6 f1@7 e1@7 d1@7 ~@2 f1@8 ~@3 d1@7 e1@6 ~ e1@15 ~@12 f1@6 e1@6, ~@62 e1@6 ~@4 e1@5 ~@51]/4",
G: "[d1@7 e1@5 ~ e1@27 ~@3 d1@6 e2@8 f2@7]/2",
H: "[~ d1@7 e2@7 f2@7 d1@6 ~ d1@5 ~@2 d1@6 e2@6 f2@7 d1@7 e2@6 f2@6 e2@7 d1@6 e2@2 f2@5 e2@6 ~@14 a2 ~@24 f1@7 e1@7 d1@6 e1@5 ~@2 e1@26, ~@50 d1@13 ~@33, ~@106 e2@25 ~@61, ~@113 b2@17 ~@62]/6",
I: "[d1@5 ~@2 e1@6 f1@6 d1@6 e1@6 f1@6 d1@6 d1@5 ~ d1@6 e1@5 f1@4]/2", J: "~ d1@6 e1@5 f1@4 e1@6 d1@5 e1@4 ~",
K: "e1@4 d1@4 e1@4 ~ e1@8 ~@7 e1@4", L: "f1@5 e1@4 d1@5 e1@4 ~@2 e1@12", M: "~@5 d1@4 e1@5 f1@4 d1@4 e1@4 f1@4 d1@2",
N: "[~@2 d1@3 ~ d1@3 e1@4 f1@4 ~ d1@4 e1@4 f1@4 e1@4 d1@4 e1@8 d1@4 e1@2 ~@2 e1@10]/2",
O: "[~@3 e1@3 ~ f1@4 e1@4 d1@4 e1@4 ~@2 e1@17 d1@4 e1@5 f1@3 d1@4 e1@4 f1@4 d1@3 ~@2 d1@2 ~ d1@4 ~@3 f1@5 d1@4 ~@3 f1@4 d1@6 ~@5 f1 ~@3 d1@4 e1@3 ~ e1@16 ~@2 f1@4 e1@4 d1@4 e1@3 ~ e1@16 d1@4 e1@4 f1@4 d1@4 ~@3 f1@3, ~@78 e1@5 ~@7 e1@5 ~@8 e1@9 ~@74 e1@5 ~]/6",
P: "~ d1@3 ~@2 d1@2 ~ d1@4 e1@3 f1@4 d1@4 e1@4 f1@4", Q: "e1@3 d1@4 e1@3 f1@2 e1@4 d1@4 e1@11 ~",
R: "[d1@3 f1@3 e1@5 d1@3 e1@3 ~ e1@13 d1@4 e1@3 f1@4 d1@3 e1@3 f1@3 d1@2 ~@2 d1@2 ~ d1@4 e1@3 f1@3 d1@4 ~@2 f1@4 e1@4 d1@3 f1@3 e1@3 d1@3 e1@2, ~@18 e1 ~@5]/3",
S: "[~@2 e1@11 ~@5 e1@4 d1@3 e1@3 e1@7 f1 [g1,a1,b1] c2 ~ e2 ~@2 [d1,e1]@2 d1@4 f1@3 e1 ~ d1@3 e1@2 f1@4 d1@2, ~@8 f1@2 ~@9 d2 ~@12]/2", // G Dsus2
T: "[~ d1@2 ~ d1@3 e1@2 f1@3 d1@3 e1@3 f1@4 e1@3 ~ d1@2 e1@3 f1@3 e1@3 f1@3 e1@13 f1@3 e1@3 d1@3 e1@2]/2",
U: "~ e1@11 ~@20",
})).s("gm_electric_bass_pick").gain(0.4)
// bass · electric bass pick
const bass_2 = note("<~@46 A@2 B C@2 D E@3 F G@7 H@4 I@3 J K L M N@4 O@2 P Q R S T U@8 V W@5 X@4 Y@5 Z@5>".pickRestart({
A: "[~@13 d1@3 e1@3 f1@3 d1@3 e1@3 f1@3 d1@2 ~ d1@2 ~ d1@3 e1@3 f1@3 d1@3 e1@3 f1@3 e1@3 d1@3 e1@2 ~]/2",
B: "e1@3 d1@2 e1@3 ~ e1@9 ~@2 f1@3 e1@3 d1@3 e1@3",
C: "[~ e1@11 ~ d1@3 e1@3 f1@3 d1@3 e1@3 f1@3 d1@2 ~ d1@2 ~ d1@3 e1@3 f1@3 d1@3 e1@3 f1@3 e1@3 d1@3 e1@2 ~]/2",
D: "e1@2 d1@3 ~ e1@2 ~ e1@9 ~@3 f1@3 e1@3 d1@5",
E: "[e1@2 ~ e1@11 d1@4 e1@3 f1@3 d1@3 e1@3 f1@3 d1@2 ~ d1@2 ~ d1@3 ~@2 f1@3 ~ d1@3 ~@2 f1@4 e1@3 d1@3 e1@2 e1@3 ~ d1@2 e1@2 ~ e1@10 ~@2 f1@3 e1@3 d1@2 e1@2, ~@42 e1@4 ~@5 e1@4 ~@41]/3",
F: "~ e1@10 d1@4 e1@4 f1@4 d1@3 e1@3 f1@3",
G: "[e1@3 d1@3 e1 ~ d1@2 ~@2 f1@2 ~ d1@2 e1@3 d1@2 e1@2 ~ e1@2 ~ e1@3 e1@3 d1@2 e1@2 ~@13 d1@2 ~@2 d1 ~@2 e1 ~@2 g1@6 ~ a1@7 e1@3 d1@2 ~ d1@2 e1@3 e1@5 ~@4 d1@3 e1@2 ~ e1@2 ~ d1@3 ~@15 e1@2 ~ e1@2 d1@2 ~ e1@2 e1@5 ~@4 d1@3 e1@2 e1@3 d1@3 a1@15 e1@2 ~ e1@3 d1@3 e1@2 ~ e1@6 ~@4 d1@2 e1@2 ~ e1@2 ~ d1@3 a1@15 e1@2 ~ e1@2 d1@3 e1, ~@10 e1@4 ~@26 e1@14 ~@3 d1@2 ~@2 a1 ~@45 a1@18 ~@99, ~@122 f1 ~@101]/7",
H: "[~@3 e1@7 ~@2 d1@3 e1@2 ~ e1@2 ~ e1@2 ~ d1 ~@14 e1@2 ~ e1@3 d1@2 e1@2 ~ e1@7 ~@3 d1@3 a1@3 d1@2 d1@3 a1@3 d1@2 ~ d1@2 ~@3 d1@2 d1@6 ~@5 d1@2 e1 ~ e1@2 ~@4 d1@2 e1@2 e1@2 d1@2 e1@2 e1@5 d1@3 e1@2 e1@3, ~@25 a1@17 ~@37 a1@7 ~@42]/4",
I: "[~ d1@2 g1@2 ~ g1@2 g1@2 ~ a1@2 e1@2 d1@2 e1@2 ~@2 d1@6 e1@4 d1@3 e1@2 ~@2 d1 ~ a1@2 ~ a1 a1@4 d1@2 e1 ~@2 e1@2 ~ d1 e1@2 ~ e1@2 e1@4 d1@2 e1 ~ e1@2 ~ d1@2 a1 ~ a1 ~@2 a1@4 d1@2 e1 ~ e1 ~ d1@2 e1@2 ~ e1, ~@21 e1 ~@15 e1@2 ~@34 e1 ~@22]/3",
J: "~ e1@4 d1@2 e1 ~ e1@2 ~ d1 ~ [e1,a1] ~ a1 ~ a1@3 ~@3 d1@2 ~ f1@3 d1@2, ~@26 e1@3 ~@3", // A5
K: "e1@2 f1@3 d1 ~ d1 ~ d1@2 e1@2 f1@2 e1@3 d1@2 e1@2 d1@3 d1 ~ d1 ~ d1@3",
L: "~ a1@10 ~ e1@2 d1@2 ~ g1@11 ~@2 e1@2, ~@11 f1@3 ~@15 d1@3",
M: "f1@2 ~ d1@2 e1@3 f1@2 ~ [d1,e1] ~@2 d1 ~@2 e1@3 f1@2 d1@2 e1@3 f1@2 e1@2 ~, ~@8 d1 ~@7", // Dsus2
N: "[~ d1@2 ~ d1@3 e1 a1@11 ~@2 e1@2 f1@2 ~@2 [e1,f1] g1@11 d1@3 e1@2 f1@2 d1@2 e1@2 f1@2 ~ d1@2 ~ d1 ~ d1 d1@2 e1@2 f1@2 ~@2 e1@3 f1@2 ~ e1 ~ e1 ~ e1@2 ~ d1@3 ~ a1@10 e1 f1@2 ~ d1@4 g1@6 ~ g1@5 d1@2 e1@2 f1@2 ~@3 e1@2 f1@2 ~, ~@19 d1@4 ~@43 d1@3 ~@14 e1@2 ~@12 e1@2 ~@22 d1@4 ~@3]/4", // Fmaj7
O: "[d1 ~ d1 ~@2 [d1,e1]@3 e1@2 f1@2 ~@2 e1@3 f1@3 ~ d1@4 ~ d1@4 a1@11 f1@2 ~ d1@3 g1@8 ~ g1@5 d1@3, ~@13 d1@3 ~@4 e1@2 ~@21 e1@2 ~@19]/2", // Dsus2
P: "e1@3 ~@3 d1@2 ~ e1@2 e1@4 d1 ~ d1 e1@2 e1@2 ~@2 a1@2 a1 ~ a1@4, ~@5 e1@3 ~@24",
Q: "~ d1@2 e1@2 ~ e1 ~@3 e1 ~@2 e1 ~ e1@4 d1@3 e1@2 e1@3 d1@2 [g1,a1] ~@2, ~@9 d1@2 ~@21", // Gsus2
R: "a1 ~ a1@4 d1@2 e1 ~@2 e1@2 d1@2 e1 ~ e1 ~@2 e1@4 d1@2 ~ e1@2 e1@3",
S: "d1@2 a1@2 ~ a1 ~ a1@4 d1@2 e1 ~@2 e1@2 d1@2 e1 ~@2 e1 ~ e1@5 d1@2",
T: "~ d1@2 e1@2 ~ d1@2 a1@2 ~ a1 ~ a1@5 d1@2 e1@2 ~ e1@2 d1@2 e1@2 ~ e1@2",
U: "[e1@2 ~ d1@2 e1@2 ~ e1@3 d1@2 e1@92 ~@25 e1@8 f1@8 d1@8 e1@7 f1@7 d1@5 ~@2 d1@6 ~@2 d1@7 e1@7 f1@6 d1@7 e1@6 f1@7 e1@5 d1@8 ~@6 e1@7 d1@6 ~, ~@118 d1@16 ~@102 f1@9 ~@11]/8",
V: "e1@5 ~ e1@11 f1 [g1,a1] [b1,c2] [d2,e2] [f2,g2] [a2,b2] [c3,d3] [e3,f3] g3 [a3,b3,c4] [d4,e4] [f4,g4] [a4,b4] ~@2, d1 ~@31", // Gsus2 Cmaj7 Dsus2 Fsus2 Asus2 Csus2 Fmaj7 Am …
W: "[~@2 f1@7 e1@4 d1@6 e1@5 ~ e1@25 ~ d1@6 e1@6 f1@6 d1@6 ~@7 f1@7 d1@5 ~ d1@5 ~ d1@7 e1@5 f1@6 d1@7 e1@6 f1@7 e1@7 d1@7 f1@7, ~@2 g1@5 ~@68 e1@11 ~@74]/5",
X: "[e1@5 d1@6 e1@6 ~ e1@25 ~@2 e1 ~@5 e1@6 d1@6 e1@5 ~ e1@25 ~ d1@6 e1@6 f1@7 d1@6 d2@5 ~ e2@2, ~@44 f1@7 ~@77]/4",
Y: "[~ f2@5 d1@5 d1@5 ~ d1@7 e2@6 f2@6 d1@6 e2@5 f2@7 e2@6 d1@23 e1@5 ~@2 e1@22 ~@2 f1@6 e1@6 d1@6 e1@5 ~ e1@22]/5",
Z: "[~ d1@6 e1@5 f1@6 d1@5 e1@5 f1@6 d1@4 ~@2 d1@4 ~@2 d1@4 e1@6 f1@5 d1@6 e1@5 f1@6 e1@5 d1@5 e1@5 e1@6 d1@5 a1@52 ~@4]/5",
})).s("gm_electric_bass_pick").gain(0.26)
// drums · kick
const kick = s("bd").struct(`<
~@3 A B C D E F G H I J K L M N O P Q R S T ~@66 U V W X Y Z AA AB AC AD AE AF AG AH K AI AJ AK AL AM AN AO AP ~
>`.pickRestart({
A: "x ~@14 x", B: "~@5 x ~@6 x ~@19", C: "~@5 x ~@10", D: "~@7 x ~@19 x ~@4", E: "~ x ~@26 x ~@3",
F: "~@16 x ~@4 x ~@10", G: "~@8 x ~@6 x", H: "~@27 x ~@4", I: "~ x ~@6 x ~@19 x ~@3", J: "~@23 x ~@7 x",
K: "~@6 x ~@2 x ~@6", L: "~ x ~@5 x ~@3 x ~@8 x ~@11", M: "~@2 x ~@18 x ~@10", N: "~@11 x ~@14 x ~@5", O: "~@7 x",
P: "~@3 x ~@12 x ~@15", Q: "~@11 x ~@5 x ~@6 x ~@7", R: "~@10 x ~@13 x ~@6 x", S: "~@2 x ~@9 x ~@12 x ~@6",
T: "~@7 x ~@8", U: "~@11 x ~@6 x ~@13", V: "~@4 x ~@3 x ~@2 x ~@4", W: "~@4 x ~@26 x", X: "~@6 x ~@5 x ~@12 x ~@6",
Y: "x ~@6 x ~@2 x ~ x ~@3", Z: "~ x ~@11 x ~@5 x ~@12", AA: "x ~@18 x ~@6 x ~@5", AB: "~@5 x ~@13 x ~@5 x ~@5 x",
AC: "~@3 x ~@5 x ~@6", AD: "~@13 x ~@2", AE: "~@13 x ~@5 x ~@2 x ~@5 x ~@3", AF: "~@7 x ~@4 x ~@6 x ~@12",
AG: "x ~@5 x ~@5 x ~@18 x", AH: "~@5 x ~@14 x ~@4 x ~@4 x ~", AI: "~@2 x ~@2 x ~@2 x ~@5 x ~",
AJ: "~@2 x ~@12 x ~@10 x ~@5", AK: "~@19 x ~@12", AL: "~@2 x ~@2 x ~@2 x ~@7", AM: "~ x ~@5 x ~@10 x ~@10 x ~@2",
AN: "~@8 x ~@5 x ~@16 x", AO: "~@3 x ~@5 x ~@9 x ~@4 x ~@2 x ~@4", AP: "~ x ~@4 x ~@2 x ~@22",
})).gain(0.4)
// drums · snare
const snare = s("sd").struct(`<
~@2 A B C D E F G H I ~ J K L M N G O ~ P Q R I S T U V W B X Y Z AA AB AC Z AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ
AR AS AT AU AV AN AW AX AY AK AZ BA BB BC BD BE BF BG BH BI BJ BK BI BL BM BN BO BP BQ BR BS BT BU BV BW ~ BX ~ BY BZ
CA ~ CB CC CD CE CF I Q CG CH CI CJ CK ~ CL CM I CN CO CP ~
>`.pickRestart({
A: "~@2 x ~@28 x", B: "~@14 x ~@16 x", C: "~@27 x ~@4", D: "~@3 x", E: "~@21 x ~@10",
F: "~@8 x ~@2 x ~@3 x ~@2 x ~@3 x ~ x ~@7", G: "~@9 x ~@22", H: "~@2 x ~@6 x ~@3 x ~@18", I: "~@13 x ~@18",
J: "~@2 x ~@6 x ~@6", K: "~@13 x ~@2", L: "~@2 x ~@4 x ~@8", M: "~@15 x ~@13 x ~@2", N: "x ~@3 x ~@2 x ~@24",
O: "~@15 x", P: "~@17 x ~@10 x ~@3", Q: "~@3 x ~@12", R: "x ~@5 x ~@13 x ~@2 x ~@3 x ~@2 x ~", S: "~@5 x ~@22 x ~@3",
T: "~@17 x ~@14", U: "~ x ~@4 x ~", V: "~@10 x ~@18 x!2 ~", W: "~ x ~ x ~@10 x ~@15 x ~", X: "~@15 x ~@4 x ~@11",
Y: "~ x ~ x ~@5 x ~@6", Z: "~ x!4 ~@4 x ~@6", AA: "~@2 x ~@3 x ~@14 x ~@10", AB: "~ x ~@2 x ~@12 x ~@3 x ~@10",
AC: "~@3 x ~@15 x ~@12", AD: "~ x ~@3 x ~@11 x ~@14", AE: "x ~@6 x ~@6 x ~", AF: "~@11 x ~@9 x!2 ~ x ~ x ~@2 x ~@2",
AG: "~@6 x ~@6 x ~@18", AH: "~@2 x ~@5 x ~@6 x ~@13 x ~ x", AI: "~@3 x ~@7 x ~@9 x ~@10",
AJ: "~@3 x ~ x ~ x ~@21 x ~@2", AK: "~@5 x ~@5 x ~@4", AL: "~@2 x ~@14 x ~@12 x ~", AM: "~@7 x ~ x ~@9 x ~@11 x",
AN: "~@11 x ~@11 x ~@8", AO: "~@4 x ~@10 x ~@11 x ~@4", AP: "~@8 x!3 ~ x ~@7 x ~@11", AQ: "x ~@10 x ~@11 x ~@8",
AR: "~@3 x ~@12 x ~@2 x ~@8 x ~@3", AS: "~@9 x!3 ~ x ~@7 x ~@10", AT: "~ x ~@11 x ~@11 x ~@6",
AU: "~@5 x ~@10 x ~@10 x ~@4", AV: "~@6 x ~ x ~ x ~ x ~@7 x ~@10 x", AW: "~ x ~@5 x ~@6 x ~",
AX: "~@5 x ~@10 x ~@12 x ~@2", AY: "~@8 x ~@11 x ~@10 x", AZ: "~ x ~@5 x ~@5 x ~@2", BA: "~@5 x ~@11 x ~@11 x ~@2",
BB: "~@9 x ~@11 x ~@10", BC: "~ x ~@11 x ~@18", BD: "x ~@2 x ~@2 x ~@9 x ~@15", BE: "~@12 x ~@9 x ~@8 x",
BF: "~@8 x ~@8 x ~@8 x ~@5", BG: "~@3 x ~@8 x ~@8 x ~@8 x ~", BH: "~@7 x ~@8 x ~@7 x ~@7",
BI: "~ x ~@8 x ~@8 x ~@8 x ~@3", BJ: "~@4 x ~@7 x ~@8 x ~@8 x ~", BK: "~@7 x ~@7 x ~@8 x ~@7",
BL: "~@5 x ~@7 x ~@7 x ~@9 x", BM: "~@7 x ~@9 x ~@8 x ~@5", BN: "~@3 x ~@8 x ~@9 x ~@9",
BO: "x ~@8 x ~@8 x ~@9 x ~@3", BP: "~@5 x ~@8 x ~@9 x ~@7", BQ: "~ x ~@7 x ~@9 x ~ x ~@2 x ~@7",
BR: "~@20 x ~@8 x ~@2", BS: "~@6 x ~@9 x ~@8 x ~@6", BT: "~@2 x ~@8 x ~@8 x ~@9 x ~", BU: "~@7 x ~@8 x ~@9 x ~@5",
BV: "~@3 x ~@7 x ~@2 x ~ x ~@4 x ~@5 x ~@2 x ~", BW: "~@3 x ~@4 x ~@4 x ~@3 x ~@4 x ~ x ~@7", BX: "~@25 x ~@6",
BY: "~@11 x ~@14 x ~@5", BZ: "~ x", CA: "~@9 x ~@6", CB: "x ~@5 x ~@10 x ~@9 x ~@4", CC: "~ x ~@23 x ~@6",
CD: "~@3 x ~@2 x ~@3 x ~ x ~@3 x ~@14 x", CE: "~@13 x ~@6 x ~@11", CF: "~@31 x", CG: "x ~@9 x ~@14 x ~@6",
CH: "~@16 x ~ x ~@2 x ~@2 x ~@3 x ~@3", CI: "~@3 x ~@4", CJ: "~@12 x ~@2 x", CK: "~@11 x ~@4",
CL: "~@7 x ~@5 x ~@2 x ~@14 x", CM: "~@20 x ~ x ~@2 x ~@2 x ~ x ~", CN: "~@3 x ~@21 x ~@6", CO: "~@7 x ~@7 x",
CP: "~ x ~@6",
})).gain(0.4)
// drums · low tom
const low_tom = s("lt").struct(`<
~ A B C ~@19 D E F G H I J K L M N O P E Q R S T U V W X Y Z AA AB ~ AC ~@7 E AD AE AF AG AH AI AJ AK AL AM AN AO AP
AQ AO AR AL AS AT AU AV AW AX AM AY AZ BA BB BC BD ~@19 BE BF BG ~@2
>`.pickRestart({
A: "~@31 x", B: "x ~@8 x ~@14 x ~@7", C: "~@3 x ~@12", D: "~ x ~@5 x ~@11 x ~@11 x", E: "~@5 x ~@5 x ~@4",
F: "~ x ~@9 x ~@10 x ~@4 x ~@4", G: "x ~@8 x ~@4 x ~@6 x ~@6 x ~@3", H: "~@8 x ~@6 x ~@3 x ~@4 x ~@7",
I: "~@9 x ~@8 x ~@3 x ~@3 x ~@5", J: "~@2 x ~@3 x ~@4 x ~@7 x ~@6 x ~@5", K: "~@3 x ~@3 x ~@3 x ~@12 x ~@4 x ~@2",
L: "~@10 x ~@3 x ~@6 x ~@4 x ~@3 x ~", M: "~@5 x ~ x ~@3 x ~ x ~@2", N: "~@10 x ~@14 x ~@6",
O: "~@9 x ~@3 x ~@12 x ~@4 x", P: "~ x ~@5 x ~@3 x ~@3 x ~@6 x ~@4 x ~@2 x ~", Q: "~@9 x ~@10 x ~@7 x ~@3",
R: "~@3 x ~@6 x ~@6 x ~@3 x ~@6 x ~@3", S: "x ~@3 x ~@2 x ~@6 x ~@2 x ~@14", T: "~@20 x ~@2 x ~@3 x ~@4",
U: "~@21 x ~@10", V: "~@15 x ~@12 x ~@2 x", W: "~@17 x ~@4 x ~@9", X: "~@3 x ~@12 x ~@11 x ~@2 x",
Y: "~@6 x ~@2 x ~@7 x ~@3 x ~@2 x ~@7", Z: "~@5 x ~@2 x ~@4 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
AA: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", AB: "x ~@6 x ~@3 x ~ x ~@18",
AC: "~@11 x ~@20", AD: "~@2 x ~@8 x ~@5 x ~@7 x ~@6", AE: "~ x ~@2 x ~@2 x", AF: "~@8 x ~@10 x ~@11 x",
AG: "~@11 x ~@11 x ~@8", AH: "~@3 x ~@11 x ~@11 x ~@4", AI: "~@7 x ~@11 x ~@12", AJ: "x ~@8 x ~@3 x ~@6 x ~ x ~@9",
AK: "~@4 x ~@3 x ~@2 x ~ x ~@2", AL: "~@3 x ~@8 x ~@8 x ~@8 x ~", AM: "~@7 x ~@8 x ~@8 x ~@6",
AN: "~@2 x ~@8 x ~@8 x ~@8 x ~@2", AO: "~@5 x ~@8 x ~@8 x ~@8", AP: "x ~@7 x ~@8 x ~@7 x ~@6",
AQ: "~ x ~@9 x ~@7 x ~@8 x ~@3", AR: "x ~@8 x ~@7 x ~@8 x ~@5", AS: "~@8 x ~@7 x ~@10 x ~@4",
AT: "~@3 x ~@9 x ~@9 x ~@8", AU: "~ x ~@7 x ~@9 x ~ x ~@2 x ~ x ~@3 x ~", AV: "~@5 x ~@7 x ~ x ~@13 x ~@2",
AW: "~ x ~@4 x ~@3 x ~@4 x ~@8 x ~@7", AX: "~ x ~@9 x ~@8 x ~@9 x ~", AY: "~@2 x ~@9 x ~@8 x ~@8 x ~",
AZ: "~@7 x ~@11 x ~@2 x ~@5 x ~@3", BA: "~@2 x ~@2 x ~@4 x ~@4 x ~@3 x!2 ~ x ~@2 x ~@2 x ~@2 x",
BB: "~@3 x ~@2 x ~@4 x ~ x ~@4 x ~@3 x ~@7 x ~", BC: "~ x ~@3 x!2 ~ x!3 ~ x ~@3 x!2 ~@2 x ~@7 x!2 ~@2",
BD: "x ~@4 x ~@3 x ~@17 x ~@4", BE: "~ x ~@5 x ~@5 x ~@4 x ~@5 x ~@4 x ~@2",
BF: "~@3 x ~@4 x ~@5 x ~@4 x ~@5 x ~@4 x ~", BG: "~@3 x ~@5 x ~@4 x ~@4 x ~@4 x ~@2 x ~@4",
})).gain(0.4)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@23 A B C D E F G H ~ I J ~@2 K L C ~@9 M N O P Q R S T U V ~@27 W X Y ~@25
>`.pickRestart({
A: "~@25 x ~@6", B: "~@17 x ~@14", C: "~@7 x ~@24", D: "~@16 x ~@2 x ~@10 x ~", E: "~ x ~@4 x ~@25", F: "~@5 x ~@26",
G: "~@11 x ~@4", H: "~@26 x ~@2 x ~ x", I: "~@15 x", J: "~@14 x ~@2 x ~@11 x ~@2", K: "~@14 x ~@11 x ~@2 x ~@2",
L: "~@11 x ~@12 x ~@7", M: "~@10 x ~@2 x ~@4 x ~@2 x ~@2 x ~@6 x",
N: "~@2 x ~ x ~@9 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x",
O: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", P: "x ~@5 x ~@4 x ~ x ~@9 x ~@2 x ~ x ~@2 x",
Q: "~@3 x ~ x ~@9 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
R: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@3 x ~@2 x ~@2 x",
S: "~ x ~@2 x ~@3 x ~ x!2 ~ x!2 ~@4 x ~@2 x ~@2 x ~ x ~@3 x", T: "~ x ~@2 x ~@9 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x",
U: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x",
V: "~@2 x ~@2 x ~@2 x ~ x ~ x ~@4 x ~@2 x ~@2 x ~ x ~@6", W: "~@20 x ~@2 x ~@2 x ~@2 x ~@2",
X: "~ x ~@3 x ~@3 x ~ x ~ x ~ x ~@2 x!2 ~ x ~ x ~ x!2 ~ x!4", Y: "x ~@3 x ~ x ~@2 x ~@22",
})).gain(0.4)
// drums · high tom
const high_tom = s("ht").struct("<~@51 [~@9 x ~@22] ~@34 [~@13 x ~@2] ~@26>").gain(0.4)
// drums · splash
const splash = s("cr").struct(`<
A B C D E F G H I J K L M E N O P Q R S T U ~@17 V W X Y Z AA AB AC ~@10 AD AE AF AG AH AI AJ AK ~ AL AM AN AO AP AQ
AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT V BU BV BW BX BY BZ ~@3 CA ~
>`.pickRestart({
A: "x ~@22 x ~@8", B: "~@6 x ~@14 x ~@10", C: "~@16 x ~@7 x ~@6 x", D: "~@7 x ~@6 x ~@7 x ~@8 x",
E: "~@5 x ~@6 x ~@6 x ~@6 x ~@5", F: "~@2 x ~@6 x ~@7 x ~@6 x ~@7", G: "x ~@6 x ~@5 x ~@6 x ~@6 x ~@4",
H: "~ x ~@12 x ~", I: "~@2 x ~@6 x ~@6 x ~@5 x ~@5 x ~@3", J: "~@8 x ~@3 x ~@2 x", K: "~@5 x ~@6 x ~@7 x ~@6 x ~@4",
L: "~ x ~@7 x ~@5 x ~@6 x ~@5 x ~@3", M: "~@4 x ~@5 x ~@6 x ~@12 x ~", N: "x ~@19 x ~@6 x ~@4", O: "~@4 x ~@6 x ~@4",
P: "~@11 x ~@8 x ~@5 x ~@5", Q: "~ x ~@7 x ~@6 x ~@5 x ~@6 x ~@2", R: "~@3 x ~@6 x ~@5 x ~@6 x ~@6 x ~",
S: "~@4 x ~@5 x ~@6 x ~@6 x ~@5 x ~", T: "~@5 x ~@4 x ~@6 x ~@6 x ~@7", U: "~@12 x ~@6 x ~@5 x ~@6", V: "~@31 x",
W: "~@2 x ~@3 x ~@3 x ~@2 x ~@2 x ~@3 x ~@2 x ~@3 x ~@2 x ~",
X: "~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x",
Y: "~@3 x ~@2 x ~ x ~@6 x ~@3 x ~@2 x ~@2 x ~@2 x ~@3", Z: "~@10 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2",
AA: "x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
AB: "~@3 x ~@2 x ~@2 x ~@4 x!2 ~@5 x ~@2 x ~@2 x ~@2 x ~", AC: "~ x ~@2 x ~@2 x ~@24", AD: "~@28 x ~@2 x",
AE: "~@5 x ~@2 x ~@2 x ~ x ~@2 x ~@3 x ~@2 x ~@5 x ~@2",
AF: "~@3 x ~ x ~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x",
AG: "~@2 x ~@2 x ~@2 x ~ x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
AH: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@3 x ~ x",
AI: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2",
AJ: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x",
AK: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3",
AL: "~@8 x ~ x ~ x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@2 x ~ x",
AM: "~ x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~ x ~@2 x ~ x ~@3 x ~@2 x ~ x",
AN: "~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x ~@2 x ~ x ~ x ~",
AO: "~ x ~ x ~ x ~ x ~ x ~ x ~@2 x ~ x ~@3 x ~ x ~@2 x ~ x ~ x ~ x",
AP: "~ x ~ x ~@2 x ~ x ~ x ~@2 x!2 ~@2 x ~ x ~ x ~ x ~@2 x ~ x ~ x ~",
// … 40 more lines
More by Soundgarden
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.