0:00/0:00
// Calendar Girl — Neil Sedaka
// 120 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 81 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · electric guitar clean · "E. R. Trimble"
const electric_guitar_clean = note(`<
~ A B C D E D F G H I J K L M N O P Q E R S T U V W X D Y Z AA AB AC AD AE AF R AG AH AI AJ AK Z AL AM AN AO D AP AQ
AR AS AT AU AV AW V E AX AY AZ L BA BB D BC BD BE AT BF BG BH BI BJ BK BL AC BM BN BO ~
>`.pickRestart({
A: "~@6 [b3,e4,g#4]@4 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@5", // E
B: "~@6 [e4,g#4]@4 [e4,g#4] ~@7 [c#4,e4,g#4] ~@5, ~@6 c#4 ~@17", // E C#m
C: "~@6 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@5 [e4,g#4]@2 [g#3,b3,e4,g#4] ~@5", // E
D: "~@6 [c#4,e4,g#4]@4 [c#4,e4,g#4] ~@7 [c#4,e4,g#4] ~@5", E: "~@6 [b3,e4,g#4]@4 g#4 ~@7 [b3,e4,g#4] ~@5",
F: "~@6 [c#4,e4,a4]@4 [e4,a4] ~@5 [d#4,f#4]@2 [d#4,f#4,b4] ~@5", G: "[b3,e4,g#4] ~@11",
H: "~@6 [b3,e4,g#4]@4 [b3,e4,g#4] ~@5 b3@2 [b3,e4,g#4] ~@5, ~@2 g#3@3 ~@7", // E
I: "~@6 [b3,e4,g#4]@4 [b3,g#4] ~@5 b3@2 [e4,g#4] ~@5", // E
J: "~@4 c#4@2 [c#4,e4,g#4]@4 [c#4,g#4] ~@5 e4@2 [c#4,e4,g#4] ~@5", // C#m C#5 C#m
K: "~@4 g#4@2 [g#3,c#4,e4,g#4]@4 [c#4,g#4] ~@7 [c#4,e4,g#4] ~@5", // C#m C#5 C#m
L: "~@6 [g#3,b3,e4,g#4]@4 [e4,g#4] ~@7 [b3,e4,g#4] ~@5", M: "~@6 [e4,g#4]@4 [b3,g#4] ~@5 b3@2 [g#3,e4,g#4] ~@5",
N: "~@6 [c#4,e4,g#4]@4 [c#4,g#4] ~@5 c#4@2 [c#4,e4,g#4] ~@5", // C#m C#5 C#m
O: "~@6 [g#3,c#4,e4,g#4]@4 [c#4,e4,g#4] ~@5 c#4@2 [c#4,e4,g#4] ~@5", // C#m
P: "~@4 e4@2 [c#4,e4,a4]@4 [c#4,a4] ~@7 [c#4,e4,a4] ~@5", // A F#m A
Q: "~@6 [c#4,e4,a#4]@4 [e4,a#4] ~@5 c#4@2 [g3,c#4,e4,a#4] ~@5", // A#dim Edim Gdim
R: "~@6 [b3,f4,g#4]@4 [b3,f4,g#4] ~@7 [b3,f4,g#4] ~@5", // Fdim
S: "~@6 [c#4,f#4,a#4]@4 [f#4,a#4] ~@5 c#4@2 [c#4,f#4,a#4] ~@5", T: "~@6 [d#4,f#4,b4]@4 b4 ~@7 [d#4,f#4,b4]@2 ~@4",
U: "[g#3,b3]@2 ~@4 [g#3,b3,e4,g#4]@4 [e4,g#4] ~ [c#4,e4,a4]@4 ~@2 [a3,c#4,e4,a4]@3 ~@3", V: "[g#3,b3,e4,g#4] ~@11",
W: "~@6 [b3,e4,g#4]@4 g#4 ~@5 e4@2 [b3,e4,g#4] ~@5", X: "~@4 b3@2 [b3,e4,g#4]@4 [e4,g#4] ~@7 [e4,g#4] ~@5",
Y: "~@6 [g#3,c#4,e4,g#4]@4 [c#4,g#4] ~@7 [c#4,e4,g#4] ~@5", Z: "~@6 [b3,e4,g#4]@4 [e4,g#4] ~@7 [b3,e4,g#4] ~@5",
AA: "~@6 [b3,e4,g#4]@4 [e4,g#4] ~@7 [e4,g#4] ~@5", AB: "~@6 [c#4,e4,g#4]@4 [e4,g#4] ~@7 [c#4,e4,g#4] ~@5",
AC: "~@6 [c#4,e4,g#4]@4 g#4 ~@7 [c#4,e4,g#4] ~@5", AD: "~@6 [a3,c#4,e4,a4]@4 a4 ~@5 c#4@2 [c#4,e4,a4] ~@5",
AE: "~@6 [g3,c#4,e4,a#4]@4 [c#4,e4,a#4] ~@7 [c#4,e4,a#4] ~@5", // Gdim A#dim
AF: "~@4 b3@2 [g#3,b3,e4,g#4]@4 [e4,g#4] ~@5 b3@2 [g#3,b3,e4,g#4] ~@5", // E
AG: "~@6 [c#4,f#4,a#4]@4 [f#4,a#4] ~@7 [c#4,f#4,a#4] ~@5", AH: "~@6 [d#4,f#4,b4]@4 [d#4,b4] ~@7 [d#4,f#4,b4] ~@5",
AI: "~@4 b3@2 [b3,e4,g#4]@3 ~@3 [a3,c#4,e4,a4]@4 ~@2 [a3,c#4,e4,a4]@3 ~@3", AJ: "[b3,e4,g#4] ~@7",
AK: "~@6 [b3,e4,g#4]@4 [e4,g#4] ~@7 [g#3,b3,e4,g#4] ~@5, ~@2 g#3@3 ~@7", // E
AL: "~@6 [c#4,e4,g#4]@4 [c#4,g#4] ~@7 [c#4,e4,g#4] ~@5", AM: "~@6 [c#4,e4,g#4]@4 [c#4,g#4] ~@7 [c#4,e4] ~@5",
AN: "~@6 [b3,e4,g#4]@4 [b3,e4,g#4] ~@5 b3@2 [b3,e4,g#4] ~@5", // E
AO: "~@4 b3@2 [b3,e4,g#4]@4 [a#3,e4,g#4] ~@7 [b3,e4,g#4] ~@5", // E A#m7b5 E
AP: "~@4 c#4@2 [c#4,e4,g#4]@4 [e4,g#4] ~@7 [g#3,c#4,e4,g#4] ~@5", // C#m E C#m
AQ: "~@6 [c#4,e4,a4]@4 [c#4,a4] ~@5 c#4@2 [c#4,e4,a4] ~@5", // A F#m A
AR: "~@6 [g3,c#4,e4,a#4]@4 [e4,a#4] ~@5 c#4@2 [c#4,e4,a#4] ~@5", AS: "~@6 [b3,e4,g#4]@4 ~@6 b3@2 [b3,e4,g#4] ~@5",
AT: "~@6 [b3,f4,g#4]@4 [b3,g#4] ~@7 [b3,f4,g#4] ~@5", AU: "~@6 [c#4,f#4,a#4]@4 [c#4,a#4] ~@7 [c#4,f#4,a#4]@2 ~@4",
AV: "~@6 [b3,d#4,f#4,b4]@4 b4 ~@7 [d#4,f#4,b4] ~@5", AW: "~@2 [b3,e4,g#4] ~ [a3,c#4,e4,a4] ~ [a3,c#4,e4,a4] ~",
AX: "~@6 [b3,e4,g#4]@4 [e4,g#4] ~@7 [g#3,b3,e4,g#4] ~@5", AY: "~@6 [g#3,c#4,e4,g#4]@4 [e4,g#4] ~@7 [c#4,e4,g#4] ~@5",
AZ: "~@6 [g#3,c#4,e4,g#4]@4 [c#4,e4,g#4] ~@7 [c#4,e4,g#4] ~@5", // C#m
BA: "~@4 b3@2 [b3,e4]@4 g#4 ~@7 [b3,e4,g#4] ~@5, ~@2 g#4 ~@5", // E5 E
BB: "~@6 [g#3,c#4,e4,g#4]@4 [e4,g#4] ~@7 [g#3,c#4,e4,g#4] ~@5", // C#m E C#m
BC: "~@6 [a3,c#4,e4,a4]@4 [e4,a4] ~@7 [a3,c#4,e4,a4] ~@5", // A A5 A
BD: "~@4 c#4@2 [c#4,e4,a#4]@4 [e4,a#4] ~@7 [c#4,e4,a#4] ~@5", // A#dim Edim A#dim
BE: "~@6 [b3,e4,g#4]@4 [g#3,b3,e4,g#4] ~@7 [b3,e4,g#4] ~@5", BF: "~@6 [c#4,f#4,a#4]@4 a#4 ~@7 [c#4,f#4,a#4]@2 ~@4",
BG: "~@6 [d#4,f#4,b4]@4 [d#4,f#4,b4] ~@7 [d#4,f#4,b4]@2 ~@4", // B
BH: "~@4 b3@2 [b3,e4,g#4]@3 ~@3 [a3,c#4,e4,a4]@3 ~@3 [c#4,e4,a4]@3 ~@3", BI: "[g#3,b3,e4,g#4] ~@7",
BJ: "~@6 [b3,g#4]@4 [b3,g#4] ~@7 [g#3,b3,e4,g#4] ~@5", BK: "~@6 [c#4,e4,g#4]@4 [e4,g#4] ~@5 c#4@2 [c#4,e4,g#4] ~@5",
BL: "~@6 [b3,e4,g#4]@4 [e4,g#4] ~@5 b3@2 [e4,c#5] ~@5", // E C#m
BM: "~@4 b3@2 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@5", // E
BN: "~@6 [e4,g#4]@4 c#4 ~@5 c#4@2 [c#4,e4,g#4]@2 ~@4, ~@2 c#4 ~@5", // E C#m
BO: "~@6 [a3,c#4,e4,a4]@3 ~@7 d#4@2 [b3,d#4,f#4,b4] ~@3 [b3,e4,g#4]@2", // A B E
})).s("gm_electric_guitar_clean").gain(0.17).pan(0.4)
// chords · electric guitar clean · "E. R. Trimble" · soft notes
const electric_guitar_clean_2 = note(`<
~ A B C D E@2 F G H E I J K L M N O P Q R S T U ~ V W D X E Y E Z AA AB AC AD AE AF AG ~ AH E AI E AJ AK E AL AM AN AO
V AN AP AQ ~ E Z AR X AS AT AU AV AW AX E AY AZ BA BB ~ BC E BD I BE BF BG ~
>`.pickRestart({
A: "~@4 g#3@6 g#3 ~@5 [g#3,b3]@3 ~@5", B: "~@2 g#3@3 ~@3 [c#4,e4,g#4] ~@3", C: "~@4 g#3@5 ~ g#3 ~@5 [g#3,b3]@2 ~@6",
D: "~@4 g#3@6 ~@6 [g#3,c#4]@3 ~@5", E: "~@4 g#3@6 ~@6 g#3@3 ~@5", F: "~@2 a3@3 ~@3 b3 ~@3, ~@2 c#4 ~@9",
G: "g#3 ~@11", H: "~@8 g#3 ~@3", I: "~@2 g#3@3 ~@3 c#4 ~@3", J: "~@4 [c#4,e4]@2 ~@10 [g#3,c#4]@3 ~@5",
K: "~@4 g#3@2 ~@4 b3 ~@5 [g#3,b3]@3 ~@5", L: "~@4 b3@5 ~@7 g#3@3 ~@5", M: "~@4 g#3@6 g#3 ~@13",
N: "~@4 [g#3,c#4]@2 ~@4 g#3 ~@5 g#3@3 ~@5", O: "~@2 c#4 ~@5 c#4 ~@3", P: "~@4 c#4@2 g3@5 ~@13",
Q: "~@4 b3@2 ~@10 [g#3,b3]@3 ~@5, e3@5 ~@7", R: "~@4 [b3,f4]@2 ~@4 g#3 ~@5 b3@2 ~@6, g#3@5 ~@7",
S: "~@4 c#4@2 a#3@5 ~@13", T: "~@2 d#4 ~@5 d#4 ~@3", U: "e4 ~@5 a3@2 ~@4", V: "~@2 g#3@3 ~@3 b3 ~@3",
W: "~@4 g#3@7 ~@5 [g#3,b3]@2 ~@6", X: "~@4 c#4@2 ~@10 g#3@3 ~@5", Y: "~@4 g#3@6 ~@6 g#3@2 b3 ~@5",
Z: "~@2 g#3 g#3@2 ~@3 g#3 ~@3", AA: "~@2 e4 ~@9, [a3,c#4] ~@3", AB: "~@4 c#4@2 ~@10 g3@3 ~@5", AC: "e3@5 ~@3 g#3 ~@3",
AD: "~@2 b3 ~@5 b3 ~@3, g#3@5 ~@7", AE: "~@4 c#4@2 a#3@4 ~@6 c#4@2 a#3 ~@5", AF: "~@2 b3@3 ~@3 d#4 ~@3",
AG: "g#3@2 ~@4 g#3@3 ~ [b3,e4] ~@13", AH: "~@16 g#3@2 ~@4 g#4 ~", AI: "~@4 g#3@6 ~@6 g#3@3 ~@3 g#4 ~",
AJ: "~@4 g#3@7 ~@13", AK: "~@6 g#3@4 ~@6 g#3@3 ~@5", AL: "~@4 g#3@6 ~@6 g#3@2 ~@4 e4 ~", AM: "~@2 c#4 a3@2 ~@7",
AN: "~@2 c#4 ~@9", AO: "~@2 g#3@3 ~@7", AP: "~@8 d#4 ~@3", AQ: "~@4 b3@2 g#3@3 ~ [b3,e4] ~@13",
AR: "~@2 g#3 ~@5 g#3 ~@3", AS: "~@4 g#3@2 ~@10 g#3@3 ~@5", AT: "~@6 g#3@5 ~@5 g#3@2 g#3 ~@5",
AU: "~@4 g#3@2 ~@10 g#3@2 ~@4 g#4 ~", AV: "~@4 g#3@6 ~@6 g#3@3 ~@3 e4 ~", AW: "~@2 a4 ~@5 c#4 ~@3",
AX: "~@6 g3@5 ~@5 c#4@2 ~@6", AY: "~@4 g#3@7 ~@5 b3@2 ~@6", AZ: "~@4 c#4@2 ~@4 c#4 ~@13",
BA: "~@2 f#4 b3@2 ~@3 d#4 ~@3", BB: "~@4 g#3@5 ~ [g#3,b3] ~@13", BC: "~@4 [e3,g#3]@6 g#3 ~@5 g#3@2 ~@6",
BD: "~@4 [e3,g#3]@6 ~@6 g#3@3 ~@5", BE: "~@4 g#3@7 ~@5 g#3@3 ~@5", BF: "~@4 [c#3,g#3]@6 ~@6 g#3@3 ~@5",
BG: "~@10 [c#4,e4] ~@5 b3@2 ~@4 g#3@2", // C#m
})).s("gm_electric_guitar_clean").gain(0.06).pan(0.4)
// bass · acoustic bass · "AcouBass"
const bass = note(`<
~ A B A B A C D E F G H I J K L M N O P Q R S T U F V H W J X L M N O Y Z AA S T AB F AC H AD J X L AE N O AF AG AH AI
T AJ F V H AK J X L M N O AL AM AH AN AO AJ A B A B A C AP ~
>`.pickRestart({
A: "e2@11 ~ b1@11 ~", B: "c#2@9 ~ g#2@4 ~@2 c#3@2 b2@3 ~ g#2@2", C: "c#2@9 ~ c#2@7 ~ e2@5 ~", D: "a1@11 ~ b1@11 ~",
E: "e2@15 ~ c#3@2 b2@3 ~ g#2@2", F: "e2@5 ~ b1@5 ~", G: "e2@9 ~ b2@5 ~ b2 ~ b1@5 ~", H: "c#2@11 ~ g#2@10 ~@2",
I: "c#2@9 ~ g#1@2 c#2@3 ~ c#3@2 b2@3 ~ g#2@2", J: "e2@11 ~ b1@10 ~@2", K: "e2@8 ~@2 b2@5 ~ c#3 ~ b2@4 ~@2",
L: "c#2@9 ~@3 g#2@11 ~", M: "c#2@7 ~@3 c#2@6 ~@2 e2@3 ~ g#2@2", N: "a2@10 ~@2 e2@7 ~@3 a2 ~",
O: "a#2@11 ~ e2@8 ~@2 a#2 ~", P: "b2@11 ~ g#2@5 ~@5 b2 ~", Q: "c#3@4 ~@2 b2@4 ~@2 g#2@4 ~@2 g2@5 ~",
R: "f#2@5 ~ e2@5 ~ d#2@5 ~ c#2@5 ~", S: "b1@5 ~ b1@5 ~ c#2@5 ~ d#2@5 ~", T: "e2@5 ~ e2@5 ~ a2@5 ~ a2@3 ~ a2@2",
U: "e2@6 ~@12 b1@3 ~ d#2@2", V: "e2@9 ~ b2@5 ~ c#3 ~ b2@3 ~ g#2@2", W: "c#2@9 ~ g#2 ~ c#2@3 ~ c#3@2 b2@3 ~ g#2@2",
X: "e2@8 ~@2 b2@5 ~ c#3 ~ b2@3 ~ g#2@2", Y: "b2@11 ~ g#2@7 ~ d#3 ~ d3 ~",
Z: "c#3@3 ~ g#2 ~ b2@4 ~@2 g#2@4 ~@2 g2@5 ~", AA: "f#2@5 ~ e2@5 ~ d#2@5 ~ c#2@3 ~ f#2 ~",
AB: "e2@3 ~@13 c#3 ~ b2@3 ~ g#2@2", AC: "e2@9 ~ b2@5 ~ c#3 ~ g#2@5 ~", AD: "c#2@9 ~ c#2 ~ c#2@3 ~ c#3@2 b2@3 ~ g#2@2",
AE: "c#2@8 ~@2 c#2 ~ c#2@5 ~ e2@3 ~ g#2 ~", AF: "b2@11 ~ g#2@9 ~ b2 ~",
AG: "c#3@3 ~ c#3 ~ b2@4 ~@2 g#2@4 ~@2 g#2@4 g2 ~", AH: "f#2@3 ~ f#2 ~ e2@5 ~ d#2@5 ~ c#2@3 ~ c#2 ~",
AI: "b1@5 ~ b1@5 ~ b1@5 ~ d#2@5 ~", AJ: "e2@13 ~@3 c#3 ~ b2@3 ~ g#2@2", AK: "c#2@9 ~ c#2 ~ c#2@5 ~ b1@5 ~",
AL: "b2@11 ~ g#2@9 ~ d#3 ~", AM: "c#3@5 ~ c#3@4 ~@2 g#2@4 ~@2 g#2@4 g2 ~", AN: "b1@4 b1 ~ c2@5 ~ c#2@5 ~ d#2@5 ~",
AO: "e2@11 ~ a2@5 ~ a1@5 ~", AP: "a1@11 ~ b1@9 ~ e2@2",
})).s("gm_acoustic_bass").gain(0.44).pan(0.4)
// chords · piano · "Honkytnk"
const piano = note("<~@41 A B C D E F G H ~@32>".pickRestart({
A: "[b4,b5,e6]@4 ~@2 [c#5,c#6,e6]@4 [g#4,g#5] ~ [b4,b5,e6]@4 [g#4,g#5] ~ [c#5,c#6,e6]@3 ~ [g#4,g#5] ~", // E5 C#m G# E5 G# C#m G#
B: "[b4,b5] ~ [g#4,g#5] ~ [b4,b5,e6] ~ [c#5,c#6,e6]@3 ~ [b4,b5,e6]@6 ~@8, e6 ~@11", // B G# E5 C#m E5
C: "[c#5,c#6,e6]@3 ~ g#4 ~ [d#5,d#6,e6]@4 g#5 ~ [c#5,c#6,e6]@3 ~ g#4 ~ [d#5,d#6,e6]@4 [g#4,g#5] ~", // C#m Emaj7 C#m Emaj7 G#
D: "[c#5,c#6,e6] ~ g#4@2 c#6 ~ [d#5,d#6,e6]@3 ~ [c#5,c#6,e6]@5 ~@9, ~@2 g#5 ~@21", // C#m Emaj7 C#m
E: "[b4,b5,e6]@4 g#4 ~ [c#5,c#6,e6]@4 ~@2 [b4,b5,e6]@4 [g#4,g#5] ~ [c#5,c#6,e6]@4 g#5 ~", // E5 C#m E5 G# C#m
F: "[b5,e6] ~ [g#4,g#5] ~ [b4,b5,e6] ~ [c#5,c#6,e6]@3 ~ [b4,b5,e6]@9 ~@5, b4 ~@11", // E5 G# E5 C#m E5
G: "[c#5,c#6,e6]@4 g#5 ~ [d#5,d#6,e6]@4 [g#4,g#5] ~ [c#5,c#6,e6]@3 ~ [g#4,g#5] ~ [d#5,d#6,e6]@4 [g#4,g#5] ~", // C#m Emaj7 G# C#m G# Emaj7 G#
H: "~@4 [c#5,c#6,e6] ~ [d#5,d#6,e6]@3 ~ [c#5,c#6,e6]@7 ~@7", // C#m Emaj7 C#m
})).s("gm_piano").gain(0.38).pan(0.4)
// chords · piano · "Honkytnk" · soft notes
const piano_soft = note("<~@41 A ~ B C D ~ E ~@33>".pickRestart({
A: "~@4 [g#4,g#5] ~@19", B: "~@4 g#5 ~@5 g#4 ~@5 g#5 ~@7", C: "~@4 c#5 ~@19", D: "~@4 g#5 ~@5 [g#4,g#5] ~@11 g#4 ~",
E: "~@4 g#4 ~@19",
})).s("gm_piano").gain(0.22).pan(0.4)
// chords · vibraphone · "Vibes"
const vibraphone = note(`<
~ A@2 B@2 C@2 D@2 E ~ F ~ G ~ H I J@2 K@2 L M N O P ~ Q R P ~ S I J@2 K@2 L M N O T@2 U@2 V@4 J@2 K@2 L M N W X Y Z AA
X Y Z I J@2 K@2 L M N AB A@2 B@2 C@2 D@2
>`.pickRestart({
A: "[~@2 [e4,g#4] [e4,g#4]@2 [e4,g#4] [e4,g#4]@2 [e4,g#4] [e4,g#4]@2 [e4,g#4] [d#4,f#4]@2 [e4,g#4] [d#4,f#4]@2 [c#4,e4]@7, g#3, b3@12 c#4@5 ~@7]/2", // E D#m E D#m C#m
B: "[~@3 [e4,g#4]@6 [e4,g#4]@3 [d#4,f#4]@2 [e4,g#4] [d#4,f#4]@2 [c#4,e4]@7, g#3, b3@12 c#4@5 ~@7]/2", // E D#m E D#m C#m
C: "[~@2 [e4,g#4] [e4,g#4]@2 [e4,g#4] [e4,g#4]@2 [e4,g#4] [e4,g#4]@2 [e4,g#4] [d#4,f#4]@2 [e4,g#4] [d#4,f#4]@2 [c#4,e4]@5 ~@2, g#3@11 ~, b3@12 c#4@5 ~@7]/2", // E D#m E D#m C#m
D: "[[e3,a3,c#4]@6 [f#3,b3,d#4]@5 [g#3,b3,e4]@2 ~@11]/2", // A B E
E: "[b3,e4,g#4,e5]@2 [b3,e4,g#4,e5] [b3,e4,g#4,e5]@2 [b3,e4,g#4,e5]@2 ~@5", // E
F: "[c#4,e4,g#4,e5]@2 [c#4,e4,g#4,e5] [c#4,e4,g#4,e5]@2 [c#4,e4,g#4,e5] ~@6", G: "[b3,e4,g#4,e5] ~@7",
H: "[c#4,e4,g#4,e5]@2 [c#4,e4,g#4,e5] ~@9", I: "~@2 [c#4,e4,g#4] [g#3,c#4,e4]", J: "[[a3,e4] [a#3,g4], [e3,c#4]]/2",
K: "[[b3,e4,g#4] [b3,f4,g#4], g#3]/2", L: "~@3 [a#3,c#4,e4,a#4]@2 [a#3,c#4,f#4,a#4] [a#3,c#4,e4,a#4]@2 ~@4",
M: "~@3 [a3,b3,d#4,a4]@2 [a3,b3,e4,a4] [a3,b3,d#4,a4]@2 ~@4", // B7 Asus2 B7
N: "~@3 [b3,e4,g#4,b4]@2 [b3,e4,g#4,b4] [c#4,e4,a4,c#5]@2 [c#4,e4,a4,c#5] [c#4,e4,a4,c#5]@3", O: "[b3,e4,g#4,b4] ~@3",
P: "[b3,e4,g#4,e5] ~@5", Q: "[c#4,e4,g#4,e5] ~@5", R: "~@3 [c#4,e4,g#4,e5]",
S: "[g#3,c#4,e4,g#4]@2 [g#3,c#4,e4,g#4] ~@9", T: "[e3,g#3,b3,e4]/2", U: "[e3,g#3,c#4,e4]/2",
V: "[[g#3,b3,e4]@8 [g#3,c#4,e4]@6 [c#4,e4,g#4] [g#3,c#4,e4], e3@7 ~]/4", W: "[b3,e4,g#4,b4]@3 ~@8 [e4,g#4,b4,e5]",
X: "[e4,g#4,b4,e5]@2 [e4,g#4,b4,e5] ~@9", Y: "~@11 [e4,g#4,c#5,e5]", Z: "[e4,g#4,c#5,e5]@2 [e4,g#4,c#5,e5] ~@9",
AA: "~@11 [e4,g#4,b4,e5]", AB: "[b3,e4,g#4,b4] ~@5",
})).s("gm_vibraphone").gain(0.3).pan(0.4)
// chords · string ensemble 1 · "Strings1"
const string_ensemble_1 = note(`<
~ A@2 B@2 C@2 D@2 ~@7 E F@2 G@2 ~@11 E F@2 G@2 ~@4 H@2 I@2 J@4 F@2 G@2 ~@11 E F@2 G@2 ~@4 A@2 B@2 C@2 K ~
>`.pickRestart({
A: "[b3@3 c#4@2 ~, [e3,g#3]@13 ~@3]/2", B: "[b3@4 c#4@3 ~, [e3,g#3]@43 ~@5]/2",
C: "[b3@24 c#4@17 ~@7, [e3,g#3]@7 ~]/2", D: "[[e3,a3,c#4]@12 [f#3,d#4]@10 [g#3,e4]@3 ~@23, ~@6 b3@7 ~@11]/2",
E: "~@2 [c#4,e4,g#4] [g#3,c#4,e4]", F: "[[a3,e4] [a#3,g4], [e3,c#4]]/2", G: "[[b3,e4] [c#4,f4], [g#3,g#4]]/2",
H: "[e3,g#3,b3,e4]/2", I: "[e3,g#3,c#4,e4]/2",
J: "[[g#3,b3,e4]@8 [g#3,c#4,e4]@6 [c#4,e4,g#4] [g#3,c#4,e4], e3@7 ~]/4", // E C#m
K: "[e3,a3,c#4]@4 [f#3,b3,d#4]@3 [g#3,b3,e4]", // A B E
})).s("gm_string_ensemble_1").gain(0.22).pan(0.4)
// other · glockenspiel · "Glocknspl"
const glockenspiel = note(`<
~@2 A B C D E F G ~@8 H I J K L M N ~@9 H I J K L M N ~@9 H I J K L M N ~@9 H I J K L M N ~@2 A B C D E O ~
>`.pickRestart({
A: "~@6 b6@3 ~ e6@3 ~@3 b6@2 g#6@2 ~@4", B: "b6 ~@7", C: "~@6 e6@3 ~ g#6@2 ~@4 b6 ~ g#6@2 ~@4", D: "b6 ~@11",
E: "~@6 e6@2 ~@2 g#6@2 ~@4 b6 ~ e7@3 ~@3", F: "c#7@2 ~@10 d#7 ~@5 b6 ~@5", G: "e7 ~@23",
H: "~@4 c#6 ~ e6@3 ~ a6@3 ~@3 c#7 ~ e7@2 ~@4", I: "~@4 c#6 ~ g6@2 ~@2 a#6@3 ~@3 c#7 ~ e7@2 ~@4",
J: "~@4 e6@2 g#6@2 ~@2 b6@3 ~@3 e7 ~ g#7@4 ~@2", K: "~@4 f6 ~ g#6@2 ~@2 c#7@3 ~@3 f7 ~ g#7@3 ~@3",
L: "~@6 b6 ~@9 [e6,e7]@2 ~@6", M: "[d#6,d#7] ~@15 d#7@2 ~@6, ~@16 d#6 ~@7", N: "e6 ~@11, e7 ~@23",
O: "c#7@2 ~@10 d#7 ~@5 b6 ~@3 e7 ~",
})).s("gm_glockenspiel").gain(0.35).pan(0.3)
// drums · kick
const kick = s("bd").struct(`<
~ A B A B A B A C A B A B A B A B A@7 C A B A B A B A C A B A B A B A C A B A B A B A C A B A B A B A C A B A B A B A
C A B A B A B A C A B A B A B A ~
>`.pickRestart({
A: "x!2", B: "x ~@4 x ~@3 x ~@2", C: "x",
})).gain(0.44).pan(0.4)
// drums · snare
const snare = s("sd").struct(`<
A B C B C B C D E B C B C B C B F B@3 G@3 H I B C B C B C B F B@3 G@3 J I B C B C B C B F B@3 G@3 H I B C B C B C B F
B@3 G@3 H I B C B C B C D ~
>`.pickRestart({
A: "~@16 x!3 ~@3 x!2", B: "x ~ x!2 ~ x!2 ~ x!2 ~ x", C: "x ~@3 x ~ x ~@3 x ~ x ~@3 x!3 ~@3 x!2", D: "x ~ x!2 ~ x!7",
E: "x ~@4 x!2 ~@4 x!2 ~@3 x!3 ~@3 x ~", F: "x ~@3 x ~ x ~@3 x ~ x ~@4 x!2 ~@3 x!2",
G: "x ~@3 x ~ x ~@3 x ~ x ~@4 x!2 ~ x ~ x ~", H: "x ~@4 x!2 ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~",
I: "x ~@4 x!2 ~@4 x!2 ~@4 x!2 ~@4 x", J: "x ~ x!10",
})).gain(0.27).pan(0.4)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
A ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ C ~@3 D@3 E F ~ A ~ A ~ A ~ C ~@3 D@3 ~ F ~ A ~ A ~ A ~ C ~@3 D@3 E F ~ A ~ A ~ A ~ C
~@3 D@3 E F ~ A ~ A ~ A ~@2
// … 28 more lines
More by Neil Sedaka
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.