0:00/0:00
// Poor Twisted Me — Metallica
// 120 bpm, 4/4, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 122 bars on a 24-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 · overdriven guitar · "James Hetfield"
const overdriven_guitar = note(`<
A B A C A D A E F G F H I J K@2 I L F H I M K@2 N ~ N ~ O P Q R S@2 T ~ T U V W X Y Z AA F H I M AB@2 N ~ AC ~ O P AD
AE AF@2 T ~ T AG AH AI X Y I AJ AK AL AM@3 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 BU BR BV AT BW BH BX BY Z BZ CA@2 T ~
>`.pickRestart({
A: "g#2@4 g#3 ~@19", B: "~@18 [f#3,b3,d#4]@4 a#3 ~", C: "~@2 [c#4,f4]@5 ~", D: "~@10 [f#3,b3,d#4] ~@7 a#3@4 ~@2",
E: "~@3 [f#3,b3,d#4]@8 ~ g#3@2 f#3@2 d#3@2 c#3@4 ~@2", F: "g#2@4 g#3 ~ g#2@3 ~ g#3 ~@7 g#2 ~@3 g#3 ~",
G: "~@6 g#2 ~@3 [f#3,b3,d#4]@2 ~@4 [b3,d#4] ~ [f#3,a#3]@3 ~@3", H: "~@6 g#2 ~@3 [f#3,c#4]@8 b3@2 g#3 ~ f#3 ~",
I: "g#2@4 g#3@2 g#2@4 g#3 ~@7 g#2 ~@3 g#3 ~", J: "~@6 g#2 ~@2 [g#3,c#4] ~@8 b3@4 g#3 ~, ~@9 f#3 ~@2",
K: "[g#2@3 ~ g#3 ~ g#2@3 ~ g#3 ~@5 g#2 ~ [b3,c#4]@2 ~ [g#3,b3,c#4]@6 ~ [b3,c#4] ~ [f#3,b3] ~@3 [f#3,b3]@8 g#3@4 ~@2]/2", // Bsus2 C#7 Bsus2 B5
L: "~@6 g#2 ~@2 [g#3,c#4]@9 b3@4 g#3 ~", M: "~@6 g#2 ~@3 [g#3,c#4] ~@7 b3@4 g#3 ~, ~@9 f#3 ~@2",
N: "g#2@2 g#3 g#2@2 g#3 ~@6", O: "g#2@3 ~ g#3@2 g#2@3 ~ g#3@2 ~@12", P: "~@18 [g#2,g#3]@5 ~",
Q: "f#2@2 f#3 f#2@2 f#3 ~@6", R: "~@4 [g#3,b3] ~ [g#3,b3] ~@3 [g#3,c#4]@6 b3@6 g#3 ~",
S: "[f#2@4 f#3@2 f#2@3 ~ f#3@2 ~@4 b3 ~ [f#3,b3] ~@3 [f#3,b3]@6 c#4 ~ [g#3,c#4]@2 ~@2 [g#3,c#4]@6 b3@5 ~@3]/2", // B5 C#5
T: "g#2@4 g#3@2 g#2@4 g#3 ~@13", U: "~@18 c#5 ~@5",
V: "[g#3,c#4]@4 ~@2 [g#3,c#4]@5 ~ [g#3,c#4]@5 ~ [g#3,c#4]@6, c#3@11 ~ c#3@12", // C#5
W: "[b2,f#3,b3]@4 ~@2 [b2,f#3,b3]@5 ~ [b2,f#3,b3]@5 ~ [b2,f#3,b3]@5 ~", // B5
X: "[f#2,c#3,f#3]@4 ~@2 [f#2,c#3,f#3]@5 ~ [f#2,c#3,f#3]@4 ~@2 [f#2,c#3,f#3]@4 ~@2", // F#5
Y: "[d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~", // D#5
Z: "g#2@4 g#3@2 g#2@4 g#3 ~@7 g#2@4 g#3@2", AA: "~@6 g#2@4 [g#3,c#4]@8 b3@4 g#3 ~",
AB: "[g#2@3 ~ g#3 ~ g#2@3 ~ g#3 ~@5 g#2 ~ [b3,c#4]@2 ~ [g#3,b3,c#4]@6 ~ [b3,c#4] ~ [f#3,a#3] ~@3 [f#3,b3]@8 g#3@4 ~@2]/2", // Bsus2 C#7 Bsus2 F# B5
AC: "g#2@3 ~ g#3@2 g#2@4 g#3@2 ~@12", AD: "f#2@4 f#3@2 f#2@4 f#3@3 ~@2 f#3 ~@8",
AE: "~@4 [g#3,b3] ~ [g#3,b3] ~@3 [g#3,c#4]@5 b3@6 g#3 ~@2", // G#m C#5
AF: "[f#2@4 f#3@2 f#2@3 ~ f#3@2 ~@4 b3 ~ [f#3,b3] ~@3 [f#3,b3]@6 c#4 ~ [g#3,c#4]@2 ~@2 [g#3,c#4]@5 b3@5 ~@4]/2", // B5 C#5
AG: "~@18 g#3 ~@5", AH: "[g#3,c#4]@4 ~@2 [g#3,c#4]@5 ~ [g#3,c#4]@5 ~ [g#3,c#4]@5 ~, c#3@11 ~ c#3@11 ~",
AI: "[b2,f#3,b3]@4 ~@2 [b2,f#3,b3]@5 ~ [b2,f#3,b3]@5 ~ [b2,f#3,b3]@4 ~@2", // B5
AJ: "~@6 g#2 ~@3 g#3 ~@5 g#3@2 f#3@2 ~@2 g#2 ~", AK: "g#2 ~@3 g#3 ~ g#2@4 g#3@2 ~@4 g#3 ~ g#3@2 f#3@2 d#3@2",
AL: "g#3@2 f#3@2 d#3@2 g#3@2 f#3@2 d#3@2 g#3@2 f#3@2 d#3 ~ g#3 ~@5",
AM: "[f#2,c#3] ~@3 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~@3 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~", // F#5
AN: "[f#2,c#3]@2 ~@2 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3]@2 ~@2 [f2,c3]@2 ~@2 [e2,b2]@2 ~@2", // F#5 F5 E5
AO: "[d#2,a#2]@3 ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2]@2 ~@2 [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~", // D#5
AP: "[d#2,a#2]@2 ~@2 [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2]@4 ~@2 [d#2,a#2]@6", // D#5
AQ: "[g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [d#2,g#2,c#3]@5 ~ [d#2,g#2,c#3]@3 ~@3", // C#5 C#sus2
AR: "[f#2,b2]@5 ~ b2 b2@4 ~ b2 b2@5 [f#2,b2]@5 ~, ~@3 f#2@2 ~ f#2@2 ~@4", // B5
AS: "[f#2,c#3,f#3]@5 ~ [f#2,f#3]@5 ~ f#2 f#2@3 ~@2 [f#2,c#3,f#3]@4 ~@2, ~@2 c#3 ~ [c#3,f#3] ~@3", // F#5 F# F#5
AT: "[d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~", // D#5
AU: "[b3,d#4]@15 ~@3 g#3@4 f#3@2", AV: "g#3@3 ~ b3@2 ~@18", AW: "[b3,d#4]@9 g#3@2 f#3", AX: "g#3@3 ~ f#3@2 ~@18",
AY: "c#4@2 d#4 ~ d#4 ~ d#4@6 c#4@2 d#4 ~ d#4 ~ d#4@5 ~", AZ: "f#4@2 g#4 ~ g#4 ~ g#4@6 f#4@2 g#4 ~ g#4 ~ g#4@5 ~",
BA: "c#4@2 d#4 ~ d#4 ~ d#4 ~ d#4 ~ d#4 ~ c#4@2 d#4 ~ d#4 ~ d#4 ~ d#4 ~ d#4 ~",
BB: "f#4@2 g#4 ~ g#4 ~ g#4 ~ g#4 ~ g#4 ~ c#4@2 d#4 ~ d#4 ~ d#4@5 ~",
BC: "b2@4 b3@2 b2@4 b3@3 ~@3 [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4,e4,f#4] ~", // Bm
BD: "[b3,d4,e4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4] ~ d4@5 ~, ~@6 b3 ~", // Bm
BE: "b2@3 b3@2 ~ b2@4 b3@2 ~@12", BF: "~@6 d#3 ~", BG: "g#2@4 g#3@2 g#2@4 g#3@2 ~@6 g#2@4 g#3 ~",
BH: "~@6 g#2@3 ~ [g#3,b3]@2 ~@4 b3@2 g#3@5 ~", BI: "g#2@4 g#3@2 g#2@3 ~ g#3 ~@7 g#2@3 ~ g#3 ~",
BJ: "~@2 [g#3,b3]@7 ~@3", // G#m
BK: "[f#2,c#3,f#3]@3 ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~", // F#5
BL: "[f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~", // F#5
BM: "[f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3]@3 ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~", // F#5
BN: "[f#2,c#3,f#3]@3 ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~@3 [f2,c3,f3]@2 ~@2 [e2,b2,e3]@2 ~@2", // F#5 F5 E5
BO: "[a#2,d#3]@3 ~ [a#2,d#3] ~ [a#2,d#3] ~ [a#2,d#3] ~ [a#2,d#3] ~ [d#2,a#2,d#3]@3 ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~", // D#5
BP: "[d#2,a#2,d#3]@3 ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3]@3 ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~", // D#5
BQ: "[g#2,c#3]@4 ~@2 [g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [g#2,c#3]@4 ~@2", // C#5
BR: "[f#2,b2]@5 ~ [f#2,b2]@5 ~ [f#2,b2]@5 ~ [f#2,b2]@5 ~", // B5
BS: "[f#2,c#3]@5 ~ [f#2,c#3]@5 ~ [f#2,c#3]@5 ~ [f#2,c#3]@4 ~@2", // F#5
BT: "[g#2,d#3,g#3] ~ [d#3,g#3] ~ [g#2,d#3,g#3] ~ [g#2,d#3,g#3] ~ [g#2,d#3,g#3] ~ [g#2,d#3,g#3] ~, ~@3 g#2@2 ~@19", // G#5
BU: "[g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [g#2,c#3]@4 c3 ~", // C#5
BV: "[f#2,c#3]@5 ~ [f#2,c#3]@5 ~ [f#2,c#3]@3 ~ c#3 ~ [f#2,c#3]@4 c#3 ~", BW: "g#2@4 g#3@2 g#2@4 g#3 ~@7 g#2@4 g#3 ~",
BX: "g#2@2 g#3 g#2@2 g#3 ~@3 g#2@2 [g#3,c#4]", BY: "~@4 [g#3,c#4]@2 b3@4 g#3@2 ~@4 b3@2 g#3@4 f#3 ~",
BZ: "~@6 g#2@3 ~ [g#3,b3]@2 ~@6 g#3@5 ~", // G#m
CA: "[g#2@4 g#3@2 g#2@4 g#3@2 ~@6 [g#3,c#4]@10 ~@2 [g#3,c#4]@9 ~ b3@2 g#3@4 f#3@2]/2", // C#5
})).s("gm_overdriven_guitar").gain(0.64)
// bass · electric bass pick · "Jason Newstead"
const bass = note(`<
~@16 A B C D E F G@2 H ~ I ~ J K L@4 M@2 N O P Q R S N T U V W@2 X@2 Y ~ I ~ J K Z@2 AA@2 AB@2 N O P Q AC AD AE AF AG
AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY@2 AZ@2 BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS
BT BU BV BW BX BY BZ CA@2 I ~
>`.pickRestart({
A: "g#2@4 ~@2 g#2@4 f#2 ~ g#2@4 ~@2 g#2@3 f#2@2 ~, g#1@11 ~ g#1@10 ~@2", B: "~@3 b2@2 ~@19, [g#1,g#2]@5 ~@19",
C: "g#2@4 ~@2 g#2@3 f#2 ~@2 g#2@5 ~ g#2@3 f#2 ~@2, g#1@5 ~ g#1@5 ~", D: "g#2 f#2 ~@6, g#1@7 ~@17",
E: "g#2@3 ~@3 g#2@4 f#2 ~ [g#1,g#2]@6 [g#1,g#2]@3 f#2@2 ~, g#1@3 ~@5", F: "~@4 b2@3 ~@14 d3 ~@2, [g#1,g#2] ~@3",
G: "[g#2@3 ~@3 g#2@3 ~ f#2@2 [g#1,g#2]@2 ~ g#2 g#1 ~ b2@2 ~@2 b2@5 ~ b2@2 g#2@2 ~ g#2@6 f#2@6 ~@3, g#1@5 ~@19]/2", // G#
H: "g#2@5 ~ g#2@4 ~@14", I: "g#1@2 g#2 g#1@2 g#2 ~@6", J: "g#1@3 ~ g#2@2 g#1@4 g#2 ~@13", K: "~@18 g#1@4 g#2 ~",
L: "[f#1@3 f#1 ~ f#1 ~@6 f#1@4 f#1 ~ f#1 ~@3 f#1@4 ~@2 f#1 ~ f#1 ~@3 f#1@5 ~ f#2@2 f#1@3 ~ f#1 f#1@3 ~@2 f#2 ~ f#1@2 ~ f#2@4 ~@5 f#1@3 ~ [f#1,f#2]@6 ~@2 [f#1,g#2] ~@4 [f#1,f#2]@5 g#2@5 f#2 ~@2, ~@66 f#2 ~@29]/4", // F# F#sus2 F#
M: "[g#1@4 g#2@2 g#1@4 g#2@2 ~@6 g#2@3 ~ f#2@2 g#2@3 b2@2 ~@19, ~@9 g#1@5 ~@10]/2",
N: "g#2@4 ~@2 g#2@4 f#2 ~ g#2@4 ~@2 g#2@3 ~ f#2@2, g#1@10 ~@2 g#1@9 ~@3", O: "[g#1,g#2]@4 f#2 ~@19",
P: "c#2@4 ~@2 c#2@5 ~ c#2@5 ~ c#2@4 c2 ~", Q: "b1@5 ~ b1@5 ~ b1@5 ~ b1 ~@3 b1 ~",
R: "f#1@3 ~@3 f#1@4 ~@2 f#1@4 ~@2 f#1@2 ~@2 f#1@2",
S: "d#2 ~@3 [d#1,d#2] ~ d#2 ~@3 d#1@2 d#2 ~ d#2 ~ d#2@2 d#1@2 ~@2 [d#1,d#2] ~, ~@10 d#2 ~@5 d#1 ~ d#2 ~@5", // D#
T: "~@2 b2 ~@9, [g#1,g#2] ~@3", U: "g#2@4 ~@2 g#2@4 f#2 ~ g#2@5 ~ g#2@3 ~ f#2 ~, g#1@5 ~ g#1@5 ~",
V: "g#2 f#2 ~@6, g#1 ~@3",
W: "[g#2@3 ~@3 g#2@3 f#2 ~@2 [g#1,g#2]@6 [g#1,g#2]@3 f#2@2 ~ g#2@4 b2@3 ~@15 d3 ~, g#1@11 ~@12 g#1@6 ~@19]/2", // G#
X: "[g#2@3 ~@3 g#2@3 ~ f#2@2 [g#1,g#2]@3 g#2 g#1 ~ b2@2 ~@2 b2@5 ~ b2@2 g#2@2 ~@2 g#2@6 f#2@6 ~@2, g#1@5 ~@19]/2", // G#
Y: "g#2@5 ~ g#2@4 ~@14, g#1@11 ~@13",
Z: "[f#1@3 ~ f#1 ~ f#1 ~@3 f#1@4 ~@2 f#1 ~ f#1 ~@3 f#1@4 ~@2 f#1 ~ f#1 ~@3 f#1@5 ~ f#2@2 f#1@3 ~ f#1 ~]/2",
AA: "[f#1@3 ~ f#2 ~ f#1@2 ~@2 f#2@4 ~@4 f#1@3 ~ [f#1,f#2]@6 ~@2 [g#1,g#2] ~@3 [f#1,f#2]@5 ~ g#2@5 ~ f#2 ~, ~@18 f#2 ~@29]/2", // F# G# F#
AB: "[g#1@4 g#2@2 g#1@4 g#2@2 ~@6 g#2@3 ~ f#2@2 g#2@4 b2@2 ~@18, ~@9 g#1@5 ~@10]/2",
AC: "f#1@3 ~@3 f#1@4 ~@2 f#1@4 ~@2 f#1@2 ~@2 f#1@2, ~@18 d#1 ~@5",
AD: "d#2 ~ d#2 ~ [d#1,d#2] ~ d#2 ~ d#2 ~ [d#1,d#2] d#1 d#2@2 d#2 ~ [d#1,d#2] ~ d#1@2 d#2 ~ [d#1,d#2] ~, ~@18 d#2 ~@5", // D#
AE: "g#1@4 g#2@2 g#1@4 g#2@2 ~@4 g#2@2 g#1@4 g#2 ~", AF: "~@4 g#2@2 g#1@4 g#2 ~@5 g#2@2 g#1@3 ~@3",
AG: "g#1@3 ~ g#2@2 g#1@4 g#2 ~@5 g#1 ~ g#2 ~ g#1 ~ g#2 ~",
AH: "g#2 ~ g#1 ~ g#2 ~ g#2@2 g#1 ~ g#2@2 g#1 ~ g#2 g#1 ~ g#2 ~@6",
AI: "f#1@2 ~@2 f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~@3 f#1 ~ f#1 ~ f#1 ~ f#1 ~",
AJ: "f#1@3 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1@2 ~@2 f#1 ~ f#1 ~ f#1 ~ f#1 ~",
AK: "f#1@6 f#1 ~@3 f#2@5 ~ f#1 ~ f#2@4 ~@2, ~@18 f#1 ~@5",
AL: "[f#1,f#2]@4 ~@2 [f#1,f#2]@2 ~@4 [f#1,f#2]@3 ~ [f1,f2]@2 ~@2 [e1,e2]@2 ~@2", // F# F E
AM: "[d#1,d#2]@3 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2]@4 d#2 ~ d#2@2 d#1 ~ d#2@2", // D#
AN: "d#1@3 ~ d#2 ~ d#1 ~ d#2 ~ d#1@2 d#2@2 ~@2 d#1 ~ d#2@2 d#1 ~ d#2 d#1",
AO: "c#2@4 ~@2 c#2@4 ~@2 c#2@5 ~ c#2@4 c2 ~", AP: "b1@3 b1@3 b2@2 b1@2 ~ a2",
AQ: "f#1@2 ~@4 f#1@6 f#2 ~@3 f#2@2 f#1@2 ~@4",
AR: "d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~",
AS: "[g#1,g#2]@4 ~@2 g#2@3 ~ [f#2,g#2] ~ g#2@4 ~@2 g#2@4 f#2 ~, ~@2 g#2 ~@9, ~@5 g#1@6 ~ g#1@10 ~@2", // G# F#sus2
AT: "[g#1,g#2]@2 b2 ~@6 g#2 ~@2", AU: "[g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~",
AV: "[g#1,g#2]@2 [f#1,f#2] ~@9", // G# F#
AW: "[g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2] ~ [g#1,g#2] ~ g#2 ~ [g#1,g#2]@4 f#2 ~", AX: "[g#1,g#2]@2 b2 ~@9",
AY: "[[g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2]@3 ~ g#2 ~ g#1@2 ~ g#1 g#1@5 b2 ~@2 b2 ~@2 b2@9 g#2@3 ~@3, ~@18 b2 ~@2 b2@6 ~@21]/2", // G#
AZ: "[b1@4 b2@2 b1@3 ~ b2@3 ~@3 b1@2 b2 ~@2 b2@5 ~@2 b1@2 b2 ~@3 b2@5 b1@3 b2@4 ~@2]/2",
BA: "b1@3 ~ b2@2 b1@3 ~ b2@2 ~@12", BB: "~@10 b1@11 ~@3",
BC: "g#2@4 ~@2 g#2@4 f#2 ~ [g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~, g#1@11 ~@13", BD: "[g#1,g#2]@2 [b1,b2] ~@9",
BE: "[g#1,g#2]@5 ~ [g#1,g#2]@3 ~@3 [g#1,g#2]@4 ~@2 [g#1,g#2]@3 f#2 ~@2", // G#
BF: "[g#1,g#2] ~@5 g#1@2 ~@3 g#1@2 ~@2 [g#1,g#2] ~ [g#1,g#2]@3 ~@4, ~@6 g#2 ~@4 g#2 ~@12", // G#
BG: "[f#1,f#2]@3 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ [f#1,f#2]@3 f#1 f#2 ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~, ~@3 f#2@2 ~@7", // F#
BH: "f#1@2 ~@2 [f#1,f#2] ~ [f#1,f#2] ~ f#1 ~ f#1 ~ f#1@2 ~@2 f#1 ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~, f#2 ~@23", // F#
BI: "[f#1,f#2] ~@3 [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~@3 [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~", // F#
BJ: "[f#1,f#2] ~@3 [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~@3 [f1,f2] ~@3 [e1,e2] ~@3", // F# F E
BK: "[d#1,d#2]@3 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2]@2 d#1 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~", // D#
BL: "d#2@2 ~@2 [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2]@3 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~, d#1 ~@23", // D#
BM: "[c#1,c#2]@5 ~ [c#1,c#2]@4 ~@2 [c#1,c#2]@4 ~@2 c#2@4 c2 ~, ~@9 c#1 ~@2", BN: "b1@5 ~ b1@5 ~ b1@5 ~ b1@3 ~ b1 ~",
BO: "f#1@4 ~@2 f#1@5 ~ f#1@5 ~ f#1@4 ~@2",
BP: "[g#1,g#2]@2 ~@2 [g#1,g#2]@2 ~@2 [g#1,g#2]@3 ~ [g#1,g#2]@3 ~ [g#1,g#2]@2 ~@2 [g#1,g#2]@2 ~@2", // G#
BQ: "~@6 f#2@2 ~@4 c#2@4 c#2@2 c#2@4 c2 ~, ~@6 d#1 ~@17", BR: "~@12 c#1@6 b1 ~@5, b1@2 ~",
BS: "f#1@4 ~@2 f#1@4 ~@2 f#1@5 ~ f#1@4 ~@2",
BT: "[d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~", // D#5
BU: "[g#1,g#2]@5 ~ g#2@3 ~ f#2@2 g#2@3 ~@3 [g#1,g#2]@4 f#2@2, ~@6 g#1@11 ~@7, ~@9 g#2@2 ~@13", // G#
BV: "g#2 g#2@3 b2@2 ~@18, g#1 ~@5", BW: "[g#1,g#2]@4 ~@2 [g#1,g#2]@4 f#2 ~ [g#1,g#2]@4 ~@2 [g#1,g#2]@4 f#2@2",
BX: "[g#1,g#2]@3 ~ g#1@2 g#2@2 ~@2 [g#1,g#2]@2 ~@4 g#2@2 [g#1,f#2]@3 ~ g#2 ~", // G# G#7
BY: "[g#1,g#2]@3 ~@3 [g#1,g#2]@4 f#2 ~ [g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~", BZ: "[g#1,g#2]@4 b2@2 ~@9 b2@6 g#2@2 ~",
CA: "[g#1@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2]@3 ~ g#2 ~ b2@2 ~@2 [g#1,b2]@6 ~@2 g#1@3 ~@2 g#1 ~@6 g#2@5 ~, ~@17 g#1@3 ~@10 b2@12 ~@6]/2", // G# G#m
})).s("gm_electric_bass_pick").gain(0.72)
// other · distortion guitar · "Echo Repeats"
const distortion_guitar = note(`<
A B C D E ~ F G H I J K L M H N ~@8 O ~ P Q R ~@5 S T U ~@13 O ~ V ~ W ~@16 X ~@10 Y Z AA AB AC AD ~@6 AE AD AF AG
~@14 AH D C D AI AJ ~@2 AK ~
>`.pickRestart({
A: "~@3 g#2@2 g#3 ~@2 g#3 ~@3", B: "g#2@2 g#3 ~@9", C: "~@6 g#2@4 g#3@2 g#2@3 ~ g#3@2 g#2@4 g#3@2",
D: "g#2@3 ~ g#3@2 ~@18", E: "~@6 g#2@4 g#3@2 g#2@3 ~ g#3@2 ~@6", F: "~@3 g#2@2 g#3 g#2@2 g#3 ~@2 g#3",
G: "~@6 g#2@4 g#3@2 g#2@3 ~ g#3@2 g#2@3 ~@3", H: "~@6 g#2@2 g#3 g#2@2 g#3",
I: "g#2@4 g#3@3 ~@5 g#2@4 g#3@2 g#2@3 ~@3", J: "~@6 g#2@4 g#3@2 ~@4 g#3@2 g#2@3 ~ g#3@2",
K: "g#2@2 g#3 ~@2 g#3 g#2@2 g#3 ~@3", L: "~@6 g#2@3 ~ g#3@2 g#2@4 g#3@2 ~@4 g#3@2",
M: "~@4 g#3@2 g#2@5 ~@5 g#3@2 g#2@3 ~@3", N: "g#2@3 ~ g#3 ~ g#2@4 g#3@2 g#2@4 g#3 ~@7",
O: "~@3 g#2@2 g#3 g#2@2 g#3 ~@3", P: "~@3 g#2@2 g#3 g#2@2 ~ g#2@2 g#3", Q: "g#2 ~@5", R: "~@6 g#2@2 g#3 ~@3",
S: "~@16 g#3 ~@5 g#3@2", T: "g#2 ~@7", U: "~@6 g#2@4 g#3 ~ g#2@3 ~@9", V: "~@6 g#2@4 g#3@2 g#2@5 ~ g#2@5 ~",
W: "~@12 g#2@4 g#3@2 g#2@5 ~", X: "~@17 [g#4,c#5]@6 ~",
Y: "g#3@4 ~@2 g#3@3 ~ f#3 ~ g#3@4 ~@2 g#3@3 ~ f#3 ~, g#2@11 ~ g#2@11 ~", Z: "[g#2,g#3]@4 b3 ~@19",
AA: "g#3@4 ~@2 g#3@3 ~ f#3 ~ g#3@5 ~ g#3@4 f#3 ~, g#2@11 ~ g#2@11 ~", AB: "g#3@2 f#3 ~@9, g#2 ~@3",
AC: "~@6 [g#2,g#3]@4 f#3 ~ g#3@4 ~@2 g#3@4 f#3@2, ~@6 g#2@5 ~", AD: "[g#2,g#3]@2 b3 ~@9",
AE: "g#3@5 ~ g#3@4 f#3 ~ g#3@5 ~ g#3@3 ~ f#3 ~, g#2@11 ~ g#2@10 ~@2",
AF: "g#3@5 ~ g#3@4 f#3 ~ [g#2,g#3]@5 ~ [g#2,g#3]@4 f#3 ~, g#2@11 ~@13", AG: "[g#2,g#3]@3 ~",
AH: "~@6 g#2@3 ~ g#3@2 g#2@3 ~ g#3@2 g#2@4 g#3@2", AI: "~@6 g#2@3 ~ g#3@2 g#2@4 g#3@2 g#2@3 ~ g#3@2",
AJ: "~@2 g#3 ~@9", AK: "~@3 g#2 ~@2",
})).s("gm_distortion_guitar").gain(0.2)
// other · distortion guitar · "Echo Repeats" · soft notes
const distortion_guitar_soft = note(`<
A B ~ C D E F G ~ H I J F K ~@10 L M N O L P ~@4 Q O R S ~@12 L T U V W X ~@61 Y ~@2 Z ~
>`.pickRestart({
A: "~@6 g#2@2 ~ g#2@2 g#3", B: "~@3 g#2@2 g#3 ~@6", C: "~@10 g#3 ~@13", D: "~@18 g#2@3 ~ g#3@2",
E: "g#2@3 ~ g#3@2 g#2@3 ~ g#3@2 ~@12", F: "~@9 g#2@2 ~", G: "g#2@3 ~ g#3 ~@19", H: "~@6 g#2@4 g#3@3 ~@11",
I: "~@4 g#2 ~@3", J: "~@3 g#2@2 ~@7", K: "g#2@4 ~@6 g#3@2 g#2@5 ~@7", L: "~@9 g#2@2 g#3", M: "g#2@2 g#3 ~@9",
N: "~@8 g#3 ~@3", O: "~@2 g#3 ~@2 g#3 ~@6", P: "g#2@2 g#3 g#2@2 g#3 ~@6", Q: "~@6 g#2@2 ~ g#2@2 ~",
R: "~@8 g#3 g#2@2 g#3", S: "g#2@4 g#3@3 ~@3 g#3 ~@13", T: "g#2 g#3 ~@4", U: "~@8 g#3 ~@2 g#3", V: "~@2 g#3 ~@9",
W: "~@11 g#3", X: "g#2@4 g#3@2 g#2@4 g#3@3 ~@11", Y: "g#2@4 ~@2 g#2@3 ~ g#3@2 ~@12",
Z: "~@6 g#2@3 ~ g#3@2 ~@4 g#3@4 ~@4",
})).s("gm_distortion_guitar").gain(0.1)
// bass · fretless bass
const bass_2 = note("<~@24 A@2 B@2 A@2 ~@20 A@2 C@2 D@2 ~@64 E ~>".pickRestart({
A: "[~@11 g#1@30 ~@7]/2", B: "[~@14 g#1@29 ~@5]/2", C: "[~@10 g#1@29 ~@9]/2", D: "[~@11 g#1@32 ~@5]/2",
E: "~@5 g#1@7",
})).s("gm_fretless_bass").gain(0.72)
// drums · kick
const kick = s("bd").struct(`<
~@16 A B C D C E F ~ A G C H I D H ~ J D K L M K N O P ~ A Q C D C E H ~ N G C H M L H ~ J D C D M K N O H ~ C L O R S
T@3 S T C U D O C D J V C H W X K D K ~ C H K H Y@2 Z AA Y S C K@2 AB C U H K C D AC O C G O AD O ~
>`.pickRestart({
A: "x ~@2 x ~ x ~@5 x", B: "x ~@5 x ~@3 x ~@4 x ~@6 x ~", C: "x ~@10 x", D: "x ~@2 x ~ x ~@2 x ~@3",
E: "x ~@2 x ~ x ~@2 x!2 ~@2", F: "x ~ x!2 ~@2 x ~", G: "x ~@2 x ~@4 x ~@3", H: "x ~@2 x ~ x ~@3 x ~@2",
I: "x ~@8 x ~@12 x ~", J: "x ~@6 x", K: "x", L: "x ~@5 x ~@3 x ~@4 x ~@8", M: "x ~@4 x ~@5 x", N: "x ~@2 x ~@7 x",
O: "x!2 ~@2", P: "x ~@5 x ~@3 x ~@6 x ~@6", Q: "x ~@2 x ~ x ~@2 x ~@2 x", R: "~@11 x", S: "x ~@2 x!2 ~",
T: "x!2 ~ x!2 ~", U: "x ~@2 x ~@4 x ~@2 x", V: "~ x ~ x ~@4", W: "x ~@2 x", X: "~ x ~@2", Y: "x!2", Z: "x!2 ~ x ~@2",
AA: "x ~@3 x!2", AB: "x!3 ~@3", AC: "x ~@4 x ~@3 x ~@2", AD: "x ~ x",
})).gain(0.5)
// drums · snare
const snare = s("sd").struct(`<
~@14 A B C@7 D C@7 D C@5 E C@3 F C@7 G C@6 H D C@5 E C@3 I C@2 J K L@3 M L@2 C@3 E C@3 J C@3 N C@2 H O C@3 J L@3 P L@2
C@3 Q C@3 R C@3 S C@3 T U ~
// … 52 more lines
More by Metallica
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.