0:00/0:00
// Smile — Pearl Jam
// 120 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 7 pad sweep (copy of ch 2 harmonica)
// note: Full arrangement: all 112 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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(`<
A B C D E@4 F@3 G@2 H I J K L@4 M@2 N O P Q R@3 S T U V@3 W@2 X@3 Y Z AA@4 AB@2 AC AD@4 AE@3 AF AG AH@4 AI AJ@4 AK AL
AM AN AO AP@2 AQ@2 AR@3 AS AT AU@3 AV AW AX@4 AY@5 AZ BA BB@2 BC BD BE@5 BF@2 BG BH ~
>`.pickRestart({
A: "~@11 e2@7 [b2,e3]@5 e2@2 ~ [b2,e3]@3 a2@3", B: "~@4 a2@6 [e3,a3]@6 a2@2 ~ [e3,a3]@3 ~ b2@2 ~@3 b2@4",
C: "~@3 [f#3,b3]@7 b2@2 [f#3,b3]@4 a2@2 ~@3 a2@6 [e3,a3]@5", // B5 A5
D: "~ a2@2 ~ [e3,a3]@3 ~ e2@2 ~@4 e2@6 [b2,e3]@6 e2@2 ~ [b2,e3]@3", // A5 E5
E: "[a2@2 ~@4 a2@5 ~ a3@6 a2@2 [e3,a3]@4 b2@3 ~@3 b2@6 [f#3,b3]@6 b2@2 ~@2 b3@3 a2@2 ~@3 a2@6 ~ a3@6 a2@2 [e3,a3]@3 e2@3 ~@3 e2@6 [b2,e3]@6 e2@2 ~@2 e3@3 a2@2 ~@4 a2@6 [e3,a3]@6 a2@3 ~ a3@3 b2@3 ~@3, ~@11 e3@6 ~@28 f#3@3 ~@12 e3@6 ~@27 b2@3 ~@22 e3@4 ~@6]/4", // A5 B5 A5 E5 A5
F: "[b2@6 [f#3,b3]@6 b2@2 ~ [f#3,b3]@3 a2@2 ~@3 a2@6 ~ a3@5 a2@3 ~ [e3,a3]@4 e2@2 ~@3 e2@6 [b2,e3]@7 e2@2 [b2,e3]@4 a2@3 ~@3 a2@6 ~ a3@5 a2@2 ~ [e3,a3]@4 b2@2 ~@2, ~@29 e3@7 ~@43 e3@7 ~@10]/3", // B5 A5 E5 A5
G: "[~ b2@7 [f#3,b3]@6 b2@2 ~ b3@3 a2@3 ~@3 a2@5 ~ a3@6 a2@2 [e3,a3]@4 e2@2 ~@3 e2@6 [b2,e3]@7 e2@2, ~@16 f#3@3 ~@12 e3@6 ~@27]/2", // B5 A5 E5
H: "~@2 e3@3 a2@2 ~@3 a2@6 ~ [e3,a3]@6 a2@2 ~ [e3,a3]@3 b2@2 ~, ~ b2@3 ~@28", // A5
I: "~@3 b2@6 [f#3,b3]@7 b2@2 [f#3,b3]@4 a2@2 ~@3 a2@5", J: "~ [e3,a3]@6 a2@2 ~ [e3,a3]@4 e2@2 ~@4 e2@6 [b2,e3]@6",
K: "e2@2 ~ [b2,e3]@4 a2@2 ~@4 a2@6 [e3,a3]@6 a2@3 [e3,a3]@4", // E5 A5
L: "[b2@3 ~@2 b2@6 [f#3,b3]@7 b2@3 [f#3,b3]@3 a2@2 ~@4 a2@6 [e3,a3]@6 a2@2 ~@2 a2 ~@3 e2@2 ~@3 e2@5 [b2,e3]@7 e2@2 [b2,e3]@4 a2@2 ~@4 a2@6 ~ a3@6 a2@2 ~@3 b2@3 ~@3 b2@6 ~ b3@7 b2@2 [f#3,b3]@3 a2@3 ~@3, ~@45 [e3,a3]@3 ~@37 e3@6 ~@3 [e3,a3]@5 ~@10 f#3@7 ~@12]/4", // B5 A5 E5 B5 A5
M: "[~ a2@6 [e3,a3]@6 a2@2 ~ [e3,a3]@3 ~ e2@2 ~@2 e2@6 [b2,e3]@6 ~ e2@2 [b2,e3]@4 a2@2 ~@5 a2@6 [e3,a3]@6 a2@2]/2", // A5 E5 A5
N: "~@4 b2@3 ~@4 b2@6 [f#3,b3]@6 b2@2 ~ [f#3,b3]@3 a2@2 ~, ~ e3@4 ~@27, ~ a3@2 ~@13", // B5
O: "~@3 a2@6 ~ [e3,a3]@6 a2@2 ~ [e3,a3]@3 e2@3 ~@3 e2@4", // A5
P: "~@2 [b2,e3]@6 e2@2 ~@2 [b2,e3]@3 a2@2 ~@4 a2@6 [e3,a3]@5", // E5 A5
Q: "~ a2@3 [e3,a3]@4 b2@3 ~@3 b2@6 [f#3,b3]@7 b2@2 [f#3,b3]@3", // A5 B5
R: "[a2@3 ~@3 a2@6 [e3,a3]@7 a2@2 ~@3 a2 ~@3 e2 ~@2 e2@6 [b2,e3]@6 e2@2 ~ [b2,e3]@3 a2@2 ~@5 a2@6 [e3,a3]@6 a2@3 ~ a3@3 b2@3 ~@3 b2@6 [f#3,b3]@7 b2@2, ~@22 [e3,a3]@4 ~@45 e3@4 ~@21]/3", // A5 E5 A5 B5 A5
S: "~ [f#3,b3]@4 a2@2 ~@3 a2@6 [e3,a3]@5 a2@3 ~ a3@3 e2@2 ~@2, ~@6 e3 ~", // B5 A5
T: "~@2 e2@6 [b2,e3]@6 e2@2 ~ [b2,e3]@4 a2@2 ~@4 a2@5", // E5
U: "~ [e3,a3]@6 a2@3 ~@3 b2@2 ~@4 b2@6 ~ b3@6, ~@10 [e3,a3]@5 ~@10 f#3@6 ~", // A5
V: "[b2@2 ~ [f#3,b3]@3 a2@3 ~@3 a2@6 ~ a3@6 a2@3 [e3,a3]@3 e2@2 ~@4 e2@5 [b2,e3]@7 e2@2 ~ [b2,e3]@4 a2@2 ~@4 a2@6 [e3,a3]@6 a2@3 [e3,a3]@4 b2@3 ~@3 b2@5 [f#3,b3]@4, ~@3 e3 ~@12]/3", // B5 A5 E5 A5 B5
W: "[~@2 b2@3 [f#3,b3]@4 a2@2 ~@4 a2@5 [e3,a3]@7 ~ a2@2 [e3,a3]@4 e2@2 ~@3 e2@6 ~ e3@5 e2@2 ~ [b2,e3]@4 a2@3 ~@3, ~@45 b2@6 ~@13]/2", // B5 A5 E5
X: "[a2@6 [e3,a3]@6 a2@3 ~ [e3,a3]@3 b2@2 ~@4 b2@6 [f#3,b3]@7 b2@3 [f#3,b3]@3 a2@3 ~@3 a2@6 [e3,a3]@6 ~ a2@2 ~@2 a2 ~@6 e2@6 [b2,e3]@6 e2@3 [b2,e3]@4 a2@2 ~, ~@65 [e3,a3]@4 ~@27]/3", // A5 B5 A5 E5 A5
Y: "~@3 a2@6 [e3,a3]@6 a2@3 [e3,a3]@4 b2@2 ~@3 b2@5", Z: "~@2 [f#3,b3]@6 b2@3 [f#3,b3]@4 a2@16 ~",
AA: "[~@6 d3@12 ~ d3@5 ~ d3@4 ~@2 [c3,g3]@6 ~ c3@2 ~ c3@7 [c3,g3]@7 ~@2 b2@10 ~@2 f3@3 ~@2 f#3@3 ~@3 [a2,e3]@8 ~ [a2,e3]@5 ~ a2@2 a2@5 ~@3 d3@11 ~ [g2,d3]@5 ~@2 d3@3 ~, ~@5 g2@13 ~ g2@9 ~@10 g3@10 ~@8 f3@11 ~@2 b2@9 ~@17 e3@8 ~ g2@11 ~@7 g2@4 ~@2]/4", // C5 A5 G5
AB: "[~@2 [c3,g3]@5 ~ c3@2 ~ c3@6 ~ c3@2 ~ c3@3 ~@2 [b2,f#3]@11 ~@3 b2@5 b2@6 ~@2 [a2,e3]@4 ~@3 [a2,e3]@4, ~@8 g3@9 ~ g3@5 ~@17 f#3@11 ~@13]/2", // C5 B5 A5
AC: "~@2 [a2,e3]@2 ~ [a2,e3]@5 ~@2 [g2,d3]@10 ~@2 [g2,d3]@6 [g2,d3]@2", // A5 G5
AD: "[~@6 g3@5 ~@3 c3@6 ~@2 g3@5 ~@3 f#3@11 ~@2 b2@5 b2@5 ~@2 [a2,e3]@5 ~ [a2,e3]@6 ~@3 a2@3 a2@5 ~@2 [g2,d3]@10 ~@2 d3@5 d3@3 ~@4 [c3,g3]@4 ~@2 [c3,g3]@8 ~ [c3,g3]@2 ~@2 [c3,g3]@4 ~, ~@5 c3@5 ~ c3@2 ~@8 c3@6 ~@2 b2@11 ~@51 g2@8 ~@29, ~@12 g3@9 ~@22 f#3@9 ~@18 e3@8 ~@50]/4", // A5 G5 C5
AE: "[~ [b2,f#3]@10 ~@2 b2@5 ~ b2@4 ~@3 [c3,g3]@4 ~@2 g3@2 ~ [c3,g3]@3 ~@3 [c3,g3]@2 ~ [c3,g3]@3 ~@3 e2@3 ~@4 e2@6 [b2,e3]@6 e2@2 [b2,e3]@3 ~ a2@2 ~@4 a2@6 [e3,a3]@6 a2@2 ~, ~@13 f#3@10 ~@8 c3@2 ~@63]/3", // B5 C5 E5 A5
AF: "[e3,a3]@3 c3@2 ~@6 b2@2 ~@4 [b3,c4]@2 ~@2 b2@2 ~ [f#3,b3]@3 ~ a2@2 ~@2, ~@16 f#3@3 ~@13", // A5 Cmaj7 B5
AG: "~@2 a2@5 ~ e3@6 a2@2 [e3,a3]@4 e2@2 ~@4 e2@6, ~@7 a3@5 ~@20", // A5
AH: "[[b2,e3]@6 e2@2 ~ [b2,e3]@4 a2@2 ~@4 a2@6 [e3,a3]@6 a2@3 [e3,a3]@3 b2@3 ~@4 b2@6 [f#3,b3]@6 b2@3 [f#3,b3]@4 a2@2 ~@3 a2@5 ~ a3@2 [e3,a3]@3 ~ a2@2 ~ e3@3 e2@2 ~@5 e2@5 [b2,e3]@6 ~ e2@2 [b2,e3]@4 a2@2 ~@4 a2@6 ~ e3@4, ~@73 e3@2 ~@7 a3@3 ~@38 a3@5]/4", // E5 A5 B5 A5 E5
AI: "~ a2@2 ~ [e3,a3]@3 b2@2 ~@4 b2@6 ~ [f#3,b3]@6 b2@2 ~ b3@3, ~@7 f#3", // A5 B5
AJ: "[a2@2 ~@4 a2@5 ~ e3@6 a2@2 ~ [e3,a3]@3 e2@2 ~@5 e2@5 [b2,e3]@6 e2@3 ~ e3@3 a2@3 ~@4 a2@5 [e3,a3]@6 ~ a2@2 [e3,a3]@4 b2@3 ~@3 b2@6 [f#3,c4]@5 ~ b2@2 ~ b3@2 ~@2 [e3,a3]@4 ~@9 b3@3 ~@2 e3 ~@5 g2@2 ~@3, ~@11 a3@6 ~@28 b2@3 ~@46 f#3@3 ~@14 e3@4 ~@13]/4", // A5 E5 A5 F#dim A5
AK: "e2@7 ~ e3@4 ~ e2@2 ~ [a2,e3]@3 ~@8 b2@2 ~@3, ~@7 a2@5 ~@20", // A5
AL: "e3@4 ~ a2@3 [e3,a3]@3 b2@3 ~@4 b2@6 [f#3,b3]@6 b2@2, a3 ~@15", // A5 B5
AM: "~ [f#3,b3]@3 a2@3 ~@3 a2@6 [e3,a3]@7 a2@2 [e3,a3]@3 e2@2 ~@2", // B5 A5
AN: "~@3 e2@5 [b2,e3]@7 e2@2 ~ e3@3 a2@2 ~@4 a2@5, ~@17 b2@3 ~@12", // E5
AO: "~@2 e3@5 a2@3 ~ a3@2 b2@3 ~@4 b2@6 [f#3,b3]@6, ~ a3@7 ~@2 e3@4 ~@18", // B5
AP: "[b2@2 ~ [f#3,b3]@3 a2@10 ~@2 [a2,e3]@4 ~@2 [a2,e3]@4 ~@2 [g2,d3]@11 ~ [g2,d3]@5 ~@2 d3@3 ~@3 [c3,g3]@5 ~@2 g3@2, ~@48 g2@3 ~@10 c3@2 ~]/2", // B5 A5 G5 C5
AQ: "[[c3,g3]@6 ~ c3@2 ~ c3@4 ~@2 [b2,f#3]@11 ~ b2@4 ~ b2@5 ~@2 [c3,g3]@5 ~@4 c3@5 ~ c3@2 ~ c3@5 ~, ~@6 g3@7 ~@15 f#3@10 ~@8 c3@2 ~@16, ~@47 g3@8 g3@8 ~]/2", // C5 B5 C5
AR: "[~ [g2,d3]@10 ~ [g2,d3]@5 ~@2 d3@3 ~@3 [c3,g3]@5 ~ [c3,g3]@2 ~ [c3,g3]@6 ~ c3 ~ c3@5 ~@2 b2@10 ~@2 b2@10 ~@3 g3@4 ~ c3@2 ~ c3@5 ~ [c3,g3]@6 ~, ~@18 g2@3 ~@19 g3@8 ~@2 f#3@22 ~@2 c3@4 ~ g3@9 ~@8]/3", // G5 C5
AS: "~@3 [g2,d3]@10 ~@2 d3@5 ~ d3@4 ~@3 [c3,g3]@4, ~@15 g2@9 ~@8", // G5 C5
AT: "~@2 c3@2 c3@5 ~@2 c3@2 ~@2 c3@3 ~@3 f#3@10 ~, ~ g3@9 ~ g3@7 ~@2 b2@9 ~@3",
AU: "[b2@5 ~ b2@4 ~@3 g3@4 ~@2 [c3,g3]@7 ~ [c3,g3]@3 ~ [c3,g3]@5 ~@2 [g2,d3]@10 ~@2 d3@4 ~@2 g2@2 ~@4 [c3,g3]@4 ~@2 [c3,g3]@2 ~ [c3,g3]@5 ~ [c3,g3]@2 ~@2 g3@4 ~@2 b2@3 ~@2 b2@4, f#3@10 ~@2 c3@5 ~@32 g2@4 ~@2 d3@3 ~@22 c3@4 ~@12]/3", // C5 G5 C5
AV: "~@3 f#3@5 ~ [b2,f#3]@5 ~@4 g3@2 ~ [c3,g3]@5 ~ [c3,g3]@3 ~@2, ~@2 b2@5 ~@10 c3@2 ~@13", // B5 C5
AW: "[c3,g3]@2 ~@5 e2@2 ~@4 e2@4 ~@15", // C5
AX: "[~@12 e3@3 ~@2 b2 f3 ~ [b2,f3]@2 ~@2 g3@2 ~ [c3,g3]@2 ~@2 a3@5 ~ a3@4 ~ [d3,a3]@2 ~ [d3,a3]@5 ~@4 d3@5 ~@2 [d3,a3]@5 [d3,a3]@4 ~ c3@2 ~@5 d3@5 ~@2 [d3,a3]@5 ~ [d3,a3]@2 ~ [d3,a3]@5 ~@2 a3@2 [d3,a3]@4 ~@2 [d3,a3]@3 c3@3 ~ d3@5 c3@3 [d3,a3]@4, ~@11 a2@3 ~@9 c3@2 ~@5 d3@5 ~ d3@4 ~@11 d3@2 ~@21 d3@3 ~@23 d3@2 ~@26, ~@52 a3@8 ~@15 a3@9 ~@31 a3@5 ~@8]/4", // Bdim C5 D5
AY: "[~@3 a3@2 [d3,a3]@5 ~ [d3,a3]@3 [d3,a3]@5 ~ d3@2 ~ d3@3 ~@3 [d3,a3]@6 ~@6 e2 ~@5 e2@7 ~@6 e2@2 ~ e2@2 a2@4 ~@3 a2@7 ~@6 a2@2 a2@2 ~@6 d3@3 ~@6 b2@3 ~@3 b2@5 a2@4 ~@2 a2@11 ~@2 a2@2 a2@3 ~ e2@3 ~@3 e2@8 ~@4 e2@2, ~@2 d3@2 ~@16 a3@7 ~@133]/5", // D5
AZ: "~ e2@2 a2@4 ~@3 a2@9 ~@4 a2 ~ a2@2 ~ b2@3 ~", BA: "~@3 b2@7 ~@4 b2 ~@2 b2@3 ~ a2@3 ~@2 a2@4 ~@2",
BB: "[~@13 e2@2 ~@4 e2@5 ~ [e2,a2]@5 ~ e2@2 ~ e2@2 ~@3 a2@2 ~@2 a2@7 [e3,a3]@5 a2@2 ~ [e3,a3]@3 b2@3]/2", // A5
BC: "~@3 b2@6 ~ b3@5 b2@3 [f#3,b3]@3 a2@2 ~@4 a2@5, ~@9 f#3@7 ~@16", // B5
BD: "~ [e3,a3]@3 a2 [e3,a3]@2 e2 ~@2 e2@3 [b2,e3]@3", // A5 E5
BE: "[e2@2 ~ [b2,e3]@4 a2@2 ~@4 a2@6 [e3,a3]@6 a2@2 [e3,a3]@4 b2@2 ~@4 b2@7 [f#3,b3]@2 ~ [f#3,b3]@3 b2@3 [f#3,b3]@3 a2@2 ~@5 e3 ~@5 [e3,a3]@5 a2@2 ~ [e3,a3]@3 ~ e2@2 ~@4 e2@6 ~ d3@4 ~ e2@3 [b2,e3]@4 a2@2 ~@3 a2@6 ~ a3@5 a2@3 [e3,a3]@3 b2@3 ~@3 b2@6 [f#3,b3]@7 b2@2 ~ b3@3 a2@2 ~@4, ~@62 a2@6 ~@25 a2@3 ~@21 e3@6 ~@27 f#3@3 ~@7]/5", // E5 A5 B5 A5 E5 A5 B5
BF: "[a2@6 [e3,a3]@6 a2@2 ~ [e3,a3]@3 e2@2 ~@5 e2@6 [b2,e3]@5 e2@2 ~@2 b2@3 a2@2 ~@4 a2@6 ~ a3@5 a2@3, ~@39 e3@4 ~@12 e3@6 ~@3]/2", // A5 E5
BG: "[e3,a3]@4 b2@2 ~@3 b2@6 ~ [f#3,b3]@6 b2@2 ~ b3@3 a2@2 ~@2, ~@24 f#3@3 ~@5", // A5 B5
BH: "~@2 a2@6 [e3,a3]@6 a2@3 ~ a3@2 ~ e2@5 ~@6, ~@17 e3@3 ~@12", // A5
})).s("gm_distortion_guitar").gain(0.51)
// other · harmonica
const harmonica = note("<~@6 A@3 B@4 ~@11 C@3 D@4 ~@24 E@8 ~@4 F ~@44>".pickRestart({
A: "[~@11 e5@35 ~ d5@13 ~ d5@14 ~@3 b4@6 c5@12, ~@5 d5 ~@24 c5 ~@17]/3",
B: "[b4@11 e5@24 ~ d5@19 c5@6 ~ c5@11 ~ b4@10 ~ a4@17 ~@26]/4", C: "[~@24 c5@43 ~ b4@6 c5@12 b4@10]/3",
D: "[~ a4@23 ~ f5@5 ~ g5@41 ~@4 a5@16 ~@3 b5@2 ~ b5@19 ~@11]/4",
E: "[~@18 e5@48 ~@2 e5@15 ~@4 e5@4 ~@2 e5@2 d5@20 ~ e5@46 ~@3 c5@6 d5@8 c5@9 ~@2 b4@10 ~@2 a4@9 ~@3 d5@6 e5@10 ~@26, ~@67 d5@2 ~@187]/8",
F: "~@3 a4@5 b4@2 ~ b4@2 ~ a4@3 b4@3 ~ g4@5 ~@6",
})).s("gm_harmonica").gain(0.51)
// other · bassoon
const bassoon = note("<~@12 A B@2 ~ C@2 ~ D E@2 F@2 ~@88>".pickRestart({
A: "~@29 e3@3", B: "[g3@3 f#3@4 ~@4 e3@9 ~@2 e3@6 ~ d3@10 b2@3 ~@22]/2",
C: "[~ g3 ~@2 g3@3 a3@3 ~@3 e3@2 ~@10 d3@3 ~ c3@5 ~ b2@10 ~@19]/2",
D: "~ g3@3 ~ a3@2 ~@2 g3@4 ~@2 e3@3 ~@2 d3@2 ~@2 e3@6 ~@2",
E: "[~@2 d3@8 ~@3 b2@5 ~@2 c3@4 ~@2 d3@4 ~ f3@4 e3 ~@2 d3@10 ~ e3@5 ~@10]/2",
F: "[~@4 g3@2 ~ g3@3 ~ a3@3 ~@2 d3@7 ~@7 d3@7 b2@5 ~@22]/2",
})).s("gm_bassoon").gain(0.51)
// other · bassoon
const bassoon_2 = note(`<
~@31 A@2 ~ B C ~ D@2 E@2 F ~ G H@3 I@2 ~ J K@2 L M ~@19 N@3 O P ~ Q R@2 S T ~@14 U ~@2 V ~ W@2 X@2 ~@4
>`.pickRestart({
A: "[~@15 g4@2 ~ g4@3 ~ f#4@4 ~@2 e4@11 c4@8 d4@6 b3@10 ~]/2", B: "~@18 g4@2 ~ g4@3 ~ a4@3 ~@4",
C: "d4@6 ~@6 d4@4 b3@7 ~@9", D: "[~@21 a4@2 ~ a4 ~ g4@3 ~@2 e4@16 ~@4 d4@13]/2",
E: "[~ b3@7 ~@4 e4@6 g4@2 ~ e4@3 d4@11 e4@5 ~@15 g4 ~@2 g4@3 ~ a4@2]/2", F: "~@5 e4@5 ~@7 d4@5 b3@7 ~@3",
G: "~@27 g4@4 ~", H: "[~ g4@2 ~@5 g4@3 g4@13 ~@4 g4@31 ~@3 e4@7 ~@4 d4@5 c4@7 ~@8 g4@3]/3",
I: "[~@4 f#4@3 ~@2 e4@2 ~@2 e4@10 ~@3 c4@3 ~ b3@6 ~@28]/2", J: "~ g4@4 ~@2 g4@3 ~@3 g4@2 ~@2 g4@15",
K: "[f#4@2 g4@33 ~@2 c4@6 d4@5 ~ d4@3 ~ b3@5 ~@6]/2", L: "~@3 g4@3 ~@3 g4@3 ~@2 f#4@3 ~@2 d4@9 ~@4",
M: "~@3 b3@3 ~@10, ~@6 c4 ~@25", N: "[~@16 g4@3 ~@3 g4@3 ~@4 g4 ~ g4@14 ~@3 g4@34 e4@9 ~@5]/3",
O: "d4@6 ~ b3@4 ~@7 g4@4 ~@2 f#4@3 ~@3 e4@2", P: "~ e4@10 ~@2 d4@4 b3@11 ~@4", Q: "~@21 g4@2 ~@4 g4@3 ~@2",
R: "[~ g4 ~@2 g4@13 ~@2 f#4@2 g4@31 ~@4 d4@8]/2", S: "~@5 d4@6 b3@4 ~@8 g4@5 ~ f#4@3",
T: "~@3 e4@2 ~ e4@10 ~@7 d4@3 b3@5 ~", U: "e4@3 g4@2 f#4@3 ~@3 e4@13 d4@3 b3@5",
V: "e4@3 g4@4 ~@2 f#4@3 ~@2 e4@7 ~@4 d4@3 b3@4", W: "[~@28 g4@11 ~@2 g4@11 ~ f#4@11, ~@27 e4@2 ~@35]/2",
X: "[~ f#4@9 ~@3 e4@5 ~ d4@2 c4@19 ~@2 d4@5 ~@17]/2",
})).s("gm_bassoon").gain(0.51)
// other · bassoon · soft notes
const bassoon_soft = note("<~@108 [~@5 e4@2 g4@3 ~ f#4@2 ~@4 e4@12 d4@3] [~ b3@3 ~@28] ~@2>").s("gm_bassoon").gain(0.31)
// bass · electric bass finger
const bass = note(`<
A B@2 C D@2 E F G@3 H@2 I J@2 K@3 L M N O@4 P Q@2 R S T@2 U@3 V W X Y@2 Z AA AB AC@2 AD AE@5 AF AG AH@2 AI@3 AJ@4 AK@3
AL@2 AM AN AO AP@2 AQ AR AS AT AU@3 AV@2 AW@3 AX AY AZ@2 BA@2 BB BC BD BE BF BG BH@4 BI BJ@3 BK@2 ~@5
>`.pickRestart({
A: "~@17 e1@5 ~@10", B: "[~ e1@3 ~ a1@3 ~ a1@6 ~@2 a1@5 b1@5 ~@2 b1@10 ~@2 b1@5 ~ a1@4 ~@2 a1@11]/2",
C: "~@2 a1@5 e1@4 ~@4 e1@8 ~@3 e1@6", D: "[a1@5 ~ a1@9 ~@4 a1@5 b1@4 ~@2 b1@9 ~@3 b1@5 ~ a1@4 ~@2 a1@10]/2",
E: "~@3 a1@5 ~ e1@4 ~@2 e1@10 ~@2 e1@5", F: "~ a1@4 ~@2 a1@10 ~@2 a1@5 ~ b1@5 ~@2",
G: "[b1@10 ~@3 b1@5 a1@4 ~@2 a1@11 ~ a1@5 ~ e1@4 ~@3 e1@10 ~@2 e1@6 a1@4 ~@2 a1@10 ~@2 a1@5 ~ b1@3 ~@2]/3",
H: "[~ b1@9 ~@4 b1@5 a1@4 ~@3 a1@9 ~@3 a1@6 e1@3 ~@3 e1@6 ~@5 e1@3]/2", I: "~ g1@3 ~ a1@4 ~@2 a1@9 ~@2 a1@6 ~ b1@3",
J: "[~@4 b1@9 ~@3 b1@6 a1@4 ~@2 a1@11 ~ a1@5 ~ e1@3 ~@3 e1@8 ~@4]/2",
K: "[e1@3 g1@3 a1@5 ~@2 a1@10 ~@2 a1@6 b1@4 ~@3 b1@10 ~@2 b1@5 ~ a1@4 ~@2 a1@10 ~@3 a1@5 e1@3 ~@4 e1@8 ~]/3",
L: "~ e1@3 ~ g1@3 a1@4 ~@3 a1@9 ~@4 a1@4", M: "~ b1@4 ~@3 b1@9 ~@3 b1@5 ~ a1@4 ~@2",
N: "~@4 a1@7 ~@2 a1@6 e1@4 ~@4 e1@5",
O: "[~@4 e1@2 g1@4 a1@4 ~@3 a1@10 ~@3 a1@6 b1@4 ~@3 b1@9 ~@4 b1@5 ~ a1@4 ~@2 a1@10 ~@3 a1@5 e1@3 ~@4 e1@7 ~@4 e1@4 g1@3 a1@4 ~@2 a1@10 ~]/4",
P: "~@2 a1@5 b1@4 ~@3 b1@11 ~@2 b1@5", Q: "[~ a1@14 ~@4 a1@6 e1@15 ~@4 e1@3 g1@3 a1@4 ~@2 a1@8]/2",
R: "~@4 a1@2 ~ a1@3 b1@4 ~@3 b1@9 ~@3 b1 ~@2", S: "b1@3 a1@4 ~@3 a1@9 ~@4 a1@5 ~ e1@3",
T: "[~@3 e1@7 ~@4 e1@3 g1@3 a1@4 ~@3 a1@9 ~@3 a1@5 ~ b1@4 ~@2 b1@9 ~@4]/2",
U: "[b1@5 ~ a1@4 ~@2 a1@11 ~@2 a1@6 e1@3 ~@4 e1@8 ~@3 e1@3 g1@3 a1@4 ~@3 a1@9 ~@2 a1@6 ~ b1@3 ~@3 b1@9 ~]/3",
V: "~@2 b1 ~@2 b1@3 a1@5 ~@2 a1@11 ~ a1@5", W: "~@2 e1@3 ~@3 e1@8 ~@4 e1@3 g1@3 a1@4 ~@2",
X: "a1@9 ~@3 a1 ~ a1@4 b1@5 ~@2 b1@7", Y: "[~@5 b1@6 a1@4 ~@3 a1@10 ~@3 a1@5 ~ e1@3 ~@3 e1@7 ~@4 e1@3 g1@3 a1@4]/2",
Z: "~@3 a1@10 ~@2 a1@5 ~ b1@10 ~", AA: "~@4 b1@2 ~@2 b1@4 ~@2 a1 ~@3 g1@3 g1@3 ~@3 a1@4 ~",
AB: "~@2 a1@6 g1@8 ~@2 g1@6 ~@2 g1@5 ~", AC: "[c2@11 ~ c2@5 ~ c2@5 ~ b1@11 ~@2 b1@6 ~ b1@4 ~ c2@8 ~@3 c2@4]/2",
AD: "~@4 c2@6 g1@9 ~@2 g1@4 ~@2 g1@5",
AE: "[~ c2@12 ~@2 c2@5 ~ c2@5 ~ b1@10 ~ b1@5 ~ b1@6 ~ c2@9 ~@2 c2@6 ~@2 c2@6 ~ g1@9 ~@2 g1@5 ~ g1@6 c2@9 ~@4 c2@11 ~ b1@11 ~@2 b1@12 c2@7 ~@3]/5",
AF: "c2@8 ~@2 c2@6 g1@8 ~@5 g1@3", AG: "~@3 g1@5 c2@10 ~@3 c2@5 ~ c2@5",
AH: "[b1@11 ~@2 b1@5 ~@2 b1@4 ~ b1@2 c2@9 ~@2 c2@5 c2@6 ~ e1@3 ~@5 e1@6]/2",
AI: "[~@5 e1@3 g1@3 a1@3 ~@3 a1@10 ~@2 a1@6 b1@4 ~@2 b1@10 ~@4 b1@6 a1@6 ~@5 a1@5 ~ a1@5 ~ e1@3 ~@4 e1@5]/3",
AJ: "[~@6 e1@3 g1@3 ~ a1@4 ~@2 a1@9 ~@3 a1@6 b1@4 ~@2 b1@10 ~@3 b1@5 ~ a1@4 ~@2 a1@9 ~@3 a1@6 e1@3 ~@4 e1@8 ~@3 e1@3 ~ g1@3 a1@4 ~@2 a1@10 ~]/4",
AK: "[~@3 a1@3 ~@2 b1@4 ~@2 b1@10 ~@3 b1@4 a1@4 ~@3 a1@9 ~@3 a1@6 e1@4 ~@3 e1@8 ~@3 e1@4 g1@2 a1@4 ~@2 a1@10]/3",
AL: "[~@3 a1@6 ~ b1@4 ~@2 b1@10 ~@3 b1@5 a1@4 ~@3 a1@6 ~ a1@9 ~@3 e1@3 ~]/2",
AM: "~@4 e1@4 ~@3 e1@2 ~@2 e1@2 ~ a1@3 ~@4 a1@7, ~@17 g1@3 ~@12", AN: "~@6 a1@5 b1@3 ~@4 b1@5 ~ b1@7 ~",
AO: "~@2 b1@3 a1@4 ~ a1@5 ~@2 a1@7 ~ a1@4 e1@3",
AP: "[~@3 e1@6 ~@6 e1@4 g1@2 a1@3 ~@3 a1@11 ~@3 a1@5 b1@4 ~@2 b1@10 ~@2]/2", AQ: "~ b1@4 ~ a1@4 ~@2 a1@16 ~ e1@3",
AR: "~@8 g1@6 ~@3 g1@5 c2@10", AS: "~@3 c2@5 ~ c2@5 ~ b1@10 ~@2 b1@5", AT: "~@2 b1@5 c2@8 ~@3 c2@6 ~@2 c2@5 ~",
AU: "[g1@11 ~@2 g1@4 ~ g1@6 c2@11 ~@2 c2@12 b1@10 ~@3 b1@5 ~ b1@5 ~ c2@8 ~@2 c2@4 ~ c2 ~ c2@5]/3",
AV: "[~@2 g1@10 ~@3 g1@4 ~@2 g1@6 c2@11 ~ c2@4 ~@2 c2@7 b1@11 ~]/2",
AW: "[~ b1@11 c2@8 ~ c2@5 ~@2 c2 ~ c2@6 ~ g1@11 ~@3 g1@3 ~@2 g1@4 ~ c2@6 ~@2 c2 ~ c2@4 ~@2 c2 ~ c2@8 b1@9]/3",
AX: "~@3 b1@4 ~@2 b1@5 ~ c2@6 ~ c2@6 ~@2 c2@2", AY: "~ c2@5 ~ e1@3 ~@4 e1@10 ~@2 e1@3 g1@3",
AZ: "[a1@3 ~@3 a1@11 ~@2 a1@5 b1@4 ~@2 b1@6 ~@7 b1@4 ~ g1@4 ~@8 g1@3 ~]/2",
BA: "[~@2 g1@5 ~@2 e1@3 ~@3 e1@2 ~@3 a1@5 ~@3 c2 ~@2 e2@4 ~ d2@2 ~@2 d2@5 ~ d2@4 ~ d2@6 e1@3 ~@4, ~@27 d2@2 ~@35]/2",
BB: "e1@4 ~@7 d2@2 ~ d2@5 ~ d2@2 ~@2 d2@4 ~ d2@3", BC: "~@3 d2@5 ~ e1@3 ~@4 e1@8 ~@3 e1@3 g1@2",
BD: "~ a1@5 ~ a1@9 ~@2 a1@2 ~ a1@3 b1@6 ~@2", BE: "~ b1@9 ~@2 b1@5 g1@3 ~@3 a1@9",
BF: "~@4 a1@8 ~ e1@4 ~ e1@8 ~@4 e1@2", BG: "~ g1@2 ~ a1@3 ~@2 a1@10 ~@2 a1@6 ~ b1@4",
BH: "[~@2 b1@10 ~@2 b1@6 a1@4 ~@3 a1@11 ~ a1@6 ~ e1@3 ~@2 e1@7 ~@5 e1@3 g1@3 a1@5 ~@2 a1@5 ~ a1@5 ~ a1@6 b1@4 ~@2 b1@4 ~ b1@5 ~@2 b1 ~ b1@3 a1@4 ~@2 a1@5]/4",
BI: "~@2 a1@5 ~ a1@2 ~ a1@3 e1@3 ~@3 e1@6 ~@6",
BJ: "[e1@3 g1@3 a1@4 ~@2 a1@10 ~@3 a1@2 ~ a1@3 b1@4 ~ b1@10 ~@4 b1@5 a1@4 ~@3 a1@5 ~ a1@6 ~ a1@2 ~ a1@3 e1@3 ~@3 e1@7 ~@2]/3",
BK: "[~@4 e1@2 g1@3 ~ a1@3 ~@3 a1@5 a1@5 ~@2 a1@2 ~ a1@3 ~@30]/2",
})).s("gm_electric_bass_finger").gain(0.51)
// bass · electric bass finger · soft notes
const bass_soft = note("<~@106 A@3 B C ~>".pickRestart({
A: "[~ b1@4 ~@2 b1@5 ~ b1@5 ~ b1 ~@2 b1@3 a1@4 ~@2 a1@6 ~ a1@5 ~ a1@2 ~ a1@3 e1@3 ~@3 e1@5 ~ e1@5 ~@2 e1@2 ~@2 g1@2 a1@4 ~@2 a1@5 ~@2 a1@5 ~ a1 ~, ~@36 e1 ~@11]/3",
B: "~ a1@2 ~ b1@4 ~@2 b1@4 ~ b1@5 ~@2 b1 ~ b1@3 ~ a1@4", C: "~ a1@5 ~ a1@5 ~@2 a1@2 ~ a1@3 e1@3 ~@4 e1@3 ~@2",
})).s("gm_electric_bass_finger").gain(0.15)
// drums · kick
const kick = s("bd").struct(`<
A B C D E F G H I J K L M N O P D Q F R S T U V W X Y Z AA AB N AC AD AE AF F AG AH AI AJ AK AL AM AN AO A AP AQ AR AS
AT AU AV AG AW I AX AY T M AZ O BA AG BB BC J BD BE BF AT BG BH BI BJ BK AG BL BM J S BN M AT BO P ~@6 BP BQ BE BF BR
BG BH V BS BH AE BT F AP ~@6
>`.pickRestart({
A: "~@9 x ~@6", B: "~@3 x ~@6 x ~@13 x ~@4 x ~@2", C: "~@14 x ~@6 x ~@10", D: "~@7 x ~@5 x ~@18",
E: "~ x ~@4 x ~@17 x ~@5 x ~", F: "~@8 x ~@2 x ~@4", G: "~@9 x ~@4 x ~@17", H: "~ x ~@5 x ~@17 x ~@5 x",
I: "~@9 x ~@2 x ~@3", J: "~@5 x ~@2 x ~@7", K: "~ x ~@2 x ~@9 x ~", L: "~ x ~@17 x ~@6 x ~@5", M: "~@6 x ~@2 x ~@6",
N: "~@4 x ~@5 x ~@18 x ~@2", O: "~@3 x ~@18 x ~@5 x ~@3", P: "~@7 x ~@8", Q: "x ~@5 x ~@18 x ~@5 x",
R: "~@9 x ~@5 x ~@16", S: "~@3 x ~@4 x ~@18 x ~@4", T: "~@3 x ~@16 x ~@5 x ~@5", U: "~@12 x ~@4 x ~@14",
V: "~@5 x ~@5 x ~@18 x ~", W: "~@4 x ~@18 x ~@5 x ~@2", X: "~@15 x ~@5 x ~@10", Y: "~@7 x ~@6 x ~@17",
Z: "~ x ~@6 x ~@16 x ~@6", AA: "x ~@8 x ~@2 x ~@3", AB: "~@10 x ~@6 x ~@14", AC: "~@2 x ~@17 x ~@6 x ~@4",
AD: "~@13 x ~@6 x ~@11", AE: "~@6 x ~@5 x ~@18 x", AF: "~@5 x ~@18 x ~@5 x ~", AG: "~@4 x ~@2 x ~@8",
AH: "~ x ~@5 x ~@18 x ~@5", AI: "x ~@18 x ~@5 x ~@6", AJ: "~@11 x ~@6 x ~@13", AK: "~@5 x ~@5 x ~@16 x ~@3",
AL: "~@3 x ~@18 x ~@4 x ~@4", AM: "~@13 x ~@18", AN: "~@5 x ~@10", AO: "x ~@5 x ~@18 x ~@6", AP: "~@10 x ~@4 x ~@16",
AQ: "~@2 x ~@5 x ~@17 x ~@4 x", AR: "~@19 x ~@5 x ~@6", AS: "~@14 x ~@3 x ~@4 x ~@8", AT: "~@4 x ~@6 x ~@17 x ~@2",
AU: "~@4 x ~@17 x ~@6 x ~@2", AV: "~@16 x ~@6 x ~@8", AW: "~ x ~@4 x ~@18 x ~@5 x", AX: "~@11 x ~@5 x ~@5 x ~@8",
AY: "~@4 x ~@4 x ~@19 x ~@2", AZ: "~@5 x ~@5 x ~@17 x ~@2", BA: "~@15 x ~@3 x ~@12", BB: "x ~@6 x ~@17 x ~@5 x",
BC: "~@17 x ~@5 x ~@8", BD: "~@2 x ~@5 x ~@18 x ~@4", BE: "~ x ~@18 x ~@4 x ~@6", BF: "~@11 x ~@5 x ~@14",
BG: "~@2 x ~@18 x ~@5 x ~@4", BH: "~@7 x ~@2 x ~@5", BI: "~@6 x ~@6 x ~@16 x ~", BJ: "~@4 x ~@16 x ~@6 x ~@3",
BK: "~@15 x ~@6 x ~@9", BL: "x ~@6 x ~@16 x ~@5 x ~", BM: "~@18 x ~@4 x ~@8", BN: "~ x ~@18 x ~@5 x ~@5",
BO: "~@3 x ~@19 x ~@4 x ~@3", BP: "~@21 x ~@10", BQ: "~@3 x ~@4 x ~@16 x ~@6", BR: "~@4 x ~@4 x ~@18 x ~@3",
BS: "~@4 x ~@17 x ~@4 x ~@4", BT: "~@5 x ~@17 x ~@6 x ~",
})).gain(0.46)
// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
~@106
[~@2 x ~@4 x ~@17 x ~@5 x]
[~@18 x ~@4 x ~@8]
[~@11 x ~@5 x ~@14]
// … 69 more lines
More by Pearl Jam
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.