0:00/0:00
// Stairway To Heaven — Led Zeppelin
// 83 bpm, 4/4, key A minor. 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, 7/8 at bar 112, 4/4 at bar 112) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 152 bars on a 48-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): Guitar 2.
setcpm(83/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.
// bass · fretless bass · "Bass"
const bass = note(`<
~@82 A@3 B@4 C@3 D@4 E@6 F@4 G@4 H@4 I@3 J K L M N@2 O@3 P@2 Q R S T@5 U V W@2 X@4 Y Z AA@3 ~@3
>`.pickRestart({
A: "[c2@23 ~ b1@23 a1@38 ~@4 b1@6 c2@23 b1@14 ~@4 f1@6 ~@2]/3",
B: "[~@4 a1@36 b1@6 c2@23 b1@24 a1@31 ~@5 a1@5 b1@7 c2@23 b1@15 ~@3 f1@5 ~@5]/4",
C: "[~@2 a1@35 b1@6 c2@24 b1@24 a1@24 a2@6 e2@9 ~@3 d2@10 ~]/3",
D: "[~ a2@10 ~@2 d3@6 f#2@6 d2@3 g2@5 ~ d2@3 a2@6 a1@14 ~@4 e2@6 a2@6 e2@8 ~@4 d2@3 a2@3 d3@14 ~@4 d3@3 a2@3 d2@13 ~@5 a2@3 e2@3 a1@15 ~@3 a2@11 ~ e2@12 d2@10 ~]/4",
E: "[~ a1@6 d2@14 ~@4 d2@3 g2@6 d2@3 a2@6 a1@15 ~@3 a1@12 e2@12 d2@3 a2@3 d3@14 ~@4 d3@3 a2@3 d2@15 ~@3 e2@3 d2@3 c2@22 ~@2 b1@24 a1@21 ~@3 a2@6 e2@6 a1@6 b1@6 c2@24 b1@17 ~ f1@3 ~@8, ~@91 c3 ~@196]/6",
F: "[~ a1@27 ~@3 a1@6 b1@6 c2@24 b1@24 a1@24 a2@6 e2@6 a1@6 b1@6 c2@24 b1@17 ~ f1@2 ~@9]/4",
G: "[~ a1@31 ~@2 a1 ~@2 a1@3 b1@3 c2@24 b1@25 d2@45 d2 ~@2 d2 ~@2 d2@17 ~@3 d2 ~@2 d2 ~@2 d2@16 ~@3 d2 ~@2 d2]/4",
H: "[~@2 d2@11 ~@2 d2@10 ~@2 d2@10 ~@2 c2@55 b1@47 ~ a1@24 g1 ~@5 g1@13 ~@2 [g1,a1]@3 f1@2]/4", // Gsus2
I: "[~@4 f1@7 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@11 ~ f1@2 ~ f1@2 ~ g1 ~@2 a1@4 ~@2 a1@12 ~@3 a1@4 g1 ~@4 g1@12 ~@3 g1@3 f1@6 ~@3 f1@6 ~@3 f1@7 ~@2 f1@3 f1@2 ~ f1@2 ~ f1@2 ~ f1@6 g1@2 ~ a1@2]/3",
J: "~@4 a1@12 ~@3 a1@3 g1@2 ~@4 g1@12 ~@3 g1@3 f1@2",
K: "~@4 f1 ~@2 f1@2 ~ f1@7 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@3 f1@2 ~ f1@2 ~ f1@2 ~ g1@2 ~ a1@2",
L: "~@4 a1@12 ~@3 a1@3 g1@2 ~@4 g1@11 ~@4 g1@3 f1@2",
M: "~@4 f1 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1 ~@2 f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1 ~@2 g1 ~@2 a1@2",
N: "[~@4 a1@8 ~@10 g1@3 ~@3 g1@7 ~@8 e1@3 f1@4 ~@2 f1@2 ~ f1@4 ~@2 f1@2 ~@2 f1@6 ~@2 f1@2 ~@4 f1 ~@2 f1@6 g1@6 a1@2]/2",
O: "[~@5 a1@4 ~@13 g1@3 ~@3 g1@6 ~@9 e1@3 f1@4 ~@2 f1 ~@2 f1@5 ~ f1 ~@3 f1@6 ~@2 f1@2 ~@4 f1 ~@2 f1@6 g1@6 a1@4 ~@2 a1@5 ~@13 g1@3 ~@3 g1@7 ~@8 e1@3 f1@2]/3",
P: "[~@4 f1 ~@2 f1@4 ~@2 f1 ~@2 f1@6 ~@4 f1@2 ~@3 f1 ~@2 f1@5 ~ g1@6 ~ a1@3 ~@2 a1@4 ~@14 g1@2 ~@4 g1@7 ~@8 e1@3 f1@2]/2",
Q: "~@4 f1 ~@2 f1@4 ~@2 f1@2 ~@2 f1@4 ~@4 f1@3 ~@3 f1 ~@2 f1@5 ~ g1@6 a1@2",
R: "~@4 a1@4 ~@14 g1@3 ~@3 g1@5 ~@10 e1@3 f1@2",
S: "~@4 f1 ~@2 f1@4 ~@2 f1 ~@2 f1@6 ~@3 f1@2 ~@4 f1 ~@2 f1@5 ~ g1@6 a1@2",
T: "[~@4 a1@5 ~@13 g1@2 ~@4 g1@5 ~@10 e1@4 f1@3 ~@2 f1 ~@2 f1@4 ~@2 f1 ~@2 f1@6 ~@3 f1@3 ~@3 f1 ~@2 f1@6 g1@6 ~ a1@2 ~@3 a1@5 ~@13 g1@3 ~@3 g1@6 ~@9 e1@4 f1@3 ~@2 f1@2 ~ f1@4 ~@2 f1@2 ~@2 f1@5 ~@3 f1@2 ~@4 f1@2 ~ f1@6 g1@7 a1@2 ~@4 a1@4 ~@10 f1@2 ~ g1@3 ~@3 g1@6 ~@6 f1@8]/5",
U: "~@4 f1@4 ~@2 f1@7 ~@3 e1@2 f1@3 e1@3 f1@5 ~@4 f1 ~@2 f1@3 g1@3 a1@2", V: "~@4 a1@6 ~@12 g1@3 ~@3 g1@7 ~@5 f1@8",
W: "[~@4 e1@5 ~ f1@7 ~@2 a1@3 c2@3 f2@3 ~ d2@2 c2@3 ~ a1@3 g1@2 f1@3 g1@3 a1@10 ~@2 a1@5 ~@4 a1@3 g1@4 ~@2 g1@6 d2@5 ~ f1@8]/2",
X: "[~@4 f1@2 ~@4 f1@7 ~@2 f1 ~@2 f1 ~@2 f1 ~@2 f1@9 e1@3 g1@3 e1@3 a1@7 ~@2 e1@3 a1@6 ~@3 a1@3 g1@4 ~@2 g1@5 ~ d2@2 ~ g1@3 f1@12 f1@2 ~@4 f1@9 a1@3 c2@3 f2@6 c2@3 f2 ~@2 f2@3 f1@3 g1@3 a1@5 ~ e1@6 a1@6 ~@3 a1@3 g1@3 ~@3 g1@5 ~ d2@2 ~ g1@3 f1@3 ~@3 f1@2]/4",
Y: "~@4 f1@3 ~@3 f1@5 ~@4 a1@3 c2@3 f2 ~@2 f2@3 c2@2 ~ c2@3 f2@3 f1@3 g1@3 a1@2",
Z: "~@4 a1@2 ~@5 a1@13 g1@2 ~@5 g1@2 ~@5 g1@10", AA: "[~@5 f1@121 ~@18]/3",
})).s("gm_fretless_bass").gain(0.57)
// chords · epiano1 · "Keyboard 1"
const epiano1 = note(`<
~@40 A@3 B C@3 D E F G H@4 I J A@3 B K@3 D E F G L@4 I J M@3 B N@3 O P@3 Q@4 R@8 S@5 T@4 U@4 ~@42
>`.pickRestart({
A: "[[a3,c4,e4,g4]@7 ~@2 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a3,c4,e4,g4]@8 ~@4 [a3,c4,e4]@8 ~@4 [a3,d4,g4]@8 ~@4 [d3,a3]@6 ~@6 d3@9 ~@21 [c4,e4,g4]@7 ~@2 g4 ~@2 [c4,e4,g4]@3 ~@3 [c4,e4,g4]@6 ~@6 [a3,c4,e4]@6 g2 ~@5 [e4,g4,b4]@6, a1@42 d2@54 a1@37 ~@11, ~@54 [d4,f#4]@31 ~@5 a2@38 ~@4 a2@12, ~@20 a3@8 a3@4 a3@3 ~ a3@2 a3@4 ~@6, ~@39 d3@26 ~@7]/3", // Am7 Am Dsus4 D5 C Am Em D
B: "~@6 [d4,f#4,a4]@8 ~@4 a2@3 ~@9 [d4,f#4,a4]@12 a2@6, d3@18 [c4,e4,g4]@7 ~@23, ~@21 d2@22 ~@5", // D C
C: "[[a3,c4,e4,g4]@7 ~@2 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a3,c4,e4,g4]@6 ~@6 [a3,c4,e4]@8 ~@4 [a3,d4,g4]@8 ~@10 d3@4 ~@14 g3@3 a3@15 [a1,c4,g4]@6 a1@3 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a1,a3,c4,e4,g4]@6 a1@6 [a3,c4,e4]@6 a1@6 ~@3 a2@2 ~, a1@21 ~@3 a1@18 d2@49 ~@53, ~@54 [d4,f#4]@31 ~@11 e4@5 ~@37 [e4,g4,b4]@6, ~@18 a3@9 ~@5 a3@4 ~@12, ~@66 d3@35 ~@43]/3", // Am7 Am Dsus4 Am7 Am D Em
D: "~@6 [d4,f#4,a4]@8 ~@7 a2@3 ~@6 [d4,f#4,a4]@13 ~@5, d3@9 [c4,e4,g4]@3 d2@11 ~", // D C
E: "~ c3@23 [b2,b3,d4,g4]@24, [c4,e4,g4]@5 ~@7", F: "c4@7 b2, e4@39 ~@3 g4@2 ~@4, a2@11 ~@5",
G: "[c3,g4]@24 [b2,b3,d4,g4]@17 ~ [a3,c4,f4]@5 ~, [c4,e4]@20 ~@22 f2@3 ~@3", // C5 G F C
H: "[~@6 [a2,a3,c4,e4]@31 ~@4 b2@6 ~ [c4,e4,g4]@21 ~@3 g4@21 ~@3 e4@21 ~@6 a4@6 ~@3 a4@5 ~ [b3,d4,g4]@4 ~@14 g4@8 ~@4 [b3,d4,g4]@15 ~@3 [a3,c4,f4]@5 ~, ~@47 c3@24 b2@24 a2@42 b2@6 c3@24 b2@18 ~ f2@2 ~@4, ~@71 [b3,d4]@20 ~@5 [a3,c4]@42 ~@6 [c4,e4]@21 ~@27, ~@120 e4@19 ~@53]/4", // Am C G F Bm Am C
I: "~@6 [a2,a3,c4,e4]@31 ~@5 [b2,b3,d4,g4]@6", J: "[c3,c4,e4,g4]@23 ~ b2@16 ~@2 a2@6, ~ [b3,d4,g4]",
K: "[[a3,c4,e4,g4]@7 ~@2 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a3,c4,e4,g4]@6 ~@6 [a3,c4,e4]@8 ~@4 [a3,d4,g4]@8 ~@10 d3@4 ~@17 a3@15 [a1,c4,g4]@6 a1@3 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a1,a3,c4,e4,g4]@6 a1@6 [a3,c4,e4]@6 a1@6 ~@3 a2@2 ~, a1@21 ~@3 a1@18 d2@49 ~@53, ~@54 [d4,f#4]@31 ~@11 e4@5 ~@37 [e4,g4,b4]@6, ~@54 a3@24 g3@5 ~@13 a3@12 ~@36, ~@66 d3@35 ~@43]/3", // Am7 Am Dsus4 Am7 Am D Em
L: "[~@6 [a2,a3,c4,e4]@31 ~@4 b2@6 ~ [c4,e4,g4]@21 ~@3 g4@21 ~@3 e4@21 ~@6 a4@6 ~@3 a4@5 ~ [b3,d4]@3 ~@15 g4@8 ~@4 [b3,d4,g4]@15 ~@3 [a3,c4,f4]@5 ~, ~@47 c3@24 b2@24 a2@42 b2@6 c3@24 b2@18 ~ f2@2 ~@4, ~@71 [b3,d4]@20 ~@5 [a3,c4]@42 g4@5 ~@49, ~@120 e4@19 ~@5 [c4,e4]@21 ~@27]/4", // Am C Bm G F Bm Am C
M: "[[a3,c4,e4,g4]@7 ~@2 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a3,c4,e4,g4]@7 ~@5 [a3,c4,e4]@8 ~@4 [a3,d4,g4]@8 ~@4 [d3,a3]@6 ~@6 d3@9 ~@21 [c4,g4]@8 ~ g4 ~@2 [c4,e4,g4]@3 ~@3 [c4,e4,g4]@6 ~@6 [a3,c4,e4]@6 g2 ~@5 [e4,g4,b4]@6, a1@42 d2@54 a1@37 ~@11, ~@54 [d4,f#4]@31 ~@5 a2@38 ~@4 a2@12, ~@20 a3@8 a3@4 [a3,e4]@3 ~ a3@2 a3@4 ~@6, ~@39 d3@26 ~@7]/3", // Am7 Am Dsus4 D5 C5 C Am Em …
N: "[[a3,c4,e4,g4]@7 ~@2 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a3,c4,e4,g4]@6 ~@6 [a3,c4,e4]@8 ~@4 [a3,d4,g4]@8 ~@10 d3@4 ~@17 a3@15 [a1,c4,e4,g4]@6 a1@3 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a1,a3,c4,e4,g4]@6 a1@6 [a3,c4,e4]@6 a1@6 ~@3 a2@2 ~, a1@21 ~@3 a1@18 d2@49 ~@53, ~@54 [d4,f#4]@31 ~@53 [e4,g4,b4]@6, ~@54 a3@24 g3@5 ~@13 a3@12 ~@36, ~@66 d3@35 ~@43]/3", // Am7 Am Dsus4 Am7 Am D Em
O: "~@6 [d4,f#4,a4]@8 ~@7 a2@3 ~@6 [d4,f#4,a4]@14 ~@4, d3@9 [c4,e4,g4]@3 d2@11 ~", // D C
P: "[~ c3@22 ~ [b3,d4,g4]@21 ~@3 c4@41 b2@6 [c4,e4,g4]@20 ~@4 g4@14 ~@3 [a3,c4,f4]@5 ~@3, [c4,e4,g4]@20 ~@3 b2@24 a2@33 ~@15 c3@23 [b2,b3,d4]@17 ~ f2@3 ~@5, ~@48 e4@38 ~@3 g4@2 ~@53]/3", // G C F C Bm
Q: "[~@4 [a2,a3,c4,e4]@31 ~@4 b2@6 ~ [c4,e4,g4]@21 ~@2 [b2,g4]@24 e4@20 ~@7 a4@6 ~@3 a4@5 ~ [b3,d4,g4]@4 ~@13 g4@8 ~@4 [b2,d4]@18 [a3,c4,f4]@5 ~@5, ~@45 c3@24 [b3,d4]@20 ~@4 [a2,a3,c4]@41 b2@6 [c3,e4]@24 ~@18 f2@2 ~@8, ~@117 e4@19 ~@4 c4@20 ~@4 [b3,g4]@14 ~@14]/4", // Am C Em G Bm F Bm Am …
R: "[~@2 [a2,a3,c4,e4]@31 ~@5 b2@5 ~ c3@23 b2@16 ~@2 a2@6 [a3,c4,e4,g4]@7 ~@2 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a3,c4,e4,g4]@8 ~@4 [a3,c4,e4]@8 ~@4 [a3,d4,g4]@8 ~@4 [d3,a3]@6 ~@6 d3@9 ~@21 [c4,e4,g4]@7 ~@2 g4 ~@2 [c4,e4,g4]@3 ~@3 [c4,e4,g4]@6 ~@6 [a3,c4,e4]@6 g2 ~@5 [e4,g4,b4]@6 ~@6 [d4,f#4,a4]@8 ~@4 a2@3 ~@9 [d4,f#4,a4]@12 a2@6 [a3,c4,e4,g4]@7 ~@2 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a3,c4,e4,g4]@6 ~@6 [a3,c4,e4]@8 ~@4 [a3,d4,g4]@8 ~@10 d3@4 ~@17 a3@15 [a1,a3,c4,e4,g4]@5, ~@37 [b3,d4,g4]@4 ~@2 [c4,e4,g4]@21 ~@3 [b3,d4,g4]@24 a1@42 d2@54 a1@37 ~@32 d2@22 ~@5 a1@21 ~@3 a1@19 ~@23 d3@35, ~@145 [d4,f#4]@31 ~@5 a2@38 ~@4 a2@12 ~@90 d2@49 ~@10, ~@151 a3@24 a3@12 a3@9 ~@3 a3@6 a3@12 ~@36 [c4,e4,g4]@7 ~@77 [d4,f#4]@31 ~@16, ~@169 d3@52 ~@14 d3@18 ~@84 a3@24 g3@5 ~@18]/8", // Am Am7 Am Dsus4 D5 C Am Em …
S: "[~ a1@3 g4 ~@2 [a3,c4,e4,g4]@4 ~@2 [a1,a3,c4,e4,g4]@6 a1@6 [a3,c4,e4]@6 a1@6 ~@3 a2@2 ~@7 [d4,f#4,a4]@8 ~@7 a2@3 ~@6 [d4,f#4,a4]@13 ~@6 c3@23 [b2,b3,d4,g4]@24 c4@42 b2@6 [c3,g4]@24 [b2,b3,d4,g4]@17 ~ [a3,c4,f4]@5 ~@6, ~@37 [e4,g4,b4]@6 d3@18 [c4,e4,g4]@6 d2@22 ~@2 [c4,e4,g4]@20 ~@28 e4@39 ~@3 g4@2 ~@4 [c4,e4]@20 ~@33, ~@139 a2@33 ~@57 f2@3 ~@8]/5", // Am7 Am D G C5 G F Em …
T: "[~ [a2,a3,c4,e4]@31 ~@4 b2@6 ~ [c4,e4,g4]@21 ~@3 g4@21 ~@3 e4@21 ~@6 a4@6 ~@3 a4@5 ~ [b3,d4,g4]@4 ~@14 g4@8 ~@4 [b3,d4,g4]@15 ~@3 [a3,c4,f4]@5 ~@6, ~@42 c3@24 b2@24 a2@42 b2@6 c3@24 b2@18 ~ f2@2 ~@9, ~@66 [b3,d4]@20 ~@5 [a3,c4]@42 ~@6 [c4,e4]@21 ~@32, ~@115 e4@19 ~@58]/4", // Am C G F Bm Am C
U: "[~ [a2,a3,c4,e4]@31 ~@5 [b2,b3,d4,g4]@6 [c3,c4,e4,g4]@23 ~ b2@17 ~@2 a2@6 ~ [d3,a3,f#4]@68 ~@31, ~@67 [b3,d4,g4]@25 d4@67 ~@33]/4", // Am G C D G
})).s("gm_epiano1").gain(0.46).pan(0.3)
// chords · pad halo · "Keyboard 2"
const pad_halo = note("<~@112 A@8 ~@32>".pickRestart({
A: "[~@46 a3@24 g3@23 ~ a3@46 ~@2 a3@25 g3@23 [f3,a3]@48 a4@24 g4@23 ~ a4@46 ~@2 a4@25 g4@23 [f4,a4]@2, ~@23 [c4,e4]@96 [c5,e5]@73, ~@93 f3@50 ~@142 f4@50 ~@49]/8", // F C
})).s("gm_pad_halo").gain(0.28).pan(0.7)
// chords · acoustic guitar steel · "Guitar 1"
const acoustic_guitar_steel = note(`<
A B C D E F G H I J K@2 L M N O A B C P Q F G H I J R@2 L M N O A B C D S@3 T U V W@2 U X Y@2 Z AA@3 AB AC@3 AD AE V
W@2 U X Y@2 AF AA@3 AG AC@3 AD U V W@2 AE X Y@2 AH@3 AI@4 AJ@2 AK AL AM@2 AK AN AO@3 AP@2 AQ@2 AR@2 AS@3 AT AU AV@5
AW@7 AX AY AZ@2 BA@2 BB@2 BC@4 BD@3 BE@6 BF@2 BG@4 ~@2
>`.pickRestart({
A: "~@3 a4 ~@3 b4, a3@23 ~ g#3@23 ~, ~ c4@4 e4@3, ~ e4 b4 c4",
B: "~@6 c5 ~@7 f#4@2, g3@24 f#3@23 ~, c5@3 c4@3 f#4@4 ~@2, ~@3 e4@10 ~@2 d4@9, ~@3 a3",
C: "~@6 [c4,e4]@4 ~@2 c4@2 a3 ~, f3, e4@16 ~@14 e4@17 ~, ~@6 c4@11 ~@31, ~ a3@2 ~", // C
D: "[b2,g3,b3]@6 [a2,a3,c4]@2 ~@4 a2@15 ~@3 a2@5 ~ f3@6 e3@6, ~@12 [a3,c4]@25 ~@11", // Em Am
E: "~@3 a4 ~@3 b4, a2, ~ c4@4 e4@3, ~ e4 g#3@2, ~@2 b4 c4",
F: "~@6 c5 ~@7 f#4@2, g3 f#3, c5 c4 f#4 a3, ~@6 e4@20 ~@4 d4@15 ~@3",
G: "~@2 c4@2 ~@2 c4@4 ~@2 c4@2 a3 ~, f3@11 ~, e4@27 ~@3 e4@17 ~, ~ a3@2 ~",
H: "[b2,g3,b3]@6 [a3,c4] ~@5 [a3,c4]@20 ~@4 a2@6 b2@6, ~@2 a2 ~ a2@5 ~@7", // Em Am
I: "~@2 g3 e4 ~ d4 ~ f#4, c3@2 f#4 a3, ~@6 e3@13 ~@5 d3@23 ~",
J: "e4@6 c4@6 ~@6 e4@4 ~@2 b3@3 ~@9 a2@6 b2@6, f3@24 a2@6 a3@13 ~@5, ~@12 a3@12 ~@3 c4@16 ~@5",
K: "[~@18 c4@6 ~@18 g4@3 ~@6 f#4@2 ~ f#4@3 ~@3 [a3,d4,f#4]@22 ~@2 a2@6 b2@6, c3@6 g2@6 d3@2 ~ d3@3 ~@6, c4@12 e3@73 ~@11, ~@6 g3@18 g4@12 g3@49 ~@11, ~@30 b3@14 ~@4 g4 [a3,d4]@9 ~@38]/2", // D D5
L: "~@2 g3 e4 ~ d4 ~ f#4, c3@24 d3@23 ~, ~@6 e3@13 ~@5 f#4@12 a3@12",
M: "e4@6 c4@6 ~@6 e4@4 ~@2 b3@3 ~@9 a2@6 b2@6, f3@23 ~ a2@6 a3@13 ~@5, ~@12 a3@12 ~@3 c4@16 ~@5",
N: "~@21 f#4@2 ~, c3 d3, ~@3 e3@11 ~@10, ~@12 g3@16 ~@2 a3@17 ~, ~@18 c4@13 ~@5 d4@10 ~@2",
O: "~ e4@4 ~ [a3,c4,e4]@4 ~@3 e4@24 ~@11, [f3,a3,c4]@4 ~@2 f3@2 ~@3 f3@26 ~@11, ~ [a3,c4]@2 ~", // Am F Am
P: "[b2,g3,b3]@6 [a2,a3,c4]@2 ~@4 [a2,a3,c4]@25 ~@11", Q: "~@3 a4 ~@3 b4, a3 g#3, ~ c4@4 e4@3, ~ e4 b4 c4",
R: "[~@18 c4@6 ~@18 g4@3 ~@6 f#4@2 ~ f#4@3 ~@3 [d3,a3,d4]@14 ~@10 a2@6 b2@6, c3@3 g2@3 d3 ~@5, c4@12 e3@73 ~@11, ~@6 g3@18 g4@12 g3@49 ~@11, ~@30 b3@14 ~@4 g4 [a3,d4]@9 ~@2 f#4@19 ~@17]/2", // D5
S: "[a2@3 ~@15 a4@6 ~@3 e4@3 ~@3 e4@3 ~@9 g#3@3 ~@6 e4@3 ~@9 g3@6 ~@6 d4@3 ~@12 a3@3 ~@17 a3@7 ~@6 c4@3 ~@9 f3@6, ~@3 a2@39 c4@6 g3@15 c4@10 ~@2 a3@10 ~@2 a3@5 ~@7 a3@12 ~@12 a3@10 ~@2 a3@6 ~@3, ~@6 a3@66 f#3@16 ~@2 f#3@6 f3@20 ~@4 f3@15 ~@9, ~@12 c4@12 b4@6 c4@6 b4@15 ~@6 c5@18 ~@9 d4@18 c4@7 ~@2 c4@11 ~@10 c4@9 ~@3, ~@24 g#3@15 e4@12 c4@9 e4@15 ~@6 f#4@18 ~@6 e4@22 ~@2 e4@13 ~@2]/3",
T: "[b2,g3,b3]@6 [a3,c4]@3 ~@3 [a3,c4]@20 ~@5 d4@11, ~@6 a2 ~@5 a2@24 [b2,g3]@12", // Em Am Em
U: "[e3,a3,c4,g4]@5 ~ [a3,g4] ~@2 [a3,c4,g4] ~@2 [e3,a3,c4,g4]@4 ~@2 [e3,a3,c4,g4]@7 ~@5 [e3,a3,c4,e4]@8 ~@4 [a3,d4,e4]@6", // Am7 A7 Am7 Am Asus4
V: "~@24 d4@5 ~@7 d4@6 [g3,b3] ~@2 [g3,b3]@2 ~, ~@6 [a3,d4,f#4]@18 ~@6 d4@5 ~@13, ~@3 d3@5, ~@33 f#4@5 ~@10", // G D
W: "[[e3,a3,c4,g4]@4 ~@2 [a3,g4] ~@2 [e3,a3,c4,g4] ~@2 [e3,a3,c4,g4]@3 ~@3 [e3,a3,c4,g4]@3 ~@3 [e3,a3,c4,g4]@4 ~@2 [e3,a3,c4,e4]@7 ~@5 [e4,g4,b4]@7 ~@5 [d4,f#4,a4]@8 ~@4 [e4,g4]@8 ~@16 [a2,d3]@4 ~@2, ~@42 d3@47 ~@7, ~@39 [d4,f#4,a4]@8 ~]/2", // Am7 A7 Am7 Am Em D Em D5 …
X: "~@24 d4@5 ~ d4@3 f#4@3 d4@6 [g3,b3] ~@2 [g3,b3]@2 ~, ~ [a3,d4,f#4]@3 ~@4, ~@3 d3@5", // G D
Y: "[[e3,a3,c4,g4]@4 ~@2 [a3,g4] ~@2 [e3,a3,c4,g4] ~@2 [e3,a3,c4,g4]@3 ~@3 [e3,a3,c4,e4]@3 ~@9 [e3,a3,c4,e4]@7 ~@5 [e4,g4,b4]@7 ~@5 [d4,f#4,a4]@8 ~@4 [e4,g4]@8 ~@16 a2@4 ~@2, ~@42 d3@47 ~@7, ~@39 [d4,f#4,a4]@8 ~]/2", // Am7 A7 Am7 Am Em D Em D
Z: "~@42 d4@4 ~ b3, c3@23 ~ b2@24, ~@6 e3@21 ~@3 d3@17 ~, ~@12 g3@18 ~@6 g3@11 ~, ~@3 c4@4 ~",
AA: "[c4@6 ~@30 a2@6 b2@6 ~@36 g3@5 ~ [c3,f3,a3,b3,e4]@11 ~ [e3,a3,c4,e4]@30 a2@6 b2@6, ~@6 a3@16 ~@2 a3@26 ~@4 e3@21 ~@3 d3@11 ~ f2@6 ~@48, ~@12 a2@18 c4@25 ~@5 g3@19 ~@65, ~@18 e3@30 c3@24 b2@19 ~@11 a2@26 ~@16, ~@11 c4@3 ~@10]/3", // Fmaj7 Am
AB: "~@42 d4@3 ~@2 b3, c3 b2, ~@6 e3@21 ~@3 d3@17 ~, ~@12 g3@18 ~@6 g3@11 ~, ~@3 c4@4 ~",
AC: "[[a2,c4]@6 ~@30 a2@6 b2@6 ~@36 g3@5 ~ [f2,c3,f3,a3,b3,e4]@11 ~ [e3,a3,c4,e4]@30 a2@6 b2@6, ~@6 a3@16 ~@2 a3@26 ~@4 e3@21 ~@3 d3@11 ~@55, ~@12 a2@18 c4@25 ~@5 g3@19 ~@65, ~@9 e3@15 c3@12 b2@9 ~@6 a2@13 ~@8, ~@11 c4@3 ~@10]/3", // Am Fmaj7 Am
AD: "~@14 d4 ~, c3@12 b2@11 ~, ~@6 e3@21 ~@3 d3@17 ~, ~@12 g3@18 ~@6 g3@11 ~, ~@3 c4@4 ~",
AE: "[e3,a3,c4,g4]@4 ~@2 [a3,g4] ~@2 [a3,c4,g4] ~@2 [e3,a3,c4,g4]@4 ~@2 [e3,a3,c4,g4]@7 ~@5 [e3,a3,c4,e4]@8 ~@4 [a3,d4,e4]@6", // Am7 A7 Am7 Am Asus4
AF: "~@42 d4@3 ~@2 b3, c3@23 ~ b2@24, ~@6 e3@21 ~@3 d3@17 ~, ~@12 g3@18 ~@6 g3@11 ~, ~@3 c4@4 ~",
AG: "~@42 d4@4 ~ b3, c3 b2, ~@6 e3@21 ~@3 d3@17 ~, ~@12 g3@18 ~@6 g3@11 ~, ~@3 c4@4 ~",
AH: "[~@41 d4@3 ~@3 c4@6 ~@30 a2@6 b2@6 ~@35 g3@5 ~ [f2,c3,f3,a3,b3,e4]@8, c3@23 ~ b2@25 ~@10 a2@21 ~@15 c3@23 b2@18 ~@8, ~@6 e3@21 ~@3 d3@17 ~@18 e3@29 ~@7 e3@21 ~@2 d3@11 ~@9, ~@12 g3@18 ~@5 g3@11 ~@7 a3@16 ~@2 a3@25 ~@11 g3@19 ~@18, ~@18 c4@24 ~@5 b3 ~@29 c4@25 ~@11 c4@18 ~@13]/3", // Fmaj7
AI: "[~@4 [e3,a3,c4,e4]@30 a2@5 b2@6 ~@42 d4@3 ~@2 b3 [a2,c4]@6 ~@30 a2@5 b2@6 ~@36 g3@5 ~ [f2,c3,f3,a3,b3,e4]@10, ~@4 a2@26 ~@16 c3@23 b2@24 ~@12 a2@20 ~@15 c3@24 b2@18 ~@10, ~@52 e3@21 ~@2 d3@17 ~@19 e3@29 ~@6 e3@21 ~@3 d3@11 ~@11, ~@57 g3@18 ~@6 g3@11 ~@7 a3@16 ~@2 a3@25 ~@10 g3@19 ~@21, ~@63 c4@24 ~@36 c4@25 ~@10 c4@18 ~@16]/4", // Am Fmaj7
AJ: "[~@2 [e3,a3,c4,e4]@29 a2@6 b2@6 ~@42 d4@3 ~@3 [e3,a3,c4,g4]@4 ~, ~@2 a2@26 ~@15 c3@24 b2@22 ~@7, ~@49 e3@21 ~@3 d3@17 ~@6, ~@55 g3@18 ~@6 g3@11 ~@6, ~@61 c4@24 ~@11]/2", // Am Am7
AK: "~ [a3,g4] ~@2 [a3,c4,g4] ~@2 [e3,a3,c4,g4]@4 ~@2 [e3,a3,c4,g4]@7 ~@5 [e3,a3,c4,e4]@8 ~@4 [a3,d4,e4]@8 ~@3", // A7 Am7 Am Asus4
AL: "~@19 d4@5 ~@7 d4@6 [g3,b3] ~@2 [g3,b3]@2 ~ [e3,a3,c4,g4]@4 ~, ~ [a3,d4,f#4]@18 ~@6 d4@5 ~@18, ~@13 d3@33 ~@2, ~@28 f#4@5 ~@15", // G Am7 D
AM: "[~ [a3,g4] ~@2 [e3,a3,c4,g4] ~@2 [e3,a3,c4,g4]@3 ~@3 [e3,a3,c4,g4]@3 ~@3 [e3,a3,c4,g4]@4 ~@2 [e3,a3,c4,e4]@7 ~@5 [e4,g4,b4]@7 ~@5 [d4,f#4,a4]@8 ~@4 [e4,g4]@8 ~@16 [a2,d3]@4 ~@2 [e3,a3,c4,g4]@5, ~@37 d3@47 ~@12, ~@73 [d4,f#4,a4]@16 ~@7]/2", // A7 Am7 Am Em D Em D5 Am7 …
AN: "~@19 d4@5 ~ d4@3 f#4@3 d4@6 [g3,b3] ~@2 [g3,b3]@2 ~ [e3,a3,c4,g4]@4 ~, ~ [a3,d4,f#4]@18 ~@29, ~@13 d3@33 ~@2", // G Am7 D
AO: "[~ [a3,g4] ~@2 [e3,a3,c4,g4] ~@2 [e3,a3,c4,g4]@3 ~@3 [e3,a3,c4,e4]@3 ~@9 [e3,a3,c4,e4]@7 ~@5 [e4,g4,b4]@7 ~@5 [d4,f#4,a4]@8 ~@4 [e4,g4]@8 ~@16 a2@4 ~@44 d4@3 ~@2 b3 c4@5, ~@37 d3@47 ~@7 c3@23 ~ b2@25 ~@4, ~@73 [d4,f#4,a4]@16 ~@8 e3@21 ~@3 d3@17 ~@6, ~@103 g3@18 ~@6 g3@11 ~@6, ~@109 c4@24 ~@11]/3", // A7 Am7 Am Em D Em D
AP: "[~@31 a2@6 b2@6 ~@36 g3@5 ~ [c3,f3,a3,b3,e4]@11, ~ a3@16 ~@2 a3@26 ~@4 e3@21 ~@3 d3@11 ~ f2@6 ~@5, ~@7 a2@18 c4@25 ~@5 g3@19 ~@22, ~@13 e3@30 c3@24 b2@19 ~@10, ~@61 c4@18 ~@17]/2", // Fmaj7
AQ: "[~ [e3,a3,c4,e4]@30 a2@6 b2@6 ~@42 d4@4 ~ b3 [a2,c4]@5, ~ a2@26 ~@16 c3@24 b2@24 ~@5, ~@49 e3@21 ~@3 d3@17 ~@6, ~@55 g3@18 ~@6 g3@11 ~@6, ~@61 c4@24 ~@11]/2", // Am
AR: "[~@31 a2@6 b2@6 ~@36 g3@5 ~ [f2,c3,f3,a3,b3,e4]@11, ~ a3@16 ~@2 a3@26 ~@4 e3@21 ~@3 d3@11 ~@12, ~@7 a2@18 c4@25 ~@5 g3@19 ~@22, ~@13 e3@30 c3@24 b2@18 ~@11, ~@61 c4@18 ~@17]/2", // Fmaj7
AS: "[~ [e3,a3,c4,e4]@30 a2@6 b2@6 ~@43 d4@4 ~@3 [d4,f#4]@44 d3@4 [a3,d4,f#4] ~@2, ~ a2@26 ~@16 c3@24 b2@24 ~@53, ~@49 e3@21 ~@3 d3@18 ~ [d3,a3]@45 ~@4 d3@3, ~@55 g3@19 ~@6 g3@12 ~@52, ~@61 c4@25 ~@51 e4 ~@6]/3", // Am D D5
AT: "[d3,a3,d4,g4]@15 ~@4 [d3,a3,e4] ~@2 [d3,a3,d4,f#4] ~@2 [d3,a3,d4,g4]@14 ~@5 [d3,a3,d4,e4] ~@2 [d4,f#4]", // Dsus4 Dsus2 D Dsus4 Dsus2 D
AU: "[d3,a3] ~@2 [d3,a3,d4,g4]@9 ~@3 [d3,a3,d4,g4]@10 ~@2 [d3,a3,d4,f#4]@11 ~ [c3,e3,g3,c4,e4]@9", // D5 Dsus4 D C
AV: "[~@3 [g3,c4,e4]@2 ~@4 [g3,c4,f#4]@7 ~@3 [g3,c4,f#4] ~@2 [g3,c4,f#4]@2 ~@4 g3@6 g3@3 ~@3 g3@6 ~@30 d4@6 b3@3 a3@3 g3@6 [e3,a3,c4,e4]@10 ~@2 [e3,a3,c4,e4]@10 ~@2 [e3,g3,c4,e4]@10 ~@2 [e3,g3,c4,e4]@10 ~@2 [f3,a3,c4,e4]@10 ~@2 [f3,a3,c4,e4]@8 ~ [f3,a3,c4,e4]@7 ~@2 [f3,a3,c4,e4]@3 ~@3 [f3,a3,c4,e4]@10 ~@2 [e3,a3,c4,e4]@11 ~ [e3,a3,c4,e4]@10 ~@2 [e3,g3,c4,e4]@10 ~@2 [e3,g3,c4,e4]@10 ~@2 [f3,a3,c4,e4]@2, ~@27 [c4,e4]@3 ~@4 [c4,e4]@12 b2@38 ~@156, ~@29 d3@13 ~@78, ~@64 d4@11 ~@165, ~@35 g4@7 ~@78]/5", // C Am C Fmaj7 Am C Fmaj7 C
AW: "[~@10 [f3,a3,c4,e4]@8 ~ [f3,a3,c4,e4]@8 ~ [f3,a3,c4,e4]@3 ~@3 [f3,a3,c4,e4]@10 ~@2 [e3,a3,c4,e4]@11 ~ [e3,a3,c4,e4]@10 ~@2 [e3,g3,c4,e4]@10 ~@3 [e3,c4]@10 ~@2 [f3,e4]@9 ~@2 [f3,a3,c4,e4]@8 ~ [f3,a3,c4,e4]@7 ~@2 [f3,a3,c4,e4]@4 ~@2 [f3,a3,c4,e4]@10 ~@2 [e3,a3,c4,e4]@10 ~@2 [e3,a3,c4,e4]@10 ~@2 [e3,g3,c4,e4]@10 ~@2 [e3,g3,c4,e4]@9 ~@3 [f3,a3,c4,e4]@12 [f3,a3,c4,e4]@7 ~@2 [f3,a3,c4,e4]@7 ~@2 [f3,a3,c4,e4]@4 ~@2 [f3,a3,e4]@4 ~@2 [f3,a3,c4,e4]@6 ~ [a2,a3,c4,e4]@3 ~@3 [a2,e3,c4]@4 ~@13 [g2,d3,g3,b3,d4]@2 ~@4 [g2,d3,g3,b3,d4]@4 ~@14 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@3 ~@6 [f2,c3,f3,a3,c4]@5 ~@5 [f2,c3,c4]@4 ~@5 [a3,c4]@2 ~@3 [g2,d3,g3,b3,d4]@2 ~@4 [a2,e3,a3,c4,e4]@2, ~@82 [g3,e4]@10 ~@2 [a3,c4]@9 ~@123 c4@2 ~@10 e3@3 ~@3 [a3,e4]@4 ~@65 [f3,a3]@4 ~@5 [f2,c3,f3]@3 ~@9 b2 ~]/7", // Fmaj7 Am C Fmaj7 Am C Fmaj7 Am …
AX: "~@4 [a2,e3,a3,c4,e4]@4 ~@14 [g2,d3,g3,b3,d4]@3 ~@3 [g2,d3,g3,b3,d4]@5 ~@13 [f2,c3,f3,a3,c4]@2", // Am G F
AY: "~@7 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@5 ~@4 [f2,c3,f3,a3,c4]@2 ~@4 [g2,d3,g3,b3,d4]@3 ~@3 [a2,e3,a3,c4,e4]@2", // F G Am
AZ: "[~@4 [a2,e3,a3,c4,e4]@4 ~@14 [g2,d3,g3,b3,d4]@2 ~@4 [g2,d3,g3,b3,d4]@5 ~@13 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@5 ~@5 [f2,c3]@2 ~@3 [g2,d3,g3,b3,d4]@3 ~@3 [a2,e3,a3,e4]@2, ~@82 [f3,a3,c4]@2 ~@10 c4 ~]/2", // Am G F F5 G A5 F
BA: "[~@4 [a2,e3,a3,c4,e4]@5 ~@13 [g2,d3,g3,b3,d4]@2 ~@4 [g2,d3,g3,b3,d4]@4 ~@14 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@5 ~@4 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@2 ~@4 [g2,d3,g3,b3,d4]@3 ~@3 [a2,e3,a3,c4,e4]@2]/2", // Am G F G Am
BB: "[~@4 [a2,e3,a3,c4,e4]@4 ~@14 [g2,d3,g3,b3,d4]@2 ~@4 [g2,d3,g3,b3,d4]@4 ~@14 [f2,c3,f3,a3,c4]@4 ~@6 c4@3 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@5 ~@4 [f2,c3,f3,a3,c4]@2 ~@4 [g2,d3,g3,b3,d4]@2 ~@4 [a2,e3,a3,c4,e4]@2, ~@55 [f2,c3,f3,a3]@4 ~@37]/2", // Am G F G Am F
BC: "[~@4 [a2,e3,a3,c4,e4]@4 ~@14 [g2,d3,g3,b3,d4]@2 ~@4 [g2,d3,g3,b3,d4]@4 ~@14 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@4 ~@5 [f2,c3,f3,a3,c4]@2 ~@4 [g2,d3,g3,b3,d4]@2 ~@5 [a2,e3,a3,c4]@2 ~@3 a2 [a2,a3,c4,e4]@7 ~@10 [g2,d3,g3,d4]@4 ~@2 [g2,d3,g3,b3,d4]@6 ~@12 [f2,c3,f3,a3,c4]@6 ~@3 [f2,c3,f3,a3,c4]@6 ~@4 a3@5 ~@4 [f2,c3]@6 ~@3 [f3,a3,c4]@2 ~@3 [g2,d3,g3,b3,d4]@3 ~@3 [a2,e3,a3,c4,e4]@2, ~@94 [a2,e4]@2 ~@4 e3@7 ~@11 b3@2 ~@40 [f2,c3,f3,c4]@6 ~@3 [f3,a3,c4]@6 ~@3 [f2,c3]@3 ~@11]/4", // Am G F G Am G5 G F …
BD: "[~@4 [a2,e3,a3,c4,e4]@6 ~@12 [g2,d3,g3,b3,d4]@2 ~@4 [g2,d3,g3,b3,d4]@3 ~@9 [f2,c3,a3,c4,e4]@15 ~@3 [f2,c3,a3,c4,e4]@12 ~@6 [f2,c3,a3,e4]@3 ~@3 [f2,c3,a3,c4,e4]@3 ~@3 [f2,c3,a3,c4,e4]@3 ~@3 [a2,e3,a3,e4]@4 ~@2 [a2,e3,a3,c4,e4]@4 ~@14 [g2,d3,g3,b3,d4]@3 ~@3 [g2,d3,g3,b3,d4]@2 ~@11 e4@7, ~@76 c4 ~@17 c4@2 ~@40 [f2,c3,a3,c4]@8]/3", // Am G Fmaj7 A5 Am G F
BE: "[~@4 [f2,c3,a3,c4,e4]@4 ~@3 [c3,c4]@3 ~@2 [f2,c3,a3,c4,e4]@4 ~@2 [f2,c3,a3,c4,e4]@4 ~@2 [f2,c3,a3,c4,e4] ~@2 [f2,c3,a3,e4]@3 [f2,c3,a3,c4,e4] ~@2 [f2,c3,a3,c4,e4] ~@2 [f2,c3,a3,e4]@3 ~@4 [a3,e4]@10 ~@2 [e3,a3,c4,e4]@5 ~@3 [e3,a3,c4,e4] ~@3 c4@3 ~@3 [g3,c4,e4]@3 ~@3 c4@3 ~@2 [g3,e4] [e3,c4] ~ [e3,g3,c4,e4] ~@2 [f3,a3,c4,e4]@10 ~@2 [f3,a3,c4,e4]@20 ~@4 [f3,a3,c4,e4]@7 ~@5 [e3,a3,c4,e4]@10 ~@2 [e3,a3,c4,e4]@9 ~@3 [e3,g3,c4,e4]@9 ~@3 [e3,g3,c4,e4]@7 ~@23 c4@10 ~@2 [a3,c4,e4]@3 ~@3 [f3,a3,c4,e4]@10 ~@3 c4@3 ~@3 [e3,e4]@3 ~@3 e3@10 ~ [e3,g3,c4,e4]@4 ~@2 [e3,g3,c4,e4]@3 ~@3 [e3,g3,c4,e4]@4 ~@3 c4@2 ~@3 [f3,a3,c4,e4]@2, ~@10 [f2,a3,e4]@4 ~@17 c4 ~@8 c4 ~@5 [e3,c4]@10 ~@14 [e3,g3,e4]@4 ~@2 e3@4 ~@2 [e3,g3,e4]@4 ~@104 a3@28 ~@26 a3@2 ~@4 [a3,c4,e4]@9 ~@29, ~@47 f4 ~@142 c4@9 ~@46 c4 ~@42, ~@190 f3@4 ~@2 f3@22 ~@2 f3@5 ~@13 [e3,a3,e4]@4 ~@38 [e3,g3,e4]@3 ~@5, ~@191 e4@8 ~@3 e4@16 ~@70]/6", // Fmaj7 C Fmaj7 A5 Am C Fmaj7 Am …
BF: "[~@5 [c4,e4]@2 ~@4 e4@15 ~@2 [f3,a3]@4 ~@2 [f3,a3,c4,e4]@4 ~@2 [f3,g3,a3,c4,e4]@3 ~@3 [e3,a3,c4,e4]@11 ~@2 [e3,a3,c4,e4]@10 ~@3 [e3,g3,c4,e4]@11 ~@3 [e3,g3,c4,e4]@10, ~@2 [f3,a3]@2 ~ [f3,a3,c4]@8 ~ e4 ~@33, ~@28 c4 ~@67]/2", // C F Fmaj7 Am C F
BG: "[~@6 [f3,a3,c4,e4]@151 ~@35]/4", // Fmaj7
})).s("gm_acoustic_guitar_steel").gain(0.32)
// chords · acoustic guitar steel · "Guitar 2"
const acoustic_guitar_steel_2 = note(`<
~@50 A@2 ~@2 B@2 ~@11 A@2 ~@2 B@2 ~@9 C D@2 E@2 F ~ G ~@11 H I ~@2 H J K@3 L M ~@8 N O P ~@9 Q R S ~@2 T U@2 ~ V@3 W ~
X@4 ~@2
>`.pickRestart({
A: "[~@41 f4@11 ~ [a4,e5]@30 a3@6 b3@6 ~]/2", B: "[~@41 f4@11 ~ [a4,e5]@30 ~@13]/2",
C: "~@29 d4@17 ~@2, ~@17 c5@24 ~@7, ~@23 b3@25",
D: "[~@32 c5@9 ~@7, ~@23 c4@12 ~@13, ~@52 e4@21 ~@23, ~@58 g4@19 ~@19]/2",
E: "[~@11 a3@2 ~@4 e4@7 ~@8, ~@45 c4@25 ~@26]/2", F: "~@16 a3@3 ~@5, ~@20 a4@25 ~@3, ~@13 c5@11",
G: "~ [a4,e5]@29 ~@18", H: "~@36 f4@11 ~", I: "[a4,e5]@5 a3 b3 ~", J: "[a4,e5]@5 ~@3",
K: "[~@31 g4@12 ~@2 a4@47 [a4,d5]@3 [d4,a4,d5,g5]@16 ~@3 e5 ~@28 a4, ~@92 f#5@19 ~@33, ~@92 d4 ~@51]/3", // D5 Dsus4
L: "~@2 [d4,d5]@9 ~@37", M: "~@18 [g4,c5,f#5] ~@2 [g4,c5,f#5]@2 ~@4 g4@6 [c5,e5]@13 ~@2", N: "~@23 [a3,a4,c5]",
O: "~ c5 ~@10", P: "~@25 [c4,c5]@4 ~@5 a4@2 ~@12", Q: "~@23 c5", R: "~@4 c5@7 ~@37", S: "~@8 a4@3 ~@6 a4 ~@6",
T: "~@5 e5",
U: "[~@10 [c4,c5]@4 ~@32 a4@10 ~@2 [e4,a4,c5,e5]@5 ~@7 c5@4 ~@2 [g4,c5]@4 ~@2 c5@4 ~@2 c5 ~@7, ~@46 f5 ~@49]/2", // C Am C5
V: "[~@23 e5@4 ~@20 c5@2 ~ e4@2 ~@16 c5 ~@3, ~@50 e5 ~@21, ~@100 c5 ~@43]/3", W: "~@4 [c5,e5]@2 ~@4 e5@15 ~@23",
X: "[~@5 [f4,a4,c5,e5]@151 ~@36]/4", // Fmaj7
})).s("gm_acoustic_guitar_steel").gain(0.32).pan(0.6)
// chords · electric guitar muted · "Guitar 4"
const electric_guitar_muted = note("<~@121 A B A B A B A B A B A B A B ~@17>".pickRestart({
A: "~@10 [d3,e3,f3] ~@2 [b2,c3,d3] ~@2 [e3,f3,g3] ~@2 [b2,c3,d3] ~@14 [e3,f3,g3] ~@2 [c3,d3] ~@2 [e3,f3,g3] ~@2 [b2,c3,d3] ~@4", // Dm Bm Em Bm Em Csus2 Em Bm
B: "~@4 [e3,f3,g3] ~@5 [e3,f3,g3] ~@2 [c3,d3] ~@5 [e3,f3,g3] ~@2 [c3,d3,e3] ~@5 [e3,f3,g3] ~@2 [c3,d3,e3] ~@16", // Em Csus2 Em C Em C
})).s("gm_electric_guitar_muted").gain(0.17).pan(0.4)
// other · overdriven guitar · "Solo Guitar 1"
const overdriven_guitar = note("<~@112 A@2 B@2 C D E@4 ~@16 F@5 G@5 ~@4>".pickRestart({
A: "[~@46 e4@18 ~@6 a4@3 g4@3 e4@3 d4@3 c4@3 a3 ~@2 d4@3 c4@3 a3@2]/2",
B: "[~ g3@3 f3@9 ~@15 a4@6 c5@3 ~@3 c5@2 ~@4 c5@10 ~@2 c5@6 a4@3 ~@3 a4@10 ~@2 c5@6 ~@3 c5@5]/2",
C: "~@2 g4@5 f4@3 g4@10 ~@11 e4@3 a4@3 g4@3 e4@3 d4@3 c4@2",
D: "~ a3 ~@2 c4@6 a3@3 g3@3 e3@3 g3@3 a3@6 c4@3 a3@3 c4@4 ~@2 c4@5 ~ g3@2",
E: "[~@4 a4@3 g4@3 e4@3 d4@3 c4@3 a3 ~@2 d4@3 c4@3 a3@3 g3@3 f3@7 ~@5 a3@5 ~ c4@3 e4@2 ~ d4@3 c4@3 a3@3 c4@3 d4@3 e4@3 g4@3 e4@3 g4@3 a4 ~@2 c5@6 e5@6 d5@3 c5@3 d5@3 c5 ~@2 c5 ~@2 g5@8 ~ g5@3 e5 ~@2 e5@3 d5@3 c5@3 a4@2 ~ c5@24 ~@26]/4",
F: "[~@46 a4@30 c5@3 ~@3 d5@3 a4@6 ~@3 a4@8 ~@4 a4@22 ~@2 d4@12 e4@24 g4@12 a4@5 ~@8 c5@31 ~@4 b4@14]/5",
G: "[~@4 c5@18 b4@17 ~ c5@18 b4@17 ~ c5@12 d5@18 ~ c5@13 b4@14 d5@15 c5@66 ~@25]/5",
})).s("gm_overdriven_guitar").gain(0.48).pan(1)
// other · overdriven guitar · "Solo Guitar 2"
const overdriven_guitar_2 = note("<~@140 A@3 B@3 C@2 ~@4>".pickRestart({
A: "[~@35 d4@7 ~@4 e4@19 ~@5 g4@10 ~@3 a4@8 ~@3 c5@30 ~@6 b4@14]/3",
B: "[~@4 c5@16 ~@3 b4@14 ~@3 c5@15 ~@3 b4@15 ~@3 c5@11 ~@2 d5@15 ~@3 c5@10 ~@3 b4@11 ~@3 d5@10]/3",
C: "[~@3 c5@31 ~@14]/2",
})).s("gm_overdriven_guitar").gain(0.48).pan(0)
// other · recorder · "Recorder 1"
const recorder = note(`<
~@3 A B C D E F G H I@2 J K L M N O P B Q R S T U V W X Y@2 Z AA@2 Z W AB C AC AD ~@112
>`.pickRestart({
A: "g3@2 a3 ~ a3@11 ~", B: "a3@23 g#3@25", C: "g3 f#3", D: "f3@47 ~", E: "a3@7 ~@5 a3@35 ~", F: "c4 d4",
G: "f4@23 a3@19 b3@5 ~", H: "c4 b3", I: "[d4@9 ~@3 d4@24 ~@11 c4@24 ~ d4@24]/2", J: "f4@3 g4 a4@4",
K: "c4@23 ~ d4@24", L: "f3 ~", M: "a3@24 g#3@23 ~", N: "g3@24 f#3@23 ~", O: "f3@7 ~", P: "g3@6 a3@2 ~@4 a3@25 ~@11",
Q: "g3@23 f#3@24 ~", R: "f3@43 ~@5", S: "g3@6 a3@3 ~@4 a3@22 ~@13", T: "c4@23 d4@22 ~@3",
U: "d4@11 ~ c4@5 b3@6 ~ c4@18 d4@6", V: "e4@23 d4@25", W: "g3@3 a3 ~@2 a3@12 ~@6", X: "c4@23 d4@24 ~",
Y: "[f4@24 a3@18 b3@5 c4@25 d4@24]/2", Z: "f3@37 ~@11", AA: "[a3@24 g#3@23 g3@24 ~ f#3@24]/2", AB: "a3 g#3", AC: "f3",
AD: "g3@7 a3 ~@5 a3@24 ~@11",
})).s("gm_recorder").gain(0.24).pan(0.9)
// other · recorder · "Recorder 2"
const recorder_2 = note("<~@4 A@2 B C D E F G H I J K ~@4 L@2 M N ~@4 O P Q R A@2 S@2 A@2 T U ~@112>".pickRestart({
A: "[e4@71 d4@25]/2", B: "c4@43 ~@5", C: "g4@3 a4 ~@2 a4@12 ~@6", D: "g4@23 a4@24 ~",
E: "c5@12 a4@8 ~@3 a4@19 g4@5 ~", F: "g4@11 ~ g4@12", G: "b4@6 a4@2 ~@4 a4@23 ~@13",
// … 125 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.