0:00/0:00
// Darlene — Led Zeppelin
// 234 bpm, 12/8, key C 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, 12/8 at bar 103) are rendered on a constant 12/8 grid of one bar per cycle
// note: Full arrangement: all 206 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(234/6)
// 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, A@4 for four bars: edit a riff to change every repeat.
// other · distortion guitar · "Electric Guitar I"
const distortion_guitar = note(`<
~@27 A B@2 ~@5 C@2 ~@6 D@2 E@2 ~@12 F@2 G H I@3 J K@2 L M N@2 O@2 P Q ~@39 R ~@23 S ~@16 T U V W X Y Z AA AB AC@2 AD
AE AF AG ~ AH AI AJ AK AL@3 AM AN AO@3 AP AQ AR AS AT AU AV@2 AW AX AY AZ ~@9
>`.pickRestart({
A: "~@16 c5@3 d5@3 f5@2", B: "[~ d5 c5 ~ a#4@3 a#4@3 g4@26 ~@12]/2",
C: "[~@11 c5@3 ~@9 f5@3 d5@4 ~ g4@7 ~@10, ~@7 d5@3 d5@3 ~@11, ~@17 f5@6 ~@25]/2",
D: "[~@18 c5@3 ~@3 f5@7 d5@2 c5@4 a#4@2 g4@9, ~@21 d5@10 ~@17]/2", E: "[a4@3 g4@16 ~@5]/2",
F: "[~@15 c5@3 ~@3 g5@3 f5 g5 ~ f5 g5 ~ f5@3 d5@3 c5@3 a#4@3 a#4 g4 ~ f4@3, ~@6 d5@5 ~@5]/2",
G: "g4 f4 g4 f4 ~ e5@2 d5, ~@3 g4@5", H: "~@3 g5@3 f5@5 ~ g5@3 f5@3 b4@3 a5@3, a4@11 a4@4 ~@3 a4 ~@5",
I: "[g5@3 b4@3 a5@3 g5@3 b4@3 g5@3 ~@6 g5@3 ~@3 a4@3 [b4,g5]@3 a5@3 a5@3 g5@9 d5 ~ f5 ~ g5@3 f5@3 ~@3 c5@3 d5@3 g5@2, ~@7 a4@3 ~@14, ~@9 f5@2 ~@13]/3", // Em
J: "~@5 d5@2 c5@4 a#4@2 g4 a#4 ~ g4 f4 ~ g4@3 f4 d4",
K: "[~ a#4@2 g4@2 f4@2 ~@9 f4@3 d#5@3 d5@3 ~@6 g5@3 f5@6 ~@6 c#6@2, ~@7 [g4,c5]@6 [g4,c5]@6 g4@9 ~@20, ~@5 f4@3 ~@16]/2", // C5
L: "~@4 g6@3 ~@3 d6@3 c6@4 a#5@2 g5 ~ a#5 g5 ~, ~ d6@9 ~@14, ~@7 f6@5 ~@12",
M: "f5 g5@3 f5 ~ g5 ~@3 c6@3 d6 ~ d6 g6@3 d6@3 d6@2",
N: "[~ g6@3 d6@3 d6@3 g6@3 f6@3 g6@3 ~ a#6@3 f6@3 g6@3 a#6@3 g6@3 a#6!2 ~@4 a#6@3 c7@4]/2",
O: "[~@2 a#6@3 g6@3 f6@3 d6@3 c#6@3 c6@3 a#5@3 c6@3 a#5 c6 a#5 g5@3 [a#5,d6]@3 g5@3 [a#5,d6]@3 ~@4 d5@2 f5, ~@45 f5 ~@2]/2", // A#
P: "~ f5 [d5,g5]@2 f5 [c5,g5]@2 c5 ~@5 g5 g5@2 g5 f5@3 a#4 ~ a4 g4, ~@7 f5@5 ~@12, ~@8 d5@11 ~@5", // G5 C5
Q: "~ f4 g4@3 f4@3 g4 ~@15", R: "~@4 [c5,d#5]@7 ~ [a#4,d#5]@5 ~ [g4,d#5]@3 ~@3",
S: "~@4 g4@7 ~ c4@2 a#3@2 g3@2 g3@2 f3@2 d3@2, ~@2 f4 ~@9", T: "~@4 f3@2 a3@2 c4@2 d4@2 f4@3 ~ f4@2 d4@3 ~ f4@2",
U: "a4@3 ~ g4@2 g4@3 ~ f4@5 ~ f4@2 ~@4 f4@2",
V: "g#4@3 ~ f4@2 g#4@3 ~ f4@2 g4 ~ g4 ~ [g4,g#4]@2 [g4,g#4]@2 [g4,g#4]@2 [g4,g#4]@2", // G#maj7
W: "g#4@2 g4@2 g4 f4 g4@3 ~ f4@5 ~ f4@2 g4@3 ~ f4@2", X: "~@4 c5@2 a4@3 ~ g4@2 a4@3 ~ g4@2 f4@3 ~ d#4@2",
Y: "e4@3 ~ c5@2 ~@16 c4@2", Z: "e4@2 a4@2 a4@2 c5@3 ~ d4@2 e4@2 g4@2 e4@2 ~@4 c5@2",
AA: "a4 g4 f4 g4 e4 d4 e4 d4 c4 d4 c4 a3", AB: "c4@5 ~ a3@3 ~ c4@2 a3@3 ~ c4@5 ~ d#4@2",
AC: "[f4@3 ~ f4@2 f#4@3 ~ g4@2 d4@3 ~ c4@2 a3@3 ~ c4@5 ~ c4@2 a3@3 ~ c4@2 a3@3 ~ g3@2 a3@3 ~ c4@2]/2",
AD: "a3@3 ~ f3@2 a3@3 ~ a3@5 ~@9", AE: "~@6 a3@3 ~ f#3@2 ~@4 a3@2 ~@4 d3@2",
AF: "a3 ~@3 a3@2 d3 ~@3 a3@2 d3@5 ~ [a2,d3,a3]@3 ~ a3@2", AG: "g2 ~@11",
AH: "f4@2 d4@2 f4@2 a4@3 a4 ~ d5 c5 ~ a4 ~@3 c5@2 a4@2 g4@2",
AI: "a4 ~ g4 f4 ~ d3 g4@2 f4@2 d4@2 f4@3 ~ d4@2 f4@2 ~@4", AJ: "~@3 a4@3 ~@2 c5@3 d5 e5@3 f5@3 ~@2 f#5 g5@2 g5",
AK: "a5@3 a5@3 ~@4 a5@5 ~ g5@2 c5@3 ~ a4@2",
AL: "[c5@3 ~ c5@2 a4@3 ~ c5@2 d5@5 ~ c5@9 ~ a4@2 d5@3 ~ c5@5 ~ g5@2 a5@3 ~ g5@5 ~ c5@2 d5@5 ~ c5@5 ~ a4@3 ~ c5@2]/3",
AM: "e5@3 ~ f5@2 g5@3 g5@3 e5@3 ~ d5@2 c5@3 ~ a4@2", AN: "d5@5 ~ c5@5 ~@7 [a4,c5]@5 ~",
AO: "[d5@3 ~ c5@2 a4@3 ~@7 d5@4 ~@2 a4@2 g4@3 ~ f4@2 g4@3 ~ f4@2 g4@3 ~ [a4,d5]@4 c5@2 a4@2 a4@2 g4@2 f4@2 g4@3 ~ f4@2 g4@3 ~@9, ~@6 c5@9 ~@5 c5@19 ~@7 c5@7 ~@19, ~@5 g4@6 ~@25]/3", // D5
AP: "b4@3 ~ c5@2 c#5@3 ~ d5@2 b4@3 ~ a4@2 g4@3 ~ f4@2", AQ: "~@4 b4@2 c5@3 ~ d5@2 b4@3 ~ a4@2 g4@2 ~@4",
AR: "~@22 g4 ~", AS: "a4 ~ a4 a4@3 ~@4 [g4,a4]@2 [g4,a4]@2 [g4,a4]@2 [g4,a4]@2 [g4,a4]@2 a4@2 g4@2", AT: "f4@5 ~@19",
AU: "~@2 a4@2 a4@2 ~@3 g4 ~ g4 f4@5 ~ d4@3 ~ f4@2",
AV: "[d#4 ~@3 c4@2 a#3@3 ~ a3@2 f4@3 ~ f4@10 ~@14 a4@2 ~@2 b4@2 c5@2]/2",
AW: "c5@2 ~@8 c3@2 e3@2 g3@2 a3@2 c4@3 ~ c4@2", AX: "d4 ~ f4 a4 ~ c5 c5@3 ~ c3@2 d#3@2 g3@2 a3@2 c4@3 ~ d4@2",
AY: "e4@3 ~ e4@2 ~@4 a4@2 g4@3 ~ e4@4 e4 ~@3", AZ: "d4 ~@3 c4@2 ~@2 g3@3 ~ c4@3 ~ a3@4 c4@3 ~",
})).s("gm_distortion_guitar").gain(0.53).pan(0.6)
// other · distortion guitar · "Electric Guitar I" · soft notes
const distortion_guitar_soft = note("<~@197 A B C@2 D E F G ~>".pickRestart({
A: "a3@3 ~ f3@11 ~ a3@2 ~@6", B: "~@10 e3@2 f3@3 ~ a3@2 c4 ~@3 c4@2",
C: "[~@4 [c4,e4]@2 ~@10 c4@2 d4@3 ~ c4@11 ~ c5@2 ~@12]/2", D: "d3@3 ~ d3@2 f#3@3 ~ g3 a3 c4 ~@3 c4@5 ~ d3@2",
E: "f#3@2 b3@3 ~ d4@3 ~ d4@5 ~ d4@2 d4@3 ~@3", F: "~@4 a4@7 ~ g4@5 ~@5 a4@2",
G: "a#4@3 ~ b4@2 c5@3 ~ b4@2 ~@4 a4@2 g4@3 ~ e4@2",
})).s("gm_distortion_guitar").gain(0.12).pan(0.6)
// other · distortion guitar · "Electric Guitar II"
const distortion_guitar_2 = note(`<
A B C@3 D E F G F H ~ I F J K@2 L@2 ~ M N O N O N P ~ Q R S R S T@2 ~ U@4 V W X ~ Y Z AA Z AA Z AB ~ AC@7 ~ AD AE AF
AE AF AE AG ~ AH AI AJ AI AK AL@2 ~ AM AN@3 AO@2 AP ~ AQ@2 AR@4 AS ~ AT@5 AU@4 AV@2 AW@4 AX ~ AV@2 AW@4 AX ~ AV@2 AW@4
AX ~ AV@2 AY@2 AZ@4 AV@2 BA@2 BB BC BD ~ BE@2 BF@2 BG@4 AV@2 BA@2 BH@2 BI ~ BJ BK BL BM BN BO BP BQ BR BS@2 BT BU BV
BW ~ BX BY BZ CA CB@3 CC CD CE@3 CF CG CH CI CJ CK CL@2 CM CN CO CP CQ CR CS@2 CT CU CV CW ~
>`.pickRestart({
A: "~@6 [a#3,f4]@8 ~ [a3,f4]@3 [a#3,f4]@3 ~ a#3@2, ~@21 a3@2 ~", B: "a3@3 g3@3 c4@8 ~ b3@3 c4@3 b3 c4 ~",
C: "[b3 a3 ~ g3 f3 ~ [d4,a4,d5]@50 ~ g4@3 ~@6 f4@3 ~@3]/3", D: "~ e4@3 d4 e4 f4 g4",
E: "f4@3 e4 f4 e4 d4@3 g4@3 ~@7 f4@3 ~@2", F: "~@4 e4@9 d4@3 e4@3 f4@3 g4@2",
G: "~ f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3 ~@2", H: "~ f4@3 e4 f4 e4 d4@3 g4 ~@13", I: "~@10 g4@3 ~@6 f4@3 ~@2",
J: "~@2 f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3 ~", K: "[~@5 e4@9 d4@3 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3 ~]/2",
L: "[~@5 e4@9 d4@3 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@12]/2", M: "~@4 g4 ~@2 f4", N: "~@2 e4@3 d4 e4 f4",
O: "g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3", P: "g4@3 f4@3 ~ e4 f4 e4 d4@3 g4 ~@10",
Q: "~@4 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 [c4,g4,c5]@8 ~ [a#3,f4]@3 [b3,f#4]@2", // A#5 B5 C5 A#5 B5
R: "~ [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@2", // C5 A#5 B5 C5
S: "~@4 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@2", // A#5 B5 C5 A#5 B5
T: "[~@2 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [c4,g4]@3 [c#4,g#4]@3 [d4,a4,d5,f#5]@3 ~@10]/2", // C5 A#5 B5 C5 C#5 D
U: "[~@11 f4@3 g4@3 ~@6 f4@3 ~@6 e4@9 d4@3 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3 ~@7 e4@9 d4@3 e4@3]/4",
V: "f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@6", W: "f4 ~@2 e4@3 d4 e4", X: "f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@8",
Y: "~@5 g4 ~@2", Z: "~ f4@3 ~@6 e4@9 d4@3 e4@2", AA: "~ f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@5",
AB: "~ f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@7",
AC: "[~@8 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 [c4,g4,c5]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [c4,g4]@3 [c#4,g#4]@3 [d4,a4,d5,f#5]@3 ~@7]/7", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
AD: "~@6 g4 ~", AE: "~ f4 ~@2 e4@3 d4", AF: "e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@3",
AG: "~ e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@4", AH: "~@19 g4@3 ~@2", AI: "~@4 f4@3 ~@6 e4@9 d4@2",
AJ: "~ e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@2", AK: "~@2 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~",
AL: "[~@5 f4@3 ~@6 e4@9 d4@3 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@3]/2",
AM: "~@11 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 [c4,g4,c5]@7", // A#5 B5 C5
AN: "[~@2 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@4 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12]/3", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
AO: "[[a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12]/2", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
AP: "[a#3,f4] [b3,f#4] [c4,g4] ~ [c4,g4] [c#4,g#4] [d4,a4,d5,f#5] ~", // A#5 B5 C5 C#5 D
AQ: "[~@12 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 ~ [c4,g4,c5]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@11]/2", // A#5 B5 C5 A#5 B5 C5
AR: "[~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@11]/2", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
AS: "~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [c4,g4]@3 [c#4,g#4]@3 [d4,a4,d5,f#5]@3 ~@2", // A#5 B5 C5 C#5 D
AT: "[~@20 [a#3,f4]@8 ~ [a3,f4]@3 [a#3,f4]@3 a3 a#3 ~ a3@3 g3@3 c4@8 ~ b3@3 c4@3 b3 ~ c4 b3 ~ a3 g3 ~ f3 [d4,a4]@48 f4@4]/5", // A#5 Dm A#5 D5
AU: "[~@5 [a3,f4]@3 f4@3 a3 ~@2 a3@3 g3@3 ~ c4@8 ~ b3@3 c4@3 b3 c4 ~ b3 a3 ~ g3 f3 ~ [d4,a4]@50 ~]/4", // Dm D5
AV: "[[c4,g4]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 [d4,a#4]@3 ~ [d#4,b4]@2]/2", // C5 Em F Gm G#m
AW: "[[e4,c5]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 [d4,a#4]@3 ~ [d#4,b4]@2]/2", // C Em F Gm G#m
AX: "[e4,c5] ~@7", AY: "[[e4,c5]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ d4@2]/2",
AZ: "[[c4,g4]@3 ~@7 [e4,g4,c5]@2 ~@6 [c4,g4]@11 ~ a#4@3 ~ c5@2 a#4@2 c5@2 a#4@2 d4@3 ~@3]/2", // C5 C C5
BA: "[[e4,c5]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ g4@2]/2", // C Em F
BB: "d4@5 ~ [d4,a4]@5 ~ [d4,a4]@5 ~ [d4,b4]@5 ~", BC: "[d4,c5]@3 ~ c5@2 [d4,b4]@5 ~ f#4@2 g4@2 a4@2 d4@3 ~ d4@2",
BD: "g4 ~@11", BE: "[[f3,c4,f4,a4]@3 ~@7 [f4,c5]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ d4@2]/2",
BF: "[[f3,c4]@3 ~@7 [f4,c5]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ d4@2]/2", // F5 F
BG: "[[c4,g4]@3 ~@7 [e4,g4,c5]@2 ~@6 [c4,g4]@11 ~ a#4@3 ~ c5@2 a#4 ~@2 a#4 ~ g4 d4@3 ~@3, ~@19 c5 ~@4]/2", // C5 C C5
BH: "[d4@5 ~ d4@3 ~ d4@2 c5@3 ~ a4@2 b4@3 ~ c5@5 ~ b4@2 c5@2 b4@2 a4@2 c5@2 b4@2 a4@2 c5@2 b4@2 a4@2]/2",
BI: "g3 ~@11", BJ: "~@4 f3@2 a3@2 c4@2 d4@2 f4@3 ~ f4@2 d4@3 ~ f4@2", BK: "a4@3 ~ g4@2 g4@3 ~ f4@5 ~ f4@2 ~@4 f4@2",
BL: "g#4@3 ~ f4@2 g#4@3 ~ f4@2 g4 ~ g4 ~ [g4,g#4]@2 [g4,g#4]@2 [g4,g#4]@2 [g4,g#4]@2", // G#maj7
BM: "g#4@2 g4@2 g4 f4 g4@3 ~ f4@5 ~ f4@2 g4@3 ~ f4@2", BN: "~@4 c5@2 a4@3 ~ g4@2 a4@3 ~ g4@2 f4@3 ~ d#4@2",
BO: "e4@3 ~ c5@2 ~@16 c4@2", BP: "e4@2 a4@2 a4@2 c5@3 ~ d4@2 e4@2 g4@2 e4@2 ~@4 c5@2",
BQ: "a4 g4 f4 g4 e4 d4 e4 d4 c4 d4 c4 a3", BR: "c4@5 ~ a3@3 ~ c4@2 a3@3 ~ c4@5 ~ d#4@2",
BS: "[f4@3 ~ f4@2 f#4@3 ~ g4@2 d4@3 ~ c4@2 a3@3 ~ c4@5 ~ c4@2 a3@3 ~ c4@2 a3@3 ~ g3@2 a3@3 ~ c4@2]/2",
BT: "a3@3 ~ f3@2 a3@3 ~ a3@5 ~@9", BU: "~@6 a3@3 ~ f#3@2 ~@4 a3@2 ~@4 d3@2",
BV: "a3 ~@3 a3@2 d3 ~@3 a3@2 d3@5 ~ [a2,d3,a3]@3 ~ a3@2", BW: "g2 ~@11",
BX: "f4@2 d4@2 f4@2 a4@3 a4 ~ d5 c5 ~ a4 ~@3 c5@2 a4@2 g4@2",
BY: "a4 ~ g4 f4 ~ d3 g4@2 f4@2 d4@2 f4@3 ~ d4@2 f4@2 ~@4", BZ: "~@3 a4@3 ~@2 c5@3 d5 e5@3 f5@3 ~@2 f#5 g5@2 g5",
CA: "a5@3 a5@3 ~@4 a5@5 ~ g5@2 c5@3 ~ a4@2",
CB: "[c5@3 ~ c5@2 a4@3 ~ c5@2 d5@5 ~ c5@9 ~ a4@2 d5@3 ~ c5@5 ~ g5@2 a5@3 ~ g5@5 ~ c5@2 d5@5 ~ c5@5 ~ a4@3 ~ c5@2]/3",
CC: "e5@3 ~ f5@2 g5@3 g5@3 e5@3 ~ d5@2 c5@3 ~ a4@2", CD: "d5@5 ~ c5@5 ~@7 [a4,c5]@5 ~",
CE: "[d5@3 ~ c5@2 a4@3 ~@7 d5@4 ~@2 a4@2 g4@3 ~ f4@2 g4@3 ~ f4@2 g4@3 ~ [a4,d5]@4 c5@2 a4@2 a4@2 g4@2 f4@2 g4@3 ~ f4@2 g4@3 ~@9, ~@6 c5@9 ~@5 c5@19 ~@7 c5@7 ~@19, ~@5 g4@6 ~@25]/3", // D5
CF: "b4@3 ~ c5@2 c#5@3 ~ d5@2 b4@3 ~ a4@2 g4@3 ~ f4@2", CG: "~@4 b4@2 c5@3 ~ d5@2 b4@3 ~ a4@2 g4@2 ~@4",
CH: "~@22 g4 ~", CI: "a4!2 ~ a4@3 ~@4 [g4,a4]@2 [g4,a4]@2 [g4,a4]@2 [g4,a4]@2 [g4,a4]@2 a4@2 g4@2", CJ: "f4@5 ~@19",
CK: "~@2 a4@2 a4@2 ~@3 g4!2 ~ f4@5 ~ d4@3 ~ f4@2",
CL: "[d#4 ~@3 c4@2 a#3@3 ~ a3@2 f4@3 ~ f4@10 ~@14 a4@2 ~@2 b4@2 c5@2]/2",
CM: "c5@2 ~@8 c3@2 e3@2 g3@2 a3@2 c4@3 ~ c4@2", CN: "d4 f4 ~ a4 c5 ~ c5@3 ~ c3@2 d#3@2 g3@2 a3@2 c4@3 ~ d4@2",
CO: "e4@3 ~ e4@2 ~@4 a4@2 g4@3 ~ e4@4 e4 ~@3", CP: "d4 ~@3 c4@2 ~@2 g3@3 ~ c4@3 ~ a3@4 c4@3 ~",
CQ: "a3@3 ~ f3@11 ~ a3@2 ~@6", CR: "~@10 e3@2 f3@3 ~ a3@2 c4 ~@3 c4@2",
CS: "[~@4 [c4,e4]@2 ~@10 c4@2 d4@3 ~ c4@11 ~ c5@2 ~@12]/2", CT: "d3@3 ~ d3@2 f#3@3 ~ g3 a3 c4 ~@3 c4@5 ~ d3@2",
CU: "f#3@2 b3@3 ~ d4@3 ~ d4@5 ~ d4@2 d4@3 ~@3", CV: "~@4 a4@7 ~ g4@5 ~@5 a4@2",
CW: "a#4@3 ~ b4@2 c5@3 ~ b4@2 ~@4 a4@2 g4@3 ~ e4@2",
})).s("gm_distortion_guitar").gain(0.35).pan(0.1)
// chords · overdriven guitar · "Electric Guitar III"
const overdriven_guitar = note(`<
A B C@3 D E D E D F ~ G H@4 I@2 ~ J K L K L M N ~ O P Q P R@3 ~ S@2 T U T U V ~ W X Y X Y X Z ~ AA@6 AB ~ AC AD AE AF
AG AF AH ~ AI AF AG AJ@2 AK@2 ~ AL@2 AM@4 AN ~ AO@2 AP@4 AQ ~ AR@2 AS@7 AT@2 AU@4 AV ~ AT@2 AU@4 AV ~ AT@2 AU@4 AV ~
AT@2 AW@2 AX@4 AT@2 AY@2 AZ BA BB ~ BC@2 BD@2 BE@4 AT@2 AY@2 BF@2 BG ~ BC@2 BD@2 BH@4 AT@2 AY@2 BI BJ BG ~ BC@2 BD@2
BH@4 AT@2 AY@2 BK BL BB ~ BC@2 BD@2 BH@4 AT@2 AY@2 BM BN BB ~@2
>`.pickRestart({
A: "~@6 [a#3,f4]@8 ~ [a3,f4]@3 [a#3,f4]@3 ~ a#3@2, ~@21 a3@2 ~", B: "a3@3 g3@3 c4@8 ~ b3@3 c4@3 b3 c4 ~",
C: "[b3 a3 ~ g3 f3 ~ [d4,a4]@50 ~ g4@3 ~@6 f4@3 ~@3]/3", D: "~@4 e4@9 d4@3 e4@3 f4@3 g4@2",
E: "~ f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3 ~@2", F: "~ f4@3 e4 f4 e4 d4@3 g4 ~@13", G: "~@11 g4@3 ~@6 f4@3 ~",
H: "[~@5 e4@9 d4@3 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3 ~]/2",
I: "[~@5 e4@9 d4@3 e4@3 f4@3 g4@3 ~ f4@3 e4 f4 e4 d4@3 g4 ~@11]/2", J: "~@4 g4 ~@2 f4", K: "~@2 e4@3 d4 e4 f4",
L: "g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@6 f4@3", M: "~@7 e4@9 d4@3 e4@3 f4@2", N: "~ g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@10",
O: "~@4 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 [c4,g4,c5]@8 ~ [a#3,f4]@3 [b3,f#4]@2", // A#5 B5 C5 A#5 B5
P: "~ [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@2", // C5 A#5 B5 C5
Q: "~@4 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@2", // A#5 B5 C5 A#5 B5
R: "[~@5 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [c4,g4]@3 [c#4,g#4]@3 [d4,a4,d5,f#5]@3 ~@10]/3", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
S: "[~@11 f4@3 g4@3 ~@6 f4@3 ~@6 e4@9 ~ d4@3 e4@3]/2", T: "f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@6",
U: "f4 ~@2 e4@3 d4 e4", V: "f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@8", W: "~@16 g4@3 ~@5", X: "~ f4@3 ~@6 e4@9 d4@3 e4@2",
Y: "~ f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@5", Z: "~ f4@3 g4@3 f4@3 e4 f4 e4 d4@3 ~ g4 ~@6",
AA: "[~@8 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 [c4,g4,c5]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 ~ [b3,f#4]@3 [c4,g4]@3 ~@12 [a#3,f4]@3]/6", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
AB: "[b3,f#4] [c4,g4] ~ [c4,g4] [c#4,g#4] [d4,a4,d5,f#5] ~@2", AC: "~@6 g4 ~", AD: "~ f4 ~@2 e4@3 d4",
AE: "e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@3", AF: "~@4 f4@3 ~@6 e4@9 d4@2",
AG: "~ e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~@2", AH: "~ e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@4",
AI: "~@19 g4@3 ~@2", AJ: "[~@5 f4@3 ~@6 e4@9 d4@3 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4@3 ~]/2",
AK: "[~@5 f4@3 ~@6 e4@9 d4@3 e4@3 f4@3 g4@3 f4@3 e4 f4 e4 d4@3 g4 ~@3]/2",
AL: "[~@11 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 ~ [c4,g4,c5]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12]/2", // A#5 B5 C5 A#5 B5 C5
AM: "[[a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@12]/2", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
AN: "[a#3,f4] [b3,f#4] [c4,g4] ~ [c4,g4] [c#4,g#4] [d4,a4,d5,f#5] ~", // A#5 B5 C5 C#5 D
AO: "[~@13 [a#3,f4,a#4]@3 [b3,f#4,b4]@3 [c4,g4,c5]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@11]/2", // A#5 B5 C5 A#5 B5 C5
AP: "[~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@8 ~ [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@11]/2", // A#5 B5 C5 A#5 B5 C5 A#5 B5 …
AQ: "~@2 [a#3,f4]@3 [b3,f#4]@3 [c4,g4]@3 ~@3 [c4,g4]@3 [c#4,g#4]@3 [d4,a4,d5,f#5]@3 ~", // A#5 B5 C5 C#5 D
AR: "[~@20 [a#3,f4]@8 ~ [a3,f4]@3 [a#3,f4]@3 a3 ~ a#3 a3@3 g3@3 c4@4]/2", // A#5 Dm A#5
AS: "[~@5 b3@3 c4@3 b3 ~ c4 b3 ~ a3 g3 ~ f3 [d4,a4]@48 ~ f4@8 ~ [a3,f4]@3 f4@3 a3 ~@2 a3@3 g3@3 c4@8 ~ b3@3 c4@3 b3 c4 ~ b3 a3 ~ g3 f3 ~ [d4,a4]@50 ~]/7", // D5 Dm D5
AT: "[[c4,g4]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 [d4,a#4]@3 ~ [d#4,b4]@2]/2", // C5 Em F Gm G#m
AU: "[[e4,c5]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 [d4,a#4]@3 ~ [d#4,b4]@2]/2", // C Em F Gm G#m
AV: "[e4,c5] ~@7", AW: "[[e4,c5]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ d4@2]/2",
AX: "[[c4,g4]@3 ~@7 [e4,g4,c5]@2 ~@6 [c4,g4]@11 ~ a#4@3 ~ c5@2 a#4@2 c5@2 a#4@2 d4@3 ~@3]/2", // C5 C C5
AY: "[[e4,c5]@3 ~@7 [e4,g4,b4]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ g4@2]/2", // C Em F
AZ: "d4@5 ~ [d4,a4]@5 ~ [d4,a4]@5 ~ [d4,b4]@5 ~", BA: "[d4,c5]@3 ~ c5@2 [d4,b4]@5 ~ f#4@2 g4@2 a4@2 d4@3 ~ d4@2",
BB: "g4 ~@11", BC: "[[f3,c4,f4,a4]@3 ~@7 [f4,c5]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ d4@2]/2",
BD: "[[f3,c4]@3 ~@7 [f4,c5]@2 ~@6 [f4,a4]@11 ~ e4@3 ~ f4@2 e4 ~ f4 e4 ~ d4 d4@3 ~ d4@2]/2", // F5 F
BE: "[[c4,g4]@3 ~@7 [e4,g4,c5]@2 ~@6 [c4,g4]@11 ~ a#4@3 ~ c5@2 a#4@2 c5 a#4@2 g4 d4@3 ~@3]/2", // C5 C C5
BF: "[d4@5 ~ d4@3 ~ d4@2 c5@3 ~ a4@2 b4@3 ~ c5@5 ~ b4@2 c5@2 b4@2 a4@2 c5@2 b4@2 a4@2 c5@2 b4@2 a4@2]/2",
BG: "g3 ~@11", BH: "[[c4,g4]@3 ~@7 [e4,g4,c5]@2 ~@6 [c4,g4]@11 ~ a#4@3 ~ c5@2 a#4 c5@2 a#4 g4 ~ d4@3 ~@3]/2",
BI: "d4@5 ~ d4@5 ~ d4@5 ~ d4@5 ~", BJ: "f4 d4!3 ~@2 f4 d4!3 ~@2",
BK: "d4@3 ~ d4@2 f#4@3 ~ d4@2 f#4@3 ~ d4@2 g4@3 ~ d4@2", BL: "f#4@3 ~ d4@2 f#4@3 ~ d4@2 g4@3 ~ d4@2 f#4@3 ~ d4@2",
BM: "d4@5 ~ d4@3 ~ d4@2 f#4@3 ~ d4@2 d4@3 ~ g4@2", BN: "d4@5 ~ f4@2 d4@2 d4@2 f4@2 d4@2 d4@2 f4@2 d4@2 d4@2",
})).s("gm_overdriven_guitar").gain(0.34).pan(0.9)
// chords · piano · "Keyboard I"
const piano = note(`<
A@5 B C D E F G H I F J@5 ~ K L M N O L P ~ Q R@4 S@2 ~ T@4 U V W ~ X V Y Z AA AB AC ~ AD@2 AE@4 AF ~ AG AH AI AJ AK
AH AL ~ AM AN AO AP@4 ~@2 AQ@2 AR@2 AS AT AU AV AW AX AY AZ BA BB BC@2 BD@4 BE@4 BF@2 BG BH BI@2 BJ BK BF@2 BG BH BI@2
BJ ~ BF@2 BG BH BL@2 BJ ~ BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC@2 CD CE CF CG CH CI CJ@2 CK CL CM@2 CN ~
CO@4 CP@2 CQ CR@2 CS CT CU CV CW CX CY CZ DA DB DC DD DE DF DG DH DI DJ DK DL DM DN ~ DO@3 DP DQ@4 ~@9
>`.pickRestart({
A: "[~@6 [f3,a#3]@23 ~ [g3,c4]@23 ~ [c4,a4,d5]@44 ~ f4 g4 [a4,b4] c5 d5 [e5,f5] g5@5 ~ [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3]/5", // A#5 C5 D7 Asus2 Fmaj7 G
B: "[b3,d4,g4] [c4,e4,g4]!7", // G C
C: "[c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@3 ~ [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@2", // C G7
D: "~ [b3,d4,f4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@2", // G7 C
E: "~ [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@2", // C G
F: "~ [b3,d4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@2", // G C
G: "~ [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [b3,d4,f4]@3 ~@11", H: "~@10 c#4 [g3,f4]@3 ~@2 [g3,f4]@3 ~@3 [g3,f4]@2",
I: "~@4 f4@5 ~ g5@5 ~ [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@2", // G
J: "[~@2 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@3 [b3,d4,f4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 [b3,d4,f4]@3 ~@10]/5", // C G7 C G C Bdim
K: "~@6 [g4,f5]@3 ~@3 g5@5 ~ [b3,d4,g4]@3 [b3,d4,g4]@3, ~@6 c#5 ~@17", L: "[b3,d4,g4]!2 [c4,e4,g4]!6",
// … 309 more lines
More by Led Zeppelin
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.