0:00/0:00
// I Got to Find My Baby — The Beatles
// 140 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 7 "CHUCK BERRY" acoustic guitar nylon (copy of ch 3 "GUITAR" electric guitar clean); ch 6 bandoneon (copy of ch 4 "HARMONICA" harmonica)
// note: Full arrangement: all 63 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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.
// chords · acoustic guitar steel · "GUITAR"
const acoustic_guitar_steel = note(`<
A B C D E F@3 G@2 H I J@2 K@2 L@4 M@2 N@2 O@2 K@2 E P Q@2 R@3 S T@6 U@2 V@2 W X Y@2 K D E Z@3 AA AB@2 AC@4
>`.pickRestart({
A: "~ [c2,c4,e4] ~ [c2,g3,c4,e4] ~ [c2,c4] [g3,e4] ~@2 e4 ~@2 [c2,g3,c4,e4]@2 ~@2 [c2,g3,c4,e4]@2 ~@2 [c2,g3,c4,e4] ~@3, ~@4 [c2,g3,c4] ~@7", // C C5
B: "~ [a#2,a#3]@3 ~@2 [g2,g3]@5 ~@13", C: "c3 c4 ~@14 [c3,c4]@2 [f3,f4]@4 [d#3,d#4]@2",
D: "[c3,c4]@2 ~@14 [c3,c4]@2 [f3,f4]@4 [d#3,d#4] ~", E: "[c3,c4]@2 ~@10 [c3,c4,e4,g4] ~@11",
F: "[[c3,c4,e4,g4,a#4]@2 ~@2 [c3,c4,e4,g4,a#4]@2 ~@3 [c3,c4,e4,g4,a#4]@2 ~ [c3,c4,e4,g4,a#4]@5 ~ [c3,c4,e4,g4,a#4] ~@11 [f3,a3,c4]@10 [a3,c4]@5 ~@9 [a3,c4,d#4]@9 ~@3 f2@4 [f3,a3]@2, ~@22 f3@6 ~@17 [a3,d#4]@9 ~@10 [f3,a3,c4]@6 ~@2, ~@12 f2@5 ~@6 c4@4 ~@9, ~@24 f2@5 ~@7]/3", // C7 F Am Adim F Adim F
G: "[c3@6 c4@6 c4@3 ~ g4@6 [c4,e4]@9 ~@6 c4@3 ~@6 c4@2, ~@6 [e4,g4]@9 [c4,e4]@6 ~ a#4@3 ~@6 [e4,g4]@9 ~@5 [e4,g4]@2 ~, ~@31 c4@6 ~@3 [c4,e4,g4]@5 ~@3, ~@34 c3@8 c3@5 ~]/2", // C Em C Em C
H: "~@17 g2@5 [g3,b3,d4]@2, g2@9 g2@8 ~@7, ~@2 [b3,d4]@3 ~@3, ~@2 g3@2 ~ [g3,b3,d4]@2 ~", // G Bm G
I: "~@9 f2@2 f3, f2@3 f2@3 ~@2, ~@3 [f3,a3,c4,d#4]@5 [f3,a3,c4,d#4]@3 ~", // F7
J: "[~@29 [a#2,a#3]@3 ~ [g2,b3,d4]@3 ~@3 c4@2 [f3,f4]@3 ~ [d#3,d#4]@2 ~, c3@9 ~ c3@8 c3@6 c3@9 ~@15, ~@6 [e4,g4]@9 ~ [e4,g4]@17 ~@15, ~@6 c4@6 ~@4 c4@5 c4@11 ~ g3 ~@14]/2", // A# G F D# Em
K: "[c3,c4] ~@15 [c3,c4]@2 [f3,f4]@4 [d#3,d#4]@2", // C F D#
L: "[[c3,c4] ~@10 [c3,c4,e4,g4] ~@12 g4@2 ~@2 [c3,c4,e4,a#4]@2 ~@2 [c3,c4,e4,a#4]@2 ~@23 f2@7 ~ f2@4 ~@25 c4@2, ~@23 [c3,c4,e4,a#4]@3 ~@9 [e4,a#4]@12 ~@7 f3@6 ~@9 f3@7 ~@2 [f3,a3,c4,d#4]@10 [f3,a3,c4,d#4]@5 [f3,a3,d#4]@2 ~, ~@35 c4@5 ~@6 a3@4 ~@4 [a3,c4,d#4]@10 [a3,d#4]@13 ~@19, ~@36 c3@12 f2@9 ~@15 f2@9 f2@9 f2@5 ~]/4", // C C7 Edim F7 Adim
M: "[c3@6 ~@31 c4@3 ~@2 c3@3 [c4,e4,a#4]@2 ~, ~@6 g4@16 ~@9 g4@15 ~@2, ~@6 e4@10 ~@14 [e4,a#4]@9 ~@9, ~@6 c4@6 ~@4 [c4,e4]@6 [c4,e4]@8 c4@6 ~@4 [c4,e4,a#4]@5 ~@3, ~@10 c3@8 c3@6 c3@9 ~ c3@8 ~@6]/2", // C7 Edim C C7
N: "[~@41 f2@4 [f3,a3,c4]@2 ~, g2@9 g2@8 ~ g2@4 f3@4 ~@4 f3@5 ~@4 [f3,a3,c4]@6 ~@3, ~@5 [g3,b3,d4]@10 [g3,b3,d4]@6 [a3,c4]@5 ~@4 [a3,c4]@9 ~@9, ~@24 f2@9 f2@8 ~@7]/2", // F G Am
O: "[~@28 a#3@2 [a#2,a#3]@2 ~@2 [g2,g3,b3,d4]@3 ~@3 [c3,c4]@2 [f3,f4]@4 [d#3,d#4]@2, c3@8 ~ c3@9 c3@6 c3@6 ~@18, ~@6 [e4,g4]@10 [e4,g4]@15 ~@17, ~@6 c4@6 ~@4 c4@6 c4@9 ~@17]/2", // A# G C F D# Em
P: "[c3,c4,e4,g4,a#4]@2 ~@2 [c3,c4,e4,g4,a#4]@2 ~@2 [c3,c4,e4,a#4]@2 ~@2 [c3,c4]@5 ~@5 e4@2, ~ a#4, ~@6 e4@5 ~, ~@3 c4", // C7 C
Q: "[~@16 f3@6 ~@2 f2@6 ~@12 f2@3 [f3,a3,c4,d#4]@2 ~, f2@9 f2@14 ~@10 f2@9 ~@6, ~@6 [f3,a3,c4]@9 c4@6 ~ [f3,c4,d#4]@7 ~ [f3,a3,c4,d#4]@9 [f3,a3,d#4]@6 ~@3, ~@40 c4@5 ~@3]/2", // F7 F F7
R: "[~@5 [e4,g4]@10 ~ [c4,e4,g4]@5 ~@15 c4@3 ~@3 c3@3 [c4,e4,a#4]@2 g2@6 ~@13 g2@4 [g3,b3,d4]@2, c3@7 ~@15 [c4,g4]@8 c4@6 ~@3 [c4,e4,a#4]@6 ~@8 [g3,b3]@10 ~ [g3,b3]@6 ~@2, ~@5 c4@7 ~@9 [e4,a#4]@6 ~@3 [e4,g4,a#4]@9 ~ g4@5 ~@9 f4@10 f4@8, ~@24 c3@9 c3@8 ~@17 g2@8 ~@6]/3", // Em C C7 G C5 C7 G Edim
S: "f2@3 ~@8 [a3,c4], ~@6 [c4,d#4]@10 ~@5 f3@2 ~, ~@3 f3@3 ~@2 [f3,a3,c4,d#4]@3 ~, ~@9 f2@9 f2@5 ~", // Am Cm F7
T: "[c3@6 ~@6 c4@3 ~@9 c3@6 [a#2,a#3]@3 ~ g3@4 ~@2 g3@2 ~@6 c3@6 ~@6 c4@3 ~ [c4,e4,a#4]@6 ~@14 c4@3 ~@18 c3@7 ~ c3@4 ~@21 c3@4 [c4,e4,a#4]@2, ~@3 [e4,g4]@5 ~@9 d4@7 ~@3 g4@8 c4@2 ~@2 c4@3 ~@2 [c4,e4,g4,a#4]@3 ~@4 c4@3 ~@2 [c4,e4,a#4]@3 ~@4 c4@3 ~@2 [c4,e4,a#4]@3 ~, ~@6 c4@6 ~@4 [c4,e4,g4]@6 [c4,e4,g4]@8 ~@4 b3@8 [g3,b3]@6 ~@6 c4@6 ~@10 e4@6 ~@2 [e4,g4,a#4]@9 ~@6 [c4,e4]@5 ~@19 c4@4 ~@23, ~@9 c3@9 c3@6 ~@9 g2@13 c4@7 ~ [e4,a#4]@10 ~@6 a#4@8 ~@16 [g4,a#4]@6 ~@2 [e4,a#4]@10 ~@6 [e4,a#4]@5 ~@3 [e4,a#4]@10 ~@8, ~@57 c3@14 ~ c3@9 c3@8 ~ c3@5 ~ c3@9 ~@15 c3@9 c3@9 ~@6]/6", // A# C7 Em C7 C G Edim C …
U: "[~@3 [a3,c4,d#4]@5 [f3,a3,c4,d#4]@3 ~@10 f2@2 [f3,a3,c4,d#4], f2@9 ~@13 f3@4 ~@4 f3@6 ~@4 [f3,a3,c4,d#4]@6 ~@2, ~@6 f3@6 ~@10 [c4,d#4]@8 [a3,c4,d#4]@9 ~@9, ~@12 f2@5 f2@4 ~@3]/2", // Adim F7 Cm Adim
V: "[c3@6 ~@3 c3@7 [c4,e4,g4]@6 ~@8 c4@6 c4@3 ~@3 c3@3 [c4,e4,g4]@2 ~, ~@6 [e4,g4]@10 ~@6 g4@23 ~@3, ~@6 c4@6 ~@10 [c4,e4]@8 [e4,a#4]@9 [c4,e4,a#4]@6 ~@3, ~@8 c3@3 ~@5]/2", // C Em C Edim C7
W: "g2@6 ~@15 [g3,b3,d4]@2 ~, ~@2 [b3,d4]@3 ~@3, ~@2 g3@2 ~ [g3,b3,d4]@2 ~, ~@9 g2@9 g2@5 ~", // G Bm G
X: "~@9 f2@2 [f3,a3,c4], f2@3 f2@3 ~@2, ~@3 [a3,c4]@5 ~@4, ~@3 f3@3 ~@2 [f3,a3,c4]@3 ~", // F Am F
Y: "[~@12 c4@3 ~@9 c3@6 [a#2,a#3]@2 ~@2 d4@2 ~@3 [c3,c4]@2 ~ [f3,f4]@3 ~ d#4@2, c3@9 c3@8 ~ c3@6 ~@9 [g2,g3,b3]@2 ~@10 d#3@2 ~, ~@5 e4@10 ~@33, ~@5 c4@7 ~@4 [c4,e4,g4]@6 [c4,e4]@8 ~@12 c4 ~@5, ~@3 g4@5 ~@16]/2", // A# C F G C
Z: "[[c3,c4,e4,g4,a#4]@2 ~@2 [c3,c4,e4,g4,a#4]@2 ~@2 [c3,c4,e4,a#4]@2 ~@2 [c4,e4]@4 ~ e4@4 c4@2 f2@6 ~@7 f3@4 [f3,a3,c4,d#4]@6 ~@14 f3@4 ~@2 f2@4 [f3,a3,c4,d#4] ~, ~@12 g4@11 ~@7 c4@6 ~@10 c4@6 ~@2 [a3,c4,d#4]@10 ~@8, ~@12 c3@8 ~@9 f3@4 f2@9 ~@6 f2@9 f2@9 ~@6, ~@2 a#4 ~@9, ~@16 c4@3 ~@10 [a3,d#4]@10 ~@7 f3@8 f3@6 ~@4 [f3,a3,c4,d#4]@6 ~@2]/3", // C7 C F7 Adim F7
AA: "~@4 [e4,g4]@5 c4 ~@3 d3@3 [d3,d4]@4 [d3,d4]@3 ~, c3 ~@3, ~@4 c4@3 ~@5 d4@4 ~@8", // Em D
AB: "[[d#3,d#4]@4 [d#3,d#4]@3 ~ [d#3,d#4]@3 ~ [d3,d4]@4 d3@4 d4@3 g2@6 g3@3 ~@3 g3@4 ~@2 g2@5 ~@2, ~@16 d4@3 ~@10 [b3,f4]@10 [g3,b3,f4]@7 ~@2, ~@32 g2@9 ~@7]/2", // D# D Bdim G7
AC: "[~@29 c4@4 ~@15 g3@3 [c3,c4,e4,g4]@2 ~@2 [c3,c4,e4,g4]@2 ~@2 [c3,c4,e4,g4,a#4]@20 ~@17, f2@9 f2@8 f2@6 ~@13 g3@6 ~@54, ~@6 [a3,c4,d#4]@9 c4@6 c4@8 ~@4 c4@6 c4@6 c4@6 ~@45, ~@6 f3@5 ~@4 [f3,a3,d#4]@8 c3@28 ~@45, ~@40 e4@11 ~@45]/4", // C C7 Adim F7
})).s("gm_acoustic_guitar_steel").gain(0.31)
// chords · acoustic guitar steel · "GUITAR" · soft notes
const acoustic_guitar_steel_2 = note(`<
A ~@5 B@2 C@2 D E F G ~@3 H I@2 J@2 ~ K L ~@5 M@2 N O ~ P ~@3 Q R@2 S@2 T U D V W@2 ~@3 X Y@2 Z ~ AA@2 AB ~@2
>`.pickRestart({
A: "~ g3 ~@22", B: "[~@21 f3@9 ~@10 d#4@6 d#4@2, ~@10 f2@8 f2@5 ~@11 f2@8 ~@6, ~@16 f3@5 ~@9 f3@9 ~@9]/2",
C: "[~@9 c3@9 ~@6 c3@10 ~@14, ~@3 c3 ~@4, ~@22 g4@9 ~@17]/2", D: "~@4 g3 ~@3", E: "~@11 [a3,d#4]", F: "~@13 c4@3 ~@8",
G: "~@4 a#3 ~@10 c3@2 ~@7", H: "~@18 c4@5 ~", I: "[~@3 f3 c4@3 ~@5, ~@16 f3@5 ~@27]/2",
J: "[~@12 c4@3 ~@7 g4@8 ~@18]/2", K: "~@4 f3 ~@6 f3@3 ~@10", L: "~@4 c4 ~@3", M: "[~@16 [a3,d#4]@6 a3@7 ~@19]/2",
N: "~@4 c4 ~@3, ~@9 c3@14 ~", O: "~@21 g4@2 ~", P: "~@12 f3@3 ~@7 d#4@2, ~@3 a3@5 ~@4", Q: "~@2 c4 ~@9",
R: "[~@3 c4@3 ~@6 c4@4 g4@6 g4@5 c4@2 ~@7 c4@4 ~@8]/2",
S: "[~@12 f3@3 ~@3 f2@4 ~@5 f3@3 ~@6 f3@3 ~@9, ~@9 f2@8 ~@5 a3@8 ~@18]/2", T: "~@6 c4@2 ~ c3@3", U: "~@9 c3@8 ~@7",
V: "~@4 f3 ~@3", W: "[~@27 a#3@2 ~@19, ~@11 g4@4 ~@9]/2", X: "~@19 a#4@4 ~", Y: "[~@9 f2@2 d#4@3 ~@10]/2",
Z: "~@8 c3@3 ~@13", AA: "[~@21 [c4,d#4]@6 ~@8 f3@3 ~@10, ~@21 a3@8 ~@19]/2", AB: "~ g3@3 ~@2 g3@2",
})).s("gm_acoustic_guitar_steel").gain(0.15)
// bass · electric bass finger · "BASS"
const bass = note(`<
A B C D E F@2 G H I J K L@3 M N@3 O P@2 Q R@3 S T E U@2 V W@3 X@3 Y Z AA@2 AB AC AD AE AF AG AH@2 AI M AJ@3 AK AL AM
AN@2 AO AP@2
>`.pickRestart({
A: "c2@3 ~ c2@2 ~ c2@3 c2@2 ~ c2@2 ~@2 c2@2 ~@2 c2@2 ~", B: "~@2 a#1@4 g1@7 ~@2 c2@2 ~ f2@3 d#2@2 ~",
C: "c2 ~@15 c2@2 f2@4 d#2@2", D: "c2@2 ~@14 c2@2 f2@3 ~ d#2@2", E: "c2@2 ~@10 c2@3 ~@9",
F: "[c2@3 ~ c#2@3 ~ d2@2 ~@2 d#2@3 ~ e2@3 ~ f2@2 ~ f2@3 ~@2 f2@2 a2@3 a#2@2 c3@4 ~ c3@2 a#2@2 ~ a2@2 ~]/2",
G: "f2@3 f2@2 ~ a2@3 a#2@2 ~ c3@3 ~ c3@2 a#2@2 ~@2 a2@2", H: "c2@2 ~ c2@2 ~ e2@3 f2@2 ~ g2@3 g2@2 f2@4 e2@2 ~",
I: "c2@3 ~ c2@2 e2@4 f2@2 g2@3 ~ g2@2 f2@3 e2 ~@2", J: "g2@3 ~ g2@2 b2@4 c3@2 d3@2 ~@3 c3@4 b2@2 ~, ~@8 d3 ~@3",
K: "f2@3 f2@2 ~ a2@3 a#2@2 ~ c3@3 c3@3 a#2@2 ~ a2@2 ~",
L: "[c2@3 c2@2 ~ e2@3 f2@2 ~ g2@2 ~ g2@2 f2@4 e2@6 g2@2 ~ g2@3 g2@5 ~ c2@2 f2@4 d#2@2 c2@2 ~@15 c2@2 f2@4 d#2 ~, d2 ~@71]/3",
M: "c2@2 ~@14 c2@2 f2@3 d#2 ~@2",
N: "[c2@2 ~@10 c2@2 ~@9 c2@3 ~ c#2@3 ~ d2@2 ~@2 d#2@3 ~ e2@3 ~ f2@2 ~@2 f2@3 ~ f2@2 a2@3 ~ a#2@2 c3@3 ~ c3@2 ~ a#2@2 ~ a2@2 ~]/3",
O: "f2@3 f2@2 ~ a2@2 ~ a#2@2 ~ c3@3 c3@3 a#2@2 ~ a2@2 ~",
P: "[c2@2 ~ c2@2 e2@4 f2@2 g2@3 ~ g2@2 f2@4 e2@2 c2@3 ~ c2@2 ~ e2@4 f2@2 g2@3 ~ g2@2 f2@3 e2 ~@2]/2",
Q: "g2@3 ~ g2@2 b2@3 c3@2 d3@3 ~@3 c3@4 b2@2 ~, ~@8 d3 ~@3",
R: "[f2@2 ~ f2@2 ~ a2@3 a#2@2 c3@3 ~ c3@2 a#2@2 ~@2 a2@2 c2@2 ~@2 c2@2 e2@4 f2@2 g2@2 ~@2 g2@2 ~ f2@3 e2@6 g2@2 ~ g2@3 g2@5 ~@2 c2@2 f2@3 d#2@2 ~]/3",
S: "c2 ~@15 c2@2 f2@4 d#2 ~", T: "c2@2 ~@14 c2@2 f2@3 d#2@2 ~",
U: "[c2@2 ~@2 c#2@3 ~ d2@2 ~@2 d#2@2 ~ e2@3 ~ f2@2 ~@2 f2@3 ~ f2@2 a2@3 ~ a#2@2 ~ c3@3 ~ c3@2 a#2@2 ~ a2@2 ~]/2",
V: "f2@3 f2@2 ~ a2@3 a#2@2 ~ c3@2 ~@2 c3@2 a#2@2 ~ a2 ~@2",
W: "[c2@2 ~ c2@2 ~ e2@3 f2@2 g2@3 ~ g2@2 f2@4 e2@2 c2@3 ~ c2@2 ~ e2@3 f2@2 ~ g2@2 ~ g2@2 f2@4 e2 ~ g2@2 ~@2 g2@2 b2@4 c3@2 d3@3 ~ d3@2 ~ c3@3 b2@2 ~]/3",
X: "[f2@3 ~ f2@2 a2@3 a#2@2 ~ c3@3 c3@2 ~ a#2@2 ~ a2@2 c2@3 ~ c2@2 ~ e2@3 f2@2 ~ g2@2 ~ g2@3 f2@3 e2@6 g2@2 ~ g2@3 ~ g2@6 c2@2 f2@3 d#2@2 ~, g2 ~@71]/3",
Y: "c2@2 ~@2 c2@2 e2@3 ~ f2@2 g2@3 ~ g2@2 f2@3 e2@2 ~, d2 ~@23", Z: "c2@3 c2@2 ~ e2@4 f2@2 g2@3 ~ g2@2 f2@3 e2@2 ~",
AA: "[c2@2 ~ c2@2 ~ e2@3 f2@2 ~ g2@3 g2@2 ~ f2@3 e2@2 c2@3 ~ c2@2 ~ e2@4 f2@2 g2@3 ~ g2@2 f2@4 e2 ~]/2",
AB: "f2@2 ~@2 f2@2 a2@3 a#2@2 ~ c3@3 ~ c3@2 a#2@3 a2@2 ~", AC: "f2@3 ~ f2@2 a2@4 a#2@2 c3@3 ~ c3@2 a#2@2 ~@2 a2@2",
AD: "c2@3 c2@2 ~ e2@3 f2@2 ~ g2@3 g2@3 f2@3 e2@2 ~", AE: "c2@3 c2@3 f2 ~ f2 f2@3 g2@3 g2@3 f2@3 e2 ~@2, ~@4 c2 ~@7",
AF: "g2@3 g2@2 b2@4 c3@2 d3@2 ~@2 d3@2 ~ c3@3 b2 ~@2", AG: "f2@3 f2@2 ~ a2@3 a#2@2 ~ c3@2 ~ c3@3 a#2@3 a2 ~@2",
AH: "[c2@3 c2@2 ~ e2@3 f2@2 g2@3 ~ g2@2 f2@3 ~ e2@6 g2@2 ~ g2@3 g2@5 ~ c2@2 ~ f2@3 d#2@2 ~]/2",
AI: "c2@2 ~@14 c2@2 f2@4 d#2 ~",
AJ: "[c2@2 ~@10 c2@2 ~@9 c2@3 ~ c#2@2 ~@2 d2@3 ~ d#2@3 ~ e2@4 f2@2 ~@2 f2@3 ~ f2@2 a2@3 ~ a#2@2 c3@3 ~ c3@2 a#2@3 ~ a2@2 ~]/3",
AK: "f2@3 ~ f2@2 a2@2 ~ a#2@2 ~ c3@3 ~ c3@2 a#2@2 ~ a2 ~@2", AL: "c2@2 ~ c2@2 e2@4 f2@2 g2@3 ~@2 g2@2 f2@4 e2@2",
AM: "c2@3 ~ c2@2 e2@4 f2 ~ g2@3 g2@3 f2@3 e2 ~@2",
AN: "[f2@2 ~@2 g2@2 b2@3 c3@2 d3@3 ~ d3@2 c3@3 b2@2 ~ f2@3 ~ f2@2 ~ a2@4 a#2@2 c3@3 ~ c3@2 a#2@3 a2 ~@2]/2",
AO: "c2@2 ~ c2@2 e2@4 f2@2 g2@3 ~ g2@3 f2@3 e2 ~@2", AP: "[c2@2 ~ c2@2 ~ e2@2 ~ c2@2 ~ c2@17 ~@19]/2",
})).s("gm_electric_bass_finger").gain(0.36)
// chords · electric guitar clean · "GUITAR"
const electric_guitar_clean = note(`<
A B C D@2 E@3 F@2 G H@4 I J@2 K@2 L@3 M N@2 O P@2 Q R@2 S@2 T@2 U@2 V@2 W@2 X Y Z@2 AA AB AC@2 AD AE AF@4 AG@2 AH@2
AI@3
>`.pickRestart({
A: "[c3,c4]@3 [c3,c4]@2 ~ [c3,c4]@3 [c3,c4]@3 ~ [c3,c4]@3 [c3,c4]@2 ~ [c3,c4]@2 ~@3", // C
B: "~ [a#2,a#3]@3 ~ [g2,g3]@4 ~@2 [c3,c4]@2 ~ [f3,f4]@4 [d#3,d#4]@3 [c3,c4]@3", // A# G C F D# C
C: "~@15 [c3,c4]@2 [f3,f4]@4 [d#3,d#4]@2 ~", // C F D#
D: "[[c3,c4] ~@16 [c3,c4]@2 ~ f3@3 [d#3,d#4]@2 [c3,c4] ~@9 [c3,c4]@2 ~@11, ~@19 f4@3 ~@26]/2", // C D# C
E: "[[c3,e4,g4]@2 ~ [c3,e4,g4]@3 ~ [c3,e4,g4]@3 [c3,e4,g4]@4 ~ [c3,e4,g4]@4 [c3,e4,g4]@3 ~@7 [f4,a4,c5]@12 ~ [a4,c5,d#5]@3 d5@3 f3@24, ~@22 f3@25 ~ c5@22 ~@2, ~@21 f4@8 ~@7]/3", // C F Adim
F: "[~@4 e4@2 [e4,a#4] ~ [e4,a#4] a#4 ~ [e4,g4,a#4] ~ a#4 ~ [e4,a#4] ~ [e4,g4,a#4] ~ [e4,a#4] ~ [e4,g4,a#4] ~ [e4,g4,a#4]@2 a4@2 g4@2 e4@3 ~ d#4@2 ~ c4@3 d#4@6 c4@3]/2", // Edim
G: "~@11 a#3 b3@3 d4@9, g2@23 ~",
H: "[~@4 a3 ~@26 c3@4 ~@5 a#3 ~ a3@2 ~ g#3@2 ~@6 g3@3 ~@7 [c3,c4]@2 [f3,f4]@3 ~ [d#3,d#4]@2 [c3,c4]@2 ~@14 [c3,c4]@2 [f3,f4]@4 [d#3,d#4]@2 ~, f2@24 ~@3 c3@4 ~@5 c3@11 c3@3 ~ c3@5 ~ g2@12 ~@27, ~@3 c4@24 ~@2 c4@5 ~ a#3@4 ~@9 g3@5 ~@4 g3@8 ~@31, ~ d#4@4 ~@27]/4", // C F D# C F D#
I: "[c3,c4]@2 ~@14 [c3,c4]@2 ~ [f3,f4]@3 [d#3,d#4]@2", // C F D#
J: "[[c3,c4]@2 ~@9 [c3,c4]@2 ~@11 c3@3 [c3,g4,a#4]@3 ~ [c3,g4,a#4]@3 [c3,g4,a#4]@4 ~ [g4,a#4]@4 [g4,a#4]@3 ~ f3, ~@23 [g4,a#4]@3 ~@13 c3@7 ~@2]/2", // C C7 Gm
K: "[~@2 g#4 ~ a4@3 ~@2 c5@8 ~ d#5@2 [c5,c#5] ~ c5 ~ d#5@3 ~@3 f3@18, ~@4 f3@12 ~@2 f3@11 ~@19, ~@4 g#4 ~@22 c5@12 ~@9]/2", // C#maj7
L: "[~@6 c5!2 ~ c5 ~ c5 ~ c5 ~ c5 ~ [g4,c5] ~ [g4,c5] c5 g4 ~ [g4,c5] ~ a#4@2 g4@2 d#4@3 ~ c4@6 ~ [c4,g4]@10 ~@4 [g#4,a4]@2 ~ a#4@2 ~ b4@3 d5@6 g4@2 ~, ~@6 c3@28 ~@26 g3@5 ~@7, ~@63 g4 ~@8]/3", // C5 Amaj7
M: "~@3 [a4,c5,d#5]@7 ~@2 f4@2 ~@7 c4@3, f3@17 ~@7, ~@3 f4@2 ~@19", // Adim
N: "[g2@5 ~@2 c4 ~ c4@2 ~@2 a#3 ~ [a3,a#3] ~ [a2,a3]@3 [g#2,g#3]@2 ~ g2@4 ~@6 g3@4 ~@2 [c3,c4]@2 ~ [f3,f4]@3 [d#3,d#4]@2 ~, ~@6 c3@5 a#2@5 ~@7 g3@9 ~@16, ~@23 f2 ~@5 g2@8 ~@11]/2", // A#maj7 A G# C F D#
O: "[c3,c4]@2 ~@14 [c3,c4]@2 [f3,f4]@3 [d#3,d#4]@2 ~", // C F D#
P: "[[c3,c4] ~@14 [c3,c4]@2 ~ [f3,f4]@3 [d#3,d#4]@2 [c3,c4]@2 ~@11 [c3,c4,e4] ~@11]/2", // C F D# C
Q: "[c3,g4,a#4]@3 ~ [c3,g4,a#4]@3 ~ c3@3 [c3,g4,a#4]@3 ~ [c3,g4,a#4]@3 ~ [c3,g4,a#4]@3 ~@2, ~@7 [g4,a#4]@3 ~@14", // C7 Gm
R: "[~@2 g#4@2 ~ a4@3 ~@10 [c5,d#5] ~ [c5,d#5] d#5 c5 ~ f5@3 ~ d#5@6 ~@5 c4@5 d#4 ~ e4@2, ~@5 f3@6 f3@36 ~, ~@5 g#4 ~@3 c5@4 ~@35]/2", // Cm
S: "[c3@5 ~ c5!2 ~ c5 ~ [g4,c5] ~ [g4,c5] ~ [g4,c5] ~ [g4,c5] ~ [g4,c5] ~ [g4,c5] ~ g4@2 a#4@2 g4@2 c3@4 d#4@2 ~ c4@3 ~@3 c3@3 c4@3, ~@6 c3@4 ~ c3@5 ~ c3@2 ~@4 c3@5 ~@7 c3@4 ~@9, ~@23 c5 ~@15 d#4@7 ~@2]/2", // C5
T: "[~@3 a#4 ~@2 g3@3 ~@2 g3@4 g4@2 g3@4 ~@4 c5 ~ [f4,c5,d#5] ~ [f4,c5,d#5]@2 c5 ~ [c5,d#5] ~ [f4,c5,d#5] ~ [c5,d#5] ~ [f4,c5,d#5] ~ [f4,c5,d#5] ~ c5 ~ c5 ~@2, g3@5 ~ b4@2 ~ d5@9 ~@30, ~@6 a#4 ~@16 f3@11 ~@2 f3@4 ~ f3@2 ~@5]/2", // F7 Cm F7 Cm F7
U: "[~@8 c4 c4@2 ~@2 a#3 ~ a#3@2 ~@4 [g3,g#3] ~ g2@4 g3@2 ~ [g2,g3]@3 ~ g3@9 ~@3 d#4 ~, ~@6 c3@5 a#2@5 ~ a2@3 g#2@2 ~ f2 ~@10 g2@14, ~@19 a3@2 ~@2 g3@3 ~@22]/2", // G#maj7 G
V: "[c3@4 c4@5 ~ c4 ~ [c4,e4]@3 ~@3 c3@3 ~@3 c3@3 [c4,g4,a#4]@2 ~ [c4,g4,a#4] [g4,a#4] ~ [c4,g4,a#4] ~ [g4,a#4] c4 ~@2 [c4,g4,a#4] ~@2 [c3,c4,g4,a#4]@3 [c4,a4]@2 ~, ~@4 g4@8 c3@4 ~@14 c3@5 c3@5 ~@8, ~@12 d#4 ~@3 [c4,g4]@5 [c4,g4]@5 ~@22]/2", // C C7 Gm C7 Gm C7 F C5
W: "[c3@3 ~@3 c3@3 ~@3 c3@4 c4@2 [c3,c4]@3 ~@3 c3@4 ~@2 c3@3 [c4,g4,a#4]@4 ~@2 [c4,g4,a#4]@4 ~@3 [c4,g4,a#4]@2, g4@9 g4@8 ~ e4@2 ~ g4@11 ~@16, c4@2 ~ c4@5 ~ c4@5 ~@4 d#4 ~@2 c4@5 ~@2 c4@4 ~@16]/2", // C C7
X: "f3@4 [e4,f4] ~ [f3,f4,c5]@3 ~ a4 ~ [f3,f4,a4,c5]@3 [f4,a4,c5]@2 ~ f3 ~@2 f4@3, ~@6 [g#4,b4] ~@2 [f4,c5]@2 ~@13", // Fmaj7 F5 F G#m F5
Y: "~@3 [a4,c5,d#5]@4 ~@2 f4@2 ~ [f3,f4,a4,c5,d#5]@3 ~@3 f3@4 [f4,a4,c5,d#5]@2, ~@3 f4 ~@12 [f4,a4,c5,d#5]@4 ~@4", // Adim F7
Z: "[c3@4 c4@2 [c4,e4,g4,a#4] ~ a#4!2 ~ a#4 ~ g4 ~ g4 ~ c3@4 e4@2 c3@4 ~@2 c3@4 [c4,a#4]@5 ~@4 c3@3 [c4,g4,a#4]@2 ~, ~@6 c3@4 ~ c3@3 ~@9 b3 ~@24, ~@12 a4@2 ~@3 d#4@2 ~@4 c4@8 ~@2 g4@12 ~@3]/2", // C7
AA: "~@4 g3@2 [g2,g3,b3,f4]@3 ~ [g3,f4]@4 ~@4 g2@3 [g3,d4]@3, ~@10 b3@6 g3@5 ~@3", // G7 G5
AB: "f2@3 [a3,c4,d#4]@2 ~ [a3,c4] ~@2 d4@2 ~ c4@3 f3@3 [f2,g#3]@3 f3@2 ~, ~@5 f2@5 ~ f2@6 ~@7, ~@5 d#4@3 ~@16", // Adim Am Fm
AC: "[c3@3 c4@2 ~@2 c4 ~ c4@2 ~@2 a#3 ~ a#3 ~ [a2,a3]@3 ~ [g#2,g#3]@2 [g2,g3]@4 g3 ~@2 g3 ~@2 [g2,g3]@4 ~@2 [b2,c3,c4]@2 ~ [e3,f4]@3 [d#3,d#4] d3 ~, ~@5 c3@5 ~ a#2@5 ~@7 a2 ~@5 g2@3 ~@10 g4 ~@5]/2", // A G# G Cmaj7 Fmaj7 D#
AD: "[c3,c4]@2 ~@13 [c3,c4]@2 ~ [f3,f4]@3 [d#3,d#4]@2 c3", AE: "c4 ~@15 [c3,c4]@2 [f3,f4]@3 [d#3,d#4]@2 ~",
AF: "[[c3,c4] ~@10 [c3,c4,e4,g4]@2 ~@10 [c3,g4,a#4]@3 ~ [c3,g4,a#4]@3 ~ [c3,g4,a#4]@3 ~ c3@4 [c3,g4,c5]@3 ~ [c3,g4,c5]@4 ~@3 f4 ~@2 f4@8 ~@4 [f4,d#5]@2 d5 ~ c5@2 [g#4,c5] ~@5 f3@10 f4@3 f3@4 c4@2, ~@34 [g4,c5]@4 ~@9 f3@5 [f3,a4,c5,d#5]@12 ~ f3@5 ~ f3@4 ~@21, ~@65 a4 ~@5 a4@3 ~ f4@6 ~@15]/4", // C C7 C5 F7 G# C5 F7
AG: "[c3@4 c5 ~ [a#4,c5] ~ [a#4,c5]!2 ~ [a#4,c5] ~ [a#4,c5] ~ [a#4,c5] ~ [a#4,c5] ~ [a#4,c5] ~ [a#4,c5] ~ [c3,c5]@4 a#4@2 [c3,g4]@4 a#4@2 [c3,g4]@4 d#4@6 c4 ~@2, ~@6 c3@2 ~@3 c3@5 ~ c3@2 ~@4 a#4 ~@24]/2", // A#sus2 C C5
AH: "[f5@3 ~@2 g3@4 g4@3 ~@3 g4@2 [g3,b4]@4 ~@2 f3@4 d#5@2 f3@4 f4@3 f3@4 f4@2 [f3,a4]@3 f4@2 ~, g4@8 ~@9 g4 ~@3 f4@5 ~@22, g3@5 ~@7 g3@5 ~@31, ~@3 e5@5 ~ d5@7 ~ d5@2 ~@10 d5@3 ~ c5@15]/2", // G F
AI: "[~@4 a#4@2 [a4,a#4]@3 [g4,a4]@2 ~ d#4@2 ~ [c4,f4]@2 d#4@3 ~ [c4,d4] ~ [c3,c4]@3 e4@3 [c3,c4]@2 ~@2 [c3,e4,g4,a#4]@24 ~@15, c3@5 ~ [c3,c4]@5 c3@5 ~ c3@6 ~@49, ~@3 c4@2 ~ g4 ~@4 [c4,a4]@3 ~ g4@5 e4@2 ~@11 c4@9 ~@30]/3", // A#maj7 Gsus2 F5 Csus2 C C7 C F
})).s("gm_electric_guitar_clean").gain(0.41)
// chords · electric guitar clean · "GUITAR" · soft notes
const electric_guitar_clean_2 = note(`<
~@8 A ~@9 B ~@2 C@2 ~@2 D ~@6 E F G H@2 ~ I J ~ K L M ~ N O ~@2 P Q ~@4 R ~ S ~ T ~@3
>`.pickRestart({
A: "~@9 e4 ~@3 [e4,g4] ~ g4 ~@3 g4 ~@4", B: "~@22 d#5 ~", C: "[~@12 c3@17 ~@12 g3@5 ~@2]/2", D: "~@3 g2 ~@20",
E: "~@10 c3 ~@13", F: "~@5 g4@4 ~@15", G: "~@7 f4",
H: "[~ [f4,d#5] ~@5 [f4,d#5] ~ f4 ~@3 f4 ~@5 [f4,d#5] ~ [f3,f4,d#5] ~ [f4,c5,d#5]@2 g2 ~@2 g2 ~@19]/2", // F7
I: "~@6 c3@5 ~@13", J: "~@8 c4 ~@4 [c4,g4,a#4] ~@10", K: "~@6 c3@2 ~ c3@2 ~", L: "~@8 a4 ~@15", M: "f3@3 ~@3 f3 ~@17",
N: "~@11 c3@4 c4@5 ~@4", O: "g2@5 ~@7 g2@5 ~@7", P: "~@4 c#4 ~@19", Q: "~@21 f4@2 ~", R: "~@3 f4@2 ~@3",
S: "~@18 c3@4 f#4 ~", T: "~@3 f4@5 ~@16",
})).s("gm_electric_guitar_clean").gain(0.26)
// drums · rim
const rim = s("rim").struct("<~@6 A@8 B@2 C D A@8 B@2 E F G A@19 B H I J A@7 K ~>".pickRestart({
A: "~ x ~ x", B: "x", C: "x ~@12 x ~@10", D: "~ x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3", E: "x!2",
F: "x ~@4 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3", G: "x!2 ~ x", H: "x ~@22 x", I: "~ x", J: "x!6", K: "~ x ~@2",
})).gain(0.41)
// drums · kick
const kick = s("bd").struct("<~@6 A B@7 ~@4 A B@7 ~@4 A B@19 ~@4 A B@7 ~>".pickRestart({
A: "~@5 x!2 ~@5", B: "x ~@4 x!2 ~@5",
})).gain(0.36)
// drums · snare
const snare = s("sd").struct(`<
~@2 A@2 B C D E F@6 A G H I J F@5 K F A@2 L M N F@10 O F P F P F P F Q A R S T F@6 K U ~
>`.pickRestart({
A: "x", B: "x ~@11 x ~@10 x", C: "~@3 x!2 ~@3 x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x", D: "~@5 x!2 ~@11 x ~@5",
E: "~@7 x ~@10 x ~@5", F: "~ x ~ x", G: "~ x ~@22", H: "x ~@12 x ~@10", I: "~ x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3",
J: "~@5 x ~@12 x ~@5", K: "~@6 x ~@10 x ~@6", L: "x!2", M: "x ~@4 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3", N: "x!2 ~ x",
O: "~@6 x ~@3 x ~@8 x ~@4", P: "~@3 x ~ x ~@3 x ~@2", Q: "~ x ~@2", R: "x ~@22 x", S: "~ x", T: "x!6",
U: "~@5 x ~@6 x ~@11",
})).gain(0.41)
// drums · clap
const clap = s("cp").struct("<~@6 A@8 ~@4 A@8 ~@4 A@20 ~@4 A@7 ~@2>".pickRestart({
A: "~@3 x",
})).gain(0.26)
// drums · hihat
const hihat = s("hh").struct(`<
~@6 A B@5 C D ~@3 E F G@5 H G I ~@2 J F G@2 K L G@9 M N G@4 I ~@2 O P G@3 K Q G R ~
>`.pickRestart({
A: "~@3 x ~ x!2 ~@2 x ~ x", B: "x ~@2 x ~ x!2 ~@2 x ~ x", C: "x ~@5 x ~@3 x ~ x ~@5 x ~@2 x ~@2",
D: "x ~@5 x ~@2 x ~@2 x ~@5 x ~@2 x ~ x", E: "~ x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@2 x", F: "~@2 x!2 ~ x!2 ~ x!2 ~ x",
G: "x ~ x!2 ~ x!2 ~ x!2 ~ x", H: "x ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x!2 ~@2 x ~", I: "x",
J: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x", K: "x!2 ~@2 x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x ~",
L: "x ~@2 x ~ x!2 ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~", M: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~ x ~@3 x ~",
N: "x ~@2 x ~@2 x ~@3 x ~ x ~@3 x ~ x ~@3 x ~", O: "~@9 x ~@3 x ~@2 x ~@3 x ~@2 x",
P: "~@3 x ~ x!2 ~@2 x ~ x!2 ~@2 x ~ x!2 ~@3 x ~", Q: "x ~@3 x ~ x ~@3 x ~ x ~@2 x ~@2 x ~@3 x ~",
R: "x ~@3 x ~ x ~@2 x ~@2 x ~@11",
})).gain(0.41)
// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
~@6 A B A B A B A B ~@4 A B A B A B A B ~@4 A B A B A B A B A B A B A B A B A B A B ~@4 A B A B A B A C ~
>`.pickRestart({
A: "~@5 x ~@2 x ~@3", B: "~@5 x ~@2 x ~@2 x", C: "~@5 x ~@6",
})).gain(0.1)
// drums · open hat
const open_hat = s("oh").struct(`<
~@6 A ~ A ~ A ~ A ~@5 A ~ A ~ A ~ A ~@5 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@5 A ~ A ~ A ~ A ~@2
// … 33 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.