0:00/0:00
// Battery — Metallica
// 195 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 5/4 at bar 101, 4/4 at bar 102, 5/4 at bar 133, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 5 "Elec Gtr 2&3" overdriven guitar (copy of ch 4 "Elec Gtr 1" overdriven guitar)
// note: Full arrangement: all 252 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(195/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 · acoustic guitar steel · "Acous Gtr 1"
const acoustic_guitar_steel = note("<A@7 B@5 C@8 D@5 E@8 ~@219>".pickRestart({
A: "[~@15 f3@2 e3@13 ~ e3@25 ~@10 d3@5 ~ [g2,d3,g3]@26 f3@2 e3@12, ~@14 [e2,b2]@15 ~ [f2,a2]@26 [f#2,a2]@15 ~@27 [e2,b2]@14, ~@57 e3@14 ~@41]/7", // G5 E5 F F#m E5
B: "[~@2 e3@25 ~@11 d3@5 ~ g3@25 ~@2 e3@9, ~ [f2,a2]@26 [f#2,a2]@15 ~ [g2,d3]@26 [e2,b2]@11, ~@29 e3@14 ~@27 f3@3 ~@7]/5", // F F#m G5 E5
C: "[~@5 e3@25 ~@11 d3@5 ~ g3@25 ~ f3@2 e3@13 [f2,a2,e3]@26 ~@10 d3@4, ~@4 [f2,a2]@26 [f#2,a2]@15 ~ [g2,d3]@26 [e2,b2]@15 ~@27 [f#2,a2]@14, ~@32 e3@14 ~@69 e3@13]/8", // Fmaj7 F F#m G5 E5 F#m
D: "[~@2 g3@25 ~ f3@2 e3@13 ~ e3@25 ~ e3@9 d3, ~ [g2,d3]@26 [e2,b2]@15 ~ [f2,a2]@26 [f#2,a2]@11]/5", // G5 E5 F F#m
E: "[~@5 g3@25 ~ f3@2 e3@13 ~ e3@25 ~@10 d3@5 ~ [g2,d3,g3]@26 ~@14, ~@4 [g2,d3]@26 [e2,b2]@15 ~ [f2,a2]@26 [f#2,a2]@15 ~@41, ~@73 e3@14 ~@41]/8", // G5 E5 F F#m
})).s("gm_acoustic_guitar_steel").gain(0.25)
// chords · acoustic guitar steel · "Acous Gtr 2&3"
const acoustic_guitar_steel_2 = note("<~@11 A@6 B@2 C D E F G@7 H@2 ~@220>".pickRestart({
A: "[~@8 g3 b3 [b3,d4]@3 [c4,e4]@2 [a3,c4]@10 ~ [b3,d4]@7 [c4,e4]@3 [a3,c4]@14 g3 b3 [b3,d4]@2 [c4,e4]@3 [a3,c4]@5 [g3,b3]@10 [c4,e4]@5 ~ b3@13 g3 b3 [b3,d4]@3, ~@26 d4@5 ~]/6", // Bm C Am Bm C Am Bm C …
B: "[[c4,e4]@2 [a3,c4]@10 ~ [b3,d4]@8 [c4,e4] [b3,d4] [a3,c4]@9]/2", C: "~@5 f#3 b3 [b3,d4]@2 [c4,e4]@3 [a3,c4]@4",
D: "~ [g3,b3]@10 ~ [c4,e4]@4", E: "~ [b3,d4]@10 ~@4 g3", F: "[b3,d4]@3 [c4,e4]@3 [a3,c4]@10",
G: "[[b3,d4]@8 [c4,e4]@2 [a3,c4]@14 g3 b3 [b3,d4]@3 [c4,e4]@2 [a3,c4]@5 [g3,b3]@10 ~ [c4,e4]@5 d4@14 g3 b3 [b3,d4]@2 [c4,e4]@3 [a3,c4]@10 [b3,d4]@8 [c4,e4] [b3,d4] ~ [a3,c4]@10 ~@3 g3 b3 [b3,d4]@3, ~@52 b3@13 ~@47]/7", // Bm C Am Bm C Am G C …
H: "[[c4,e4]@2 [a3,c4]@5 ~ [g3,b3]@10 [c4,e4]@5 [b3,d4]@9]/2", // C Am G C Bm
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.3)
// other · acoustic guitar steel · "Acous Gtr 4"
const acoustic_guitar_steel_3 = note("<~@21 A@2 B@7 C@2 ~@220>".pickRestart({
A: "[~@16 [d4,g4]@3 a4@3 e4@10, ~@15 c4@2 ~@15]/2", // G5
B: "[g4@8 a4@2 e4@10 ~@6 g4@3 a4@2 e4@5 d4@10 ~ a4@5 g4@14 ~@2 g4@2 a4@3 e4@10 g4@8 a4@3 e4@10 ~@5 g4@3, ~@24 c4@2 ~@40 c4@2 ~@39 c4@2 ~@3, ~@25 d4@2 ~@40 d4@2 ~@39 d4@2 ~@2]/7",
C: "[a4@2 e4@5 ~ d4@10 a4@5 g4@9]/2",
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.6)
// chords · overdriven guitar · "Elec Gtr 1"
const overdriven_guitar = note(`<
~@32 A@6 B@8 C@5 D@5 E F G H E F I J E F G H E F I K@3 L E F G H E F G M@3 L E F G M@3 L E N O P E Q R S T U V@4 W X
Y@2 W X Z@5 W X AA@5 AB AC@3 W AD AE AF AG AH AI AJ@4 AK@2 AJ@2 AL@2 AM AN AO AP AM AN AO AP AM AN AO AP AM AQ AR@2 AS
AT AU AT AV AT AU AT AS AT AU AT AW AT AU AT AS AX AY AZ BA AX AY BB BC BD BE BD BE BD BE BD BE BF BG BH BI BH BJ BH
BI BH BK@4 BL BM BN BK@4 BN BO@3 BL BP BQ BR BS BT BU BV BW BX BL BM BY@2 BZ CA BZ CA BZ CA BZ CA BZ CA BZ CA BZ CA
CB@3 CC@2
>`.pickRestart({
A: "[~@2 [e2,b2,e3]@10 [e2,b2,e3]@2 ~ [e2,b2,e3]@2 [f2,c3,f3]@26 [f#2,a2,f#3]@10 ~ [f#2,a2,f#3]@2 [f#2,a2,f#3]@2 ~ [g2,d3,g3]@26 [e2,b2,e3]@10 [e2,b2,e3]]/6", // E5 F5 F#m G5 E5
B: "[~@2 [e2,b2,e3]@2 [f2,c3,f3]@26 [f#2,a2,f#3]@10 ~ [f#2,a2,f#3]@2 [f#2,a2,f#3]@2 ~ [g2,d3,g3]@26 [e2,b2,e3]@10 [e2,b2,e3]@2 ~ [e2,b2,e3]@2 ~ [f2,c3,f3]@26 [f#2,a2,f#3]@10 [f#2,a2,f#3]@2 ~ [f#2,a2,f#3]]/8", // E5 F5 F#m G5 E5 F5 F#m
C: "[~ [g2,d3,g3]@26 [e2,b2,e3]@10 ~ [e2,b2,e3]@2 [e2,b2,e3]@2 ~ [f2,c3,f3]@26 [f#2,a2,f#3]@10 [f#2,a2,f#3]]/5", // G5 E5 F5 F#m
D: "[~@2 [f#2,a2,f#3]@2 [g2,d3,g3]@26 [e2,b2,e3]@10 ~ [b2,f#3,b3]@10 [g2,d3,g3]@10 ~ [d#3,f#3]@10 e2@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2]/5", // F#m G5 E5 B5 G5 D#m E5
E: "e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2", // A#5 A5 E5
F: "e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 [e3,g3]@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2", // Em D#m Em E5
G: "e2 [a#2,f3,a#3]!2 [a2,e3,a3] e2 [f#2,c#3,f#3]@2 [g2,d3,g3]", // A#5 A5 F#5 G5
H: "e2@2 [g2,d3,g3]@4 [g#2,d#3,g#3]@2 e2@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2", // G5 G#5 E5
I: "e2 [a#2,f3,a#3]!2 [a2,e3,a3] [b2,f#3,b3] [a2,e3,a3] ~ [a2,e3,a3]", // A#5 A5 B5 A5
J: "~@2 [a2,e3,a3]@2 ~@2 [a2,e3,a3]@2 e2@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2", // A5 E5
K: "[~ [a2,e3,a3] ~ [a2,e3,a3] [e2,b2,e3]@8 [g2,d3,g3]@8 [a2,e3,a3]@4]/3", // A5 E5 G5 A5
L: "[f2,c3,f3]@2 [f2,c3,f3]@2 [f#2,b2,d#3]@4 e2@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2", // F5 B E5
M: "[e2 [g2,d3,g3]@2 [g#2,d#3,g#3] [e2,b2,e3]@8 [g2,d3,g3]@8 [a2,e3,a3]@4]/3", // G5 G#5 E5 G5 A5
N: "e2 [e3,g3]!2 [d#3,f#3] [e2,b2,e3]@4", O: "[b2,f#3,b3] [g2,d3,g3]",
P: "[e2,e3,g3]@4 [f#2,b2,d3]@4 e2@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2", // Em Bm E5
Q: "e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 e2@2 [e2,b2]!2 e2@2 [e2,b2]!2", // Em D#m E5
R: "e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [f2,c3,f3]@2 e2@2 [e2,b2,e3]!2", // A#5 A5 A#5 F5 E5
S: "e2@2 [e2,b2,e3]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [e2,b2,e3]!2", // E5 A#5 A5 E5
T: "e2@2 [e2,b2,e3]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 [e3,g3]@2 [e2,b2]!2", // E5 Em D#m Em E5
U: "e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [a#2,f3,a#3]@4", // E5 A#5 A5 A#5
V: "[[f2,c3,f3]@4 [e2,b2,e3]@4 ~@4 [e2,b2,e3]@16 [g2,d3,g3]@16 [a2,e3,a3]@8 [f2,c3,f3]@2 [f2,c3,f3]@2 [f#2,b2,d#3]@4 e2@2 [e2,b2]!2]/4", // F5 E5 G5 A5 F5 B E5
W: "e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [e2,b2]!2", // E5 A#5 A5 E5
X: "e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 [e3,g3]@2 [e2,b2]!2", // E5 Em D#m Em E5
Y: "[e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [f#2,c#3,f#3]@4 [g2,d3,g3]@2 e2@2 [g2,d3,g3]@4 [g#2,d#3,g#3]@2 e2@2 [e2,b2]!2]/2", // E5 A#5 A5 F#5 G5 G#5 E5
Z: "[e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [f#2,c#3,f#3]@4 [g2,d3,g3]@2 e2@2 [g2,d3,g3]@4 [g#2,d#3,g#3]@2 [e2,b2,e3]@16 [g2,d3,g3]@16 [a2,e3,a3]@8 [f2,c3,f3]@2 [f2,c3,f3]@2 [f#2,b2,d#3]@4 e2@2 [e2,b2]!2]/5", // E5 A#5 A5 F#5 G5 G#5 E5 G5 …
AA: "[e2@2 [e2,b2,e3]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [f#2,c#3,f#3]@4 [g2,d3,g3]@2 e2@2 [g2,d3,g3]@4 [g#2,d#3,g#3]@2 [e2,b2,e3]@16 [g2,d3,g3]@16 [a2,e3,a3]@8 [f2,c3,f3]@2 [f2,c3,f3]@2 [f#2,b2,d#3]@4 e2@2 [e2,b2]!2]/5", // E5 A#5 A5 F#5 G5 G#5 E5 G5 …
AB: "e2@2 [e2,b2,e3]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [e2,b2]!2", // E5 A#5 A5 E5
AC: "[e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 [e2,b2,e3]@8 [b2,f#3,b3]@8 [g2,d3,g3]@8 [e2,e3,g3]@4 [f#2,b2,d3]@4 e2@2 [e2,b2]!2]/3", // E5 Em D#m E5 B5 G5 Em Bm …
AD: "e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 e2@2 [e2,b2]!2", // E5 Em D#m E5
AE: "e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [f2,c3,f3]@2", // E5 A#5 A5 A#5 F5
AF: "e2@2 [e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2", // E5 A#5 A5
AG: "e2@2 [e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2", // E5 Em D#m
AH: "[e3,g3]@2 [e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2", // Em E5 A#5 A5
AI: "[a#2,f3,a#3] [f2,c3,f3] [e2,b2,e3] ~", AJ: "[e2,b2,e3]/2", AK: "[[g2,d3,g3]@11 [g2,d3,g3] ~ g2 [g2,d3,g3]@2]/2",
AL: "[[g2,d3,g3]@12 [b2,f#3,b3]!2 ~@2]/2", AM: "[e2,b2,e3]@3 [e2,b2,e3] [e2,b2,e3]@2 [e2,b2,e3]!2",
AN: "[e2,b2,e3] [e2,b2,e3]@2 [e2,b2,e3] [c3,g3,c4]@2 [d3,a3,d4]@2", // E5 C5 D5
AO: "[g2,d3,g3]@3 [g2,d3,g3] [g2,d3,g3]@2 [g2,d3,g3]!2", // G5
AP: "[g2,d3,g3] [g2,d3,g3]@2 [a2,e3,a3] [a2,e3,a3]@2 [b2,f#3,b3]@2", // G5 A5 B5
AQ: "[e2,b2,e3]@3 [g2,d3,g3] [g2,d3,g3]@2 [b2,f#3,b3]@2", AR: "[g2,d3,g3]/2",
AS: "[a#2,f3,a#3] [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3]", // A#5 A5
AT: "e2@2 [e2,b2,e3]!2 e2@2 [e2,b2,e3]!2 e2@2 [b2,f#3,b3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2", // E5 B5 A#5 A5
AU: "e2 [b2,f#3,b3] [a#2,f3,a#3] [a2,e3,a3] e2 [b2,f#3,b3] [a#2,f3,a#3] [a2,e3,a3]", // B5 A#5 A5 B5 A#5 A5
AV: "[e2,b2,e3] [b2,f#3,b3] ~ [a#2,f3,a#3] ~ [a2,e3,a3] ~ [g2,d3,g3]", // E5 B5 A#5 A5 G5
AW: "[e2,b2,e3] [b2,f#3,b3] [a#2,f3,a#3] [a2,e3,a3] ~ [g2,d3,g3] ~ [f2,a2,f3]", AX: "[e2,b2,e3]", AY: "[g2,d3,g3]",
AZ: "[a2,e3,a3]", BA: "[f#2,c#3,f#3]", BB: "[a2,e3,a3] ~@3", BC: "~@3 [f#2,c#3,f#3]",
BD: "[f2,c3,f3] ~ [a#2,f3,a#3] ~ [b2,f#3,b3] ~ [a#2,f3,a#3] ~", // F5 A#5 B5 A#5
BE: "[b2,f#3,b3] ~ [a#2,f3,a#3] ~ [b2,f#3,b3] ~ [f#2,c#3,f#3]@2", BF: "[f2,c3,f3] ~@3",
BG: "~@3 [f2,c3,f3]!2 [d#3,f#3]@2 e2", // F5 D#m
BH: "[e2,b2,e3]!2 e2@2 [e2,b2,e3]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2", // E5 A#5 A5
BI: "[e2,b2,e3]!2 e2@2 [e2,b2,e3]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 [e3,g3]@2", // E5 Em D#m Em
BJ: "[f#2,c#3,f#3]@2 [g2,d3,g3] e2 [g2,d3,g3]@2 [g#2,d#3,g#3] e2", // F#5 G5 G#5
BK: "[[f#2,c#3,f#3]@2 [g2,d3,g3] e2 [g2,d3,g3]@2 [g#2,d#3,g#3] [e2,b2,e3]@8 [g2,d3,g3]@8 [a2,e3,a3]@4 [f2,c3,f3]!2 [f#2,b2,d#3]@2 e2]/4", // F#5 G5 G#5 E5 G5 A5 F5 B
BL: "[e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2", // E5 A#5 A5
BM: "[e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 [e3,g3]@2", // E5 Em D#m Em
BN: "[e2,b2]!2 e2@2 [e2,b2,e3]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2", // E5 A#5 A5
BO: "[[e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 [e2,b2,e3]@8 [b2,f#3,b3]@8 [g2,d3,g3]@8 [e2,e3,g3]@4 [f#2,b2,d3]@4 e2@2]/3", // E5 Em D#m E5 B5 G5 Em Bm
BP: "[e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 e2@2", // E5 Em D#m
BQ: "[e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [a#2,f3,a#3]@2", // E5 A#5 A5 A#5
BR: "[f2,c3,f3]@2 e2@2 [e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2", // F5 E5 A#5
BS: "[a2,e3,a3]@2 e2@2 [e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2", // A5 E5 Em
BT: "[d#3,f#3]@2 [e3,g3]@2 [e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2", // D#m Em E5 A#5
BU: "[a2,e3,a3]@2 [a#2,f3,a#3]@4 [f2,c3,f3]@4 e2@2 [e2,b2]!2 e2@2", // A5 A#5 F5 E5
BV: "[e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 e2@2 [e2,b2]!2 e2@2", // E5 A#5 A5 E5
BW: "[e2,b2]!2 e2@2 [e3,g3]@2 [e3,g3]@2 [d#3,f#3]@2 e2@2 [e2,b2]!2 e2@2", // E5 Em D#m E5
BX: "[e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [a#2,f3,a#3]@2 [f2,c3,f3]@2 e2@2", // E5 A#5 A5 A#5 F5
BY: "[[e2,b2]!2 e2@2 [e2,b2]!2 e2@2 [a#2,f3,a#3]@2 [a#2,f3,a#3]@2 [a2,e3,a3]@2 [a#2,f3,a#3]@4 [f2,c3,f3]@4 [e2,b2,e3]@4 ~@4 [f2,c3,f3]@2]/2", // E5 A#5 A5 A#5 F5 E5 F5
BZ: "~ [a#2,f3,a#3] ~ [b2,f#3,b3] ~ [a#2,f3,a#3] ~ [b2,f#3,b3]", // A#5 B5 A#5 B5
CA: "~ [a#2,f3,a#3] ~ [b2,f#3,b3] ~ [f#2,c#3,f#3]@2 [f2,c3,f3]", // A#5 B5 F#5 F5
CB: "[~ [a#2,f3,a#3] ~ [b2,f#3,b3] ~ [a#2,f3,a#3] ~ [b2,f#3,b3]@16 [f#2,c#3,f#3]]/3", // A#5 B5 A#5 B5 F#5
CC: "[[f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] [e2,b2,e3]@2 ~@7]/2", // F5 E5
})).s("gm_overdriven_guitar").gain(0.25).pan(0.8)
// other · overdriven guitar · "Solo 1"
const overdriven_guitar_2 = note(`<
~@32 A@2 B C@8 D@3 E F G H@5 ~@49 I J K L ~@39 M N O P M N O P M N O P Q R S@2 ~ T U V W X Y Z AA AB AC AD AE AF AG AH
AI AJ AK AL AM AN AO AP AQ ~@65
>`.pickRestart({
A: "[~@7 g5@2 a5@3 e5@10 g5@8 a5@2]/2", B: "~ e5@15",
C: "[g5@3 a5@3 e5@5 d5@10 a5@5 g5@15 ~ g5@3 a5@2 e5@10 ~ g5@7 a5@3 e5@15 ~ g5@2 a5@3 e5@5 d5@10 a5@5 ~ g5@15 g5@3]/8",
D: "[a5@2 e5@10 ~ g5@8 a5@2 e5@15 ~ g5@2 a5@3 e5@4]/3", E: "~ d5@10 ~ a5@4", F: "~ g5@15", G: "g5@3 a5@3 e5@10",
H: "[g5@8 a5@2 e5@15 ~ g5@3 a5@2 e5@5 d5@10 ~ a5@5 g5@15 ~@13]/5", I: "~@6 d5 e5",
J: "a5 e5 g5 e5 f#5 e5 d5 e5 a5 e5 g5 e5 f#5 e5 d5 e5", K: "a5 e5 g5 e5 f#5 e5 d5 e5 a5 e5 g5 e5 f#5 e5 c#5 b4",
L: "c#5 b4 a4@2 g4@2 e4@2 [a4,c#5]@4 g4@4", M: "e3!2 f#3 g3 e3@2 ~ e3", N: "e3 ~ g3 e3 c3!2 d3 e3",
O: "e3 d3 ~ b2 f#3@2 g3@2 e3@4 ~@2 e3@2", P: "~ e3 g3 e3 f#3 g3 a3@2", Q: "e3!2 f#3 g3 e3@2 ~@2", R: "e3@3 b2@3 b3@2",
S: "d4/2", T: "[a4,c5]@3 [a4,c5]@3 [a4,c5]@2", U: "[a4,c5]@6 [a4,c5]@4 [a4,c5]@2 a4@2 g4 a4",
V: "g4@2 g4 a4 g4@2 d5 b4 d5@2 b4@2 d5@2 b4 a#4", W: "b4 d5 b4 a#4 b4 d5 b4 a4 b4@2 d5@6", X: "~ g5@7",
Y: "[d5,g5]@4 g5@4 e5@2 e5 g5 e5 [b4,d5] e5 d5", Z: "e5@2 b4 d5 b4 a4 b4 d5 b4 d5 b4 a4 b4 d5 b4 a4",
AA: "b4 d5 b4@4 d5 d5@9", AB: "b3 [g3,a3] b3 [g3,a3] b3 [g3,a3] b3@2 d3@2 b3 [g3,a3] a3 b3 d3@2",
AC: "b3 [g3,a3] b3 [g3,a3] b3 [g3,a3] a3 b3 g3@2 b3 [g3,a3] b3 [g3,a3] b3 [g3,a3]", // Gsus2
AD: "b3 [g3,a3] b3 [g3,a3] c#4 [g3,b3] c#4 [g3,b3] d#4 [g3,c4] d#4 [g3,c4] f4 [g3,d#4] f4 [g3,d#4]", // Gsus2 G C5 Cm
AE: "g4 [g3,f4] g4 [g3,f4] g4 [g3,f4] g4 [g3,f4] a4@8", AF: "e5@2 g5@2 f#5@2 e5@2 d5 e5 ~ d5 b4 c#5 ~ b4",
AG: "c#5 b4 ~ a4 g4 ~ e4 ~ d4 ~ b3 ~ a#3 ~ a3@2", AH: "g3 g#3 b3 d4 e4 f#4 d4 b3", AI: "d4 e4 [d4,a5] e4@5",
AJ: "b3 d4 f#4 a4@3 a4 g4", AK: "f#5@2 e4@2 f#4@2 g4@2 f#4 [f#4,g4] e4@2 d4@2 c#4@2",
AL: "d4@3 d4@2 d4@3 c#4@3 b3@2 d4@3", AM: "c#4@3 a3@2 g#3@3 a3@8", AN: "e4@2 g4@2 b4@2 d5@6 d5 b4 ~ a4",
AO: "b4@2 g4@4 g5 e5 g5 e5@7", AP: "c6 g5 c6 g5 c5 b4 ~ a4!2 b4 f#5!2 b4 a4 ~ g4",
AQ: "a4 g4@2 [f#4,g4] f#4 [f#4,g4] e4@2 f2@8", // Gmaj7
})).s("gm_overdriven_guitar").gain(0.41)
// bass · electric bass pick · "Bass"
const bass = note(`<
~@32 A@6 B@5 C@5 D@8 ~@3 E F ~ G H I J K L I J M N O P Q I J K L I J K R S T U I J K V W X Y I Z AA AB I J AC AD AE AF
AG AH AI AJ AD AE AK@2 AD AE AL@2 AM AN@2 AD AE AO@5 AD AP@3 AD AE AQ AR AS AT AU AV@2 AW AX AY AZ AW AX AY BA BB BC
BD BE BB BC BD BE BB BC BD BE BB BF BG@2 BH BI BJ BI BK BI BJ BI BL BI BJ BI BM BI BJ BI BN BO BP BQ BR BO BP BS BT BU
BV BW BV BW BV BW BV BX BY BZ CA BZ CB BZ CA BZ CC@4 BZ CA BZ CD@4 BZ CE@3 BZ CA CF CG CH CI CJ CK CL CM BZ CA CN@2 CO
CP CO CP CO CP CO CP CO CP CO CP CO CP CQ@3 CR@2
>`.pickRestart({
A: "[~@2 e1@5 e1@2 e1@2 ~ e1@2 ~ e1@2 f1@26 f#1@10 ~ f#1@2 f#1@2 ~ g1@26 e1@5 e1@2 ~ e1@2 e1]/6",
B: "[~@2 e1@2 f1@26 f#1@10 ~ f#1@2 f#1@2 ~ g1@26 e1@5 e1@2 ~]/5",
C: "[e1@2 e1@2 ~ e1@2 ~ f1@26 f#1@10 f#1@2 ~ f#1@2 g1@26 e1@5]/5",
D: "[e1@2 ~ e1@2 ~ e1@2 e1@2 ~ f1@26 f#1@10 f#1@2 ~ f#1@2 g1@26 e1@10 ~ b1@10 g1@10 ~ [b1,d#2]@10 e1@2 ~@6]/8", // B
E: "~@2 e1 ~", F: "~ a#1!2 a1 e1 ~@3", G: "~@4 b1 a1 ~ a1", H: "~@2 a1@2 ~@2 a1@2 e1@2 e1!2 e1@2 e1!2",
I: "e1@2 a#1@2 a#1@2 a1@2 e1@2 e1!2 e1@2 e1!2", J: "e1@2 e2@2 e2@2 d#2@2 e2@2 e1!2 e1@2 e1!2",
K: "e1 a#1!2 a1 e1 [f#1,c#2]@2 [g1,d2]", L: "e1@2 [g1,d2]@4 [g#1,d#2]@2 e1@2 e1!2 e1@2 e1!2",
M: "e1 a#1!2 a1 b1 a1 ~ [a1,e2]", N: "~ [a1,e2] ~ [a1,e2] e1@2 e1@2", O: "e1@2 e1!2 g1@2 g1@2",
P: "g1@2 g1!2 a1@2 a1@2", Q: "[f1,c2]@2 [f1,c2]@2 [f#1,b1]@4 e1@2 e1!2 e1@2 e1!2",
R: "e1 [g1,d2]@2 [g#1,d#2] e1@2 e1@2", S: "e1@2 e1!2 g1@2 g1!2", T: "g1@2 g1!2 a1@4",
U: "[f1,c2]@2 [f1,c2]@2 [f#1,b1,d2]@4 e1@2 e1!2 e1@2 e1!2", V: "e1 [g1,d2]@2 [g#1,d#2] e1@4", W: "e1@2 e1!2 g1@4",
X: "g1!4 a1@4", Y: "[f1,c2]@2 [f1,c2]@2 [f#1,d2]@4 e1@2 e1!2 e1@2 e1!2", Z: "e1 e2!2 d#2 e1@4", AA: "b1 g1",
AB: "e1@4 [b1,d#2]@4 e1@2 e1!2 e1@2 e1!2", AC: "e1@2 a#1@2 a#1@2 a1@2 a#1@2 f1@2 e1@2 e1!2",
AD: "e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 e1@2 e1!2", AE: "e1@2 e1!2 e1@2 e2@2 e2@2 d#2@2 e2@2 e1!2",
AF: "e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 a#1@4", AG: "f1@2 e1@2 ~@2 e1!2", AH: "e1@2 e1!2 e1@2 g1!2",
AI: "g1@2 g1@2 g1!2 a1@2", AJ: "a1@4 [f1,c2]@2 [f1,c2]@2 [f#1,d2]@4 e1@2 e1!2",
AK: "[e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 e1@2 [f#1,c#2]@4 [g1,d2]@2 e1@2 [g1,d2]@4 [g#1,d#2]@2 e1@2 e1!2]/2", // F#5 G5 G#5
AL: "[e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 e1@2 [f#1,c#2]@4 [g1,d2]@2 e1@2 [g1,d2]@4 [g#1,d#2]@2 e1@4]/2", // F#5 G5 G#5
AM: "e1@2 e1@2 e1!2 g1@2", AN: "[g1@2 g1@2 g1@4 g1@2 g1@2 a1@8 [f1,c2]@2 [f1,c2]@2 [f#1,b1]@4 e1@2 e1!2]/2",
AO: "[e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 e1@2 [f#1,c#2]@4 [g1,d2]@2 e1@2 [g1,d2]@4 [g#1,d#2]@2 e1@8 e1@4 e1@2 e1@2 g1@8 g1@2 g1@2 g1@2 g1@2 a1@8 [f1,c2]@2 [f1,c2]@2 [f#1,b1]@4 e1@2 e1!2]/5", // F#5 G5 G#5 F5 B5
AP: "[e1@2 e1!2 e1@2 e2@2 e2@2 d#2@2 e1@8 b1@8 g1@8 e1@4 [b1,d#2]@4 e1@2 e1!2]/3", // B
AQ: "e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 a#1@2 f1@2", AR: "e1@2 e1!2 e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2",
AS: "e1@2 e1!2 e1@2 e1!2 e1@2 e2@2 e2@2 d#2@2", AT: "e2@2 e1!2 e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2", AU: "a#1 f1 e1 ~",
AV: "e1/2", AW: "e1@4 e1!4", AX: "e1@2 e1@2 e1!4", AY: "g1@2 g1@2 g1!4", AZ: "g1@2 g1!4 g1@2",
BA: "g1@2 g1@2 b1!2 ~@2", BB: "e1@3 e1 e1@2 e1!2", BC: "e1 e1@2 e1 c2@2 d2@2", BD: "g1@3 g1 g1@2 g1!2",
BE: "g1 g1@2 a1 a1@2 b1!2", BF: "e1@3 g1@3 b1@2", BG: "g2/2", BH: "a#1 a1 ~ a1 ~ a1 ~ a1",
BI: "e1@2 e1!2 e1@2 e1!2 e1@2 b1@2 a#1@2 a1@2", BJ: "e1 b1 a#1 a1 e1 b1 a#1 a1",
BK: "[e1,b1] [b1,f#2] ~ [a#1,f2] ~ [a1,e2] ~ [g1,d2]", BL: "a#1 [a1,e2] ~ [a1,e2] ~ [a1,e2] ~ [a1,e2]",
BM: "[e1,b1] [b1,f#2] [a#1,f2] [a1,e2] ~ [g1,d2] ~ [f1,a1]", // E5 B5 A#5 A5 G5 F
BN: "[a#1,f2] [a1,e2] ~ [a1,e2,a2] ~ [a1,e2,a2] ~ [a1,e2,a2]", BO: "e1", BP: "g1", BQ: "a1", BR: "f#1",
BS: "[a1,e2] ~@3", BT: "~@3 f#1", BU: "f1!2 a#1 f1 b1 f1 a#1 f1",
BV: "[b1,f#2] f1 [a#1,f2] f1 [b1,f#2] f1 [f#1,c#2]@2", BW: "[f1,c2] f1 [a#1,f2] f1 [b1,f#2] f1 [a#1,f2] f1",
BX: "[f1,c2] ~@7", BY: "~@3 [f1,c2]!2 [d#2,f#2]@2 e1", BZ: "e1!2 e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 e1@2",
CA: "e1!2 e1@2 e1!2 e1@2 e2@2 e2@2 d#2@2 e2@2", CB: "[f#1,c#2]@2 [g1,d2] e1 [g1,d2]@2 [g#1,d#2] e1",
CC: "[[f#1,c#2]@2 [g1,d2] e1 [g1,d2]@2 [g#1,d#2] e1@2 e1@2 e1@2 e1!2 g1@2 g1!2 g1@2 g1!2 a1@4 [f1,c2]!2 [f#1,b1]@2 e1]/4", // F#5 G5 G#5 F5 B5
CD: "[[f#1,c#2]@2 [g1,d2] e1 [g1,d2]@2 [g#1,d#2] e1@4 e1@2 e1!2 g1@4 g1!4 a1@4 [f1,c2]!2 [f#1,b1]@2 e1]/4", // F#5 G5 G#5 F5 B5
CE: "[e1!2 e1@2 e1!2 e1@2 e2@2 e2@2 d#2@2 e1@8 b1@8 g1@8 e1@4 [b1,d#2]@4 e1@2]/3", // B
CF: "e1!2 e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 a#1@2", CG: "f1@2 e1@2 e1!2 e1@2 e1!2 e1@2 a#1@2 a#1@2",
CH: "a1@2 e1@2 e1!2 e1@2 e1!2 e1@2 e2@2 e2@2", CI: "d#2@2 e2@2 e1!2 e1@2 e1!2 e1@2 a#1@2 a#1@2",
CJ: "a1@2 a#1@4 f1@4 e1@2 e1!2 e1@2", CK: "e1!2 e1@2 a#1@2 a#1@2 a1@2 e1@2 e1!2 e1@2",
CL: "e1!2 e1@2 e2@2 e2@2 d#2@2 e2@2 e1!2 e1@2", CM: "e1!2 e1@2 a#1@2 a#1@2 a1@2 a#1@2 f1@2 e1@2",
CN: "[e1!2 e1@2 e1!2 e1@2 a#1@2 a#1@2 a1@2 a#1@4 f1@4 e1@4 ~@4 f1@2]/2", CO: "f1 a#1 f1 b1 f1 a#1 f1 [b1,f#2]",
CP: "f1 [a#1,f2] f1 [b1,f#2] f1 [f#1,c#2]@2 f1", CQ: "[f1 a#1 f1 b1 f1 a#1 f1 b1@16 [f#1,c#2,f#2]]/3",
CR: "[[f1,c2,f2] ~ [f1,c2] ~ [f1,c2] ~ [f1,c2] e1@2 ~@7]/2", // F5
})).s("gm_electric_bass_pick").gain(0.37)
// other · overdriven guitar · "Solo 2"
const overdriven_guitar_3 = note(`<
// … 116 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.