0:00/0:00
// Southern Man — Neil Young
// 82 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 113 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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(`<
A@2 B C D E F G H E F G H I B C D J K E L M N O P Q R S T U V I B C D I B C D I B C D I B C D I B C D I B C D I B C D
I B C D E F G H E F W H I B X D J K E L M N Y Z AA R S T U V I B C D I B C D I B X D I B X D I B C D I B AB@2
>`.pickRestart({
A: "[~@32 d2@2 a1 ~ c2@2 ~@2 c2@2 d2 ~ a1 ~ d2@6 c2 ~@3 d2@3 ~ d2@2 ~@2, ~@31 a1@2 ~@31]/2",
B: "bb1@3 ~ bb1@2 ~@6 g1@10 ~@2 g1@5 ~@3", C: "d2@2 c2@2 a1@3 ~ c2@2 ~ d2@2 ~ d2@4 ~ a1 c2@2 ~@2 d2@5 ~@3",
D: "bb1@3 ~ bb1@2 ~@6 g1@10 ~@2 g1@4 ~@4", E: "d2 ~@3 d2@11 ~ d2 ~@3 d2@11 ~", F: "c2 ~@3 c2@11 ~ c2 ~@3 c2@11 ~",
G: "bb1 ~@3 bb1@11 ~ bb1 ~@3 bb1@11 ~", H: "g1 ~@3 g1@11 ~ g1 ~@3 g1@10 ~@2",
I: "d2@2 a1 ~ c2@2 ~@2 c2@2 d2 ~ a1 ~ d2@6 c2 ~@3 d2@3 ~ d2@2 ~@2, a1 ~@31", J: "d2 ~@3 d2@11 ~ d2 ~@3 d2@7 ~ d2@4",
K: "bb1 ~@3 bb1@12 g1 ~@3 g1@11 ~", L: "bb1 ~@3 bb1@11 ~ g1@2 ~@2 g1@11 ~", M: "d2@2 ~@2 d2@11 ~ d2 ~@3 d2@9 ~@3",
N: "bb1 ~@3 bb1@11 ~ g1 ~@3 g1@10 ~@2", O: "[a1,gb8] ~@3 a1@12 a1@8 ~@4 e2@4, ~@3 a1",
P: "a2@2 ~@2 a2@12 a2@7 ~@5 e2@4, ~@24 a2@7 ~", Q: "a1@2 ~@2 a1@8 a1@8 a1@7 ~ a1@3 ~",
R: "a1 ~@3 a1@8 a1@8 ~@6 e2@2 a1@3 ~, ~@5 a1@2 ~, ~@6 a2 ~", S: "d2@4 a1@3 ~ d2@2 ~@2 d2@11 ~ d2@7 ~",
T: "bb1@2 ~@2 bb1@3 ~@5 g1@16 ~@4", U: "d2@4 a1@3 ~ c2 ~@3 d2@12 ~@8", V: "bb1 ~@3 bb1@5 ~@3 g1@15 ~@5",
W: "bb1 ~@3 bb1@12 bb1 ~@3 bb1@11 ~", X: "d2@2 c2@2 a1@2 ~@2 c2@2 ~ d2@2 ~ d2@4 ~ a1 c2@2 ~@2 d2@5 ~@3",
Y: "a1 ~@3 a1@12 a1@8 ~@4 e2@4, ~@3 a1", Z: "a2@2 ~@2 a2@11 ~ a2@7 ~@5 e2@4, ~@24 a2@7 ~",
AA: "a1@2 ~@2 a1@8 a1@8 a1@8 a1@3 ~", AB: "[d2@57 ~@7]/2",
})).s("gm_fretless_bass").gain(0.46)
// chords · piano
const piano = note(`<
~ A B C D E F G H I J K L A B C D M N O P Q R S T U V W X Y Z AA@2 AB AC AD@2 AE AF AA@2 AG AC AD@2 AE AF AA@2 AG AC
AA@2 AG AC AD@2 AH AF AI@2 AG AC E F G H I J K L AJ B C D M N O P Q AK S T AL@8 AM@4 AN@8 AO@6 AP@4
>`.pickRestart({
A: "[f3,a3,d4,f4]@3 ~ [a3,c4,f4] ~@3 [a3,c4] ~ [a3,d4,f4]@2 f3 ~ [a3,d4,f4]@4 f3 ~ [a3,c4,f4]@2 ~@2 [a3,f4]@2 ~@2 f3@3 ~, ~@8 f4@2 ~@14 c4@7 ~, ~@26 [a3,d4,f4]@5 ~", // Dm F Am Dm F Dm
B: "[bb2,f3,bb3,d4]@3 ~ [bb2,f3,bb3]@2 ~@6 [g2,g3,bb3,d4]@12 [g3,bb3,d4]@2 g2 ~@5, ~@4 d4 ~@27", // Bb Bb5 Gm
C: "[d3,a3,d4,f4]@4 [a3,c4,f4] ~@3 [a3,f4]@2 [a3,d4,f4]@2 d3 ~@5 d3@2 [g3,c4] ~@3 [g3,c4,f4]@2 ~@2 d3@3 ~, ~@8 c4@4 ~@2 [a3,d4,f4]@6 f4@2 ~@4 [a3,d4,f4]@5 ~", // Dm F Dm C5 Csus4 Dm
D: "[f3,bb3,d4]@3 ~ [bb2,f3,d4]@2 ~@6 [g2,g3,bb3,d4]@12 [g2,g3,bb3,d4] ~ [g3,bb3,d4] ~@5, ~@3 bb3@2 ~@27", // Bb Gm
E: "[a3,d4,f4]@2 a3 ~ a3!2 ~ [a3,d4,f4], d3@3 a3 ~@2 a3 ~, ~@2 [d4,f4]@3 [d4,f4]@2 ~, ~@7 d3@6 d3@3", // Dm
F: "~@2 [a3,f4]@3 [a3,d4,f4]@3 [a3,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@3, c3, ~ c4@4 ~@3, ~ d4", // Dm F
G: "~@2 [bb3,d4,f4]@3 [bb3,d4,f4]@3 ~@4 [bb3,d4,f4]@4, bb2@5 bb2@3, ~@2 [bb3,d4,f4] ~", // Bb
H: "~@2 [g3,c4,f4]@3 ~@3 [g3,b3,f4]@3 ~@3 g2@2, g2@5 d4@7 ~@4, ~@5 [g3,f4]@3 ~@4 [g3,b3,d4,f4]@4, ~@6 g2@5 g2@3 ~@2", // Csus4 G7
I: "a3 ~ [d4,f4]@2 ~ [d4,f4]@3 f4@2 ~ f4@3 [d4,f4]@2, [d3,f3], ~@2 a3@3 a3@3, ~@4 d4@3 ~, ~@11 c4@5", // Dm
J: "~@2 [a3,f4] ~@2 [g3,f4]@3 ~@2 c3@2 ~@2 c3@2, ~@4 d4 ~@5 c4@14 [g3,c4,f4]@8, ~@16 [g3,d4,f4]@9 ~@7", // Dm G7 Csus4 G7
K: "~@2 f4@2 ~ f4@3 ~@6 bb2@2, bb2@2 bb2@3 bb2@2 ~, ~ [bb3,d4]@3 [bb3,d4,f4]@2 [bb3,d4,f4]@2, ~@5 c4@11", // Bb
L: "~@4 [g3,c4,f4]@4 g2@2 ~@2 g2@4 [g3,b3,f4]@4 g2@2 [g3,b3,d4,f4]@6 g2 ~@3, g2@4 ~ [g3,d4,f4]@3 ~@8", // Csus4 G7
M: "a3@12 a3@4 ~@8 [a3,d4,f4]@7 ~, f4@3 ~, d4@2 [a3,d4] ~, ~@20 d3@11 ~", // Dm D5
N: "[bb2,f3,bb3,d4]@15 ~ [g2,g3,bb3,d4] ~@3 [g2,g3,bb3,d4]@11 ~", // Bb Gm
O: "~@24 [a3,d4,f4]@7 ~, [a3,d4,f4]@3 ~, ~@20 d3@11 ~", P: "[bb2,f3,bb3,d4]@8 [g2,g3,bb3,d4] ~ [g2,g3,bb3,d4]@6",
Q: "~@12 [a3,d4,f4]@8 [d2,a3,d4,f4]@11 ~, [a3,d4,f4]@3 ~@5, ~@4 d3@27 ~", // Dm
R: "[bb2,f3,bb3,d4] ~@3 [f3,bb3,d4]@11 ~ [g2,g3,d4] ~@3 [g2,g3,bb3,d4]@12, ~@4 bb2@3 ~@9 bb3@2 ~@14", // Bb G5 Gm
S: "[a2,e3,g3,db4,e4]@2 [e3,a3]@3 ~@2 [a3,db4,e4], ~@4 [a2,db4,e4]@9 a2@3, ~@5 a3!2 ~, ~@11 e3@5", // A7 A5 A
T: "[a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@4 [a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@3 ~", // A
U: "[a3,db4,e4]@12 [a3,db4,e4]@8 ~@8 [a2,a3,db4,e4]@3 ~, a2@7 ~, e3@24 e3@7 ~, ~@5 [a3,db4,e4]@2 ~", // A
V: "[a2,e3,a3,db4,e4]@2 [a2,e3,a3,db4,e4]@2 [a2,e3,a3,db4,e4]@2 [a2,e3,a3,db4,e4] ~", // A
W: "[d3,a3,d4,f4]@3 ~ [g3,c4,f4]@2 ~@6 d3@8 ~@4 [a3,d4,f4]@7 ~, ~@3 [a3,d4,f4]@3 ~@2, ~@20 d3@11 ~", // Dm Csus4 Dm
X: "[bb2,f3,bb3,d4]@7 ~@5 [g2,g3,bb3,d4]@12 ~@8", // Bb Gm
Y: "[a3,d4,f4]@3 ~ [g3,c4,f4] ~@7 d3@8 ~@4 [a3,d4,f4]@4 ~@4, ~@3 [a3,d4,f4]@3 ~@2, ~@5 d3@2 ~", // Dm Csus4 Dm
Z: "[bb2,f3,bb3,d4]@4 ~@2 [g2,g3,bb3,d4]@7 ~@3", // Bb Gm
AA: "[[d3,a3,d4,f4]@4 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [a3,d4,f4]@2 d3@2 [a3,d4,f4]@4 d3 ~ [g3,c4,f4]@2 ~@2 f4@2 ~@2 d3@2 a3 ~@5 [f3,bb3]@4 ~@4 g3@2 ~@10 [g3,bb3,d4]@2 ~ d4 d4@4, ~@24 [g3,c4]@7 bb2@8 ~@5 [g2,bb3,d4]@6 g2@9 [g3,bb3]@5, ~@26 [a3,d4,f4]@5 ~@5 d4@7 ~@5 g3@4 [g3,bb3,d4,g4]@4 g4@8, ~@54 a4@9 ~, ~@58 f4@5 ~]/2", // Dm F Dm Csus4 Bb5 Gm C5 Gm …
AB: "[a3,d4,f4]@2 ~@2 [a3,c4,f4] ~@3 [a3,f4]@2 [a3,d4] ~ d3@2 [a3,d4,f4]@4 d3 ~ [g3,c4,f4]@2 ~@2 f4@2 [a3,d4,f4]@2 ~@2 a3 ~, d3 ~ c4 ~@3 [g3,c4] d3, ~@5 f4 ~@10", // Dm F Dm D5 Dm Csus4 Dm C5
AC: "~@8 bb2@2 ~@2 [g2,g3,bb3,d4]@7 ~@7 d4 ~ d4@4, bb2@8 ~@11 g2@5 [g2,g4]@8, ~@4 [f3,bb3,d4]@7 ~@9 [g3,bb3,d4,g4]@6 [g3,bb3,f4]@5 ~, ~@22 a4@9 ~", // Gm G Bb Gm Gm7
AD: "[[a3,d4,f4]@3 ~ [g3,c4,f4]@4 [g3,c4,f4]@2 [a3,d4,f4]@2 d3 ~ [a3,d4,f4]@4 d3 ~ [g3,c4,f4]@2 ~@6 [a3,d4,f4]@3 ~ [f3,bb3,d4]@2 ~@6 bb2@3 ~ [g2,g3,bb3,d4]@6 g2@2 [g3,bb3,d4,g4]@2 a4@2 ~@4 [g3,d4]@3 ~, ~@24 [g3,c4]@7 ~@5 [f3,bb3,d4]@7 ~@13 [bb3,g4]@7 ~, ~@24 f4@4 ~@30 f4@5 ~, ~@26 d3@5 bb2@6 ~@19 [g3,d4]@4 ~@4]/2", // Dm Csus4 Dm Csus4 Dm Bb Gm G5 …
AE: "d3@4 [a3,d4,f4]@3 ~ [g3,c4,f4] ~@5 [a3,d4,f4]@4 d3 ~ [g3,c4,f4]@3 ~ f4@2 [a3,d4,f4]@5 bb2, ~@5 [a3,d4,f4]@2 ~@5 [g3,c4]@4, ~@6 d3@3 ~@7", // Dm Csus4 Dm Csus4 Dm C5
AF: "[f3,bb3,d4]@3 ~@5 bb2@4 [g3,bb3,d4]@8 [g3,bb3,d4]@4 ~@4 [g3,bb3,d4,g4]@2 ~@2, ~ [f3,bb3,d4]@2 g2@3 [g3,bb3,d4,g4] ~, ~@13 [g2,a4]@2 ~", // Bb Gm Bb Gm Gsus2
AG: "[a3,d4,f4]@2 ~@2 [a3,c4,f4] ~@3 [a3,f4]@2 [d4,f4]@2 d3@2 [a3,d4,f4]@4 d3 ~ [g3,c4,f4]@2 ~@2 f4@2 [a3,d4,f4]@2 ~@2 a3 ~, d3 ~ c4 ~@5, ~@10 a3 ~@13 [g3,c4]@4 d3@4", // Dm F Dm Csus4 Dm C5
AH: "d3@4 [a3,d4,f4]@3 ~ [g3,c4,f4] ~@5 [a3,d4,f4]@4 d3 ~ [g3,c4,f4]@3 ~ f4@2 [a3,d4,f4]@5 bb2, ~@10 [a3,d4,f4]@4 ~@10 [g3,c4]@7 ~, ~@6 d3@3 ~@7", // Dm Csus4 Dm Csus4 Dm C5
AI: "[[d3,a3,d4,f4]@4 [a3,c4]@3 ~ [a3,c4,f4]@2 [a3,d4,f4]@2 d3@2 [a3,d4,f4]@4 d3 ~ [g3,c4,f4]@2 ~@2 f4@2 ~@2 d3@2 a3 ~@5 [f3,bb3]@4 ~@4 g3@2 ~@10 [g3,bb3,d4]@2 ~ d4 d4@4, ~@4 f4 ~@19 [g3,c4]@7 bb2@8 ~@5 [g2,bb3,d4]@6 g2@9 [g3,bb3]@5, ~@26 [a3,d4,f4]@5 ~@5 d4@7 ~@5 g3@4 [g3,bb3,d4,g4]@4 g4@8, ~@54 a4@9 ~, ~@58 f4@5 ~]/2", // Dm Am F Dm Csus4 Bb5 Gm C5 …
AJ: "[f3,a3,d4,f4]@3 ~ [a3,c4,f4] ~@3 [a3,c4,f4] ~ [a3,d4,f4]@2 f3 ~ [a3,d4,f4]@4 f3 ~ [a3,c4,f4]@2 ~@2 [a3,f4]@2 ~@2 f3@3 ~, gb9 ~@23 c4@7 ~, ~@26 [a3,d4,f4]@5 ~", // Dm F Dm F Dm
AK: "[bb2,f3,bb3,d4] ~@3 [f3,bb3,d4]@11 ~ [g2,g3,d4] ~@3 [g2,g3,bb3,d4]@12, ~@2 bb2@2 ~@4 bb3 ~@7", // Bb G5 Gm
AL: "[[a3,db4,e4]@11 [a3,db4,e4]@8 ~@8 [a2,a3,db4,e4]@3 ~ [a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@4 ~@4 [d3,a3,d4,f4]@3 ~ [g3,c4,f4]@2 ~@6 d3@8 ~@4 [a3,d4,f4]@7 ~ [bb2,f3,bb3,d4]@7 ~@5 [g2,g3,bb3,d4]@12 ~@8 [a3,d4,f4]@3 ~ [g3,c4,f4] ~@7 d3@8 ~@4 [a3,d4,f4]@4 ~@4 [bb2,f3,bb3,d4]@8 ~@4 [g2,g3,bb3,d4]@14 ~@7 d3@3 [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ d3@2 ~ [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 f4@2 ~@2 d3@2 a3 ~@5 [f3,bb3]@4 ~@4 g3@2 ~@2 g3@3 ~ [g3,bb3,d4,g4]@3 ~ [g3,bb3,d4]@2 ~ d4 d4@4 [d3,a3,d4,f4], a2@27 ~@191 a3@3 ~@21 g2@13 ~, e3@23 e3@7 ~@53 d3@11 ~@53 d3@8 ~@63 [d4,f4]@5 ~@4 d4@7 ~@12 a4@9 ~, ~@19 [a3,db4,e4]@8 ~@48 [a3,d4,f4]@12 ~@52 [a3,d4,f4]@12 ~@40 [a3,d4,f4]@4 ~@7 [a3,d4,f4]@2 ~@11 [g3,c4]@7 ~ bb2@8 ~@4 [g2,bb3,d4]@8 ~@4 g4@8 ~, ~@249 f4 [g3,bb3]@5 ~]/8", // A Dm Csus4 Dm Bb Gm Dm Csus4 …
AM: "[~@3 [a3,c4,f4] ~@3 [a3,c4]@3 a3 d3@2 ~ [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 [g3,c4]@3 ~ d3@3 a3 ~@8 bb2@2 ~@2 [g2,g3,bb3,d4]@7 ~ g4@3 ~@4 d4 d4@4 [a3,d4,f4]@3 ~ [g3,c4,f4]@4 [g3,c4,f4]@3 ~ d3 ~@2 [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 f4@3 ~ [a3,d4,f4]@3 ~ [f3,bb3,d4]@2 ~@6 bb2@3 ~ [g2,g3,bb3,d4]@7 ~ [g3,bb3,d4,g4]@2 a4@2 [g3,d4]@3 ~ [g3,d4]@3 ~@2, ~@7 f4@2 ~ [d4,f4]@2 ~@11 f4@2 ~ [a3,d4,f4]@2 ~@3 bb2@8 ~@11 g2@4 a4@9 ~@59 f4@5 ~, ~@35 [f3,bb3,d4]@7 ~@9 [g3,bb3,d4]@7 [g3,bb3,f4]@5 ~@11 [a3,d4,f4]@2 ~@11 [g3,c4]@7 bb2@6 ~@14 g2@2 ~@12, ~@55 [g2,g4]@8 ~@27 d3@5 ~@4 [f3,bb3,d4]@7 ~@13 [bb3,g4]@7 ~@2]/4", // F Am Dm Csus4 C5 Gm Dm Csus4 …
AN: "[d3@3 [a3,d4,f4]@3 ~ [g3,c4,f4] ~@6 [a3,d4,f4]@4 d3 [g3,c4,f4]@3 ~ f4@3 [a3,d4,f4]@4 bb2 [f3,bb3,d4]@3 ~@5 bb2@4 [g3,bb3,d4]@8 [g3,bb3,d4]@4 ~ g4@2 ~ [g3,bb3,d4,g4]@2 ~@3 d3@3 [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ d3@2 ~ [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 f4@2 ~@2 d3@2 a3 ~@5 [f3,bb3]@4 ~@4 g3@2 ~@2 g3@3 ~ [g3,bb3,d4,g4]@3 ~ [g3,bb3,d4]@2 ~ d4 d4@4 [a3,d4,f4]@2 ~@2 [a3,c4,f4] ~@3 [a3,c4]@3 [a3,d4] d3@2 ~ [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 [g3,c4]@3 ~ d3@3 a3 ~@8 bb2@2 ~@2 [g2,g3,bb3,d4]@7 ~ g4@3 ~@4 d4 d4@4 [a3,d4,f4]@3 ~ [g3,c4,f4]@4 [g3,c4,f4]@3 ~ d3 ~@2 [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 f4@3 ~ [a3,d4,f4]@3 ~ [f3,bb3,d4]@2 ~@6 bb2@3 ~ [g2,g3,bb3,d4]@7 ~ [g3,bb3,d4,g4]@2 a4@2 [g3,d4]@3 ~ [g3,d4]@3 ~@2, ~@10 [a3,d4,f4]@4 ~@9 [g3,c4]@8 ~@4 [f3,bb3,d4]@8 ~@12 [g3,bb3,d4]@4 ~@4 [a3,d4,f4]@4 ~@7 [a3,d4,f4]@2 ~@11 [g3,c4]@7 ~ bb2@8 ~@4 [g2,bb3,d4]@8 ~@4 g4@8 ~@8 f4@2 ~ f4@2 ~@11 f4@2 ~@97 f4@5 ~, ~@11 d3@7 ~@25 g2@14 ~ [g2,a4]@4 ~@28 [d4,f4]@5 ~@4 d4@7 ~@12 a4@9 ~@55 a4@9 ~@65, ~@90 a3@3 ~@21 g2@13 ~@32 bb2@8 ~@11 g2@5 [g2,g4]@8 ~@27 d3@5 ~@4 [f3,bb3,d4]@7 ~@13 [bb3,g4]@7 ~@2, ~@121 f4 [g3,bb3]@5 d3@4 ~@23 [a3,d4,f4]@2 ~@7 [f3,bb3,d4]@7 ~@9 [g3,bb3,d4]@7 [g3,bb3,f4]@5 ~@11 [a3,d4,f4]@2 ~@11 [g3,c4]@7 bb2@6 ~@14 g2@2 ~@12]/8", // Dm Csus4 Dm Csus4 Dm Bb Gm F …
AO: "[d3@3 [a3,d4,f4]@3 ~ [g3,c4,f4] ~@6 [a3,d4,f4]@4 d3 [g3,c4,f4]@3 ~ f4@3 [a3,d4,f4]@4 bb2 [f3,bb3,d4]@3 ~@5 bb2@4 [g3,bb3,d4]@8 [g3,bb3,d4]@4 ~ g4@2 ~ [g3,bb3,d4,g4]@2 ~@3 d3@3 [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ d3@2 ~ [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 f4@2 ~@2 d3@2 a3 ~@5 [f3,bb3]@4 ~@4 g3@2 ~@2 g3@3 ~ [g3,bb3,d4,g4]@3 ~ [g3,bb3,d4]@2 ~ d4 d4@4 [a3,d4,f4]@2 ~@2 [a3,c4,f4] ~@3 [a3,c4]@3 a3 d3@2 ~ [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 [g3,c4]@3 ~ d3@3 a3 ~@8 bb2@2 ~@2 [g2,g3,bb3,d4]@7 ~ g4@3 ~@4 d4 d4@4 [a3,d4,f4], ~@10 [a3,d4,f4]@4 ~@9 [g3,c4]@8 ~@4 [f3,bb3,d4]@8 ~@12 [g3,bb3,d4]@4 ~@4 [a3,d4,f4]@4 ~@7 [a3,d4,f4]@2 ~@11 [g3,c4]@7 ~ bb2@8 ~@4 [g2,bb3,d4]@8 ~@4 g4@8 ~@8 f4@2 ~ [d4,f4]@2 ~@11 f4@2 ~@39, ~@11 d3@6 ~@26 g2@14 ~ [g2,a4]@4 ~@28 [d4,f4]@5 ~@4 d4@7 ~@12 a4@9 ~@55 a4@9 ~, ~@90 a3@3 ~@21 g2@13 ~@32 bb2@8 ~@11 g2@5 [g2,g4]@8 ~, ~@121 f4 [g3,bb3]@5 d3@4 ~@23 [a3,d4,f4]@2 ~@7 [f3,bb3,d4]@7 ~@9 [g3,bb3,d4]@7 [g3,bb3,f4]@5 ~]/6", // Dm Csus4 Dm Csus4 Dm Bb Gm F …
AP: "[~@3 [g3,c4,f4]@4 [g3,c4,f4]@3 ~ d3 ~@2 [a3,d4,f4]@4 d3 [g3,c4,f4]@2 ~@2 f4@3 ~ [a3,d4,f4]@3 ~ [f3,bb3,d4]@2 ~@6 bb2@3 ~ [g2,g3,bb3,d4]@7 ~ [g3,bb3,d4,g4]@2 a4@2 [g3,d4]@3 ~ [g3,d4]@3 ~ [d3,g3,c4,f4]@56 ~@9, ~@10 [a3,d4,f4]@2 ~@11 [g3,c4]@7 bb2@6 ~@14 g2@2 ~@6 f4@5 ~@65, ~@26 d3@5 ~@4 [f3,bb3,d4]@7 ~@13 [bb3,g4]@7 ~@66]/4", // Csus4 Dm Csus4 Dm Bb Gm G5 Dm7 …
})).s("gm_piano").gain(0.4)
// chords · electric guitar jazz · "GtrJazz"
const electric_guitar_jazz = note(`<
~ A B A B C D E F G H I@2 A B A B J K L M N O P Q R S T U T V W X Y Z AA AB@2 AC AD AE AF@2 AG AH AI AJ ~@3 AK AL AM
AN AO AP AQ AR AS AT@2 AU AV C D E F G H I@2 A B A B J K L M N O AW Q R S AX AY AZ BA BB@4 BC BD@3 BE BF BG BH BI BJ
BK BL BM BN ~@3 BO BP@2
>`.pickRestart({
A: "[d3,a3,d4]@17 ~@3 [d3,a3,d4] ~@3 g4@2 f4@2 ~@4", // D5
B: "[bb3,d4,f4]@3 ~ [bb3,d4,f4]@3 ~@5 [bb3,d4,g4]@11 ~ g4 ~ a4@3 ~@3, ~@24 [bb3,d4]@5 ~@3", // Bb Gm Bb
C: "a3@10 ~@3 [d4,f4]@3, [d4,f4]@13 ~@3, ~@5 a3@3", D: "~ c4@7, g3", E: "f4@5 f4@3, d4, bb3@3 ~@5",
F: "~@24 f4@7 ~, d4@16 d4@15 ~, ~@10 b3@21 ~", G: "[d4,f4] ~@2 a3, a3@3 ~, ~ [d4,f4]@3",
H: "~@7 d4, ~ [c4,f4]@7, ~@3 e4", // F5
I: "[~@4 d4@12 ~@16 g3@4 [b3,d4,f4]@5 ~ g3@6 d4@8 [d4,f4]@6 ~@2, bb3@16 d4@21 ~@27, ~@24 f4@12 ~@12 g4 ~@15]/2", // Bdim Dm
J: "[d4,f4]@18 ~@2 [a3,d4,f4] ~@5 [a3,d4,f4]@6", // Dm
K: "[bb3,d4,f4]@14 ~@2 [g3,d4,g4] ~@3 [g3,d4,g4] ~@3 [g3,d4,g4]@2 a4@4 ~@2", L: "~@10 [a3,d4,f4] ~@5 [a3,d4,f4]@16",
M: "d4@15 ~ [g3,d4] ~@3 g4@4 [g3,d4,g4] ~ a4@4 ~@2", N: "~@4 [d4,f4] ~@5 [d4,f4]@6 d4@15 ~",
O: "d4@15 ~ [g3,d4,g4] ~@3 [g3,d4,g4]@4 [g3,d4,g4] ~ a4@6", P: "[a2,e3,a3]@12 a2@8 ~@2 a2@6 [a2,a3]@3 ~, ~@5 a3@2 ~",
Q: "[a2,e3,a3]@4 [a2,a3]@4 [a2,a3]@3 ~ e3@2 [a2,e3]@2, ~@11 a2@3 ~@2, ~@3 a3", // A5 A A5
R: "[a2,e3]@4 ~ a2@2 ~ [e3,a3]@2 ~ a2@2 ~ [e3,a3]@2, ~@4 [e3,a3]@4 ~@5 a2@3", // A5
S: "[a2,e3,a3]@4 [e3,a3]@3 ~ [e3,a3]@2 ~ a2@2 ~ e3 ~, ~@7 a2@3 [e3,a3]@5 ~, ~@13 a2@2 ~", // A5
T: "c5@9 ~@3 [a3,d4,f4]@14 [a3,d4,f4] ~@5", U: "[bb3,d4,f4]@6 [d4,g4]@6 [d4,g4] a4 ~@2",
V: "[bb3,d4,f4]@11 ~ [d4,g4]@12 [d4,g4]@2 a4@2 ~@4", W: "d3@22 a2 ~ c3@2 d3 ~ f3@4",
X: "~@2 c4@4 ~ a3@6 ~ g3@10 ~@2 f3 ~ g3@3 ~",
Y: "g3@2 e3@2 g3@2 e3 g3@3 f3@2 g3@2 f3@2 g3@2 f3@2 g3@2 f3@2 g3 ~ a3@4 c4@2",
Z: "~@2 c4@2 ~@4 d4@5 d4@7 d4@4 ~@4 a4@4, ~@3 f4", AA: "d5@4 d5@4 d5@2 d5@4 d5@4 ~@2 f5@4 f5@3 ~ f5@4, ~@18 d5@7 ~@7",
AB: "[f5@2 e5@2 ~@2 e5@4 d5@2 ~ d5@7 d5@4 d5 ~ e5@2 ~@2 f5@4 e5 ~ d5 ~@5 f5@3 ~ e5@2 d5@2 e5@3 ~ f5@4 e5@2 d5 ~ e5@2, ~@39 e5@6 ~@19]/2",
AC: "f5@2 e5@2 d5 ~ f5@2 e5@2 d5 ~ f5@6 f5@4 f5@2 f5@4 e5@2 d5@2",
AD: "d4 c4 d4@3 ~ d4 c4 d4@4 d4 ~ d4@4 d4 c4 d4@3 ~ d4@4 d4@3 ~, ~@14 c4 ~@17", AE: "g4@6 g4@6 a4@12 a4@2 g4 e4@4 ~",
AF: "[e4@3 ~ f4@2 d4@12 ~ c4@2 c4@3 ~ c4@2 c4@2 ~ c4@4 a3@5 a3@5 g3@8 g3@4 a3@3 ~ g3@4]/2",
AG: "a4@6 a4@5 a4@6 ~ c5@4 a4 ~ c5@4 a4@3 ~", AH: "d5@6 d5@5 ~ f5@14 e5 ~ f5@3 ~",
AI: "f5@2 e5@2 ~@2 d5@13 ~ a4@6 c5@5 ~", AJ: "g4@6 a4@5 ~ f4@15 ~@5", AK: "~@26 a3 ~ c4 d4@2 c4",
AL: "d4 ~@2 c4@2 [c4,d4] a3 d4 c4 ~ d4 c4 a3 d4 ~ a3 d4 ~ a3 d4 [a3,c4] ~ d4 [a3,c4] d4 ~@2 d4 c4 a3 ~ a3, ~ c4@2 ~@11 c4@2 ~ c4@2 ~@6 c4@2 ~@3 d4@2, ~@2 a3@4 ~@3 a3@2 ~@15 a3@2 ~@4", // Csus2 Am
AM: "g4@6 a4@6 e4@5 ~ f4@6 d4@6 c4 ~", AN: "d4@3 ~ c4@4 c4@2 d4@2 a3 ~ a3@11 ~ g3 ~ a3@3 ~",
AO: "c4@3 ~ c4@3 ~ a3@4 g3@8 g3@3 ~ a3@7 ~",
AP: "~@2 a4@3 ~ a4@2 a4@2 ~ a4@2 a4@2 ~ a4@3 a4@3 a4@2 ~@2 c5 ~@2 a4@2 ~, ~@6 a4 ~",
AQ: "c5@5 c5@5 c5@8 c5@8 ~ d5@2 ~ e5 ~", AR: "f5@6 e5@2 d5@6 e5 ~ f5@6 e5@2 d5@6 ~@2", AS: "c5 ~",
AT: "[~@4 [d5,f5]@2 ~@10 [a4,d5]@3 ~@9 e5@10 ~@2 c5@2 ~@4 [c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [c5,d5] ~@5]/2", // Dm D5 Csus2
AU: "[c5,d5] ~@5 [c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [c5,d5]@2 ~@2 [c5,d5]@2 ~@2", // Csus2
AV: "[c5,d5]@3 ~@3 [c5,d5]@2 ~@4 g4@16 ~@4", AW: "[a2,e3,a3]@6 a2@4 ~ a2@3 [a2,a3]@2, ~@5 a3@2 ~",
AX: "d5@5 ~ d5@4 d5@2 d5 e5@3", AY: "f5@8 f5@3 ~ f5@8 f5@4 f5@2 f5@5 ~", AZ: "d5@11 ~ d5@7 d5@5 d5 ~ e5@6",
BA: "f5@6 f5@4 ~@2 g5@6 g5@6 g5@7 ~",
BB: "[g5@6 g5@5 ~ g5@6 g5@6 g5@5 ~ g5@6 g5@13 ~@2 c6@3 ~@2 c6 c6@4 ~ a5@10 ~@2 d5 ~ e5@2 f5@3 ~ d5 ~ e5@2 f5@2 d5@2 e5 f5@2 d5@2 e5@2 f5 ~@2 d5 e5 ~@2 f5@3 ~ g5@5 g5@5 ~@2 g5@2 f5@6]/4",
BC: "f5@2 e5@3 ~ d5@4 d5@2 f5 ~ e5@3 ~ d5@4 d5 ~ f5@2 e5@2 d5 ~ f5@2",
BD: "[~@2 e5@2 ~ e5@2 ~ f5@2 e5@2 d5 ~ c5@2 ~@2 c5@4 c5@2 c5@2 c5 ~ c5 ~ c5@4 a4 ~ c5@4 a4 ~ c5@4 a4@4 g4 ~@3 g4@4 g4@3 f4@5 g4@2 f4 ~ e4@2 f4@2 e4@2 d4@7 ~ d4@4 ~@2 d4@5 ~, ~@2 d5 ~@23 a4@3 ~@19]/3",
BE: "d4@3 ~ [f4,a4]@3 ~@3 [d4,f4,a4]@4 ~@2 [f4,a4]@4 ~@2 [f4,a4,d5]@4 ~@2 [f4,a4,d5]@4", // F Dm F Dm
BF: "~@2 [f4,a4,d5]@2 ~@4 [f4,d5]@5 ~ [a4,d5]@12 ~@6, ~@4 a4 ~@11", // Dm D5
BG: "~@2 [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ab4", // Csus2
BH: "~@2 [c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [c5,d5]@3 ~@3 [c5,d5]@2 ~@4", // Csus2
BI: "[c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [c5,d5]@3 ~@3 [c5,d5]@3 ~@3 [c5,d5]@3 ~@3 [c5,d5]@2", // Csus2
BJ: "~@2 [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ~ ab4 [g4,c5,d5] ~", // Csus2 Gsus4
BK: "~ [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ~@2 [c5,d5] ~@2", // Csus2
BL: "[c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [c5,d5]@2 ~@4 [ab4,c5,d5]@2 g4@3 ~ [c5,d5]@2 ~@2 [c5,d5]@2 ~@2", // Csus2 Dm7b5 Csus2
BM: "g5@3 g5@3 g5@3 g5@3 g5@2 g5@2", BN: "g5@7 ~", BO: "~@15 g5, ~@14 d5 ~, ~@29 f5@3", BP: "[a5@11 ~@5]/2",
})).s("gm_electric_guitar_jazz").gain(0.4)
// chords · electric guitar jazz · "GtrJazz" · soft notes
const electric_guitar_jazz_2 = note(`<
~@6 A B C ~ D E@2 ~@4 F ~ G H I J K L M N ~@10 O ~@26 A B C ~ D E@2 ~@4 F ~ G H I J P L M N ~@7 Q ~@7 R ~@12
>`.pickRestart({
A: "~ f4@7", B: "~@3 bb3@5", C: "g3@8 g3@12 g3@11 ~, f4@3 ~", D: "g3",
E: "[~@16 bb3@20 g3@5 ~@7 [b3,f4]@8 [g3,b3]@6 ~@2]/2", F: "a3@9 ~@7", G: "~@4 d4 ~@27", H: "[f3,bb3]@15 ~@17",
I: "~@16 [a3,f4]@15 ~", J: "bb3@15 ~@17", K: "~@12 a3@4 a3@4 e3@8 e3@3 ~, ~@3 e3@2 ~@3", L: "~@2 e3@2 e3 [e3,a3] ~@2",
M: "~@2 a3@2 ~@3 a2@3 [e3,a3]@4 ~@2", N: "~@5 a2@2 ~@9", O: "~@6 f5 ~@25", P: "~@3 a3!2 e3@2 e3, ~@3 e3@2 ~@3",
Q: "d5 ~@31", R: "g4@3 ~@29",
})).s("gm_electric_guitar_jazz").gain(0.25)
// chords · electric guitar muted · "GtrMuted"
const electric_guitar_muted = note(`<
~ A@2 B C D E F G ~@4 A@2 B H I J K L M N@3 O P Q R S T A@2 B C A@2 B H A@2 B H A@2 B H A@2 B H A@2 B H A@2 B H A@2 B
H D E F G ~@4 A@2 B H I J K L M N@3 O P Q R S T A@2 B H A@2 B H A@2 B H A@2 B H A@2 B H A@2 U ~
>`.pickRestart({
A: "[[f3,a3,d4]@21 ~@11 [f3,bb3]@9 ~@3 [g3,bb3,d4]@12 [g3,bb3,d4] ~@7, ~@31 d4@9 ~@24]/2", // Dm Bb5 Gm
B: "[d3,f3,a3]@16 [d3,f3,a3]@8 [d3,f3,a3]@7 ~", // Dm
C: "[f3,bb3,d4]@2 ~@2 [f3,bb3,d4] ~@7 [g3,bb3,d4]@12 [g3,bb3,d4]@4 ~@4", D: "[f3,a3,d4]",
E: "c4@2 c4 [g3,c4], g3@3 ~, ~ e4", F: "[bb3,d4] [bb3,d4,f4]",
G: "~@4 b3@6 [b3,d4]@6 g3@4 ~@4 d4@5 ~@3, g3@16 b3@13 ~@3, ~@2 d4 ~, ~@20 g3@9 ~@3", // Bm
H: "[f3,bb3,d4] ~ [f3,bb3,d4] ~@3 [g3,bb3,d4]@6 [g3,bb3,d4]@2 ~@2", // Bb Gm
I: "d3@20 ~@4 [a3,d4,f4]@7 ~, [a3,d4,f4]@3 ~, ~@20 d3@11 ~", J: "[bb3,d4]@2 [g3,bb3,d4] [f3,g3,bb3,d4], f3@3 ~",
K: "[d4,f4]@2 [d4,f4]@3 [a3,d4,f4]@2 [a3,d4,f4], a3@5 ~@3", L: "~@4 [bb3,d4,f4]@12 [g3,bb3,d4] ~@3 [g3,bb3,d4]@12",
M: "[a3,d4,f4] ~ [a3,d4,f4]@4 f4@6 ~@2 eb4@2, ~@3 [a3,d4]@5, ~@3 [c4,f4,a4]", // Dm D5 F
N: "[[bb3,d4,f4]@2 [bb3,d4,f4]@2 [g3,bb3,d4]@2 ~@2 [a2,e3,a3]@2 a3!2 [e3,a3] ~@2 e3 [a2,e3,a3,db4] [a2,e3,a3,db4]@2 a3@2 ~ [a3,e4] [a2,e3,a3,e4], ~@3 [g3,bb3,d4]@8 ~, ~@20 a2@7 a2@5 ~@6 [a2,e3,db4]@6 ~@4, ~@10 e3@2 ~ a3 a3@2 ~@5 a3 db4@2, ~@27 e3@3 ~@13 [a2,e3]@3 ~@2]/3", // Bb Gm A5 A A5 Gm A A5
O: "[a2,e3,a3,db4,e4]!4", // A
P: "[a2,e3,a3,db4,e4]@4 [a2,e3,a3,db4,e4]@4 ~@16 [a3,db4,e4]@5 ~@3, ~@2 [a3,db4,e4]!2 [a3,db4,e4]@2 ~@2, ~@10 [a2,e3]@4 [a2,e3]@6 [a2,e3]@9 ~@3", // A A5
Q: "[d3,f3,a3,d4]@5 ~@7 [d3,f3,a3,d4]@19 ~", R: "[bb2,f3,bb3,d4]@3 [g3,bb3,d4]@2 [g3,bb3,d4]@3, ~@3 g2@5",
S: "[d3,f3,a3,d4]@4 ~@8 [d3,f3,a3,d4]@19 ~", T: "[bb2,f3,bb3,d4]@5 ~ [g2,g3,bb3,d4]@6 ~@4", U: "[d3,a3,d4,f4]@15 ~",
})).s("gm_electric_guitar_muted").gain(0.35)
// chords · rock organ · "RockOrg"
const rock_organ = note("<~@5 A B C D E F G H ~@50 A B C I E F G H ~@42>".pickRestart({
A: "~@8 [c5,g5] ~ d5@4 ~@2 d5@7 ~ [c5,g5]@4 [a4,f5]@3 ~, ~@10 a5@2 ~@2 a5@9 ~@9", // C5 Dm
B: "~@4 [c5,g5]@5 ~ [d5,a5]@5 ~ [c5,g5]@8 f5@2 e5@4 ~@2, ~@24 a4 ~@7", // C5 D5 C5
C: "~@4 [c5,g5]@4 ~@2 [d5,a5]@4 ~@2 [d5,a5]@7 ~ [c5,g5]@4 f5@2 ~@2", // C5 D5 C5
D: "~@4 [c5,g5]@5 ~ [d5,a5]@4 ~@2 [d5,a5]@8 g5@2 f5@6, ~@24 c5 ~@7", // C5 D5
E: "~@8 [c5,g5] ~ [d5,a5]@3 ~ [d5,a5]@9 ~ [c5,g5]@4 [a4,f5]@3 ~", // C5 D5 C5 Dm
F: "~@4 [c5,g5]@5 ~ [d5,a5]@5 ~ [c5,g5]@8 f5@2 e5@2 ~@4", // C5 D5 C5
G: "~@4 [c5,g5]@4 ~@2 [d5,a5]@4 ~@2 [d5,a5]@7 ~ [c5,g5]@2 f5@5 ~", // C5 D5 C5
H: "~@4 [c5,g5]@4 ~@2 [d5,a5]@4 ~@2 [d5,a5]@7 ~ c5@2 f5@2 b4 ~@3, ~@24 g5 ~@7", // C5 D5
I: "~@4 [c5,g5]@5 ~ [d5,a5]@4 ~@2 [d5,a5]@7 ~ g5@2 f5@6, ~@24 c5 ~@7", // C5 D5
})).s("gm_rock_organ").gain(0.22)
// drums · kick
const kick = s("bd").struct(`<
~ A B A B A@9 B A B A@10 C B C B D@3 E D E D E D E D E D E D E D@3 E D E D E D E D E D E D E A@9 B A B A@10 C B C B
D@3 E D E D E D@3 E D E D E D@3 E D E F ~
>`.pickRestart({
A: "x!2 ~@2 x!2 ~@2", B: "x!2 ~ x ~ x ~ x", C: "x!4 ~@2 x ~@9", D: "x!4", E: "x ~ x!3 ~ x ~", F: "x",
})).gain(0.66)
// drums · snare
const snare = s("sd").struct("<~ A@11 B A@13 C D A D A E@32 A@7 B A@13 C D A D A E@21 F ~@2>".pickRestart({
A: "~ x ~ x", B: "~@4 x!2 ~@2 x!2 ~@2 x!2 ~ x", C: "~@4 x ~@6 x!3 ~ x", D: "~ x ~@10 x ~@3", E: "~ x ~ x ~ x ~ x",
F: "~ x ~@2 x ~ x!2 ~ x!7",
})).gain(0.66)
// drums · low tom
const low_tom = s("lt").struct("<~@27 A ~ A ~@55 A ~ A ~@22 B ~@2>".pickRestart({
A: "~ x ~@2", B: "~@7 x ~@7 x",
})).gain(0.66)
// drums · hihat
const hihat = s("hh").struct(`<
A@2 B A B A@9 B A B A@11 B A B A@3 C A C A C A C A C A C A C A@3 C A C A C A C A C A C A C A@9 B A B A@11 B A B A@3 C
// … 48 more lines
More by Neil Young
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.