0:00/0:00
// All Together Now — The Beatles
// 96 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: pitch bends are ignored
// note: Full arrangement: all 52 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): guitar program 25.
setcpm(96/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 · piano
const piano = note("<~@12 A B C B D@2 E@2 F E ~@4 G@2 H I J@3 K@8 L M N O@3 P Q@3 ~>".pickRestart({
A: "~@5 [g3,g4] [a3,a4] [b3,b4]", B: "[c4,a4,c5] ~", C: "[b3,g4,b4] ~",
D: "[[d4,a4,c5]@8 [d4,f#4,a4] [e4,g4,b4]@2 [f#4,a4,c5]@21]/2", E: "[b3,b4]@3 [g3,g4] [b3,b4]@3 [g3,g4] [b3,b4]@2 ~@6",
F: "[c4,c5]@3 [a3,a4] [c4,c5]@3 [a3,a4] [c4,c5]@2 ~@6", G: "~ [b3,b4]@6 [g3,g4]@2 [b3,b4]@6 [g3,g4]@2 [b3,b4]@4 ~@11",
H: "~ [c4,c5]@6 [a3,a4]@2 [c4,c5]@6 [a3,a4]@2 [c4,c5]@4 ~@11", // C A C A C
I: "~ [b3,b4]@6 [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@4 ~@12", // B G B G B
J: "[[b3,b4]@6 [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@4 ~@12 [b3,b4]@5 [g3,g4]@2 [b3,b4]@6 [g3,g4]@2 [b3,b4]@4 ~@11 [c4,c5]@6 [a3,a4]@2 [c4,c5]@6 [a3,a4]@2 [c4,c5]@4 ~@11 [b3,b4]@4]/3", // B G B G B G B G …
K: "[~@2 [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@4 [g3,g4]@4 [a3,a4]@4 [b3,b4]@4 [c4,a4,c5]@15 ~@15 [b3,g4,b4]@15 ~@16 [c4,a4,c5]@15 ~@15 [d4,a4,c5]@15 [d4,f#4,a4]@2 [e4,g4,b4]@4 [f#4,a4,c5]@39 [b3,b4]@5 [g3,g4]@2 [b3,b4]@6 ~ [b3,b4]@4 ~@11 [b3,b4]@5 ~ [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@4 ~@10 [c4,c5]@5 ~ [a3,a4]@2 [c4,c5]@5 [a3,a4]@2 [c4,c5]@4 ~, ~@191 [g3,g4]@2 ~@63]/8", // G B G B G A B F …
L: "~@9 [b3,b4]@6 [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@4 ~@4", // B G B G B
M: "~@6 [b3,b4]@5 ~ [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@4 ~@7", // B G B G B
N: "~@3 [b3,b4]@5 ~ [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@4 ~@10", // B G B G B
O: "[[c4,c5]@5 ~@2 [c4,c5]@6 [a3,a4]@2 [c4,c5]@3 ~@11 [b3,b4]@5 [g3,g4]@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@3 ~@10 [b3,b4]@5 ~@2 [b3,b4]@5 [g3,g4]@2 [b3,b4]@3 ~@11 [b3,b4]@5 [g3,g4]@2 [b3,b4]@5, ~@3 [a3,a4] ~@27 [g3,g4] ~@16]/3", // C A C B G B G B …
P: "[g3,g4]@2 [b3,b4]@3 ~@10 [c4,c5]@5 [a3,a4]@2 [c4,c5]@5 ~ [c4,c5]@3 ~, ~@27 [a3,a4]@2 ~@3", // G B C A C A
Q: "[~@10 [b3,d4]@6 [d4,f#4]@7 [c4,e4]@7 [d4,f#4]@6 [d4,g4]@53 ~@7]/3", // Bm D C D G5
})).s("gm_piano").gain(0.05)
// chords · lead 5 charang
const lead_5_charang = note("<~@13 A B A B@6 C D C E F@3 G H I J K L M N O P Q R S T U V W X Y Z AA AB ~>".pickRestart({
A: "~@4 [c4,e4,a4] ~@7 [c4,e4,a4] ~@7 [c4,e4,g4] ~@7 [c4,e4,g4] ~@3", // Am C
B: "~@4 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@3", // G
C: "~@4 [b2,d3,g3] ~@7 [b2,d3,g3] ~@7 [b2,d3,g3] ~@7 [b2,d3,g3] ~@3", D: "~@28 [b2,d3,g3] ~@3",
E: "~@29 [b2,d3,g3] ~@2", F: "~@5 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@2",
G: "~@5 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@3", // G
H: "~@4 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@4", // G
I: "~@2 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6", // G
J: "~ [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7", // G
K: "[d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [c4,e4,a4]", // G Am
L: "~@6 [c4,e4,a4] ~@7 [c4,e4,g4] ~@7 [c4,e4,g4] ~@6 [d4,g4,b4] ~@2", // Am C G
M: "~@5 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@7 [c4,e4,a4] ~@3", // G Am
N: "~@3 [c4,e4,a4] ~@7 [c4,e4,g4] ~@6 [c4,e4,g4] ~@7 [d4,g4,b4] ~@5", // Am C G
O: "~ [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4]", // G
P: "~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@2", // G
Q: "~@4 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@5", // G
R: "~ [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4]", // G
S: "~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@3", // G
T: "~@3 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@6", // G
U: "[d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@7 [d4,g4,b4] ~@6 [d4,g4,b4] ~@2", // G
V: "~@4 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6", // G
W: "[d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@3", // G
X: "~@3 [d4,g4,b4] ~@6 [d4,g4,b4] ~@5 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~", // G
Y: "~@5 [d4,g4,b4] ~@6 [d4,g4,b4] ~@5 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6", // G
Z: "[d4,g4,b4] ~@5 [d4,g4,b4] ~@6 [d4,g4,b4] ~@6 [d4,g4,b4] ~@5 [d4,g4,b4] ~@5", AA: "~ [d4,g4,b4] ~@30",
AB: "~@2 [d4,g4,b4] ~@6 [d4,g4,b4] ~@2 [d4,g4,b4] ~@6 [d4,g4,b4] ~@12", // G
})).s("gm_lead_5_charang").gain(0.14).pan(0.6)
// bass · acoustic bass
const bass = note(`<
~@12 A B C D E F G H I J K L M@2 N O P Q R@2 S T U V@2 W@2 X Y Z@2 AA AB AC@2 AD AE AF@2 ~
>`.pickRestart({
A: "~@10 g1 ~ a1 ~ b1 ~", B: "c2@5 ~@3 g1@4 ~@4 c2 ~@3 c2@4 b1@2 ~@2 a1@2 ~@2",
C: "g1@5 ~@3 d2@5 ~@3 g1@5 ~@3 a1 ~@3 b1@2 ~@2", D: "c2@5 ~@3 g1@5 ~@3 c2@5 ~@3 g1@5 ~@3",
E: "d2@7 ~ a1@3 ~ a1@4 d2@7 ~ a1@2 ~@2 a1@4", F: "d2@8 a1@3 ~ a1@3 ~ d2@3 ~ c2@3 ~ b1@3 ~ a1@3 ~",
G: "g1@4 ~@4 d2@5 ~@3 g1@2 ~@2 d1@2 ~@2 e1@2 ~@2 f#1@2 ~@2", H: "g1@4 ~@4 d2@5 ~@3 g1 ~@3 g1 ~@3 f#1 ~@3 e1@2 ~@2",
I: "d1@3 ~@5 a1@4 ~@4 d1@2 ~@2 d1@2 ~@2 e1@2 ~@2 f#1@2 ~@2", J: "g1@4 ~@4 d2@4 ~@4 g2@2 ~@2 e2@2 ~@2 d2@2 ~@2 b1 ~@3",
K: "g1@3 ~@5 d2@2 ~@6 g1@3 ~@5 d2@2 ~@6", L: "d2@3 ~@5 a1@4 ~@4 d2 ~@3 c2 ~@3 b1 ~@3 a1@2 ~@2",
M: "[g1@3 ~@5 d2@4 ~@4 g1@4 b1@2 ~@2 c2 ~@3 d2@7 ~ d2@2 ~@2 d2@7 ~@4 g1 ~ g1@2 ~@2 g1@2 ~@2 g1@2 ~]/2",
N: "~ g1@4 ~@4 d2@5 ~@3 g1@2 ~@2 d1@2 ~@2 e1@2 ~@2 f#1@2 ~", O: "~ g1@4 ~@4 d2@5 ~@3 g1 ~@3 g1 ~@3 f#1 ~@3 e1@2 ~",
P: "~ d1@3 ~@5 a1@4 ~@4 d1@2 ~@2 d1@2 ~@2 e1@2 ~@2 f#1@2 ~",
Q: "~ g1@4 ~@4 d2@4 ~@3 g2@2 ~@2 e2@2 ~@2 d2@2 ~@2 b1 ~@3",
R: "[g1@4 ~@4 d2@5 ~@2 g1@2 ~@2 d1@2 ~@2 e1@2 ~@2 f#1@2 ~@2 g1@4 ~@3 d2@4 ~@4 g1 ~@3 g1 ~@3 f#1 ~@2 e1 ~@3 d1@3]/2",
S: "~@5 a1@4 ~@4 d1@2 ~@2 d1@2 ~ e1@2 ~@2 f#1@2 ~@2 g1@4", T: "~@4 d2@4 ~@3 g2@2 ~@2 e2@2 ~@2 d2@2 ~@2 b1 ~@3 c2@4 ~",
U: "~@2 g1@4 ~@4 c2 ~@3 c2@4 b1@2 ~@2 a1@2 ~ g1@4 ~@3",
V: "[~ d2@5 ~@3 g1@5 ~@2 a1 ~@3 b1 ~@3 c2@4 ~@3 g1@5 ~@3 c2@5 ~@2 g1@5 ~@3 d2@6 ~ a1@3]/2",
W: "[~ a1@4 d2@6 ~ a1@2 ~@2 a1@3 ~ d2@7 a1@3 ~ a1@3 ~ d2@3 c2@3 ~ b1@3 ~ a1@3 ~ g1 ~@2 g1@2 ~@2 d2 ~@3 d2@2 ~]/2",
X: "g1 ~@3 g1@2 ~@2 d2@2 ~ f#1@2 ~@2 g1@2 ~@2 g1@2 ~@2 d2 ~@2 d2@2 ~@2 g1 ~",
Y: "~ g1@2 ~@2 f#1 ~@3 e1@2 ~ d1 ~@3 d1@2 ~@2 a1 ~@2 a1 ~@3 d1 ~@3 d1",
Z: "[~@2 e1 ~@3 f#1 ~@2 g1 ~@3 g1@2 ~@2 d2 ~@2 d2@2 ~@2 g2@2 ~@2 e2 ~@2 d2@2 ~@2 b1@2 ~ g1 ~@3 g1@2 ~@2 d2 ~@2 d2@2 ~@2 g1 ~@3 g1@2 ~ e2@2 ~@2]/2",
AA: "d2@2 ~ g1@2 ~@2 g1@2 ~@2 d2 ~@2 d2@2 ~@2 g1 ~@3 b1@2 ~ c2 ~@3 c#2@2 ~",
AB: "d2@3 ~@4 a1@3 ~@5 d1 ~@2 d1@2 ~@2 e1@2 ~ f#1 ~@3 g1@3",
AC: "[~@4 d2@3 ~@4 g2@2 ~ e2@2 ~@2 d2 ~@2 b1 ~@2 g1@2 ~@2 b1@2 ~ d2@2 ~@2 e2@2 ~ g2@4 ~@3 d2@3 ~@4 g1@4 ~@3 d2@4 ~]/2",
AD: "~@2 g2 ~@2 e2 ~@2 d2 ~@3 b1 ~@2 d2 ~@2 d2 ~@3 a1 ~@2 a1@2 ~ d2 ~@3",
AE: "d2@2 ~ a1 ~@2 a1 ~@3 d2 ~@2 d2 ~@2 d2 ~@3 d2 ~@2 c2 ~@2 c2 ~@3 c2 ~",
AF: "[~ c2 ~@2 g1@2 ~@2 g1@2 ~ g1@3 d2@2 ~@2 g1 ~@2 g1 ~@2 g1@3 d2@2 ~@2 g1@2 ~ b1@2 ~ d2@2 ~@2 e2@2 ~ g2@2 ~@5 g1@13]/2",
})).s("gm_acoustic_bass").gain(0.5)
// other · clarinet
const clarinet = note(`<
~@5 A B C D E F G D H I J K@2 L M N O E F P D Q R S T U@3 V W X Y Z@3 AA@3 AB AC@3 AD AE@3 ~
>`.pickRestart({
A: "b4 ~@3 b4 ~@3 b4 ~@3 b4 ~@3", B: "c5 ~@3 c5 ~@3 c5@4 a4 ~@3 c5 ~@3 c5 ~@3 c5@3 ~@5",
C: "b4@2 ~@6 b4@2 ~@6 b4!2 ~@2 b4 ~@3 b4 ~@3 d5@4", D: "~@4 d5 ~@3 d5@4 b4@2 ~@18",
E: "b4@3 ~@5 b4@3 ~@5 b4@3 ~@5 b4@3 ~@5", F: "c5 ~@3 c5 ~@3 c5@2 ~@2 c5@2 ~@2 c5@2 ~@2 c5 ~ c5@2 ~@8",
G: "b4@2 ~@6 b4@3 ~@5 b4 ~ b4 ~@5 b4@2 ~@2 d5@4", H: "~@16 c5@2 ~@4 c5 ~ c5@2 ~@6", I: "~@16 b4@2 ~@4 b4 ~ b4 ~@7",
J: "~@16 c5 ~@5 c5 ~ c5 ~@7", K: "[~@16 d5 ~@2 e5 ~@3 f#5@35 ~@6]/2",
L: "b4@6 ~ g4 b4@6 ~@2 b4@4 b4@3 ~ b4@2 ~@2 g4@3 ~, ~@15 g4@2 ~@6 c5@2 ~@2 a4@2 ~@3",
M: "b4@6 ~@2 b4@6 ~ g4 b4@4 b4@2 ~@2 b4@2 ~ a4 g4@3 ~, ~@7 g4@2 ~@14 c5@2 ~@7",
N: "c5@6 ~@2 c5@6 ~@2 c5@4 c5@2 ~ b4 c5@2 ~ b4 a4@3 ~, ~@7 a4@2 ~@6 a4@2 ~@15", O: "b4@6 ~ g4 b4@6 ~ g4 b4@4 ~@12",
P: "b4@2 ~@6 b4@3 ~@5 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 d5@4", Q: "~ b4@6 g4 ~ b4@6 g4@2 b4@4 b4@2 c5@2 b4@2 a4@2 g4@3",
R: "~ b4@6 ~@2 b4@6 ~ g4 b4@4 b4@2 ~@2 b4@2 ~ a4 g4@3, ~@4 g4 ~@7 c5 ~@3", S: "~ c5@6 ~ a4 c5@6 a4@2 c5@4 ~@11",
T: "~ b4@5 ~ g4 b4@6 ~ g4 b4@4 b4@3 c5 b4@2 ~ a4 g4@3 ~",
U: "[b4@6 g4 b4@6 ~@2 b4@3 ~ b4@3 ~ b4@2 a4@2 g4@3 ~ b4@5 ~@2 b4@6 ~ g4 b4@4 b4@2 c5 ~ b4@2 a4 g4@3 ~ c5@6 ~ a4 c5@6 a4@2 c5@4 c5@2 b4 c5@2 ~ b4 a4@3 ~ b4@4, ~@14 g4@2 ~@6 c5@2 ~@13 g4@2 ~@57]/3",
V: "~@2 g4 ~ b4@6 g4 b4@4 ~@17", W: "~@10 c5@2 ~@4 c5 ~ c5@2 ~@12", X: "~@9 b4@2 ~@3 b4 ~ b4 ~@15",
Y: "~@7 c5 ~@5 c5!2 ~@17",
Z: "[~@5 d5 ~ e5 ~@3 f#5@33 ~@6 b4@5 ~ g4 b4@6 ~ b4@3 ~ b4@2 c5@2 b4@2 a4@2 g4@3 b4@5 ~ g4 ~ b4@6 g4 b4@2, ~@63 g4@2 ~@31]/3",
AA: "[~ b4@2 ~ c5 b4@2 a4 ~ g4@3 ~ c5@5 a4 ~ c5@6 a4 c5@3 ~ c5@2 b4 c5@2 b4 ~ a4@3 b4@5 ~ g4 ~ b4@6 g4 b4@3 b4@2 ~ c5 b4@2 ~ a4 g4@3 b4@5 ~ g4 ~ b4@6 ~ b4@3 b4@2 ~@2 b4@2 a4@2, ~@84 g4@2 ~@5 c5@2 ~@3]/3",
AB: "g4@3 b4@5 ~ g4 ~ b4@6 g4 b4@3 ~ b4@2 c5 b4@2 a4 ~ g4@3",
AC: "[c5@5 ~ a4 c5@6 a4 ~ c5@3 c5@2 b4 ~ c5@2 b4 a4@3 ~ b4@5 g4 ~ b4@5 g4 ~ b4@3 b4@2 c5 ~ b4@2 a4 g4@3 b4@5 ~ g4 b4@5 ~ g4 b4@3 ~ b4@2 ~ b4@2 a4@2 g4@3 b4@5 g4 ~ b4@5, ~@38 c5 ~@9]/3",
AD: "g4 ~ b4@3 b4@2 c5 b4@2 a4 ~ g4@3 c5@5 a4 ~ c5@5 a4 c5@3 ~",
AE: "[c5@2 b4 c5 ~ b4 a4@3 ~ d5@6 ~ d5@6 c5@6 ~ a4@6 g4@42 ~@18]/3",
})).s("gm_clarinet").gain(0.46)
// other · clarinet · soft notes
const clarinet_soft = note("<~@12 A B C D E ~@16 F G H I ~@15>".pickRestart({
A: "~@10 g3 ~ a3 ~ b3 ~", B: "c4@6 ~ c4!2 ~@23", C: "b3@5 ~@2 b3!2 ~@23", D: "c4@5 ~@2 c4!2 ~@23",
E: "c4@5 ~@2 c4 c4@2 ~@22", F: "~@15 g3@2 ~@2 a3@2 ~@2 b3@2 ~@2 c4@5", G: "~ c4 ~ c4 ~@22 b3@5 ~",
H: "b3!2 ~@22 c4@5 ~ c4 ~", I: "c4 ~@21 c4@5 ~ c4 ~ c4 ~",
})).s("gm_clarinet").gain(0.06)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
A B@2 C D B E F@2 B G H@2 I J I K L J@2 K J B G M@2 N O P Q R@2 S T U V@2 W X Y Z AA@2 AB AC AD@2 AE AF AG@2 ~
>`.pickRestart({
A: "~@7 [f#2,c#3,f#3,a#3]", // F#
B: "[g2,d3,g3,b3]@3 ~ [d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~ [g2,b2,d3,g3] ~ [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~@3", // G
C: "[g2,d3,g3,b3]@3 ~ [d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~ [g2,b2,d3,g3] ~ [g2,d3,g3,b3] ~@3 [g2,d3,g3,b3]@2 ~@2 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~@3", // G
D: "[g2,d3,g3,b3]@2 ~@2 [d3,g3,b3] ~@3 [g2,d3,g3,b3] ~ [g2,d3,g3,b3] ~ [g2,d3,g3,b3]@2 ~@2 [g2,d3,g3,b3] ~@3 [g2,d3,g3,b3]@2 ~@2 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~@3", // G
E: "[d3,f#3,a3,c4]@3 ~ [d3,f#3,a3,c4] ~@3 [d3,f#3,a3,c4]@3 ~ [d3,f#3,a3,c4] ~@3 [d3,f#3,a3,c4]@3 ~ [d3,f#3,a3,c4] ~@3 [d3,f#3,a3,c4]@2 ~@2 [d3,f#3,a3,c4] ~@3", // D7
F: "[[g2,d3,g3,b3]@3 ~ [d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~ [g2,b2,d3,g3] ~ [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [d3,f#3,a3,c4]@8 [d3,f#3,a3,c4] ~@3 [d3,f#3,a3,c4]@3 ~ [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3,d4]@4]/2", // G D7 G
G: "[d3,f#3,a3]@3 ~ [d3,f#3,a3] ~@3 [d3,f#3,a3]@3 ~ [d3,f#3,a3] ~ [b2,d3,f#3] ~ [d3,f#3,a3]@3 ~ [d3,f#3,a3] ~@3 [d3,f#3,a3]@3 ~ [d3,f#3,a3] ~@3", // D Bm D
H: "[[g2,d3,g3,b3]@3 ~ [d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~ [g2,b2,d3,g3] ~ [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [d3,f#3,a3,c4]@8 [d3,f#3,a3,c4] ~@3 [d3,f#3,a3,c4]@3 ~ [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@3 ~]/2", // G D7 G
I: "[g3,c4,e4]@4 [g3,c4,e4] ~@3 [g3,c4,e4]@4 [g3,c4,e4] ~@3 [g3,c4,e4]@4 [g3,c4,e4] ~@3 [g3,c4,e4]@4 [g3,c4,e4] ~@3", // C
J: "[g3,b3,d4]@4 [g3,b3,d4] ~@2 [g3,b3,d4] [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3", // G
K: "[f#3,c4,d4]@4 [f#3,c4,d4] ~@2 [f#3,c4,d4] [f#3,c4,d4]@4 [f#3,c4,d4] ~@3 [f#3,c4,d4]@4 [f#3,c4,d4] ~@3 [f#3,c4,d4]@4 [f#3,c4,d4] ~@3", // D7
L: "[f#3,c4,d4]@4 [f#3,c4,d4] ~@2 [f#3,c4,d4] [f#3,c4,d4]@4 [f#3,c4,d4] ~@3 [f#3,c4,d4]@3 ~ [f#3,c4,d4]@2 ~@2 [f#3,c4,d4]@3 ~ [f#3,c4,d4]@3 ~", // D7
M: "[[g2,d3,g3,b3]@3 ~ [d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~ [g2,b2,d3,g3] ~ [g2,d3,g3,b3]@3 ~ [g2,d3,g3,b3] ~@3 [g2,d3,g3,b3]@3 ~ [d3,f#3,a3,c4]@8 [d3,f#3,a3,c4] ~@3 [d3,f#3,a3,c4]@3 ~ [d3,g3,b3]@2 ~@3 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@2 ~@2 [d3,g3,b3]@3]/2", // G D7 G
N: "~ [g3,b3,d4]@4 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@2", // G
O: "~ [g3,b3,d4]@4 [g3,b3,d4] ~@2 [g3,b3,d4] [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@2", // G
P: "~ [f#3,c4,d4]@4 [f#3,c4,d4] ~ f#3 [c4,d4] [f#3,c4,d4]@4 [f#3,c4,d4] ~@3 [f#3,c4,d4]@4 [f#3,c4,d4] ~@3 [f#3,c4,d4]@4 [f#3,c4,d4] ~@2", // D7 Csus2 D7
Q: "~ [g3,b3,d4]@4 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@3 [g3,b3,d4] ~@4 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3", // G
R: "[[g3,b3,d4]@4 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@3 [g3,b3,d4] ~@4 d4@3 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@2 [g3,b3,d4] [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [f#3,c4,d4]@3, ~@15 [g3,b3]@4 ~@45]/2", // G D7 G
S: "~ [f#3,c4,d4] ~@2 [f#3,c4,d4] [f#3,c4,d4]@4 [f#3,c4,d4] ~@3 [f#3,c4,d4]@3 ~ [f#3,c4,d4] ~@3 [f#3,c4,d4]@3 [f#3,c4,d4] ~@3 [g3,b3,d4]@4", // D7 G
T: "[g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,c4,e4]@4 [g3,c4,e4]", // G C
U: "~@2 [g3,c4,e4]@4 [g3,c4,e4] ~@3 [g3,c4,e4]@4 [g3,c4,e4] ~@3 [g3,c4,e4]@4 [g3,c4,e4] ~@3 [b3,d4]@3 [g3,b3,d4] ~@2, ~@25 g3@4 ~@3", // C Bm G
V: "[[g3,b3,d4] [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@4 [g3,b3,d4] ~@3 [g3,c4,e4]@4 [g3,c4,e4] ~@2 [g3,c4,e4]@4 [g3,c4,e4] ~@3 [g3,c4,e4]@4 [g3,c4,e4] ~@3 c4@3 [g3,c4,e4] ~@3 [f#3,c4,d4]@4 [f#3,c4,d4] ~ [f#3,c4,d4] [f#3,c4,d4]@3, ~@23 [g3,e4]@2 ~@7]/2", // G C D7 C
W: "~ [f#3,c4,d4] ~@3 [f#3,c4,d4]@4 [f#3,c4,d4] ~@2 [f#3,c4,d4]@4 [f#3,c4,d4] ~@3 [f#3,c4,d4]@4 [f#3,c4,d4] ~ [f#3,c4,d4] [f#3,c4,d4]@4 [f#3,c4,d4]", // D7
X: "~@3 [f#3,c4,d4]@3 [f#3,c4,d4]@2 ~@2 [f#3,c4,d4]@3 ~ [f#3,c4,d4]@2 ~@2 [g3,b3,d4]@3 [g3,b3,d4] ~@2 [g3,b3,d4] [g3,b3,d4]@4 [g3,b3,d4] ~@2", // D7 G
Y: "~ [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 ~ [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@2", // G
Z: "~ [g3,b3,d4] ~@3 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@3 [c4,d4]@3 [f#3,c4,d4] ~ [f#3,c4,d4] ~ [f#3,c4,d4]@3 [f#3,c4,d4] ~@3 [f#3,c4,d4]@3 ~ [f#3,c4,d4], ~@3 f#3 ~@4", // G Csus2 D7
AA: "[~@2 [f#3,c4,d4]@3 ~ [f#3,c4,d4] ~@3 [b3,d4]@3 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@3 d4@3 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~, ~@9 g3@4 ~@25 [g3,b3]@4 ~@22]/2", // D7 Bm G
AB: "[g3,b3,d4] ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2", // G
AC: "[f#3,c4,d4]@3 ~ [f#3,c4,d4] ~ [f#3,c4,d4] ~ [f#3,c4,d4]@3 [f#3,c4,d4] ~@3 [f#3,c4,d4]@3 [f#3,c4,d4] ~@3 [f#3,c4,d4]@3 [f#3,c4,d4] ~@3 [g3,b3,d4]@3", // D7 G
AD: "[[g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [b3,d4]@3 [g3,b3,d4] ~ [g3,b3,d4] [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~ g3 [b3,d4] [g3,b3,d4]@3 [g3,b3,d4] ~, ~@24 g3@3 ~@37]/2", // G Bm G Bm G
AE: "~@2 [g3,b3,d4]@3 [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2 [f#3,c4,d4]@3 [f#3,c4,d4] ~ f#3 [c4,d4] [f#3,c4,d4]@3 [f#3,c4,d4] ~@3 [f#3,c4,d4]@3", // G D7 Csus2 D7
AF: "[f#3,c4,d4] ~@2 [f#3,c4,d4]@3 [f#3,c4,d4] ~@3 [a3,c4,d4]@3 [a3,c4,d4] ~ [a3,c4,d4] [a3,c4,d4]@3 ~ [a3,c4,d4] ~@2 [a3,c4,d4]@3 [a3,c4,d4] ~@3 [a3,c4,d4]@2", // D7
AG: "[~ [a3,c4,d4] ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4] ~ [g3,b3,d4] [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@2 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@3 [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~@4 [g3,b3,d4]@3 ~@10]/2", // D7 G
})).s("gm_acoustic_guitar_steel").gain(0.21).pan(0.2)
// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
~@13 A B A C ~ B@2 C B ~@4 D@2 E B F G H I J K L M ~ N O P Q D R S T N U B ~@2
>`.pickRestart({
A: "~@7 [g3,c4,e4] ~@15 [g3,c4,e4] ~@8", B: "~@23 [g3,b3,d4] ~@8", C: "~@23 [f#3,c4,d4] ~@8",
D: "~@24 [g3,b3,d4] ~@7", E: "~@24 [f#3,c4,d4] ~@7", F: "~@22 [g3,b3,d4] ~@9", G: "~@20 [g3,b3,d4] ~@11",
H: "~@19 [f#3,c4,d4] ~@12", I: "~@18 [g3,b3,d4] ~@13", J: "~ [g3,c4,e4] ~@15 [g3,c4,e4] ~@14",
K: "~@15 [g3,b3,d4] ~@14 [g3,c4,e4] ~", L: "~@13 [g3,c4,e4] ~@18", M: "~@11 [f#3,c4,d4] ~@20",
N: "~@7 [g3,b3,d4] ~@24", O: "~@4 [g3,b3,d4] ~@27", P: "~ [f#3,c4,d4] ~@28 [g3,b3,d4] ~", Q: "~@27 [g3,b3,d4] ~@4",
R: "~@21 [f#3,c4,d4] ~@10", S: "~@16 b3 [g3,d4] ~@14", T: "~@12 [g3,b3,d4] ~@19",
U: "~@2 [f#3,c4,d4] ~@26 [a3,c4,d4] ~@2", // D7
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.2)
// chords · acoustic guitar steel · D G5
const acoustic_guitar_steel_3 = note("<~@24 [~@25 g2@7, ~@25 d3@3 ~@4] [~@9 [d3,f#3]@3 ~ [d3,g3]@3 ~@16] ~@26>")
.s("gm_acoustic_guitar_steel").gain(0.09).pan(0.8)
// chords · acoustic guitar steel
const acoustic_guitar_steel_4 = note(`<
~@9 A B C D E F E G H I@2 J I A B K@2 L M N O P@2 Q R S T@2 U V W X Y@2 Z AA AB@2 AC AD AE@2 ~
>`.pickRestart({
A: "[d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4]", // G
B: "[d4,f#4,a4]@3 ~ [d4,f#4,a4] ~@2 f#4 [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~@2 [d4,f#4,a4] [d4,f#4,a4]@3 ~ [d4,f#4,a4] ~@2 [d4,f#4,a4] [d4,f#4,a4]@2 ~@2 [d4,f#4,a4] ~@2 [f#4,a4]", // D F#m
C: "[d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [c4,d4,f#4,a4]@4", // G D7
D: "~@4 [c4,d4,f#4,a4]@2 ~@2 [c4,d4,f#4,a4]@3 ~ [c4,d4,f#4,a4]@2 ~@2 [d4,g4]@3 [d4,g4,b4] [d4,g4,b4]@2 ~@2 [d4,g4,b4]@3 ~ [d4,g4,b4]@2 ~@2, ~@16 b4 ~@15", // D7 G5 G
E: "[c4,e4,a4]@4 [c4,e4,a4] ~@3 [c4,e4,a4]@4 [c4,e4,a4] ~@3 [c4,e4,g4]@4 [c4,e4,g4] ~@3 [c4,e4,g4]@4 [c4,e4,g4] ~@3", // Am C
F: "[d4,g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@3", // G
G: "[d4,f#4,a4]@4 [d4,f#4,a4] ~@3 [d4,f#4,a4]@4 [d4,f#4,a4] ~@2 [d4,f#4,a4] [d4,f#4,a4]@4 [d4,f#4,a4] ~@3 [d4,f#4,a4]@4 [d4,f#4,a4] ~@3", // D
H: "[d4,f#4,a4]@4 [d4,f#4,a4] ~@3 [d4,f#4,a4]@4 [d4,f#4,a4] ~@2 [d4,f#4,a4] [d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@2 ~@2 [d4,f#4,a4]@3 ~", // D
I: "[g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@3", // G
J: "[f#4,c5]@4 [d4,f#4,c5] ~@3 [d4,f#4,c5]@4 [d4,f#4,c5] ~@2 [d4,f#4,c5] [d4,f#4,c5]@4 [d4,f#4,c5] ~@3 [d4,f#4,c5]@4 [d4,f#4,c5] ~@3", // F#dim D7
K: "[[d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~ [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@3 ~@2 c4@5 ~@2 [c4,d4,f#4,a4]@2 ~@3 c4@2 ~@2 c4@2 ~@2 [d4,g4,b4]@2 [d4,g4,b4] ~ [d4,g4,b4]@2 ~@2 [d4,g4,b4]@3 ~ [d4,g4,b4]@2 ~, ~@28 [d4,f#4,a4]@5 ~@7 [d4,f#4,a4]@3 ~ [d4,f#4,a4]@2 ~@18]/2", // G D7 G D
L: "~ [g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~ b4 [d4,g4] [d4,g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@2", // G G5 G
M: "~ [g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@2", // G
N: "~ [f#4,c5]@4 [d4,f#4,c5] ~@3 [d4,f#4,c5]@4 [d4,f#4,c5] ~ c5 [d4,f#4] [d4,f#4,c5]@4 [d4,f#4,c5] ~@3 [d4,f#4,c5]@4 [d4,f#4,c5] ~@2", // F#dim D7 D D7
O: "~ [g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@3 [d4,g4,b4] ~@2 [d4,g4,b4] ~ g4@3 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@3, ~@4 [d4,b4] ~@3", // G
P: "[[g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@3 [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@3 [g4,b4]@3 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@2 [d4,g4,b4] [d4,g4,b4]@4 [d4,g4,b4] ~@3 [d4,g4,b4]@3 [d4,g4,b4] ~@3 [f#4,c5]@3]/2", // G F#dim
Q: "~ [d4,f#4,c5] ~@3 [d4,f#4,c5]@4 [d4,f#4,c5] ~ [d4,f#4,c5] ~ [d4,f#4,c5]@4 [d4,f#4,c5] ~@2 [d4,f#4,c5]@4 [d4,f#4,c5] ~@3 [g4,b4]@4", // D7 G
R: "[d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~ [d4,g4,b4] ~ g4@3 [d4,g4,b4] ~@3 [d4,g4,b4]@4 [d4,g4,b4] ~@3 [c4,e4,a4]@4 [c4,e4,a4], ~@11 [d4,b4]@4 ~@17", // G Am G
S: "~@2 [c4,e4,a4]@4 [c4,e4,a4] ~@3 [c4,e4,g4]@4 [c4,e4,g4] ~@3 [c4,e4,g4]@4 [c4,e4,g4] ~@2 [d4,g4,b4]@4 [d4,g4,b4] ~@2", // Am C G
// … 137 more lines
More by The Beatles
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.