0:00/0:00
// Nothin' Shakin' — The Beatles
// 116 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "BASS" named as a bass, played on electric bass finger (its electric guitar clean patch is not one)
// note: Full arrangement: all 86 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(116/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// chords · electric bass finger · "BASS"
const electric_bass_finger = note(`<
A B C D E F G H I J K L M J ~ N O L P Q R S T U V W ~ X Y Z U AA AB AC AD AE AF L AG F AH AI AJ Q AK AL ~ AM AN AO AP
AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL AI BM BN BO BP ~ BQ BR BS BT BU BV BW
>`.pickRestart({
A: "c2@2 [g3,c4,e4,g4] ~ e2 ~ [g2,g3,c4,e4,g4] ~ f2@2 f3 ~@2 f3 f4 ~, ~@11 c4@3 ~@2, ~@6 f2 ~", // C
B: "c2@2 [g3,c4,e4,g4] ~ c2@2 [g3,c4,e4,g4] ~ f2@2 [a3,c4,f4,a4] ~ a2 ~ c3 ~, ~@13 [a3,c4,f4,a4]@2 ~", // C F
C: "c2@2 [c4,e4,g4] ~@2 [e3,c4]@2 ~ f2@2 [c4,f4,a4] ~@2 [f3,c4]@2 ~, ~@2 c2 ~@3 f2 ~", // C F F5
D: "d2@2 [f#3,d4] ~ f#2 ~ [a2,f#3,d4] ~ g2@2 [d4,g4,b4] ~ [b2,g3] ~ d3 ~, ~@13 d4@2 ~", // D G Em
E: "c2@2 [g3,c4,e4,g4] ~ c2@2 [g3,c4,e4,g4] ~ f2@2 [a3,c4,f4,a4] ~ f2@2 [a3,c4,f4,a4] ~", // C F
F: "c2@2 [g3,c4,e4,g4] ~ g2@2 [g3,c4,e4,g4] ~ c2@2 [c4,e4] [g3,c4] c2 [c4,e4] [c2,g3] ~", // C C5 C C5
G: "c2@2 [c4,e4,g4] ~ e3 c4@2 ~ f2@2 [a3,c4,f4,a4] ~ f2 ~ [f2,a3,c4,f4,a4] ~, ~@2 c2 ~@5", // C F
H: "~ c3 g3 ~ g2@2 [g3,c4,e4] ~ c2@2 [g3,c4,e4] ~ d2 c3 [e2,g3,c4,e4] ~, c2@3 [g3,c4,e4]@2 ~@11", // C
I: "f2@2 [a3,c4,f4,a4] ~ f2@2 [a3,c4,f4,a4] ~ a#1@2 [f3,a#3,d4,f4] ~ d2 ~ [f2,f3,a#3,d4,f4] ~", // F A#
J: "f2@2 [a3,c4,f4,a4] ~ c2@2 [a3,c4,f4,a4] ~ f2@2 [c4,f4] [f2,a3,c4] a2 [c4,f4] [c3,a3] ~", // F F5 F F5 F
K: "c2@2 [c4,e4,g4] ~ e2 ~ g2 ~ f2@2 [c4,f4,a4] ~ f3 c4@2 ~, ~@5 [e3,c4]@2 ~@5 f2@2 ~@2", // C F C
L: "c2@2 [c4,e4,g4] ~ g2@2 [c4,e4,g4] ~ c2@2 [c4,e4,g4] g3 ~ [c4,e4,g4] g3 ~, ~@6 g2 ~", // C
M: "g2@2 [d4,g4,b4] ~ d2@2 [d4,g4,b4] ~ g2@2 [d4,g4,b4] b3 g2 [d4,g4,b4] [g2,b3] ~", // G
N: "~@6 [c4,e4,g4] ~ c2@2 [c4,e4,g4] c2 e2 [c4,e4,g4] [g2,g3] ~", // C G
O: "c2@2 [c4,e4,g4] ~ e2 ~ g2 ~ f2@2 f3 ~ f2 f3 [f2,f4] ~, ~@5 [e3,c4]@2 ~@4 c4@3 ~@2", // C F C
P: "c2@2 [c4,e4,g4] ~@2 [e3,c4]@2 ~ f2@2 [c4,f4,a4] ~ f3 c4@2 ~, ~@2 c2 ~@3 f2 ~", // C F
Q: "c2@2 [c4,e4,g4] ~ g2@2 [c4,e4,g4] ~ c2@2 [c4,e4,g4] ~@2 [c4,e4,g4] g3 ~, ~@6 g2 ~", // C
R: "f2@2 [c4,f4,a4] ~@2 [f3,c4]@2 ~ a#1@2 [a#3,d4,f4] ~ [d2,d3] ~ f2 ~, ~@4 f2@2 ~@7 a#3@2 ~", // F F5 A# D
S: "f2@2 [a3,c4,f4,a4] ~ c2@2 [a3,c4,f4,a4] ~ f2@2 [c4,f4] [a3,c4] f2 [c4,f4] [f2,a3] ~", // F F5 Am F5 F
T: "c2@2 [e3,c4] ~ c2@2 [e3,c4] ~ f2@2 [c4,f4,a4] ~ f3 c4@2 ~, ~@6 f2 ~", // C F
U: "~ c3 g3 ~ g2@2 [g3,c4,e4] ~ c2@2 [g3,c4,e4] c2 e2 c3 [g2,g3,c4,e4] ~, c2@3 [g3,c4,e4]@2 ~@11", // C
V: "g2@2 [b3,d4,g4,b4] ~ d2@2 [b3,d4,b4] ~ g2@2 [b3,d4,g4,b4] ~@2 [b3,d4,g4,b4] g2 ~, ~@6 d2 ~", // G Bm G
W: "f2@2 [a3,c4,f4,a4] ~ c2@2 [a3,c4,a4] ~ f2@2 [a3,c4,f4,a4] f2!2 [a3,c4,f4,a4] f2 ~", // F Am F
X: "~@8 c2@2 [g3,c4,e4] ~ c2 c3 [c2,g3,c4,e4] ~", // C
Y: "f2@2 [a3,c4,f4,a4] ~ c3@2 [a3,c4,a4] ~ f2@2 [a3,c4,f4,a4] ~@2 [a3,c4,f4,a4] f2 ~, ~@6 c3 ~", // F Am F
Z: "f2@2 [a3,c4,d#4,f4] ~ c2@2 [a3,c4,d#4,f4] ~ f2@2 [a3,c4,d#4,f4] [f2,f3] a2 [a3,c4,d#4] [c3,f3] ~", // F7 F Adim F5
AA: "c2@2 [a#3,c4,e4,g4] ~ g2@2 [a#3,c4,e4,g4] ~ c2@2 [c4,e4] [c2,a#3,c4] e2 [c4,e4] [g2,a#3] ~", // C7 C C7 C Gm
AB: "f2@2 [c4,f4,a4] ~ c2@2 [c4,f4,a4] ~ f2@2 [c4,f4,a4] f2 a2 [c4,f4,a4] [c3,a3] ~", // F
AC: "f2@2 [f3,a3,c4,d#4] ~ c2@2 [f3,a3,c4,d#4] ~ f2@2 [f3,a3,c4,d#4] f2 a2 [a3,c4,d#4] [c3,f3] ~", // F7 Adim F5
AD: "~ d3 a3 ~ a2@2 [a3,d4,f#4] ~ d2@2 [a3,d4,f#4] d2!2 d3 [d2,a3,d4,f#4] ~, d2@3 [a3,d4,f#4]@2 ~@11", // D
AE: "g2@2 [d4,g4,b4] ~ d2@2 [d4,g4,b4] ~ g2@2 [d4,g4,b4] ~ e2 [d4,g4,b4] [d2,b3] ~", // G
AF: "c2@2 [g3,c4,e4,g4] ~ e2 ~ [g2,g3,c4,e4,g4] ~ f2@2 f3 ~ f2 f3 [f2,f4] ~, ~@11 c4@3 ~@2", // C F
AG: "c2@2 [g3,c4,e4,g4] ~ e2 ~ [g2,g3,c4,e4,g4] ~ f2@2 [a3,c4,f4,a4] ~@2 [a3,c4,f4,a4]@2 ~, ~@6 f2 ~", // C F
AH: "f2@2 f3 ~ a2 f3 [c3,f4] ~ a#1@2 [d3,a#3] ~ a#1@2 [d3,a#3] ~, ~@3 c4@3 ~@10", // F5 Gm
AI: "f2@2 [a3,c4,f4,a4] ~ c3@2 [a3,c4,f4,a4] ~ f2@2 [c4,f4] [a3,c4] ~ [c4,f4] a3 ~, ~@6 c3 ~", // F F5 Am F5
AJ: "c2@2 [g3,c4,e4,g4] ~ c2 ~ [c2,g3,c4,e4,g4] ~ f2@2 [c4,f4,a4] ~@2 [f3,c4]@2 ~, ~@6 f2 ~", // C F F5
AK: "g2!2 b3 ~ d2@2 [b3,d4,g4] ~ g2@2 [b3,d4,g4] ~@2 g2 [b3,d4,g4] ~, ~@3 [b3,d4,g4]@2 ~@7 d2@2 ~@2", // G
AL: "f2@2 [c4,f4,a4] ~ c2@2 [c4,f4,a4] ~ f2@2 [c4,f4,a4] a3 f2 [c4,f4,a4] [f2,a3] ~", // F
AM: "~@6 [g3,c4,g4] ~ c2@2 [g3,c4,e4,g4] ~@2 [g3,c4,e4,g4] c3 ~, ~@6 g2 ~", // C5 C
AN: "c2@2 [e4,g4] c4 g3 [e4,g4] c4 g3 [e4,g4] c4 g3 ~ g2@2 c4 ~, ~@4 g2@3 ~ c2@2 ~ [e4,g4]@3 ~@2", // Em
AO: "[c2,c3]@2 [a#3,c4,e4,g4] ~@2 [a#3,c4,e4,g4] ~ c3 [a#3,c4,e4,g4] ~@2 a#3 e4 g4 e4 c4, ~@4 g2@3 ~ c2@3 ~ g2@2 ~@2", // C C7
AP: "c2@2 [g3,c4,e4,g4] ~@2 [g3,c4,e4,g4] ~@2 [g3,c4,e4,g4] ~ g3 [c4,e4,g4] c2 g3 [c2,c4,e4,g4] ~, ~@4 g2@3 ~ c2@2 ~@6", // C
AQ: "[c2,c3]@2 [a#3,c4,e4,g4] ~@2 [a#3,c4,e4,g4] ~ c3 [a#3,c4,e4,g4] ~@2 a#3 [d2,e4] g4 [e2,e4] c4, ~@4 g2@3 ~ c2@3 ~@5", // C C7 Dsus2 E
AR: "f2@2 [a3,c4,f4,a4] ~@2 [a3,c4,f4,a4] ~ f2 [a3,c4,f4,a4] ~@2 [f2,a3] [a2,f4] a4 [c3,f4] c4, ~@4 c2@3 ~ f2@2 ~@6", // F Dm F5
AS: "f2@2 [d#4,f4] c4 a3 [d#4,f4] c4 a3 [d#4,f4] c4 a3 f2 a2 ~ [c3,c4] ~, ~@4 c2@3 ~ f2@2 ~ [d#4,f4]@3 ~@2", // D#sus2 C D#sus2
AT: "c2@2 [g3,c4,e4,g4] ~@2 [g3,c4,e4,g4] ~ g3 [e4,g4] c4 g3 ~@2 g3 c4 ~, ~@4 g2@3 ~ c2@2 ~ e4@3 ~@2, ~@6 g2 ~", // C Em
AU: "c2@2 [a#3,c4,e4,g4] ~@2 [a#3,c4,e4,g4] ~ a#3 [c4,e4,g4] ~ [e4,g4] [c2,c4] [c2,a#3] [e4,g4] [c2,c4] a#3, ~@4 g2@3 ~ c2@2 ~@6", // C7 C Em C C7 Em C
AV: "g2@2 [g4,b4] d4 b3 [g4,b4] d4 b3 [g4,b4] d4 b3 g2 b2 ~ [d3,d4] ~, ~@4 d2@3 ~ g2@2 ~ [g4,b4]@3 ~@2", // G D G
AW: "f2@2 [a3,c4,f4,a4] ~@2 [a3,c4,f4,a4] ~@2 [a3,c4,f4,a4] ~ a3 [f2,c4,f4,a4] a2 a3 [c3,c4,f4,a4] ~, ~@4 c2@3 ~ f2@2 ~@6", // F
AX: "c2@2 e4 c4 [c2,g3] g4 [c2,c4] g3 f2@2 [f4,a4] c4 [a2,a3] [f4,a4] [c3,c4] a3", // C5 C F A F C
AY: "c2@2 [e4,g4] c4 a#3 [e4,g4] c4 a#3 [e4,g4] c4 a#3 c2!2 ~ [c2,c4] ~, ~@4 g2@3 ~ c2@2 ~ [e4,g4]@3 ~@2", // Em C Em
AZ: "f2@2 [c4,f4,a4] ~ c2@2 [c4,f4,a4] ~ f2@2 [c4,f4,a4] f2 d2 [c4,f4,a4] [e2,a3] ~", // F A5
BA: "f2@2 [a3,c4,d#4,f4] ~ c2@2 [a3,c4,d#4,f4] ~ f2@2 [c4,d#4] [a3,c4] ~ [c4,d#4] a3 ~, ~@6 c2 ~", // F7 Cm Am Cm
BB: "c2@2 [g3,c4,e4,g4] ~ g2@2 [g3,c4,g4] ~ c2@2 [g3,c4,e4,g4] ~@2 [g3,c4,e4,g4] c3 ~, ~@6 g2 ~", // C C5 C
BC: "c2@2 [a#3,c4,e4,g4] ~ g2@2 [a#3,c4,e4,g4] ~ c2@2 [a#3,c4,e4,g4] ~ c2 [a#3,c4,e4] [c2,g3] ~", // C7 C5
BD: "f2@2 [c4,f4,a4] ~ c2@2 [c4,f4,a4] ~ f2@2 [c4,f4,a4] a3 d2 [c4,f4,a4] [e2,a3] ~", // F A5
BE: "f2!2 a3 ~ c3@2 [a3,c4,d#4] ~ f2@2 [a3,c4,d#4] ~@2 f2 [a3,c4,d#4] ~, ~@3 [a3,c4,d#4]@2 ~@7 c3@2 ~@2", // Adim
BF: "d2@2 [a3,d4,f#4,a4] ~ a2@2 [a3,d4,f#4,a4] ~ d2@2 [a3,d4,f#4,a4] ~ d2 [d4,f#4,a4] [d2,a3] ~", // D D5
BG: "g2@2 [g3,b3,d4,f4] ~ d2@2 [g3,b3,d4,f4] ~ g2@2 [g3,b3,d4,f4] ~@2 [b3,d4,f4] g3 ~, ~@6 d2 ~", // G7 Bdim
BH: "c2@2 [e3,c4] ~ c2@2 [e3,c4] ~ f2@2 [c4,f4,a4] ~@2 [f3,c4]@2 ~, ~@6 f2 ~", // C F F5
BI: "c2@2 [g3,c4,e4,g4] ~ g2@2 [g3,c4,e4,g4] ~ c2@2 [g3,c4,e4,g4] ~@2 [c4,e4,g4] g3 ~, ~@6 g2 ~", // C
BJ: "c2@2 [c4,e4,g4] ~@2 [e3,c4]@2 ~ f2@2 [a3,c4,f4,a4] ~ f2 ~ [f2,a3,c4,f4,a4] ~, ~@2 c2 ~@5", // C F
BK: "c2@2 [c4,e4,g4] ~ g2@2 [c4,e4,g4] ~ c2@2 [c4,e4,g4] [c2,g3] e2 [c4,e4,g4] [g2,g3] ~", // C C5 C G
BL: "f2@2 [f3,c4] ~ f2 ~ [f2,f3,c4] ~ a#1@2 [f3,a#3,d4,f4] ~ a#1@2 [f3,a#3,d4,f4] ~", // F5 A#
BM: "c2@2 [g3,c4,e4,g4] ~ c2@2 [g3,c4,e4,g4] ~ f2@2 [c4,f4,a4] ~@2 [f3,c4]@2 ~, ~@6 f2 ~", // C F F5
BN: "c2@2 [g3,c4,e4,g4] ~ g2@2 [g3,c4,e4,g4] ~ c2@2 [g3,c4,e4,g4] c2 e2 [c4,e4,g4] [g2,g3] ~", // C G
BO: "g2@2 [d4,g4,b4] ~ d3@2 [d4,g4,b4] ~ g2@2 [d4,g4,b4] ~@2 [d4,g4,b4] b3 ~, ~@6 d3 ~", // G
BP: "f2!2 a3 ~ c2@2 [a3,c4,f4] ~ f2@2 [a3,c4,f4] f2!3 [f2,a3,c4,f4] ~, ~@3 [a3,c4,f4]@2 ~@11", // F
BQ: "~@6 [c4,e4,g4] ~ c2@2 [c4,e4,g4] ~@2 g3 [c4,e4,g4] ~, ~@6 g1 ~", // C
BR: "c2@2 [c4,e4,g4] ~ g2@2 [c4,e4,g4] ~ c2@2 [c4,e4,g4] ~ g2@2 [c4,e4,g4] ~", // C
BS: "c2@2 [e3,c4] ~@2 [e3,c4] ~@2 [e3,c4] ~@2 [e3,c4] g2 ~ [e3,c4] ~, ~@4 g2@2 ~@2 c2@3 ~@5", // C
BT: "c2@2 [c4,e4,g4] ~ g2@2 [c4,e4,g4] ~ c2@2 [c4,e4,g4] ~@2 [c4,e4,g4] ~@2, ~@12 g2@3 ~", // C
BU: "c2@2 [c4,e4,g4] ~@2 [c4,e4,g4] ~ g3 [c4,e4,g4] ~ g3 [c2,c4,e4,g4] e2 g3 [g2,c4,e4,g4] ~, ~@2 g2@2 c2 ~@3", // C
BV: "c2@2 [g3,c4,e4,g4] ~ g2@2 [g3,c4,e4,g4] ~ c2@2 [g3,c4,e4,g4] c2!2 [c4,e4,g4] [c2,g3] ~", // C C5
BW: "c2@2 [g3,c4,e4,g4] ~ g2@3 ~@9", // C
})).s("gm_electric_bass_finger").gain(0.19)
// chords · electric guitar clean · "GUITAR"
const electric_guitar_clean = note(`<
A B C D ~ E F G ~ H ~ I ~@3 J K L M N ~ O ~ P Q ~@4 R ~ S T ~ U V ~ G ~ W ~ X ~ Y Q ~@3 Z AA AB AC AD AE AF AG AH AI
AJ AK ~ AL ~ AM Q AN AO AP ~ AQ Q AR ~ AS AT Y AU AS ~@8
>`.pickRestart({
A: "~@2 d#4!2 ~ d#4!2 ~ d4@2 c4@2 a3@2 g3@2, ~@8 f4@7 ~", B: "~@2 d#4!2 ~ d#4!2 ~ d4@2 c4@2 a3@2 g3 ~, c4@7 ~ f4@7 ~",
C: "~@2 d#4!2 ~ d#4!2 ~ d4 ~ c4@2 a3 ~ g3 ~, c4 f4", D: "d4@2 d4@2 d4@2 ~@2 g4@5 ~@3, ~@3 g3@3 ~@2",
E: "~@8 d#4 ~ g4 ~@5, ~@9 e4@2 ~@5", F: "c4@5 ~@11", G: "~@4 [d#4,e4] g4@3", H: "~@10 a4@4 f4 ~, ~@10 g#4 ~@5",
I: "~@5 e4@3, ~@10 d#4 ~@5", J: "~@10 e4@3 g4@2 ~, ~@10 d#4 ~@5", K: "c4 ~@3", L: "~@10 e4@3 ~ g4 ~, ~@10 d#4 ~@5",
M: "g4@3 ~@13", N: "~@4 c4 d#4@2 ~", O: "~@8 g#4 ~ c5@4 ~@2, ~@9 a4@2 ~@5", P: "~@5 e4@2 c4, ~@10 d#4 ~@5",
Q: "c4@3 ~@13", R: "~@4 [g#4,a4] c5@2 ~", S: "~@11 a4 ~@2 a4 ~", T: "a4@3 ~@13", U: "~@8 d4@2 a4@3 ~@3",
V: "a#4 b4@3 d5@4 g4@4 ~@4", W: "~@4 a4 g4@3", X: "~@8 [g#4,a4]@2 c5@5 ~", Y: "~@8 [d#4,e4]@2 g4 ~ g4@2 c4 ~",
Z: "~@4 g4 a4@2 ~ [g4,c5]@3 ~@2 e4@2 ~, ~@4 c5@3 c4@5 g4@3 ~", // C5
AA: "~@4 e4@5 ~ [a#3,c4,e4]@3 [a#3,g4]@2 ~, ~ g3@14 ~, ~@2 a#3@7 ~@7, ~@3 c4@6 ~@7", // C7 D#
AB: "~@2 g4@6 ~@2 [e4,g4] ~@2 [c4,e4,g4] ~@2, c3@15 ~, c4@9 ~@7, ~ e4@7 ~@8", // Em C
AC: "~@3 g4@5 ~@2 [c4,e4,g4] ~@2 [a#3,c4,e4,g4] ~@2, c3@15 ~, a#3@9 ~@7, ~ c4@7 ~@8, ~ e4@3 ~@4", // C C7
AD: "g4 ~@12 a4 c5 ~, f3, c5@13 ~@3, ~@10 c4@5 ~, ~@11 f4@4 ~", AE: "[c4,d#4,f4]@5 ~@2 f4, ~@5 a3@3, ~@11 c4@5",
AF: "~@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@2 ~@2", // C
AG: "~@2 [a#3,c4,e4,g4]@2 ~@2 [a#3,c4,e4,g4] ~ [a#3,c4,e4,g4]@3 ~ [a#3,c4,e4,g4]@2 ~@2", // C7
AH: "~@4 d4 e4@2 ~ [d4,g4]@3 ~@2 b3@2 ~, ~@4 g4@3 g3@5 d4@3 ~", // G5
AI: "~@3 c5@6 ~ [a4,c5] ~@2 c5 ~@2, ~ f4@13 ~@2, ~@2 a4@7 ~@7, ~@3 f5@11 ~@2", // Am
AJ: "~@4 d4 e4@2 ~ [f4,a4]@5 a3 [f4,a4] ~, c3 ~, ~@3 g3@5 ~@8, ~@4 g4@3 ~@9", // F
AK: "~@4 g4 a4@2 ~ [g4,c5]@3 c4 ~ e4@2 ~, ~@4 c5@3 a#3@8 ~, ~@12 g4@3 ~", AL: "~@4 [g#4,a4] c5@2 f4",
AM: "~@10 d#4 e4@3 c4 ~", AN: "~@10 g#4 a4@3 ~@2", AO: "~@4 d4 f#4@2 ~", AP: "~@8 a#4 ~ d5@6, ~@9 b4@2 ~@5",
AQ: "~@4 [a4,a#4] g4@2 d#4", AR: "~@4 [d#4,e4] g4@2 ~", AS: "~@10 a4@3 ~ f4 ~, ~@10 g#4 ~@5", AT: "e4@3 ~@5, d4 ~@15",
AU: "c4 ~@7",
})).s("gm_electric_guitar_clean").gain(0.36)
// chords · electric guitar clean · "GUITAR" · soft notes
const electric_guitar_clean_2 = note("<~@5 A ~@17 B ~@24 C ~ D E F G ~@2 H I J C ~@26>".pickRestart({
A: "~@14 c4 ~", B: "~@10 c4 ~@5", C: "~@3 c4 ~@8 d4 ~@3", D: "~@10 c4 ~@5, g3@15 ~", E: "~@10 a#3 ~@5, g3@15 ~",
F: "~ a4@10 ~@5, f4@11 ~@5", G: "a3@9 ~@4 d#4@3, f2", H: "~@3 g3 ~@8 a3 ~@3", I: "~@13 a4 ~@2",
J: "~@8 f2@7 ~, ~@2 a3 ~",
})).s("gm_electric_guitar_clean").gain(0.2)
// bass · electric bass finger · "BASS"
const bass = note(`<
A B C D E F G H I J E K L M ~ N A O E P Q R A S T U ~@2 I V W X V@2 Y Z E AA E AB AC AD B AE AF AG ~@2 G E AH X I AI
AH AJ AF AK B AL AM AN AO X AP I AQ AR B F B H AS AT B AU AV AD ~ AW B F E F W AX
>`.pickRestart({
A: "c3@6 ~@2 f2@7 ~", B: "c3@7 ~ f2@8", C: "c3@7 ~ f2@6 ~@2", D: "d2@7 ~@3 g2@2 a2 ~ b2 ~", E: "c3@7 ~ f2@7 ~",
F: "c3@9 ~ g2@2 a2@2 b2@2", G: "c3@8 f2@7 ~", H: "c3@9 ~ c3@2 d3@2 e3 ~", I: "f2@7 ~ c2@7 ~",
J: "f2@8 ~@2 f2@2 e2@2 d2 ~", K: "c3@8 ~@2 c3 ~ b2@2 a2 ~", L: "g2@7 ~ d2@7 ~", M: "f2@7 ~@3 f2 ~ g2 ~ a2 ~",
N: "~@10 g2@2 a2 ~ b2 ~", O: "c3@8 ~@2 g2@2 a2 ~ b2 ~", P: "c3@8 ~@2 c3 ~ b2 ~ a2 ~", Q: "f2@5 ~@3 c2@7 ~, e2 ~@15",
R: "f2@6 ~@4 g2@2 a2 ~ b2 ~", S: "c3@8 ~@2 c3 ~ b2@2 a2@2", T: "g2@6 ~@2 d2@7 ~", U: "f2@8 ~@2 g2 ~ a2 ~ b2 ~",
V: "f2@7 ~ c2@6 ~@2", W: "c3@7 ~ g2@7 ~", X: "c3@7 ~ g2@6 ~@2", Y: "d2@4 a1@3 ~", Z: "g2@7 ~@3 g2@2 a2@2 b2 ~",
AA: "c3@9 ~ g2@2 a2 ~ b2@2", AB: "c3@8 ~ c3@2 ~ b2@2 a2 ~", AC: "f2@3 ~ c2@4", AD: "f2@7 ~@3 g2@2 a2@2 b2@2",
AE: "c3@9 ~ c3@2 b2@2 a2@2", AF: "g2@7 ~ d2@8", AG: "f2@9 ~ g2@2 a2@2 b2@2", AH: "c3@7 ~ g2@8", AI: "f2@4 c2@3 ~",
AJ: "c3@4 g2@3 ~", AK: "f2@8 ~@2 g2@2 a2@2 b2 ~", AL: "c3@9 ~ g2@2 a2@2 b2 ~", AM: "c3@3 ~ c2@3 ~",
AN: "c3@3 ~ f2@3 ~", AO: "c2@7 ~ g1 ~@7", AP: "f2@6 ~@2 c2@7 ~", AQ: "d2@7 ~ a1@7 ~", AR: "g2@7 ~@3 g2@2 a2@2 b2@2",
AS: "f2@7 ~ c2@8", AT: "f2@4 ~ g2 a2 b2", AU: "c3@4 ~ c3 b2 a2", AV: "g2 d2", AW: "~@5 g2 a2 b2", AX: "c3@9 ~@7",
})).s("gm_electric_bass_finger").gain(0.36)
// drums · kick
const kick = s("bd").struct(`<
A@3 B A@6 C A@2 C A D A@9 C A E A@2 C@2 A@3 B A@9 C A E@2 F E@9 G A C@2 A@4 D A@2 C A C A@3 C A@2 G A B A H A G
>`.pickRestart({
A: "x ~@2 x!2 ~@3 x ~@2 x!2 ~@3", B: "x ~@2 x!2 ~@3 x ~@7", C: "x ~@2 x!2 ~@3 x ~@3 x ~@3", D: "x!2 ~@2", E: "x!4",
F: "x ~@3 x ~@3 x ~@3 x ~@2 x", G: "x!3 ~", H: "x ~@6 x ~@3 x ~@4",
})).gain(0.4)
// drums · rim
const rim = s("rim").struct(`<
A@3 ~ A@6 B C A B A ~ A@3 C A@3 C A B A ~ A@2 B@2 A@3 ~ A@7 C A B A ~@13 A D B C A@3 ~ A@2 D C D A@3 D A@2 ~ A ~ A ~ A
~
>`.pickRestart({
A: "~@3 x ~@3 x", B: "~@6 x ~@2 x ~ x ~@2 x ~", C: "~@3 x ~@4", D: "~@6 x ~@4 x ~@2 x ~",
})).gain(0.35)
// drums · snare
const snare = s("sd").struct(`<
~@3 A ~@7 B ~@3 C ~@3 B ~@7 D ~@7 E ~@11 F G@7 H G@3 I ~@3 B ~@3 J ~@11 I ~ K ~ L ~ M
>`.pickRestart({
A: "~@6 x ~ x ~@2 x!2 ~@2 x", B: "~@6 x!2", C: "x ~@7 x ~@6 x", D: "x ~@6 x ~@2 x!2 ~@4", E: "~@3 x ~@2 x ~",
F: "~ x!2 ~@13", G: "~ x ~ x ~ x ~ x", H: "~@2 x ~@3 x ~@3 x ~@3 x!2", I: "~@2 x ~@3 x ~@3 x!6",
J: "~@2 x ~@3 x ~ x ~@6 x", K: "~@3 x ~@4", L: "~@3 x ~ x ~@2 x!2 ~@2 x!4", M: "x ~ x ~ x ~ x!2 ~@8",
})).gain(0.35)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@15 A ~@7 B ~@3 C ~@15 B ~@23 D ~@3 B ~@11 E ~ F>".pickRestart({
A: "~ x!2 ~ x ~@4 x!2 ~ x!2 ~@2", B: "~@9 x ~ x ~@2 x ~", C: "~ x!2 ~ x!2 ~@2 x!2 ~@3 x!2 ~",
D: "~@7 x ~ x!2 ~ x!2 ~@2", E: "~ x ~@6", F: "~ x ~@3 x ~@2 x ~@7",
})).gain(0.1)
// drums · low tom
const low_tom = s("lt").struct("<~@3 A ~@11 A ~@11 B ~@7 C ~@11 D ~@19 A ~@13 E ~@4>".pickRestart({
A: "~@7 x", B: "~@15 x", C: "~@11 x ~@2 x!2", D: "~@11 x!2 ~ x ~", E: "~@14 x!2",
})).gain(0.4)
// drums · hihat
const hihat = s("hh").struct(`<
A B A@4 B A B A@2 C A@7 C A@13 B A@4 B A@8 D E F G H I E J K@2 E K L A@3 C A B@2 M A@11 L A@5 N
>`.pickRestart({
A: "x!8", B: "x!3 ~ x!3 ~ x!7 ~", C: "x ~ x ~ x ~ x ~ x!3 ~ x!3 ~", D: "x!6 ~ x",
E: "x ~ x ~ x ~ x ~ x ~ x ~ x ~ x!2", F: "x ~ x ~ x ~ x!3 ~ x!3 ~ x!2", G: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x!2",
H: "x ~ x ~ x ~ x ~ x ~ x!3 ~ x ~", I: "x ~ x!3 ~ x ~ x ~ x!3 ~ x ~", J: "x ~ x ~ x ~ x ~ x ~ x!3 ~ x!2",
K: "x ~ x!3 ~ x!3 ~ x ~ x ~ x!2", L: "x ~ x!3 ~ x!3 ~ x ~ x ~ x ~", M: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~", N: "x!4 ~@4",
})).gain(0.35)
// drums · mid tom
const mid_tom = s("mt").struct("<~@3 A ~@11 B ~@11 C ~@7 D ~@11 E ~@19 B ~@13 F ~@3 G>".pickRestart({
A: "~@13 x ~@2", B: "~@11 x ~@4", C: "~@3 x ~@2 x ~", D: "~@9 x ~@3 x ~@2", E: "~ x", F: "~@11 x!2 ~@3",
G: "~@3 x ~@4",
})).gain(0.35)
// drums · open hat
const open_hat = s("oh").struct(`<
~ A ~ B ~@2 A C A ~@2 C ~@7 C ~@9 C@2 ~ C A C ~@3 D ~@5 C ~@14 E ~ C ~@3 A@2 ~@6 C@2 ~@2 C@2 E C ~@2 F C ~
// … 20 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.