0:00/0:00
// Tea for One — Led Zeppelin
// 60 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: duplicate parts dropped: ch 6 "Electric Guitar IV" distortion guitar (copy of ch 5 "Electric Guitar III" distortion guitar)
// note: Full arrangement: all 145 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Electric Guitar I.
setcpm(60/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.
// other · distortion guitar · "Electric Guitar I"
const distortion_guitar = note(`<
~@4 A B ~@22 C ~@2 D ~@3 E ~ F G H I@2 ~@13 J ~@6 K ~ L M N O P Q R ~ S ~ T ~@2 U ~ V W X Y Z ~ AA ~ AB AC AD AE ~ AF
AG AH AI ~@14 AJ ~@2 AK ~@2 AL AM AN AO ~@3 AP ~@7 AQ ~@6 AR AS AT AU ~ AV@2
>`.pickRestart({
A: "~@4 bb4 c5 ~@2 a4@4 bb4 c5 ~@2 a4@4 ~@9 bb4 c5 ~", B: "~ a4@4 bb4 ~ c5 ~@2 a4@4 ~@18", C: "~@17 c3 ~@14",
D: "~@5 eb4 ~@26", E: "~ c5 ~@30", F: "~@13 g5@3 ~@16", G: "~@3 ab5 ~@23 g5 ~@4", H: "~@21 f5 ~@10",
I: "[~@25 eb5@21 ~@18]/2", J: "~@9 g5 ~@22", K: "~ ab5 ~@15 eb5 ~@14", L: "~@25 c6@2 ~@5",
M: "~@7 f6 ~@5 bb5 ~@3 eb6 ~ c6 ~@9 ab5 ~ e5", N: "~@13 ab5 ~@7 f6 ~@10", O: "~@29 ab6 ~ f6",
P: "~ c6 ~@3 c6 ~@15 b5@3 ~@5 g5 ~@2", Q: "~@29 eb6 ~@2", R: "~@25 bb5 ~@6", S: "~@9 bb5@3 ~ bb5@3 ~@16",
T: "~ ab5 ~@3 g5 ~ g5 ~@15 eb5 ~ bb5 ~@3 f5 ~@2", U: "~@11 c6 ~@20", V: "~@28 f5 ~@3", W: "~@25 c5@2 ~@4 c5",
X: "~@3 c5 ~@3 c5 ~@3 c5 ~@9 c5 ~@3 eb5 ~@6", Y: "~ bb5 ~@3 c6 ~@7 c6 ~@13 g5 ~ eb5 ~@2",
Z: "~@5 eb5 ~ bb4 ~ bb4 ~@3 gb4 ~@11 gb4 ~@6", AA: "~@13 g5@5 ~@14", AB: "~ eb5 ~@19 g5 ~@10",
AC: "~@11 d5 ~ d5@7 ~ g4 ~@3 bb4 ~@6", AD: "~ d5 ~@3 c5@3 ~@24", AE: "~@9 f6 ~@11 f6 ~@3 g5 ~@6",
AF: "~@5 bb5@9 ~ ab5 ~@16", AG: "~ g5 ~@30", AH: "~ eb6 ~@30", AI: "~ f6 ~@30", AJ: "~@25 g4 ~@3 ab4 ~@2",
AK: "~@5 f4 ~@26", AL: "~@29 c5 ~@2", AM: "~ f4 ~@30", AN: "~@13 c5 ~@3 f4 ~@14", AO: "~@13 f4 ~@7 c4 ~@10",
AP: "~@5 gb4@3 ~@13 f4@2 ~@2 f4 ~@6", AQ: "~@6 eb4 ~@25", AR: "~@9 g4 ~@3 bb4 ~ f4 ~ g4 ~@3 f4 ~@10",
AS: "~@11 g4 ~ f4 ~@3 g4 ~@14", AT: "~ ab4 ~@30", AU: "~@13 eb5 ~@18", AV: "[~@28 c5@7 ~@29]/2",
})).s("gm_distortion_guitar").gain(0.35).pan(0.1)
// other · distortion guitar · "Electric Guitar II"
const distortion_guitar_2 = note(`<
~@3 A B C@2 ~@4 D E F@2 G H@2 I J@2 K L@2 ~@3 M N@2 O P ~ Q R S ~ T U@5 ~ V ~@2 V ~@2 V ~@2 V ~ W X@2 Y Z AA AB AC ~
AD AE AF@2 AG AH AI@2 AJ@2 AK AL AM AN@2 AO AP AQ AR AS@3 AT AU@2 AV@2 AW AX@2 AY AZ@2 ~ BA ~@2 BA ~@2 BA ~@2 BA BB
BC@2 BD BE BF ~@2 BG BH BI BJ BK BL ~ BM ~@7 BN ~@6 BO@2 BP@2 BQ ~@2
>`.pickRestart({
A: "~@9 d4 ab4 ~ a4 g4 f4@4 ~ ab4 a4 g4 ~ f4@4 d4 c4 ~ g3 a3",
B: "~ c4 d4 ~ ab4 a4 g4 ~ f4@4 ab4 a4 ~ g4 f4@4 d4 ~ c4 g3 ~ a3 c4 ~ d4 ab4 a4 ~",
C: "[g4 f4@4 ab4 ~ a4 g4 ~ f4@4 d4 c4 ~ g3 a3 ~ c4 d4 f4 ~ d4 f4 ~ g4@12 ~@25]/2", D: "~@7 [f2,c3]",
E: "~@4 [f2,c3]@27 ~", // F5
F: "[c3@2 ~@2 f3@4 bb3@2 ~@2 [f2,c3,f3,ab3]@4 ~@4 [f2,c3,f3,ab3,c4]@27 ~ g3@2 ~@2 c4@4 f4@2 ~@2 [c3,g3,c4]@4, ~ d3@4 ~@20 a3@4 ~@3]/2", // Fm C5
G: "~@4 [c3,g3,c4]@27 ~", // C5
H: "[g3@2 ~@2 c4@4 f4@2 ~@2 [c3,g3,c4]@4 ~@4 [c3,g3,c4]@27 ~ g3@2 ~@2 c4@4 f4@2 ~@2 [f2,c3]@4, ~ a3@4 ~@20 a3@4 ~@3]/2", // C5 F5
I: "~@4 [g2,d3]@27 ~", // G5
J: "[d3@2 e3@2 g3@4 e3@4 [c3,f3,ab3]@4 ~@4 [c3,f3,ab3,c4]@15 ~ [bb2,f3,bb3,d4]@4 ~@4 [bb2,f3,bb3,d4]@15 ~ [g3,c4,eb4]@4]/2", // Fm Bb Cm
K: "~@4 [g3,c4,eb4]@27 ~", L: "[g3@2 ~@2 c4@4 f4@2 ~@2 [g3,c4,eb4]@4 ~@5 [g3,c4]@26 ~@17, ~ a3@4 ~@5 eb4@13 ~@9]/2",
M: "~@20 g4@2 f4 eb4 eb4@2 c4 c4@5", N: "[~@14 f3@2 eb3 ~ c3 c3@16 ~@29]/2", O: "~@5 [ab3,c4,f4] ~@2",
P: "~@2 gb4@2 f4 ~ eb4 f4 f4@5 ~ eb4 c4 c4@7 ~@9", Q: "~@19 f5 g5@2 f5@2 eb5@3 f5 g5@2 f5@2",
R: "g5@18 f5@2 ~@3 f5 eb5@2 f5@4 eb5@2", S: "~@2 c5!2 c5@22 ~@6", T: "~@8 g5@2 bb5@2 ~@2 g5@2 ab5@7 ~@9",
U: "[~@2 ab5 bb5 g5@11 ~@12 f5 [f5,g5] eb5@10 ~@13 f5 g5 [eb5,f5]@2 c5 c5@18 ~@12 bb4 c5 ~ eb5@21 ~ c5@8 bb4@2 g4@2 g4@11 ~@25, ~@4 ab5 ~@155]/5", // Fsus2 Ebsus2
V: "~@2 bb4 c5 f4 g4 eb4 ~", W: "g5@3 bb5@7 g5 ab5 g5 ab5@2 ab5 ab5@15 ~",
X: "[~@2 ab5@2 bb5@35 ~ bb5@2 ab5@2 ab5@3 g5 g5@8 ~@8]/2", Y: "g5 f5!2 eb5 eb5@4 ~@4 eb5 d5!2 c5",
Z: "c5@8 ~@18 g5@2 [c5,eb5]!4", // Cm
AA: "[c5,eb5]!12 [c5,d5,eb5,f5] [d5,f5]!3 [c5,d5,eb5,f5] [c5,eb5]!3 [c5,d5,eb5,f5] [d5,f5]!3 [c5,d5,eb5,f5] [c5,eb5] [c5,d5,eb5,f5] [d5,f5] [c5,d5,eb5,f5] [c5,eb5]!3", // Cm Dm7 Dm Dm7 Cm Dm7 Dm Dm7 …
AB: "[c5,eb5] ~@14 bb5@5 ab5@11 ~", AC: "g5 ~ ab5 bb5 ab5 bb5 ab5 g5 ab5 g5 f5 g5 f5@5 ~ eb5 c5 f5@2 c5@2 f5 ~@7",
AD: "~@16 eb6@2 g6@5 eb6 ~@2 c6@2 eb6@2 c6@2",
AE: "~@6 ab6 g6 [f6,g6] f6 eb6 f6 eb6 c6 bb5 c6 bb5 c6 [c6,eb6] bb5 [c6,eb6] c6 bb5 c6 bb5@2 ~ ab5 g5 ~ ab5 g5", // Fsus2 Cm
AF: "[[e5,f5] ~@11 g5 ~ ab5 bb5 c6@2 c6@2 eb6 ~ f6 g6 ab6 g6@2 g6 ab6 g6 f6@4 ~@6 bb6@13 [g4,ab6]@3 ~ g6 ~ ab6!2 g6 [f6,ab6] eb6]/2", // Fmaj7 Abmaj7 Fm
AG: "[eb6,f6] ~ c6 bb5 c6 ~ c6 c6@11 ~@4 b5@3 ~@5 g5 f5", // Ebsus2
AH: "eb5@7 ~@2 bb5 b5@2 ~@3 g5 f5@2 eb5@6 g4@4 b5 ~ eb6 bb5",
AI: "[b5!2 b5@6 bb5 b5@2 bb5 c6!2 c6@5 c6 eb6@2 c6@3 ~ bb5 eb6 bb5 c6!2 c6@7 eb6@2 ~@24]/2",
AJ: "[~@7 g5 ~@2 bb5@2 c6 ~ bb5@2 f5@12 g5@12 ab5@4 ab5@18 bb5@2]/2",
AK: "ab5 bb5 [g5,ab5] ab5 [g5,ab5] ab5 [f5,g5] ~ f5@14 g4 c5 [eb5,g5] ~ bb5 g5!2 ~ f5 eb5, ~@8 g5 ~@23", // Abmaj7 Fsus2 Eb
AL: "f5 f5@6 b4 ~@22 g4@2", AM: "bb4@2 d5@2 f5@2 g5@2 a5@2 bb5@2 d6@2 f6@2 g6@14 g5 bb5",
AN: "[f6@2 d6@6 ~@2 c5 g5 [bb5,c6]@2 g5@9 eb5 d5@6 a4@6 bb4@15 ~@13]/2", // Bbsus2
AO: "g4@2 bb4@2 d5@2 f5@2 ~ g5@3 f5@2 g5 g5@8 ~@3 eb5 f5 eb5 [eb5,f5] d5 [d5,eb5]", // Ebsus2 Ebmaj7
AP: "d5 bb4 d5 c5!2 c5@6 ~@10 g4 bb4 c5 eb5 ~ c5@2 ~@2 bb4 b4",
AQ: "[c5,eb5] c5 bb4 b4 [c5,f5]@2 bb4 b4 [c5,eb5]@2 bb4 b4 [c5,f5]@2 bb4@2 eb5@2 c5 ~ eb5 ~ c5 eb5 c5 ~ eb5 c5 g5@2 bb5@2", // Cm F5 Cm F5
AR: "c6 ~ bb5 c6 bb5 ~ c6 bb5 ~@2 eb6 ~ d6 ~ [bb5,c6] c6 bb5 g5@9 c6 ~ [c5,g5] ~ eb5 f5", // Bbsus2 C5
AS: "[gb5 f5 eb5 c5 bb4 ~ eb5 c5 [bb4,c5] ~ bb4 gb4 eb4 ~ gb4 eb4 gb4@2 bb4@2 f4@3 a4 bb4 ~ [gb4,bb4] gb4 ab4!3 ab4@4 c5 ~@7 g4 ab4@3 c5 ~@2 eb5 ~ eb5@2 f5@14 f5@3 g5 ~@3 g5 f5 ~ g5@5 f5!2 ~@11]/3", // Bbsus2 Gb
AT: "~@12 f6@3 f5@16 eb6",
AU: "[~@2 eb5!2 eb5@4 d6@2 b5 g5 d5@7 ~ c6 ~ g5 c5@12 d4@4 g4 b4 c5 d5 eb5 [c5,d5] ~ d5@6 bb4 ~ g4 bb4 d5 ~ bb4 c5@4 gb4]/2", // Csus2
AV: "[g4 ~ d5 bb4 c5 ~ c5@3 ~ bb5 g5 eb5 ~ f5 eb5 c5@2 ~ g4 c5 bb4@2 g4 bb4 c5!2 c5@12 ~@3 f6 g6@7 f6@2 d6 ~ f6 d6 bb5 ~ g5 g5@5]/2",
AW: "~ g5 bb5 d6 c6@2 g5 ab5 f5@2 ab5@2 c6@2 ab5@2 f5@4 f5@11 ~",
AX: "[~@2 f5 ab5 c6 ~ bb5@9 f5 [ab5,c6] bb5@7 eb5 f5 c6 bb5 f5 bb5 f5 bb5@2 ~ g5 g5@16 ~@12 c6]/2", // Ab
AY: "d6 ~ eb6 f6 g6 f6 g6 bb6 ~ c7@2 c7@10 g4 bb6 ~ g6 ~ bb6 ~@2 g6 f6 eb6",
AZ: "[c6 ~ f6 c6 eb6@16 eb6 d6@7 bb5@7 ~ c6@6 ~@22]/2", BA: "~@2 bb3 c4 f3 g3 eb3 ~", BB: "~@20 g3@7 ~ d4@4",
BC: "[g4@11 ~ [ab4,c5]@4 ~@2 [f4,ab4]@17 ~@13 g4@2 ab4@7 ~ g4 ab4 g4 ~ ab4 g4]/2", // Ab Fm
BD: "g4@7 ~ g4@2 g4@2 ~@3 eb4 f4@2 g4 eb4@2 c4 c4@6 ~@4", BE: "~@8 [f4,ab4] [eb4,g4] ~@2 f4 g4 [g4,bb4] [f4,ab4]",
BF: "[f4,ab4]@4 eb4 ~ f4 eb4 c4@7 ~@17", BG: "~@8 g4 c5 eb5 ~ eb5 ~@3 f5@4 eb5@9 ~ c5 bb4",
BH: "g4 ~ f4 eb4@5 ~@22 ab4 c5", BI: "eb5 ~ eb5 ~@4 f5 f5@2 eb5@3 ~ c5 bb4 g4 ~ f4 eb4 c4 ~@11",
BJ: "~@11 c4 eb4 ~ f4 gb4@2 g4 gb4 f4 eb4 ~ c4 eb4 c4 eb4 c4@2 f4@4", BK: "~@3 eb4 f4@10 ~@18",
BL: "~@2 f4@2 ab4@3 f4 eb4@3 c4 ~@4 g4@4 f4@8 ~@4", BM: "~@6 gb4@2 ab4@7 ~ bb4@4 ~@2 f4@2 eb4 ~ f4 eb4@5",
BN: "~@6 c4 [eb4,g4] ~@24", // Eb
BO: "[~@10 g4 a4 bb4 ~ [a4,bb4] g4 f4 ~ g4 f4 g4 ~ f4 g4 d5@2 g4 g4@11 g4@2 ab4 g4 f4 ~ [g4,ab4] g4 [f4,g4]@2 f4 ~ [g4,ab4] g4 f4 g4@2 f4 ~@2 c5@6]/2", // Bbmaj7 Abmaj7 Fsus2 Abmaj7
BP: "[bb4 ~ ab4 f4 f4@11 ~@7 d4@2 f4@2 eb4@2 c4@7 ~@9 c5 ~ eb5 c5 ~@4 g5@3 e5 ~@8]/2", BQ: "~@2 g5@3 f5 ~ c5@3 ~@6",
})).s("gm_distortion_guitar").gain(0.35).pan(0.9)
// other · distortion guitar · "Electric Guitar II" · soft notes · Ebmaj7
const distortion_guitar_soft = note("<~@143 [~@4 [g4,eb5,g5,d6]!28] [[g4,eb5,g5,d6]!4 [g4,eb5,g5,d6]@8 ~@20]>")
.s("gm_distortion_guitar").gain(0.2).pan(0.9)
// chords · distortion guitar · "Electric Guitar III"
const distortion_guitar_3 = note(`<
A B C D E F@2 G@4 H I@3 J K L M@2 N O P Q R S@2 T U@2 V W@2 X Y@5 Z AA AB@2 AC AD@2 AC AD@2 AC AE@2 AF AG@6 AH AI AJ
AK AI AL AM AN AO@2 AP AQ@2 AR AS AT@5 AU@2 AV AW@2 V AX@2 AY AZ@4 BA@2 BB@3 BC AD@2 AC AD@2 AC AD@2 BD BE@2 BF@2 BG@2
BH@2 BI BJ BK BL BM BN BO@2 BK BP@4 BQ BR@4 BS@2 BT@2 BU@2 BV BW@2 BX BY BZ
>`.pickRestart({
A: "~@30 a3 bb3", B: "~ g3 f3@4 a3 ~ bb3 g3 ~ f3@4 a3 bb3 ~ a3 g3 f3 ~ g3 a3 ~ bb3 g3 ~ f3@4",
C: "a3 bb3 ~ g3 f3@4 a3 ~ bb3 a3 g3 ~ f3 g3 ~ a3 bb3 ~ g3 f3@4 a3 ~ bb3 g3 f3@3",
D: "~@2 a3 bb3 a3 ~ g3 f3 ~ g3 a3 ~ bb3 g3 f3@4 ~ a3 bb3 g3 ~ f3@4 a3 bb3 ~ a3 g3",
E: "~ f3 g3 ~ a3 bb3 g3 ~ f3@4 a3 bb3 ~ g3 f3@4 a3 ~ bb3 a3 ~ g3 f3 ~ g3 a3 bb3 ~",
F: "[g3 f3@4 a3 ~ c4 g3 ~ f3@4 a3 bb3 ~ a3 g3 ~ f3 g3 a3 ~ bb3 d4 ~ g4@12 ~ [g3,d4,g4] ~@13 d3@9 ~, ~@52 g4@11 ~, ~@53 [g3,d4]@10 ~]/2", // G5
G: "[~@4 g3@2 g3@2 g3@2 g3@2 ~@4 c4@2 ab4@2 ab4@2 ~@2 ab3@4 ~@4 f4@4 [bb3,d4,f4]@11 ~ [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@7 ~ [eb4,c5] [f4,d5] ~ [eb4,c5]@7 [eb4,g4]@2 [g4,bb4]@10 [g4,bb4]@10 [g4,bb4]@4 [g4,bb4]@4 [f4,ab4]@4 [g4,bb4] [f4,ab4] ~ [eb4,g4]@13, g2@6 ab3@5 f4@5 ~@48, ~@7 ab3@2 ~@23]/4", // Bb Gm Cm Dm Cm Dm Cm Eb …
H: "~@2 [g3,b3]@2 ~@6 eb4@2 g4@9 eb4@4 b3@3 ~@2 f4@2", // G
I: "[f4 eb4 ~ f4 f4@14 ~@2 g4@2 bb4@2 ~ c5 ~ bb4 c5 bb4@13 ~@2 f4@4 g4@20 f4@2 g4@2 f4@19 ~@4 [eb4,f4]]/3", // Ebsus2
J: "eb4 c4 ~ eb4 c4!3 c4@8 ~ g3@2 eb4 eb4@2 c4@9 ~@2", K: "~@2 g4@2 bb4!2 ~ bb4 c5!2 c5@22",
L: "~@4 g5@7 ~@3 g5@2 f5@2 eb5@2 f5@3 eb5 c5 c5@3 ~@4",
M: "[~ d5 ~ db5 c5 b4 ~ c5 bb4 a4 g4 f4 g4 f4 g4 f4 g4@10 db4@2 f4 g4 ~ bb4@8 ~ g4@2 ab4@2 f4@2 g4@2 ab4@2 f4 f4@7 g4@2 ab4@2 f4 [ab4,c5]]/2", // Ab
N: "f5 g5 ~ ab5 g5 [g5,ab5] ~ f5@8 ~ bb5@9 ~ ab5@2 g5@3 g5", O: "g5@19 ~@10 b3 ~ ab5",
P: "b5@8 ab5@2 ab5@2 ab5@3 g5!3 ~ g5@12 ~", Q: "eb5 c5 bb4 c5@4 bb4 g4 f4 ~ g4@16 ~ [g3,eb4]@4",
R: "~ [e3,c4] [g3,eb4,g4]@10 ~@4", // C Cm
S: "[~@6 [g3,eb4]@2 [g3,eb4,g4]@10 ~@6 g3 ~@3 a4@2 [g3,eb4]@2, ~@25 a3@5 ~@2, ~@13 c4@2 ~]/2", // Cm
T: "~@4 [g3,eb4,g4]@15 ~ [g3,eb4,g4]@4 ~@3 a2 ~@4", // Cm
U: "[g3 ~@3 [f4,a4]@2 g3@2 ~@2 [g3,eb4,g4]@10 ~@4 c3 ~ f3@2 bb3@2 [c3,eb3,ab3]@2, ~ a3@5 ~@19 d3@5 ~@2, ~ c4@2 ~@13]/2", // F Cm Ab
V: "~@4 [ab3,c4,f4]@15 ~ [ab3,c4,f4]@4 ~@8", // Fm
W: "[c3@2 ~@2 f3@4 d4@4 [c3,eb3,ab3,c4,f4]@4 ~@4 [ab3,c4,f4]@15 ~ [ab3,c4,f4]@4 ~@8 g3@2 ~@2 f4@4 a4@4 [c4,eb4,g4]@4, ~ d3@5 ~@19 a3@5 ~@2]/2", // Fm7 Fm Cm
X: "~@4 [c4,eb4,g4]@15 ~ [c4,eb4,g4]@4 ~@8", // Cm
Y: "[g3@2 ~@2 c4@4 f4@4 [g3,c4,eb4,g4]@4 ~@4 [g3,c4,eb4,g4]@15 ~ [eb4,g4,c5]@4 ~@8 g3@2 ~@2 c4@4 f4@4 [f2,c3]@8 [g2,d3]@15 ~@5 d3@4 g3@4 g3@2 g4@2 d4@2 g3@2 g4@2 d4@2 ~@2 f4@2 c4@4 ab4@4 ~@8 ab4@4 [bb3,d4,f4,bb4]@11 ~ [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@4, ~@2 a3@10 ~@38 a3@10 ~@24 g2@23 ~ ab3@16 ab3@8 ~@28, ~@15 f4 ~@4]/5", // Cm F5 G5 Bb Gm Cm Dm
Z: "[eb4,c5] [f4,d5] ~ [eb4,c5] [eb4,c5]@15 ~@9 [g4,bb4]@2 [g4,bb4]@2", // Cm Dm Cm Gm
AA: "[f4,ab4]@7 ~ [eb4,g4] [f4,ab4] ~ [eb4,g4] eb4@4 [c4,g4]@7 ~@4 [c4,eb4] g4 c5 bb4 g4", // Fm Eb Fm Eb C5 Cm
AB: "[~@2 g4@18 f4@7 ~ [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 ~@24]/2", AC: "~@12 [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 ~@8",
AD: "[~@8 bb3@4 c4@4 f3@4 g3@4 eb3@4 [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 ~@24]/2", // Bb5 C5
AE: "[~@8 bb3@4 c4@4 f3@4 g3@4 eb3@4 [bb2,f3,bb3]@7 ~ [c3,g3,c4]@7 ~@21]/2", // Bb5 C5
AF: "[c4,d4,g4]@5 eb4 ~ d4 c4 ~@3 [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 ~@8", // Csus2 Bb5 C5
AG: "[~@8 bb3@4 c4@4 f3@4 g3@4 eb3@4 [f2,c3]@7 ~@7 g3@2 d4@2 d4@2 g4@2 d4@2 g3@2 d4@2 g4@2 d4@2 g4@2 d4@2 g3@2 g3@2 d4@2 g4@2 d4@2 g3@2 ~@2 c4@2 ab4@2 ~@2 ab3@2 ~@2 ab4@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [c4,f4]@2 [bb3,d4,f4,bb4]@11 ~ [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@7 ~ [eb4,c5] [f4,d5]@2 [eb4,c5]@12 gb4 g4@2 f4@3 [eb4,g4] f4 eb4@9 eb4@2 f4@2 f3@2 g3@2 bb3@2 c4@2 [eb4,g4]@2 c4@2 c4@11 ~, ~@36 g2@38 ~@2 ab3@6 f4@4 ab3@13 ~@93]/6", // F5 Bb Gm Cm Dm Cm Dm Cm …
AH: "~@3 [c4,eb4] [g4,c5]@2 bb4@2 g4@19 ~ [c5,eb5]!4", // Cm C5 Cm
AI: "[c5,eb5]!20 [bb4,c5,eb5] [bb4,eb5]!3 [bb4,c5,eb5] [c5,eb5]!7", // Cm Cm7 Eb5 Cm7 Cm
AJ: "[bb4,c5,eb5] [bb4,eb5]!3 [bb4,c5,eb5,f5] [c5,f5]!3 [bb4,eb5]@4 [f4,ab4]@4 ~@16, ~@8 [c5,f5] ~@23", // Cm7 Eb5 Bbsus4 F5 Eb5 Fm F5
AK: "~@28 [c5,eb5]!4", // Cm
AL: "[bb4,c5,eb5] [bb4,eb5]!3 [bb4,c5,eb5,f5] [c5,f5]!3 [bb4,eb5]@4 [g3,c4,eb4,g4] ~@19, ~@8 [c5,f5] ~@23", // Cm7 Eb5 Bbsus4 F5 Eb5 Cm F5
AM: "~@10 c3 d3 [f3,bb3,d4]@2 [eb3,ab3,c4]@2", AN: "~@4 [eb3,ab3,c4]@15 ~ [c4,f4]@4 ~@8",
AO: "[c3@2 ~@2 f3@4 bb3@4 [eb3,ab3,c4]@4 ~@4 [eb3,ab3,c4]@15 ~ [eb3,ab3,c4]@4 ~@8 g3@2 a3@2 f4@4 a3@2 g3@2 [g3,eb4,g4]@4, ~ d3@5 ~@26]/2", // Ab Cm
AP: "~@4 [g3,eb4,g4]@15 ~ [eb4,g4,c5]@4 ~@8", // Cm
AQ: "[g3@2 ~@2 c4@2 a4@4 ~@2 [c4,eb4,g4]@4 ~@4 [c4,eb4,g4]@15 ~ [c4,eb4,g4]@4 ~@8 g3@2 ~@2 c4@4 [f4,a4]@2 ~@2 [f2,c3]@4, ~ a3@4 ~@20 a3@3 ~@4]/2", // Cm F F5
AR: "~@4 c4@4 bb3@11 ~ [g3,bb3,d4]@4 ~@8, ~@4 [g2,d3]@15 ~@13", // Gm G5
AS: "~ g3 g3@2 d4@2 f4@2 c4 f4 ab4 f4 c4 ab4 f4 c4, g2@3 ~@5",
AT: "[f4@2 [c4,ab4]@2 [d4,bb4]@11 ~ [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@7 ~ [eb4,c5] [f4,d5] ~ [eb4,c5] [eb4,c5]@11 ~@5 bb3@4 eb4@8 d4@2 f4@6 ~@8 eb4@4 ~@8 c4@15 ~ g3@2 ~@2 c4@4 f4@2 [g3,eb4]@2 [a3,eb4]@7 ~ [g3,c4,eb4,g4]@15 ~ [c4,eb4,g4]@4 ~@8, ~@80 c4@15 ~@19 a3@8 ~@38, ~@22 c5@3 ~@15]/5", // Fm Gm Cm Dm Cm Dm Cm Adim …
AU: "[g3@2 ~@2 c4@4 [f4,a4]@4 [c4,eb4,g4]@4 ~@4 [c4,eb4,g4,c5]@15 ~ [c4,eb4,g4]@2 ~@10 g3@2 ~@2 f4@4 a4@2 ~@2 [g3,eb4]@4, ~ a3@5 ~@19 a3@4 ~@3]/2", // F Cm
AV: "~@4 [g3,eb4]@15 ~ [g3,eb4]@4 ~@8", // Cm
AW: "[g3@2 ~@2 c4@4 a4@2 ~@2 [g3,eb4,g4]@4 ~@4 [g3,eb4,g4]@15 ~ [g3,eb4]@4 ~@8 c3@2 ~@2 f3@4 [bb3,d4]@4 [c3,f3,ab3,c4,f4]@4, ~ a3@4 ~@20 d3@5 ~@2]/2", // Cm Bb Fm
AX: "[c3@2 ~@2 bb3@4 d4@4 [ab3,c4,f4]@4 ~@4 [ab3,c4,f4]@15 ~ [ab3,c4,f4]@4 ~@8 g3@2 ~@2 c4@4 a4@2 ~@2 [c4,eb4,g4]@4, ~ d3@5 ~@19 a3@4 ~@3]/2", // Fm Cm
AY: "~@4 [c4,eb4,g4]@11 ~@5 [c4,eb4,g4]@4 ~@8", // Cm
AZ: "[g3@2 ~@2 f4@4 a4@4 [g3,eb4,g4,c5]@4 ~@4 [g3,eb4,g4,c5]@15 ~ [eb4,g4,c5]@4 ~@8 g3@2 ~@2 c4@4 f4@4 [f2,c3,f3]@7 ~ [g2,d3,g3]@20 ~@2 g3@2 d4@2 g3@2 d4@2 g3@2 d4@2 g4@2 d4@2 g3@2 ~@2 c4@2 f4@2 ab4@2 f4@2 c4@2 f4@2 c4@2 f4@2 ab4@2, ~@2 a3@10 ~@38 a3@10 ~@28 g2@19 ~ ab3@12 ab3@8]/4", // Cm F5 G5
BA: "[~@2 ab3@2 [bb3,d4,f4,bb4]@11 ~ [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@7 ~ [eb4,c5] [f4,d5] ~ [eb4,c5] [eb4,c5]@11 ~@11 c4@2, f4 ~@15]/2", // Bb Gm Cm Dm Cm Dm Cm
BB: "[~@8 eb4@4 c5@4 g4@4 c4@15 ~ c5@4 g4@19 ~ [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 ~@12 [c3,g3,c4]@4 c4@3 c4 c4@4, c5 ~@11, ~ c4@2 ~@21]/3", // Bb5 C5
BC: "[c3,g3,c4]@4 ~@2 c4@2 ~@4 [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 ~@8", // C5 Bb5 C5
BD: "~@12 [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 d4@4 eb4@2 d4@2, ~@24 g4@7 ~", // Bb5 C5
BE: "[c4@2 ~@6 bb3@4 c4@4 f3@4 g3@4 eb3@4 [bb2,f3,bb3]@7 ~ [c3,g3,c4]@4 ~@4 g3@2 d4@2 g4@2 g3@2 g3@4 d4@2 g4@2 d4@2 g3@2, ~@10 g2@3 ~@3]/2", // Bb5 C5
BF: "[g4!2 d4@2 g4 d4 ~ c4 f4 ab4 f4 c4 ab4 f4 c4 ab4 f4 c4 d4@2 f4 bb4 [d4,f4]!2 [d4,bb4]@2 [eb4,c5]@2 [f4,d5]@2 [f4,d5]@2, ~@3 ab3@6 ~@7]/2", // Dm Gm Cm Dm
BG: "[[eb4,c5] [f4,d5] ~ [eb4,c5] eb4@4 bb3@2 g3@2 ~@2 c5@2 g4@8 c5@4 ~@4 c3@4 [g3,eb4]@2 [a3,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@6 [bb3,eb4]@6 eb4@4 f3@2 g3@2, ~@2 c5@4 c4@4 ~@4 g4@4 ~@7 g3@5 ~@2]/2", // Cm Dm Cm Dm F Eb5
BH: "[bb3 c4 ~@2 [g4,bb4]@2 [f4,ab4] [eb4,g4] [f4,ab4] [eb4,g4] [f4,ab4] [eb4,g4] g3@2 [g3,eb4]@4 [g3,eb4]@10 ~@4]/2", // Gm Fm Eb Fm Eb Fm Eb Cm
BI: "g3@2 ~@2 c4@4 [f4,a4]@4 [g3,eb4]@4 ~@4 [g3,eb4]@11 ~, ~ a3@5 ~@10", BJ: "~@2 bb3 c4 f3 g3 eb3 [g3,eb4]",
BK: "~@4 [g3,eb4]@11 ~@17", BL: "g3@2 ~@2 c4@4 a4@2 ~@2 [g3,eb4]@4 ~@4 [g3,eb4,g4]@11 ~, ~ a3@4 ~@11",
BM: "~@2 bb3 c4 f3 g3 eb3 [c3,eb3,ab3,c4,f4]", BN: "~@4 [c3,eb3,ab3,c4,f4]@27 ~",
BO: "[c3@2 ~@2 f3@4 [bb3,d4]@4 [c3,eb3,ab3,c4,f4]@4 ~@4 [c3,eb3,ab3,c4,f4]@15 ~ [f3,ab3,c4]@4 bb3@4 c4@4 f3@4 g3@4 eb3@4 [g3,eb4]@4, ~ d3@3 ~@28]/2", // Bb Fm7 Fm Cm
BP: "[g3@2 ~@2 c4@4 a4@4 [g3,c4,eb4,g4]@4 ~@4 [g3,c4,eb4,g4,c5]@15 ~ [g3,c4,eb4]@4 bb3@4 c4@4 f3@4 g3@4 eb3@4 [f2,c3]@7 ~ [g2,d3]@4 ~@4 g3@2 d4@2 g4@2 d4@2 ~@4 g3@2 d4@2 g4@2 d4@2 g3@2 d4@2 g3@2 d4@2 g4@2 d4@2 ~@2 c4@2 ab4@2 ab4@2 ~@4 ab4@2 ~@4 ab4@2, ~ a3@3 ~@32 g2@6 g2@12 ab3@4 f4@2 ~ f4@2 ~, ~@59 ab3@3 [ab3,c4]@2]/4", // Cm F5 G5 Ab
BQ: "[ab3,c4]@4 [bb3,d4,f4,bb4]@11 ~ [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@4", // Ab Bb Gm Cm Dm
BR: "[[eb4,c5] [f4,d5] ~ [eb4,c5] [eb4,c5]@15 ~@9 eb4@4 g4@4 c5@4 g4@11 ~ g3 c4 eb4 g4 c5 bb4 ~ g4@8 ~@4 c5 bb4 g4 ~ g4 f4 eb4 ~ c4 eb4 f4@3 eb4 c4 ~ bb3@5 [f2,c3]@7 ~@9 g3@2 d4@2 g4@2 g4@2 g3@4 d4@4 g3@2 g4@2, ~@24 c4@19 ~@57 [g2,d3]@16 ~@12]/4", // Cm Dm Cm F5 G5
BS: "[d4@4 g4@2 d4@2 g3 ~@5 c4@2 f4@2 ab4@2 f4@2 c4@2 ab4@2 f4@2 c4@4 c4@2 f4@2 [bb3,d4,f4,bb4]@7 ~@5 [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@4, ~@3 ab3@6 ~@7]/2", // Bb Gm Cm Dm
BT: "[[eb4,c5] [f4,d5] ~ [eb4,c5] [eb4,c5]@4 ~@11 c5 d5@2 [f4,d5]@2 [eb4,c5] [f4,d5] ~ [eb4,c5]@8 ab4 bb4@5 [f4,ab4]@2 [eb4,g4] [f4,ab4] [eb4,g4] ~ [eb4,g4]@7 c4 [eb4,g4] c5@2 bb4 g4@5]/2", // Cm Dm Cm Dm Cm Dm Cm Fm …
BU: "[~@5 eb4 g4 c5 bb4 g4!2 f4 eb4 c4 f4 c4 eb4 f4@3 d4@4 ~@4 [f2,c3]@7 ~ [g2,d3]@4 ~@2 g3@2 g4@2 d4@2 g3@2 d4@2 a4@2 g4@2 g3@2 bb4@2 g4@2 a4@2, ~@10 d3@3 ~@3]/2", // F5 G5
BV: "g4 d4 g3 d4 g4 d4 ~ c4 ab4 f4 c4 g3 c5@2 ~ f4, ~@3 ab3@3 ~ c4",
BW: "[[ab3,c4]@2 [bb3,d4]@2 [d4,f4,bb4]@4 bb4@2 f4@2 d4@2 [f4,bb4]@2 [d4,bb4]@4 [eb4,c5]@4 [f4,d5]@4 [f4,d5]@7 ~ [eb4,c5] ~@3 [c3,g3,c4,eb4]@7 ~ [g3,c4,eb4,g4]@4 [a3,d4,f4,a4]@6 [g3,c4,eb4,g4]@2 [g3,c4,eb4,g4] ~@3, ~@4 bb3@11 ~@49]/2", // Ab Bb Bb5 Gm Cm Dm Cm Dm …
BX: "[g3,c4,eb4]@4 ~@4 c3@4 [a3,d4,f4,a4]@7 ~ c3@4 [a3,d4,f4,a4]@4 ~@4", BY: "~@2 [eb4,g4,d5]!30",
BZ: "[eb4,g4,d5]!4 [eb4,g4,d5]@8 ~@20", // Ebmaj7
})).s("gm_distortion_guitar").gain(0.43).pan(0.3)
// bass · fretless bass · "Bass Guitar"
const bass = note(`<
~ A B C D E@3 F@2 G H@2 I J@2 K L@2 M N@2 O P@2 Q@3 R@3 S T U V@3 W X@2 Y Z@2 AA AB@2 AC AD@2 AA AD@2 AA AE@2 AF AG@2
AH@3 AI AJ@2 AK AL@2 AM@2 AN AO@3 AP@3 AQ@3 AR@2 AS AT AU AV AW AX AY AT AZ@2 BA BB@2 BC BD@2 AA AD@2 AA AB@2 AC AB@2
AC BE@2 BF BG@2 BH BI@2 BJ BK BL BM BN BO BP@2 BL BM BQ@2 BR BS@2 BT BU@2 BV BW@2 BX BY@2 BZ CA@2 CB CC ~
>`.pickRestart({
A: "~@23 a1 ~ bb1 d2 ~ f2@4", B: "a1 bb1 ~ d2 f2@4 a1 ~ bb1 a1 g1 ~ f1 g1 ~ a1 bb1 ~ d2 f2@4 a1 ~ bb1 d2 f2@3",
C: "~@2 a1 bb1 a1 ~ g1 f1 ~ g1 a1 ~ bb1 d2 f2@4 ~ a1 bb1 d2 ~ f2@4 a1 bb1 ~ a1 g1",
D: "~ f1 g1 ~ a1 bb1 d2 ~ f2@4 a1 bb1 ~ d2 f2@4 a1 ~ bb1 a1 ~ g1 f1 ~ g1 a1 bb1 ~",
E: "[d2 f2@4 a1 ~ bb1 d2 ~ f2@4 a1 bb1 ~ a1 g1 ~ f1 g1 a1 ~ bb1 d2@3 g1@11 ~@13 g1@19 ~ g1@4 f1@11 ~@9]/3",
F: "[~@4 bb1@11 ~@13 c2@11 ~@9 g1@4 c2@11 ~]/2", G: "~@12 c2@11 ~@9",
H: "[~@4 c2@11 ~ c2@4 c2@4 g1@4 f1@19 ~ c2@4 f2@11 ~]/2", I: "~@12 f2@19 ~",
J: "[c2@4 f2@11 ~@13 c2@19 ~ g1@4 c2@11 ~]/2", K: "~@12 c2@19 ~",
L: "[g1@4 c2@11 ~@13 f1@7 ~ g1@11 ~ d2@4 g1@11 ~]/2", M: "d2@4 g1@4 gb1@4 f1@7 ~@13",
N: "[~@4 bb1@11 ~@9 b1@4 c2@22 ~@2 c2@11 ~]/2", O: "~@8 g1@4 c2@11 ~ c2@4 ~@4",
P: "[~@4 g1@11 ~@5 g1@4 bb1@4 c2@11 ~ c2@4 ~@8 c2@11 ~]/2",
Q: "[a1@4 ~@8 c2@7 ~ c2@15 ~ c2@11 ~@13 c2@7 ~ c2@15 ~ c2@11 ~]/3",
R: "[~@12 c2@7 ~ c2@15 ~ c2@11 ~@9 g1@4 f1@7 ~ e2 f2@14 ~ f1@7 ~ c2@4]/3", S: "c2@2 d2@9 ~ e2 f2@3 ~@4 e2 f2@7 ~@4",
T: "~@4 f1@11 ~ c2 d2@10 ~ c2@4", U: "~@4 b1 c2@14 ~@13",
V: "[c2 d2@10 ~ b1 c2@3 ~@4 b1 c2@14 ~ c2@11 ~@13 f1@7 ~ g1@27 ~]/3", W: "~@2 g1 f1@4 c2",
X: "[b1@4 bb1@11 ~@9 bb1@4 c2@11 ~@13 c2@11 ~]/2", Y: "~@8 g1@4 c2@11 ~@9",
Z: "[~@4 c2@11 ~ g1@11 ~ bb1@7 ~ c2@8 ~@20]/2", AA: "~@12 bb1@7 ~ c2@8 ~@4",
AB: "[~@8 bb2@4 c3@4 f2@4 g2@4 eb2@4 eb2@7 ~ f2@8 ~@20]/2", AC: "~@12 eb2@7 ~ f2@8 ~@4",
AD: "[~@8 bb2@4 c3@4 f2@4 g2@4 eb2@4 bb1@7 ~ c2@8 ~@20]/2",
AE: "[~@8 bb2@4 c3@4 f2@4 g2@4 eb2@4 f1@7 ~ g1@15 ~@13]/2", AF: "g2@4 g1@4 gb1@4 f1@11 ~@9",
AG: "[f1@4 bb1@19 ~ b1@4 c2@11 ~@9 g1@4 c2@11 ~]/2",
AH: "[~@4 g1@4 bb1@4 c2@11 ~ c2@11 ~ g1@11 ~ g1@4 bb1@4 b1@4 c2@11 ~ c2@11 ~ c2@11 ~]/3", AI: "c2@11 ~ f1 ~@19",
AJ: "[~@28 c2@11 ~ c2@11 ~ c2@11 ~]/2", AK: "c2@11 ~ c2 ~@19", AL: "[~@28 f1@11 ~@25]/2",
AM: "[f2 g2@10 ~ f2 g2@3 ~@8 f2 g2@10 ~ f1 ~@11 g1@2 a1@9 ~ c2@4]/2", AN: "~@4 bb1 c2@14 ~@13",
AO: "[c2@2 d2@9 ~ bb1 c2@3 ~@4 bb1 c2@14 ~@13 bb1 c2@7 c2@4 f1@7 ~ g1@15 ~ g2@11 ~]/3",
// … 102 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.