0:00/0:00
// My Girl Lollipop — Bad Manners
// 143 bpm, 4/4, key E 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 99 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(143/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 · piano
const bass = note("<A B C D E F G@2 ~@47 H@2 I J I J I K ~@16 L M L M L M N O N O P Q P R S@2 T@4>".pickRestart({
A: "~@4 b1@2 c#2 e2@2 ~ g#1@2", B: "~ g#1@2 ~ a1@2 ~@6", C: "~@7 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~",
D: "~ g#1@4 ~@2 a1@4 ~@13", E: "~@3 b1@2 c#2 e2@2 ~ g#1@2 ~", F: "g#1@2 ~ a1@2 ~@7",
G: "[~@5 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 b1@4 ~@2 b1@2 ~@11]/2",
H: "[~@19 b1@4 c#2@2 e2@4 ~ g#1@4 ~@2 g#1@4 ~@2 a1@3 ~@3]/2", I: "~@9 b1@2 c#2",
J: "e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@3 ~@3", K: "e2@4 ~ g#1@4 ~@2 g#1@4 ~@2 a1@3 ~@4", L: "~@7 b1@2 c#2 e2@2",
M: "~ g#1@2 ~ g#1@2 ~ a1@2 ~@3", N: "~@13 b1@4 c#2@2 e2@4 ~", O: "~ g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@7",
P: "~@6 b1@2 c#2 e2@2 ~", Q: "g#1@2 ~ g#1@2 ~ a1@2 ~@4", R: "g#1@4 ~ g#1@4 ~@2 a1@4 ~@9",
S: "[~@11 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@9]/2",
T: "[~@10 b1@4 c#2@2 e2@4 ~@2 e2@4 ~@2 g#1@4 ~@2 a1@10 a1@2 b1@4 ~@2 b1@6 e1@23 e1@3 ~@12]/4",
})).s("gm_piano").gain(0.35).pan(0.7)
// bass · electric bass finger
const bass_2 = note(`<
A B C D E F G@2 H@4 I J K L M N O P Q R S T U V W X Y Z AA AB AC AD@8 AE@5 AF AG@6 AH AI AJ@2 AK AL AK AL AK AM@8 AN
AO@5 AP AQ AR@2 AS AT AS AT AU AV AW AV AW AX AY AZ BA@7
>`.pickRestart({
A: "~@4 b1@2 c#2 e2@2 ~ g#1@2", B: "~ g#1@2 ~ a1@2 ~@6", C: "~@7 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~",
D: "~ g#1@4 ~@2 a1@4 ~@13", E: "~@3 b1@2 c#2 e2@2 ~ g#1@2 ~", F: "g#1@2 ~ a1@2 ~@7",
G: "[~@5 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 b1@4 ~@2 b1@4 ~@9]/2",
H: "[~@5 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~ g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~ b1@3]/4",
I: "~@3 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@3", J: "~@3 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@3",
K: "~@3 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~ g#1@4", L: "~@2 a1@4 ~@2 a1@6 b1@4 ~@2 b2 ~ b2 ~",
M: "b2 ~ b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4", N: "~ a1@2 ~ a1@2 ~ b1@2 ~ b1@2", O: "~ b1@2 c#2 e2@2 ~ g#1@2 ~ g#1@2",
P: "~@2 a1@4 ~ a1@4 ~@2 b1@4 ~@2 b1@4 ~", Q: "~ b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~",
R: "~ a1@4 ~@2 a1@4 ~@2 b1@4 b2 ~ b2 ~ b2 ~ b2", S: "~ b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@2 ~@3",
T: "~ e3@6 d3@6 b2@2 b2@4 a#2@5", U: "~ a1@6 c#2@6 e2@6 f#2@5", V: "~ a2@5 f#2@4 c#2@2 e2@6 c#2@4 a1@2",
W: "e1 g#1 b1 c#2", X: "e2 d2 c#2 b1", Y: "a1 c#2 e2 f#2", Z: "a2@3 f#2@2 c#2 e2@3 c#2@2 a1",
AA: "b1@3 d#2@2 b1 f#2@3 g#2@3", AB: "b2@2 ~ b2@3 ~@6", AC: "b1@2 c#2 e2@2 ~ g#1@2 ~ g#1@2 ~",
AD: "[a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~ b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@6 b1@4 ~@2 b2 ~ b2 ~ b2 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@2]/8",
AE: "[~@4 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 b2@2 b2 ~ b2 ~ b2 ~ b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 b2 ~ b2 ~ b2!2 ~ b1@3]/5",
AF: "~ c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@2 ~@4 e3@3",
AG: "[~ d3@4 b2@2 b2@2 a2@4 g#2@4 e2@4 a1@6 c#2@4 a1@2 e2@6 f#2@4 c#2@2 a2@6 f#2@6 e2@6 c#2@4 ~ e1@6 g#1@6 b1@6 c#2@6 e2@6 d2@6 c#2@6 b1@4 e1@2 a1@6 c#2@4 a1@2 e2@6 f#2@5 a2@5, ~@67 a1@2 ~@75]/6",
AH: "~ f#2@4 c#2@2 e2@6 c#2@4 a1@2 b1@5", AI: "~ d#2@6 f#2@6 g#2@6 b2@4 ~",
AJ: "[~ b2@6 ~@12 b1@4 c#2@2 e2@4 ~ g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2]/2", AK: "a1@2 ~ b1@2 ~ b1@2 ~ b1@2 c#2",
AL: "e2@2 ~ g#1@2 ~ g#1@2 ~ a1@2 ~",
AM: "[e2@4 ~ g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~ g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@2]/8",
AN: "~@4 g#1@4 ~@2 g#1@4 ~@2 b1@3 ~ b1@3 ~",
AO: "[b1@3 ~ b1@3 ~ b1@3 ~ b1@3 ~ a1@6 c#2@4 a1@2 e2@6 f#2@4 c#2@2 a2@6 f#2@3 c#2@2 e2@6 c#2@4 a1@2 e1@6 g#1@6 b1@6 c#2@6 e2@6 d2@6 c#2@6 b1@4 e1@2 a1@6 c#2@3]/5",
AP: "~ a1@2 e2@6 f#2@4 c#2@2 a2@6 f#2@3", AQ: "~ c#2@2 e2@6 c#2@4 a1@2 b1@6 d#2@3",
AR: "[~ b1@2 f#2@6 g#2@6 b2@4 ~ b2@6 ~@12 b1@4 c#2@2 e2@4]/2", AS: "~ g#1@2 ~ g#1@2 ~ a1@2 ~ a1@2",
AT: "~ b1@2 ~ b1@2 ~ b1@2 c#2 e2@2", AU: "~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~ a1@4 ~",
AV: "~ b1@4 ~@2 b1@4 ~@2 b1@4 c#2@2 e2@4 ~", AW: "~ g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~",
AX: "~ b1@4 ~ b1@4 ~@2 b1@4 c#2@2 e2@4 ~@2", AY: "g#1@2 ~ g#1@2 ~ a1@2 ~ a1@2 ~", AZ: "b1@2 ~ b1@2 ~ b1@2 c#2 e2@2 ~",
BA: "[g#1@4 ~ g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~@2 b2 ~@3 b2 ~ b1@4 c#2@2 e2@4 ~@2 g#1@4 ~@2 g#1@4 ~@2 a1@4 ~@2 a1@4 ~@2 b1@4 ~ b2 ~@3 b2 ~ b1@4 c#2@2 e2@4 ~@2 e2@6 g#1@6 a1@10 a1@2 b1@4 ~@2 b1@4 ~@2 e1@23 e1@3 ~@12]/7",
})).s("gm_electric_bass_finger").gain(0.45).pan(0.3)
// chords · piano
const piano = note(`<
A B C D E F G H I J K L M N O P Q P R S T S T U V@2 W X Y@2 Z AA AB AC AD AE AD AE AD AF AG AH AG AH AG AI AJ AK@3 AL
AM AN@3 AO AP AQ AP AQ AP AR AS AT AS AT AS AU AV AW AX AY AZ@7 BA BB BC BB BC BD BE BF BE BG BH BI BJ BK BL BM BN BO
BP@2
>`.pickRestart({
A: "~@12 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5", // E
B: "[e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4]", // E A B
C: "~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4]", // B E
D: "~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~", // E A B
E: "~@4 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~", // B E
F: "~@4 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@4 [d#4,f#4,b4] ~@2", // E A B
G: "~@3 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@2", // B E
H: "~@3 [e4,g#4,b4] ~ [d#4,b4] ~@5 [d#4,f#4,b4] ~@12", I: "~@8 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@3",
J: "~@2 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@3", // E A B
K: "~@2 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@3", // B E
L: "~@2 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@4", // E A B
M: "~ [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@4", // B E
N: "~ [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@4", // E A B
O: "~ [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5", // B E
P: "[e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5", // E A B
Q: "[d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5", // B E
R: "[d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4]", // B E
S: "~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4]", // A B
T: "~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4]", // E
U: "~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4]", // G#dim
V: "[~ [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 ~ a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2, ~@25 [c#5,e5]@2 ~@21]/2", // C#m
W: "[b4,e5] g#4 [b4,e5] g#4 [b4,e5] g#4 [b4,e5] g#4 [b4,e5] g#4 [b4,e5] g#4", // E5
X: "[b4,d5,e5] g#4 [b4,d5,e5] g#4 [b4,d5,e5] g#4 [b4,d5,e5] g#4 [b4,d5,e5] g#4 [b4,d5,e5] g#4", // E7
Y: "[c#5,e5] a4 [c#5,e5] a4 [c#5,e5] a4 [c#5,e5] a4 [c#5,e5] a4 [c#5,e5] a4", // C#m
Z: "[d#5,f#5] b4 [d#5,f#5] b4 [d#5,f#5] b4 [d#5,f#5] b4 [d#5,f#5] b4 [d#5,f#5] b4", // D#m
AA: "[b4,d#5,f#5] ~@2 [b4,d#5,f#5] ~@8", AB: "~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~",
AC: "~@4 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@2", // A B
AD: "~@3 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@2", // E
AE: "~@3 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@2", // A B
AF: "~@3 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@3", // A B
AG: "~@2 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@3", // E
AH: "~@2 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@3", // A B
AI: "~ [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@4", // A B
AJ: "~ [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@4", // E
AK: "[~ [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~ [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 ~ [b4,e5]@2 g#4@2, ~@67 a4@2 ~@3]/3", // G#dim C#m E5
AL: "[b4,e5] g#4 [b4,e5] g#4 [b4,e5] g#4 [b4,e5] g#4 [b4,e5] g#4 [b4,d5,e5] g#4", // E5 E7
AM: "[b4,d5,e5] g#4 [b4,d5,e5] g#4 [b4,d5,e5] g#4 [b4,d5,e5] g#4 [b4,d5,e5] g#4 [c#5,e5] a4", // E7 C#m
AN: "[[c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 ~ [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [b4,d#5,f#5]@2 ~@3, ~@9 a4 ~@26]/3", // C#m D#m B
AO: "~ [b4,d#5,f#5]@2 ~@19 [e4,g#4,b4] ~", AP: "~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~",
AQ: "~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~", // A B E
AR: "~@4 [c#4,e4,a4] ~@4 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@2", // A B E
AS: "~@3 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@2", // E A
AT: "~@3 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@2", // A B E
AU: "~@3 [c#4,e4,a4] ~@4 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@3", // A B E
AV: "~@2 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@3", // E A
AW: "~@2 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@3", // A B E
AX: "~@2 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~ [d4,g#4,b4] ~@3 [d4,g#4,b4] ~@3", // E G#dim
AY: "[d4,g#4,b4] ~@3 [d4,g#4,b4] ~@3 [d4,g#4,b4] ~@3 [d4,g#4,b4] ~@3 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2", // G#dim C#m
AZ: "[[c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 ~ [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [b4,e5]@2 g#4@2 [b4,e5]@2 g#4@2 [b4,e5]@2 g#4@2 [b4,e5]@2 g#4@2 [b4,e5]@2 g#4@2 [b4,e5]@2 g#4@2 [b4,d5,e5]@2 g#4@2 [b4,d5,e5]@2 g#4@2 [b4,d5,e5]@2 g#4@2 [b4,d5,e5]@2 g#4@2 [b4,d5,e5]@2 g#4@2 [b4,d5,e5]@2 g#4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [c#5,e5]@2 a4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [d#5,f#5]@2 b4@2 [b4,d#5,f#5]@2 ~@3 [b4,d#5,f#5]@2 ~@2, ~@11 a4 ~@72]/7", // C#m E5 E7 C#m D#m B
BA: "~@18 [e4,g#4,b4] ~@5", BB: "[e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5",
BC: "[c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5", // A B E
BD: "[e4,g#4,b4] ~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4]", // E A
BE: "~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4]", // B E
BF: "~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4]", // E A
BG: "~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~", // E A
BH: "~@4 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~", // B E
BI: "~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~", // E A
BJ: "~@4 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@4 [e4,g#4,b4] ~@2", // B E
BK: "~@3 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@2", // E A
BL: "~@3 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@2", // B E
BM: "~@3 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@3", // E A
BN: "~@2 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@3", // B E
BO: "~@2 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@3", // E A
BP: "[~@2 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~ [e4,g#4,b4]@23 ~@15]/2", // B E
})).s("gm_piano").gain(0.25).pan(0.6)
// chords · rock organ
const rock_organ = note("<A@8 B@7 C@6 D@5 E@5 F G H@8 I@4 J@8 K@2 L@8 M@8 N@8 O@8 P@2 Q@2 R@8>".pickRestart({
A: "[~@8 [g#5,b5]@23 ~ [a5,c#6]@12 [f#5,d#6]@11 g#5@23 ~ [a5,c#6]@12 [f#5,d#6]@11 g#5@23 ~ [a5,c#6]@12 [f#5,d#6]@11 [g#5,e6]@23 ~ [f#5,d#6]@3 ~@3 [f#5,b5,d#6]@3 ~@10, ~@8 e6@35 ~ b5@35 ~@12 b5@35 ~@12 b5@38 ~@16, ~@55 e6@35 ~@12 e6@35 ~@55]/8", // G#m A D#m A D#m A D#m C#m …
B: "[~@5 [g#5,b5]@23 [a5,c#6]@12 [f#5,d#6]@12 g#5@23 ~ [a5,c#6]@12 [f#5,d#6]@11 g#5@23 ~ [a5,c#6]@12 [f#5,d#6]@12 [g#5,e6]@21, ~@5 e6@35 b5@35 ~@13 b5@35 ~@12 b5@33, ~@52 e6@35 ~@12 e6@35 ~@34]/7", // G#m A D#m A D#m A D#m C#m
C: "[~@2 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@11 [f#5,d#6]@12 [g#5,e6]@23, ~@14 b5@35 ~@13 b5@35 ~@12 b5@35, ~@26 e6@35 ~@13 e6@35 ~@35]/6", // A D#m A D#m A D#m C#m
D: "[~ [a5,c#6]@12 [f#5,d#6]@12 ~@24 d6@24 ~@12 f#6@12 e6@11 f#6@12, ~@13 b5@59 ~@48, ~@25 e6@59 ~@36, ~@25 g#5@47 ~ [a5,c#6]@47]/5", // A D#m A
E: "[~@2 d6@2 ~ f#6 e6 ~@2 g#6, e6@59 ~@25 f#6@24 ~@12, [g#5,b5]@47 ~ [a5,c#6]@48 [b5,d#6]@24]/5", // G#m A B
F: "[b5,d#6,f#6] ~ [b5,d#6,f#6] ~@5", G: "[g#5,b5,e6]",
H: "[[a5,c#6]@12 [f#5,d#6]@11 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@11 g#5@24 [a5,c#6]@2, ~@12 b5@35 ~@12 b5@35 ~@13 b5@35 ~@13 b5@35 ~@2, ~@23 e6@35 ~@13 e6@35 ~@13 e6@35 ~@12 e6@26]/8", // A D#m A D#m A D#m A D#m …
I: "[~@5 [f#5,d#6]@6 g#5@12 [a5,c#6]@6 [f#5,d#6]@6 g#5@12 [a5,c#6], ~@10 b5@35 ~@13 b5@35 ~@3, ~@22 e6@35 ~@13 e6@26]/4", // D#m A D#m A
J: "[~@10 [f#5,d#6]@11 ~@24 d6@24 ~@12 f#6@12 e6@12 f#6@11 ~@24 d6@23 ~@13 f#6@11 e6@5, ~@10 b5@59 ~@123, ~@21 e6@59 ~@36 e6@62 ~@14, ~@21 g#5@47 ~ [a5,c#6]@47 [g#5,b5]@47 ~ [a5,c#6]@28]/8", // D#m A G#m A
K: "[~@31 g#6@12 [b5,d#6,f#6]@3 ~@2, ~@7 f#6@23 ~@18, ~@19 [b5,d#6]@23 ~@6]/2", // B
L: "[~ [b5,d#6,f#6]@3 ~@15 [g#5,b5]@23 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@23 [a5,c#6]@7, ~@19 e6@35 b5@35 ~@13 b5@35 ~@13 b5@35 ~@7, ~@66 e6@35 ~@13 e6@35 ~@13 e6@30]/8", // B G#m A D#m A D#m A D#m …
M: "[~@5 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@23 [a5,c#6]@12 [f#5,d#6]@12 [g#5,e6]@24 [b5,d6,e6]@3 ~ [b5,d6,e6]@3 ~, ~@5 b5@35 ~@13 b5@35 ~@13 b5@35 ~@12 b5@35 ~@9, ~@17 e6@35 ~@13 e6@35 ~@13 e6@35 ~@44]/8", // D#m A D#m A D#m A D#m C#m …
N: "[[b5,d6,e6]@3 ~ [b5,d6,e6]@3 ~ [b5,d6,e6]@3 ~ [b5,d6,e6]@3 ~ e6@12 f#6@12 e6@11 f#6@12 ~@24 d6@24 ~@12 f#6@12 e6@12 ~@24 g#6@12 [b5,d#6,f#6]@3 ~@2 [b5,d#6,f#6]@3 ~, ~@16 [a5,c#6]@47 e6@59 ~@25 f#6@24 ~@21, ~@63 [g#5,b5]@47 ~ [a5,c#6]@47 ~ [b5,d#6]@24 ~@9]/8", // E7 B A G#m A B
O: "[~@14 [g#5,b5]@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@12 [f#5,d#6]@12 g#5@24 [a5,c#6]@11 [f#5,d#6]@12 g#5@24 [a5,c#6]@11, ~@14 e6@35 ~ b5@35 ~@13 b5@35 ~@12 b5@35 ~@12, ~@62 e6@35 ~@13 e6@35 ~@12 e6@35]/8", // G#m A D#m A D#m A D#m A
P: "[~ [f#5,d#6]@12 g#5@23 ~ [a5,c#6]@11, ~ b5@35 ~@12, ~@13 e6@35]/2", // D#m A
Q: "[~ [f#5,d#6]@11 g#5@23 ~ [a5,c#6]@12, ~ b5@35 ~@12, ~@12 e6@35 ~]/2", // D#m A
R: "[[f#5,d#6]@12 g#5@23 [a5,c#6]@12 [f#5,d#6]@12 g#5@23 ~ [a5,c#6]@12 [f#5,d#6]@11 g#5@23 ~ [a5,c#6]@12 [f#5,b5,d#6]@12 [g#5,b5,e6]@23 ~@15, b5@35 ~@12 b5@35 ~@13 b5@35 ~@62, ~@12 e6@35 ~@12 e6@35 ~@12 e6@35 ~@51]/8", // D#m A D#m A D#m A B E
})).s("gm_rock_organ").gain(0.2)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
A B C D E F G H I J K L M N O P Q P R S T S T U V W X Y W@2 Z AA X AB AC AD AC AD AC AE AF AG AF AG AF AH AI AJ AK AL
AM AN AO AP AQ AR AS AT AS AT AS AU AV AW AV AW AV AX AY AZ BA BB BC BD BE BF AK BG BH BI BJ BK BJ BK BL BM BN BM BO
BP BQ BR BS BT BU BV BW BX@2
>`.pickRestart({
A: "~@12 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5", // E
B: "[e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4]", // E A B
C: "~@5 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4]", // B E
D: "~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~", // E A B
E: "~@4 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~", // B E
F: "~@4 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@4 [d#4,f#4,b4] ~@2", // E A B
G: "~@3 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@2", // B E
H: "~@3 [e4,g#4,b4] ~ [d#4,b4] ~@5 [d#4,f#4,b4] ~@12", I: "~@8 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@3",
J: "~@2 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@3", // E A B
K: "~@2 [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@3", // B E
L: "~@2 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@4", // E A B
M: "~ [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@4", // B E
N: "~ [e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@4", // E A B
O: "~ [d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5", // B E
P: "[e4,g#4,b4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5", // E A B
Q: "[d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5", // B E
R: "[d#4,f#4,b4] ~@5 [e4,g#4,b4] ~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4]", // B E
S: "~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4]", // A B
T: "~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4]", // E
U: "~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4]", // G#dim
V: "~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~", // A
W: "~@4 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~", // A
X: "~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~", // E
Y: "~@4 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~", // G#dim
Z: "~@4 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~", AA: "[d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@17",
AB: "~@4 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@2", // A B
AC: "~@3 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@2", // E
AD: "~@3 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@2", // A B
AE: "~@3 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@3", // A B
AF: "~@2 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@3", // E
AG: "~@2 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@3", // A B
AH: "~ [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@4", // A B
AI: "~ [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@4", // E
AJ: "~ [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@4", // G#dim
AK: "~ [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@4", // A
AL: "~ [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5", // A
AM: "[e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5", // E
AN: "[d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5 [d4,g#4,b4] ~@5", // G#dim
AO: "[c#4,e4,a4] ~@5 [c#4,e4,a4] ~@4 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4]", // A
AP: "~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [c#4,e4,a4] ~@5 [d#4,f#4,b4]", // A B
AQ: "~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~@5 [d#4,f#4,b4] ~ [d#4,f#4,b4] ~@4", AR: "~ [d#4,f#4,b4] ~@20 [e4,g#4,b4] ~",
AS: "~@4 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [e4,g#4,b4] ~@5 [c#4,e4,a4] ~", // E A
// … 185 more lines
More by
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.