0:00/0:00
// Sweet for My Sweet — The Searchers
// 134 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(134/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.
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A B C D E F G H E I J K A L E M G N O P Q R S T U V S P E W C X Y Z AA W AA I AB AC E M C Z Y AD E AE AB AF AA T E W
AA AG A AH C AI AJ N E F C AK A T E F C AL AM R AA AN
>`.pickRestart({
A: "c2@5 ~ e2@2 f2@4 ~@2 f2@2", B: "g2@5 ~ g2 ~ f2@4 a1@2 b1@2", C: "c2@5 ~ e2@2 f2@4 e2@2 f2@2",
D: "g2@5 ~ g2 ~ f2 ~ f2@4 a1@2", E: "c2@5 ~ e2@2 f2@5 ~ f2@2", F: "g2@2 ~ g2 f2@2 a1 b1",
G: "c2@5 ~ e2@2 f2 ~ f2@3 ~ f2@2", H: "g2@5 ~ g2@2 f2@5 ~ b1@2", I: "g2@5 ~ g2@2 f2 ~ f2@2 a1@2 b1@2",
J: "c2@5 ~ e2 ~ f2@4 e2@2 f2@2", K: "g2@5 ~ g2@2 f2 ~ f2@3 ~ b1@2", L: "g2@5 ~ g2@2 f2 ~ f2@3 ~@3",
M: "g2@5 ~ g2@2 f2@4 a1@2 b1@2", N: "g2@4 ~@2 g2@2 f2 ~ f2@2 a1@2 b1@2", O: "c2@5 ~ e2@2 f2@3 ~ e2 ~ f2@2",
P: "g2@2 d2 e2 f2@2 a1 b1", Q: "c2@5 ~ e2@2 f2@5 ~ f2 ~", R: "g2@4 ~@2 g2@2 f2 ~ f2@3 ~ b1@2",
S: "c2@3 e2 f2@2 e2 f2", T: "g2@5 ~ g2@2 f2 ~ f2 ~ a1@2 b1@2", U: "c2@5 ~ e2@2 f2@4 ~@2 f2 ~",
V: "g2@5 ~ g2@2 f2 ~ f2@4 b1@2", W: "g2@5 ~ g2@2 f2@6 b1@2", X: "g2 ~ g2@2 d2 ~ e2@2 f2@4 a1@2 b1@2",
Y: "c2@5 ~ e2@2 f2@4 e2 ~ f2@2", Z: "g2@4 d2@2 e2@2 f2@5 ~ b1@2", AA: "c2@6 e2@2 f2@5 ~ f2@2",
AB: "c2@5 ~ e2@2 f2@3 ~ e2@2 f2@2", AC: "g2@2 d2 e2 f2@2 ~ b1", AD: "g2@6 e2@2 f2@5 ~@3",
AE: "g2 ~ g2@3 ~ g2@2 f2 ~ f2@2 a1@2 b1@2", AF: "g2@2 d2 e2 f2!2 a1 b1", AG: "g2@5 ~ g2 ~ f2 ~ f2 ~ a1@2 b1@2",
AH: "g2@4 ~@2 g2@2 f2@5 ~ b1@2", AI: "g2@3 d2 f2@2 a1 b1", AJ: "c2@2 ~ e2 f2@2 ~ f2", AK: "g2@2 d2 e2 f2@3 b1",
AL: "g2@3 ~ d2@2 e2@2 f2@4 ~@2 b1@2", AM: "c2@4 ~@2 e2@2 f2@5 ~ f2@2", AN: "c2@3 ~",
})).s("gm_electric_bass_finger").gain(0.4)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
A B C D E F G H I J E K ~@8 A L C M A B C N O P E Q ~@8 R S T U R V W X Y Z AA AB ~@8 A AC AD AE AF AG AD AH AA Z AI
AJ AA AK AL AM
>`.pickRestart({
A: "e4@2 g3@2 c4@2 e4@2 f4@2 a3@2 c4@2 f4 ~", B: "g4 b3 d4 g4 f4 a3 c4 f4", C: "e4 g3 c4 e4 f4 a3 c4 f4",
D: "g4@2 b3@2 d4@2 g4@2 ~@4 c4@3 ~, ~@4 f4@3 ~, ~@10 a3@5 ~",
E: "~@4 c4@2 e4@2 f4@2 a3@2 c4@2 f4 ~, e4 ~@3, ~@2 g3@5 ~@9", F: "g4 ~ d4 g4 f4 ~ c4 f4, ~@2 b3@4 ~@4 a3@5 ~",
G: "e4 ~ c4 e4 f4 a3 c4 f4, ~ g3@2 ~@5", H: "g4@2 ~@4 g4@2 [a3,f4]@7 ~, ~ b3@2 ~@5, ~ d4 ~@2",
I: "~@6 e4@2 ~@4 c4@2 f4 ~, e4 c4 f4 ~, ~ g3@3 ~ a3@2 ~", J: "~@3 g4 ~@2 c4@2, g4@4 d4@4 f4@7 ~, ~ b3@3 ~ a3@3",
K: "~@2 b3@2 d4@2 g4@2 [a3,f4]@5 ~@3, g4 ~@3", L: "g4@2 b3@2 d4@2 g4 ~ f4@2 a3@2 c4@2 f4 ~",
M: "g4@2 b3@2 d4@2 g4@2 [a3,f4]@7 ~", N: "g4 b3 d4 g4 [a3,f4]@3 ~",
O: "~@6 e4@2 f4@2 a3@2 c4@2 f4 ~, e4 c4 ~@2, ~ g3@3 ~@4", P: "~@3 g4 ~ a3@3, g4@4 d4@4 f4@7 ~, ~@2 b3@5 ~@9",
Q: "~@2 b3@2 d4@2 g4@2 [a3,c4,f4]@7 ~, g4 ~@3", R: "~@2 g3@2 c4@2 e4@2 f4@2 a3@2 c4@2 f4 ~, e4 ~@3",
S: "~ b3 d4 g4 ~@2 c4@2, g4 ~ f4@2, ~@5 a3@3", T: "e4 g3 c4 e4 ~ a3 c4 f4, ~@2 f4 ~",
U: "~@3 g4 ~ a3@3, g4@4 d4@4 f4@7 ~, ~ b3@2 ~@5", V: "g4 b3 d4 g4 ~@2 c4@2, ~ f4, ~@5 a3@3",
W: "~@4 c4@2 e4@2 f4@2 a3@2 c4@2 f4 ~, e4 ~@3, ~ g3@2 ~@5", X: "~@4 d4@2 g4 ~ [a3,c4,f4]@7 ~, g4 ~@3, ~@2 b3@5 ~@9",
Y: "~@4 c4@2 e4@2 ~@2 a3@2 c4@2 f4 ~, e4 ~ f4 ~, ~ g3@2 ~@5", Z: "~@3 g4 ~ a3@3, g4@4 d4@4 f4@7 ~, ~ b3@3 ~@4",
AA: "~@4 c4@2 e4@2 ~@2 a3@2 c4@2 f4 ~, e4 ~ f4 ~, ~@2 g3@5 ~@9",
AB: "~@4 d4@2 g4@2 [a3,c4,f4]@7 ~, g4 ~@3, ~@2 b3@5 ~@9", AC: "~@6 g4 ~@3 a3@6, g4 d4 f4@2, ~ b3@3 ~@4",
AD: "~@4 c4@2 e4@2 ~@4 c4@2 f4 ~, e4 ~ f4 ~, ~@2 g3@5 ~@3 a3@4 ~@2",
AE: "~@2 d4 g4 [a3,f4]@4, g4@5 ~@11, ~@2 b3@5 ~@9", // Dm
AF: "~@4 c4@2 e4@2 e4 ~@3 c4@2 f4 ~, e4 ~ f4 ~, ~@2 g3@5 ~@3 a3@4 ~@2",
AG: "~@4 d4@2 g4 ~@5 c4@4, g4 ~ f4@2, ~ b3@3 ~ a3@3", AH: "~@2 d4 g4 ~@2 c4@2, g4 ~ f4@2, ~@2 b3@5 ~@3 a3@6",
AI: "~@4 c4@2 e4@2 f4@2 ~@2 c4@2 f4 ~, e4 ~@3, ~@2 g3@4 ~@4 a3@5 ~",
AJ: "~@4 d4@2 g4 ~ [a3,c4,f4]@7 ~, g4 ~@3, ~ b3@2 ~@5", AK: "~@6 g4@2 ~@2 a3@5 ~, g4@4 d4@4 f4@7 ~, ~ b3@3 ~@4",
AL: "e4@2 ~@2 c4@2 e4@2 ~@4 c4@2 f4 ~, ~@2 g3@5 ~ f4@4 ~@4, ~@10 a3@5 ~", AM: "[g3,c4,e4]@11 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0.3)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
A B A B A B A B C D C E F G H I J K L M N K H B N O N P C E Q R S T N T N T N T U I N T H T N V W E C R X Y Z K AA T Z
T AB I H AC Z AD L T A I AE B N I N AF
>`.pickRestart({
A: "~@2 [g4,c5,e5]!2 ~ [g4,c5,e5]!2 ~@3 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // C F
B: "~@2 [b4,d5,g5]!2 ~ [b4,d5,g5]!2 ~@3 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // G F
C: "[g4,c5,e5] ~ [g4,c5,e5]!2 ~ [g4,c5,e5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // C F
D: "[b4,d5,g5] ~ [b4,d5,g5]!2 ~ [b4,d5,g5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5] [c5,f5] a4 [a4,c5,f5]!2 ~", // G F F5 F
E: "[b4,d5,g5] ~ [b4,d5,g5]!2 ~ [b4,d5,g5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // G F
F: "~@2 [g4,c5,e5]!2 ~ [g4,c5,e5] ~@4 [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // C F
G: "~@2 [b4,d5,g5]!2 ~ [b4,d5,g5]!2 ~@3 [a4,c5,f5]!2 ~@2 [a4,c5,f5]!2", // G F
H: "~@2 [g4,c5,e5]!2 ~ [g4,c5,e5]!2 ~@3 [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // C F
I: "~@2 [b4,d5,g5]!2 ~@2 [b4,d5,g5] ~@3 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // G F
J: "~@2 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // C F
K: "~@2 [b4,d5,g5] ~@3 [b4,d5,g5] ~@3 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // G F
L: "~@2 [g4,c5,e5]!2 ~ [g4,c5,e5]!2 ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~", // C F
M: "[b4,d5,g5] ~ [b4,d5,g5]!2 ~@2 [b4,d5,g5] ~ [a4,c5,f5] ~ [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // G F
N: "~@2 [g4,c5,e5]!2 ~@2 [g4,c5,e5] ~@3 [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // C F
O: "~@2 [b4,d5,g5]!2 ~ [b4,d5,g5]!2 ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~", // G F
P: "~@2 [b4,d5,g5]!2 ~ [b4,d5,g5]!2 ~@3 [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // G F
Q: "[g4,c5,e5] ~ [g4,c5,e5]!2 ~ [g4,c5,e5]!2 ~ [a4,c5] f5 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // C Am F
R: "[b4,d5,g5] ~ [b4,d5,g5]!2 ~ [b4,d5,g5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // G F
S: "[g4,c5,e5] ~ [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~", // C F
T: "~@2 [b4,d5,g5]!2 ~@2 [b4,d5,g5] ~@3 [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // G F
U: "[c5,e5] ~ [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // C F
V: "~@2 [b4,d5,g5]!2 ~@2 [b4,d5,g5] ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~", // G F
W: "[g4,c5,e5] ~ [g4,c5,e5]!2 ~ [g4,c5,e5]!2 ~ [a4,c5,f5] ~ [a4,c5,f5]!2 ~ [a4,c5,d#5,f5] [a4,c5,f5] ~", // C F F7 F
X: "~@2 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~", // C F
Y: "~@2 [b4,d5,g5] ~@3 [b4,d5,g5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~@3 [a4,c5,f5] ~", // G F
Z: "~@2 [g4,c5,e5]!2 ~@2 [g4,c5,e5] ~@3 [a4,c5,f5] ~@3 [a4,c5,f5] ~", // C F
AA: "~@2 [g4,c5,e5] ~@3 [g4,c5,e5]!2 ~@2 [a4,c5,f5] ~@3 [a4,c5,f5]!2", // C F
AB: "[g4,c5,e5] ~ [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", // C F
AC: "~@2 [b4,d5,g5]!2 ~@2 [b4,d5,g5] ~@3 [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~", // G F
AD: "[b4,d5,g5] ~ [b4,d5,g5] ~@3 [b4,d5,g5] ~ c5 ~ [a4,c5,f5]!2 ~@2 [a4,c5,f5] ~", // G F
AE: "~@2 [g4,c5,e5]!2 ~@2 [g4,c5,e5] ~@3 [a4,c5,f5]!2 ~ [a4,c5,f5]!2 ~", AF: "[g4,c5,e5] ~",
})).s("gm_electric_guitar_muted").gain(0.25).pan(0.7)
// chords · piano · "A.PIANO"
const piano = note(`<
A B C D C E F G H E I J K L M N O P Q R S T S U V T W X Y T Z T AA AB AC AD AE AB C T S AF C E AG AH AI AJ AK AL AM E
AN AO AP AQ AR AQ AS AH AT AU AV AW AX J AY AQ AC E C AB C AZ AM BA
>`.pickRestart({
A: "[g3,e4]@2 ~@2 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2, c4 ~@15", // C F
B: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [f3,f4]@4 [a2,a3,c4,f4]@2 b2@2, g3@2 ~@2 [a3,c4] ~@3, ~@8 c#4 ~@7", // G F Am
C: "[g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2", // C F
D: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [f3,a3]@4 [a2,a3,c4,f4]@2 b2@2, g3@2 ~@2 c4 ~@3, ~@8 f4 ~@7", // G F
E: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [a3,c4,f4]@2 ~@2 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~", // G F
F: "[g3,c4] ~@3 [g3,c4,e4]@2 e3 ~ [a3,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2, e4@2 ~@6 c4 ~@3 b3 ~@3", // C5 C Dm F
G: "[b3,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [a3,c4,f4] ~@3 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, d4 ~@15", // Em G F
H: "[g3,c4,e4] ~ [g3,c4,e4] c3 [f3,c4,f4]@2 [a3,c4,f4] f3, c3@2 ~@2 a3 ~@3, ~@8 e3 ~@7", // C F5 F
I: "[g3,c4,e4]@2 ~@2 [g3,c4] ~ e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2, ~@2 e4 ~@5", // C C5 F
J: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [f3,a3,c4,f4]@3 ~ [a2,a3,c4,f4]@2 b2@2, g3 ~@3", // G F
K: "[g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ e3@2 [a3,c4,f4] ~@3 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2", // C F
L: "[d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [a3,c4]@2 ~@2 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, b3 ~@7 f4 ~@7", // G5 G Am F
M: "[c4,e4]@2 ~@2 [g3,c4,e4] ~ e3@2 [a3,c4] ~@3 [a3,c4,f4]@2 f3@2, c3@3 ~ f4 ~@3, g3 ~@7 f3@4 ~@4", // C Am F
N: "[b3,d4,g4] ~@3 [b3,d4,g4]@2 g3 ~ [c4,e4,f4] ~@3 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, ~@4 a3 ~@3", // G Fmaj7 F
O: "[g3,e4]@2 ~@2 [g3,c4] ~ e3@2 [a3,c4,f4] ~@3 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2, c4 ~@3 e4@2 ~@10", // C C5 F
P: "[b3,d4,g4] ~@3 [b3,d4,g4]@2 g3 ~ [c4,f4] ~@3 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, ~@4 a3 ~@3", // G F5 F
Q: "[g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ e3 ~ [a3,c4,f4]@2 ~@2 [c4,f4]@2 f3@2, c3@6 ~@2 f3@4 a3 ~@3", // C F F5
R: "[b3,d4,g4] ~@3 [b3,d4,g4]@2 [f3,g3] ~ [a3,f4]@2 ~@2 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, ~@8 c4 ~@7", // G Fsus2 Dm F
S: "[g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3 ~ f3 ~", // C F
T: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [c4,f4] ~@3 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, ~@4 a3 ~@3", // G F5 F
U: "[d4,g4] ~@3 [b3,d4,g4]@2 g3 ~ [a3,c4,f4] ~@3 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, b3 ~@7", // G5 G F
V: "[c3,c4]@4 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, [g3,e4] ~@3 f3@2 ~@2", // C F C
W: "[g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@2 f3@2, c3 ~ f3 ~, ~@8 b3 ~@7", // C F
X: "[d4,g4] ~@3 [b3,d4,g4]@2 g3 ~ [a3,f4]@2 ~@2 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, b3@2 ~@6 c4 ~@7", // G5 G Dm F
Y: "[g3,c4,e4] ~ [g3,c4,e4] c3 [a3,c4,f4] ~ [a3,c4,f4] f3, c3 ~ f3 ~", // C F
Z: "[g3,c4,e4]@3 ~ [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2", // C F
AA: "[g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@2 f3@2, c3 ~ f3 ~", // C F
AB: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [a3,c4]@2 ~@2 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, ~@8 f4 ~@7", // G Am F
AC: "[g3,c4,e4]@3 ~ [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2", // C F
AD: "[b3,d4,g4]@3 ~ [b3,d4,g4]@2 g3 ~ [a3,c4]@2 ~@2 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, ~@8 f4 ~@7", // G Am F
AE: "[g3,c4,e4]@2 ~@2 [c4,e4] ~ e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~@5, ~@2 g3 ~ f3@2 ~@2", // C F
AF: "[b3,d4] ~@3 [b3,d4,g4]@2 g3 ~ [a3,c4]@2 ~@2 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~, g4@2 ~@6 f4 ~@7", // Bm G Am F
AG: "[g3,c4,e4]@3 ~ [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3 ~ f3 ~", // C F
AH: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3 ~, g3 ~ f3 ~", // G F
AI: "[g3,c4,e4]@3 ~ [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3 ~@3, d3 ~@7 f3@4 ~@4", // C F
AJ: "[b3,d4,g4]@2 ~@2 [b3,g4]@2 g3 ~ [f3,a3,c4,f4]@3 ~ [a2,a3,c4,f4]@2 b2@2, g3@4 d4 ~@11", // G Em F
AK: "[g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3 ~, c3 ~ f3 ~", // C F
AL: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [a3,c4,f4]@2 ~@2 [a3,c4]@2 f3@2, g3@4 ~@4 f3@4 f4 ~@3", // G F Am
AM: "[g3,c4,e4] ~ [g3,c4,e4] e3 [a3,c4,f4] ~ [a3,c4,f4] f3, c3 ~ f3 ~", // C F
AN: "[g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4] ~ f3@2, c3 ~ f3 ~", // C F
AO: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [f3,a3,c4,f4]@3 ~ [a2,a3,c4,f4]@2 b2@2, g3@4 ~@8 g2 ~@3", // G F
AP: "[g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ e3 ~ [a3,f4]@2 ~@2 [c4,f4]@2 f3 ~, c3@3 ~ f3@2 ~@2, ~@8 c4 ~@3 a3 ~@3", // C Dm F5
AQ: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [f3,a3,c4]@3 ~ [a2,a3,c4,f4]@2 b2@2, g3@4 ~@4 f4 ~@7", // G F
AR: "[g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ e3 ~ [a3,c4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2, ~@8 f4 ~@7", // C Am F
AS: "[g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3 ~, c3@3 ~ f3@2 ~@2", // C F
AT: "[g3,c4,e4]@2 ~@2 [g3,c4] ~ e3 ~ [a3,c4,f4] ~@3 [a3,c4] ~ f3@2, c3@2 e4 ~ f3@2 f4 ~", // C C5 F Am
AU: "[b3,d4,g4] ~@3 [b3,d4,g4]@2 g3 ~ [g3,a3,c4,f4] ~@3 [a2,a3,c4,f4]@2 b2@2, g3 ~ f3 ~", // G F
AV: "[g3,c4]@2 ~@2 [g3,c4,e4]@2 e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3@3 ~ f3@2 ~@2, [e4,f4] ~@15", // C5 C F Fmaj7
AW: "[b3,g4] ~@3 [b3,d4,g4]@2 g3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, g3 ~ f3 ~, d4 ~@7", // Em G F
AX: "[g3,c4,e4] ~ [g3,e4] e3 [a3,c4,f4] ~ [a3,c4,f4] f3, c3@4 c4 ~@3 f3@4 ~@4", // C F
AY: "[g3,c4,e4]@3 ~ [g3,c4,e4] ~ e3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, c3 ~ f3 ~", // C F
AZ: "[b3,d4,g4]@2 ~@2 [b3,d4,g4]@2 g3 ~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 f3@2, g3 ~ f3 ~", BA: "[g3,c4,e4]@15 ~, c3@3 ~",
})).s("gm_piano").gain(0.45).pan(0.4)
// drums · kick
const kick = s("bd").struct("<[x ~@2 x!2 ~@2 x]!75 x>").gain(0.57)
// drums · snare
const snare = s("sd").struct(`<
A B A@2 C B C D C E C F C@7 G A@2 B H C@3 I H A C J C@7 K A C@2 L H C H M C H@2 N C@3 O C@3 P B C B Q B@2 C R C@3 J B
A C S
>`.pickRestart({
A: "~@2 x!2 ~@2 x!2", B: "~@2 x!2 ~@2 x ~", C: "~ x ~ x", D: "~@4 x ~ x ~@3 x ~ x!4", E: "~@2 x ~@2 x!3",
F: "~@4 x ~@5 x ~ x ~ x!2", G: "~@4 x ~@3 x ~ x ~ x!4", H: "~@2 x ~@3 x!2", I: "~@4 x ~@3 x ~ x!2 ~ x!2 ~",
J: "~@4 x ~ x ~ x!2 ~ x!2 ~ x!2", K: "~@2 x ~ x ~@2 x!2 ~ x ~ x!4", L: "~@2 x!2 ~ x!3",
M: "~@2 x ~ x!2 ~ x!2 ~@2 x!2 ~ x ~", N: "~@4 x ~ x ~ x!2 ~ x!5", O: "~@2 x ~@2 x!2 ~",
P: "~@4 x ~@2 x!2 ~ x ~@2 x!2 ~", Q: "~@4 x ~@5 x ~ x!2 ~ x", R: "~@4 x ~ x ~@2 x!2 ~ x ~ x!2", S: "~ x",
})).gain(0.64)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~ A ~@2 B A C ~ B C B C ~@10 A C B@3 C@2 ~ B ~@10 B A ~ C B C ~ B C@2 ~@8 D A B A ~ A@2 B ~ B@3 ~ A ~ B ~
>`.pickRestart({
A: "~@7 x", B: "~@3 x ~@3 x", C: "~@3 x ~@4", D: "~@3 x",
})).gain(0.36)
// drums · crash
const crash = s("cr").struct("<A ~@7 A ~@3 A ~@7 A ~@7 A ~@3 A ~@7 A ~@7 A ~@11 A ~@7 A ~@6 A>".pickRestart({
A: "x",
})).gain(0.36)
// drums · ride
const ride = s("rd").struct(`<
A@2 B C A@4 D E D F G A@3 H I A@3 J A I B A@3 D@2 K L I H I A@13 D@3 M N H A C O A P H A@2 B N A H A@3 Q R S C T U V
>`.pickRestart({
A: "x!8", B: "x ~ x!6", C: "x!3 ~ x ~ x!2", D: "x ~ x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~",
E: "x ~ x!2 ~ x!2 ~ x ~ x!2 ~ x ~@2", F: "x ~ x!2 ~ x!2 ~ x ~ x ~ x ~ x!2", G: "~ x!2 ~ x ~ x ~", H: "x!3 ~ x!4",
I: "x!5 ~ x!2", J: "x ~ x!3 ~ x ~", K: "x ~ x ~ x ~ x!2 ~ x!2 ~ x ~ x!2", L: "x ~ x!2 ~ x!2 ~ x ~ x!2 ~@2 x ~",
M: "x ~ x!2 ~ x!2 ~ x ~ x ~ x ~ x ~", N: "x ~ x ~ x!4", O: "x!4", P: "x!7 ~", Q: "x ~@3 x ~@3 x ~ x!2 ~ x!2 ~",
R: "x!3 ~ x ~ x ~", S: "x ~ x ~ x!2 ~ x!2 ~ x ~ x ~ x ~", T: "x ~ x ~ x!2 ~ x!2 ~ x ~ x ~ x!2", U: "~ x!4 ~ x!2",
V: "x",
})).gain(0.36)
// drums · ride · soft notes
const ride_soft = s("rd").struct(`<
~@2 A B ~@8 C ~@3 D E ~@3 F ~ E A ~@7 E D E ~@17 G D ~ B H ~ I D ~@2 A G ~ D ~@3 G C ~ B ~ J ~
>`.pickRestart({
A: "~ x ~@6", B: "~@3 x ~ x ~@2", C: "~@3 x ~ x ~ x", D: "~@3 x ~@4", E: "~@5 x ~@2", F: "~ x ~@3 x ~ x",
G: "~ x ~ x ~@4", H: "~ x ~ x ~ x ~ x", I: "~@7 x", J: "x ~@4 x ~@2",
// … 8 more lines
More by The Searchers
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.