0:00/0:00
// It's Too Late — Carole King
// 100 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 99 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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 · piano · "A.PIANO 1"
const piano = note(`<
A@2 B@2 C@2 D@2 E@2 F G H I J K L@2 M N A@2 B@2 C@2 D@2 E@2 F G H I J K L@2 O@4 P Q R S T U V@2 W@2 X@2 Y@2 Z@2 AA AB
AC AD@3 A@2 B@2 C@2 D@2 E@2 F G H I J K L@2 O@4 P Q R S T AE AF@2 AG@2 AH AI ~
>`.pickRestart({
A: "[a1@10 a2 ~ a1 ~ [d2,d3,a3]@7 ~ e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, [g3,c4,e4]@6 ~ [b3,d4]@9, a2@8 ~@6 f#4@15 ~@3]/2", // D5 C Bm
B: "[a2@3 ~ a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ [d2,d3,a3]@7 ~ e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, [g3,c4,e4]@9 ~@5 d4@18, a1@3 ~@4 f#4@8 ~, ~@14 b3@13 ~@5]/2", // Am7 D5 C
C: "[a2@2 ~@2 a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ [a3,b3]@8 e3 g3 a3 ~ b3@2 a3 g3 e3 ~, [g3,c4,e4]@9 ~@5 d4@18, a1@7 ~@7 f#4@15 ~@3, ~@14 [d2,d3]@6 ~@6 a3 ~@5]/2", // Am7 Asus2 C D
D: "[a1@4 a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ [d2,d3,a3]@7 ~ e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, [g3,c4,e4]@9 ~@5 [b3,d4]@18, a2 ~@13 f#4@15 ~@3]/2", // Am7 D5 C Bm
E: "[[a1,a2]@4 a2@4 a1@2 [a2,g3,c4,e4] ~ a1 ~ g1@6 ~@2 g1 ~ g1@2 [f3,a#3,d4] ~ g1@2 g2 ~, [g3,c4,e4]@9 ~@5 [f3,a#3,d4]@11 ~@7, ~@10 g2@2 ~ g2 ~@2]/2", // A Am7 A# C A#
F: "[f2,c3,a3,e4]@4 ~@2 [f2,c3,a3,e4] ~ [f2,c3,a3,e4]@4 ~@2 [f2,c3,a3,e4] ~", // Fmaj7
G: "[f2,c3,a3,e4] ~ [f2,c3,a3,e4] ~@3 [f2,c3,a3,e4]@9 ~", // Fmaj7
H: "~@6 [a3,d4]@4 ~@4 f3 ~, d4@3 f4@3 d4@2, a3@4 f3@9 ~@3, ~ a#2@7, ~@5 a3@2 ~", // D5
I: "a3@2 ~@2 a3 ~@9 [g3,c4]@2, f2@8 ~@2 f2@5 ~, [c4,e4]@5 ~ [a3,c4]@7 ~@3, ~ c3@3 ~@2 c3@2", // C5 C Am
J: "a3@2 ~@2 a3 ~ [a3,d4]@4 f3@2 ~@2 a#2 ~, a#2@13 ~@3, d4@5 ~@11, ~ f3@3 ~@2 [a3,d4]@2", // D5
K: "g3 ~ g3@3 ~ [g3,a3,c4]@4 f3 ~@3 f3@2, [a3,c4]@5 ~@7 [a3,c4]@4", // Am7 Am
L: "[~@4 a3 ~ a3@4 ~@2 d4@2 ~@6 e4@2 c4@4 ~@4 [f2,f3]@2, a#2@15 ~ f2@12 ~@4, ~@2 f3@6 ~@2 f3@4 [g3,c4]@5 ~ a3@7 ~ [a3,c4]@4, ~@4 d4@7 ~ a3@6 c3@6 ~@2 c3@4 ~@2]/2", // F C5 Am
M: "~@2 a3 ~@5 f3@2 a3 ~ f3@2 d3 ~, d3@4 c4@7 ~@5, ~ a3 ~ [a3,c4], ~@3 d3@3 ~@2", // Am
N: "~@2 e3 ~ [a3,b3]@2 [a3,b3,e4]@4 e3 ~ [e3,a3,b3]@2 e2 ~, e2@13 ~@3, ~@4 e3 ~ e3@2 ~@8", // Asus2 Esus4
O: "[~@2 a3 ~@5 f3@2 a3 ~ [f3,a3]@2 d3 ~ [f3,a3,e4]@3 ~@7 [f3,a3,c4,e4]@2 g2@2 [f3,a3,e4] ~ [g3,e4]@4 ~@6 g3@2 [c2,g3,b3,e4]@2 ~@4 f3@2 [f3,a3]@2 f3@4 f3@2 ~@2 f2@2, d3@4 c4@7 ~ c4@7 ~@5 g1@4 ~@2 g1@2 c2@12 ~@4 f2@14 ~@2, ~@2 a3@2 ~@7 g2@2 ~@5 [b3,e4]@4 ~ a3@3 ~ [a3,c4]@3 [f3,a3,c4]@2, ~@6 d3@6 ~@8 [f3,a3,c4,e4]@5 ~@5 c4@16 e4@8 ~@10, ~@18 g3 c3@4 ~@9]/4", // F Fmaj7 C Cmaj7 F E5 Am F …
P: "~@5 a#3 ~ a#2, a#2@3 a#2@4 ~, [f3,d4] d4@2 ~, ~ c4@6 ~@9, ~ [f3,a#3] f3 [f3,a#3,d4]", // Dm A#5 A#
Q: "e3 ~@3 a3@2 ~@4 e3@2 [e3,a3,c4]@2 [e3,a3,c4]@2, [a2,c4]@7 ~ a2@8, a3@2 ~ [a3,c4]@3 ~@2, ~ e3@2 e3@2 ~@3", // Am
R: "[f3,a#3]@2 f3 [g2,f3] ~ c4 g3 [c3,g3], g2@3 ~ c3@3 ~, ~ d4@3, ~ a#3 g3 c4", // A#5 G7 C5
S: "~@5 a3!2 [f3,a3], [a3,c4]@3 [a3,c4]@2 e4@3, ~ f3@4 ~@3, ~ f2 f2@2", // F Am
T: "[f3,a3]@4 ~@2 d3@2 ~@2 a3@2 ~@2 d3 ~, c4@3 ~, d3@3 ~ d3@3 ~, ~ [f3,a3] f3 [f3,a3,c4]", // F
U: "[a3,b3]@4 [e3,a3]@2 [e2,e3]@2 e3@2 e3@2 [e2,e3]@2 [e2,e3,b3] ~, e2@6 a3@9 ~, ~@4 b3@6 [b3,e4]@5 ~, ~@2 e2 ~", // Asus2 A5 E E5
V: "[[e3,c4]@4 ~@2 a2@2 ~@4 a2@2 ~@6 f#3@2 ~@4 e3@2 f#3 ~ [f#3,a3,d4]@2, a3@4 ~@3 [a3,d4]@4 ~@5, a2@3 ~ a2@2 ~@10, ~@2 [g3,c4]@3 ~@2 f#3@3 ~ [f#3,a3,d4]@3 ~@2, ~@4 e3@4 ~@2 [e3,g3,c4]@5 ~@3 d3@4 ~@10]/2", // C D D5 C5 D C
W: "[c4@2 ~ a2 ~@2 a2 ~@7 d4 [a3,d4,a4], [a2,g3]@3 g3@2 [g3,a3,c4]@2 f#3@9, ~@2 c4@3 ~@2 a3@4 d4@3 ~@2, ~@2 a3@2 a2@2 ~@3 d3@3 d3@2 d3@2, ~@11 a3@2 a3@2 ~]/2", // D5 A7 Am7
X: "[[c4,e4]@4 ~@2 a2@2 ~@2 g3@2 g3@2 ~@6 a3@2 ~@4 a3 ~@3 [d3,d4]@2, a2@3 ~ a2@3 a3@3 ~@4 [a3,e4]@2, ~@4 [g3,c4,e4]@5 ~ c4@12 ~@10, ~@14 f#3@4 f#3@4 [f#3,a3,d4]@5 ~@5, ~@8 d3@3 ~ d3@3 ~]/2", // C D A5 C D
Y: "[c4@2 ~ a2 ~@2 [a2,a3] ~@3 a3 ~@2 f#3 [f#3,a3,d4] [d3,f#3,a3,d4], g3@8 ~@2 [g3,c4]@5 ~ d3@7 ~ d3@6 ~@2, a2@3 ~ a2@2 ~@10, ~@2 a3@4 ~ a3@3 ~ [a3,d4]@3 ~@2, ~@2 c4@3 ~@2 f#3@2 f#3@2 f#3@2 ~@3]/2", // A D C5 D5
Z: "[e3 ~ g3 ~@3 a2 ~@2 f#3 [f#3,a3] ~@3 d3!2, [a2,a3,c4]@3 c4@2 [g3,c4]@2 a3@3 ~ [a3,d4]@3 [a3,d4]@2, ~@2 e3@4 [e3,a3]@9 ~ d3@8 d3@4 ~@4, ~@4 a2@2 ~ c4@9, ~@11 f#3@2 f#3@3]/2", // F#m Am C5 D5 A5
AA: "~@2 a3@2 [g3,c4] ~@5 a3 ~@3 [a2,a3] ~, [a2,e4]@3 ~ a2@3 ~, [g3,c4]@2 ~ [g3,c4]@2 ~ [g3,c4,e4]@2", // C5 A A5 C5 C
AB: "[f#3,d4]@2 a3 ~ [f#3,a3] ~ f#3@2 ~@2 f#3@2 ~@2 e3@2, d3@6 ~@2 d3@7 ~, a3 ~@5 [a3,d4]@6 [f#3,a3,d4]@4", // D F#m D5 D
AC: "[g3,c4]@2 a3 ~ [g3,c4]@2 e3@2 a3@2 [g3,c4] ~ [g3,c4]@2 [a2,a3] ~, a2@7 ~@3 a2@4 ~@2, ~@2 e4@3 ~@3", // C5 A
AD: "[[f#3,a3,c4]@2 d4 ~ [f#3,a3]@2 ~@6 d3@2 ~@4 g3@2 [g3,c4]@2 ~@6 [a2,c4]@2 ~@6 d4@2 ~@4 a3@2 a3@2 [d3,c4] ~, d3@6 [f#3,c4]@8 c4@6 ~@2 c4@6 ~@2 d4@6 ~@2 e4@9 ~, ~@6 a3@4 [a3,d4]@5 ~ a2@7 ~ a2@4 ~@4 d3@10 [d3,g3,d4]@5 ~, ~@8 d3@4 ~@2 [a3,e4]@8 g3@9 ~@9 c4@6 ~@2, ~@13 a3@2 a3@2 a3@2 a3@2 ~@3]/3", // F#dim F#m C5 Am D7 F#dim D5 G5 …
AE: "[f3,a3,c4,e4]@3 ~@7 [f3,a3,c4,e4]@2 g2@2 [f3,a3,e4] ~, ~@2 [f3,a3,c4,e4]@2 g1@2 ~ [g1,c4], ~@3 g2@2 ~@3", // Fmaj7 C5
AF: "[[g3,e4]@2 ~@4 c3 ~@3 [g3,b3,e4] ~ c3@2 [f2,a3,c4,e4]@6 ~@4 f3 ~ a3@2 [c3,f3]@2 f2@2, c2@2 ~@2 c2@2 ~@5 f2@2 ~@3, b3 ~@3 [g3,b3,e4]@5 ~@11 [f3,a3,c4,e4]@4 ~@2 [c4,e4]@4 a3 ~]/2", // C Em Fmaj7 F5 Em Fmaj7 C
AG: "[[g3,b3,e4] ~@5 c3@2 c2@2 [g3,b3,e4] ~ c2@2 ~@6 [a3,c4]@2 ~@2 a3@2 c4 ~ e4@2 f2@2, c2@4 [g3,b3,e4]@4 ~@2 c3@2 ~@2 f2@7 ~ f2@4 ~@6, ~@14 [a3,c4,e4]@5 ~ e4@6 ~@2 a3 ~ a3 ~, ~@8 c3@3 ~@2 c3@2 ~]/2", // Em Am Em Am
AH: "[g3,b3,e4]@4 ~@2 [c3,g3,b3,e4] ~ [c2,c3,g3,b3,e4]@5 ~ [c2,g3,b3,e4] ~, c2@3 ~@5", // Em Cmaj7
AI: "[c2,g3,b3,e4] ~ [c2,g3,b3,e4] ~@3 [c1,c2,g3,b3,e4]@10", // Cmaj7
})).s("gm_piano").gain(0.25)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A@2 B@2 C@2 A@2 D E F G H I J K L M N O A@2 B@2 C@2 A@2 D E F G H I J K L M N P Q@2 R@2 S T U V W@2 X@4 Y@2 X@8 A@2
B@2 C@2 A@2 D E F G H I J K L M N P Q@2 R@2 S T U Z AA@2 AB@2 AC AD ~
>`.pickRestart({
A: "[a1@8 ~@2 c2@2 a1 ~ d2@15 ~@3]/2", B: "[a1@8 ~@2 c2@2 a1 ~ d2@14 ~@4]/2", C: "[a1@8 ~@2 c2@2 a1 ~ d2@16 ~@2]/2",
D: "a1@4 ~@2 a1 ~ a1 ~ a1@2 ~@2 g1@2", E: "g1 ~ g1@2 ~@2 g1 ~ g1@2 a#1@2 c2@2 e2 ~", F: "f2@4 ~@2 f2 ~ f2@4 ~@2 f2 ~",
G: "f2 ~ f2 ~@3 f2@8 ~@2", H: "a#1 ~ a#1@2 ~@2 a#1 ~ a#1!3 ~ c2@2 e2 ~", I: "f2 ~ f2@2 ~@2 f2@3 ~ f1@2 ~@2 f1@2",
J: "a#1 ~ a#1@3 ~ a#1@3 a#1!2 ~ c2@2 e2 ~", K: "f2 ~ f2@2 ~@2 f2 ~ f2@2 f1@3 ~ f1 ~",
L: "a#1 ~ a#1@3 ~ a#1 ~ a#1!3 ~ c2@2 e2 ~", M: "f2@2 f1@3 ~ f1@3 ~ f2 ~ g2@2 f2 ~",
N: "d2 ~ d2@3 ~ d2@2 f2@3 ~ f2@3 ~", O: "e2@4 ~@2 c0 ~ e2@8", P: "g1 ~ g1@3 ~ g1 ~ g1@7 ~",
Q: "[c2@4 ~@2 c2 ~ c2@2 d2 ~ e2@2 f2@6 ~@2 a1!2 a#1@2 c2 ~ e2@2 f2 ~]/2",
R: "[a#2@8 ~@2 f2@2 c3 ~ a2@7 ~ e2 ~ a2@2 e2 ~ a1@3 ~]/2", S: "g1 ~ g1@3 ~ g1@2 a1 ~ a#1@2 c2@2 e2@2",
T: "f2@4 ~@2 c2@2 a#1 ~ c2 ~ e2@2 f2@2", U: "d2@4 ~@2 d2 ~ d2 ~ d2@3 ~ d2 ~", V: "e2@4 ~@2 e2 ~ e1@5 ~@3",
W: "[a1@8 ~@2 e2 ~ a2@2 d2@7 ~@3 e2@2 a1 ~ d2@2 e2 ~]/2", X: "[a1@8 ~@2 e2@2 a2 ~ d2@7 ~ e3@4 a2 ~ d2@2 e2 ~]/2",
Y: "[a1@8 ~@2 e2@2 a2 ~ d2@6 ~@2 e3@4 a2 ~ d2@2 e2 ~]/2", Z: "g1 ~ g1@3 ~ g1 ~ g1 ~ g1 ~ g1@2 b1 ~",
AA: "[c2@4 ~@2 c2 ~ c2@2 d2 ~ e2 ~ f2@6 ~@2 f1 ~ f1@4 ~@2 f1 ~]/2",
AB: "[c2@4 ~@2 c2 ~ c2@2 d2 ~ e2 ~ f2@7 ~ f1 ~ f1 ~ f1@3 ~ f1 ~]/2", AC: "c2@4 ~@2 c2 ~ c2@4 ~@2 c2 ~",
AD: "c2 ~ c2 ~@3 c2@10",
})).s("gm_electric_bass_finger").gain(0.25).pan(0.6)
// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
A@2 B@2 C@2 D@2 E F G H I@4 J@2 K L A@2 M@2 C@2 D@2 E F G H I@4 J@2 K ~ N@4 O@4 P@2 Q@2 R S T ~ U V W X Y Z AA AB AC
AD M@2 C@2 D@2 E F G H I@4 J@2 K ~ N@4 AE@3 ~ AF@2 AG@2 AH AI ~
>`.pickRestart({
A: "[[a4,c5,e5]@9 ~ [e5,g5] ~@3 [d5,f#5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~]/2", // Am Em D
B: "[~@4 [a4,c5,e5]@4 ~@2 [a4,c5,e5] ~@3 [a4,d5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~, ~@7 f#5 ~@8]/2", // Am D5
C: "[[c5,e5] ~@3 [a4,c5,e5]@5 ~ [a4,c5,e5] ~@3 [a4,d5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~]/2", // C Am D5
D: "[[g4,c5] ~@3 [g4,c5]@5 ~ [g4,c5] ~@3 [a4,d5]@6 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~]/2", // C5 D5
E: "[g4,c5] ~@3 [g4,c5]@5 ~ [g4,c5] ~@3 c5 ~", F: "[f4,a#4]@5 ~ a#4@4 f4@2 a#4@2 d5 ~, ~@3 d5@3 ~@2",
G: "[a4,e5]@4 ~@2 [a4,e5] ~ [a4,e5]@4 ~@2 [a4,e5] ~", H: "[a4,e5] ~ [a4,e5] ~@3 [a4,e5]@8 ~@2",
I: "[~@6 f6 ~@4 c5@2 ~ c5 e5 ~@6 f6 a6@2 ~ c5 ~@2 c5@2 a4, a#3@7 a6@8 ~@6 d6@3 ~@3 e5@5, ~@6 f4@25 ~ a#3@15 ~@17, ~@4 a5@13 ~@3 a5@12, ~@10 d6@6 a4@2 e5@8 a4@5 ~@3 f4@13 ~@3 f4@6 ~@8]/4",
J: "[~ a4 f5 ~@3 f6 ~@8 e5, d5@5 ~ a#3@8 ~@2 f4@15 ~, ~@4 a5@6 c6@3 a5@2 ~, ~@4 f4@3 a6@2 ~@2 e5@3 ~@2, ~@5 d6@4 c5@3 ~@2 c5@2]/2",
K: "~@2 b4 c5@2 a4 ~ a4, d4, f5@3 ~, ~ a4@3 ~@2 c5@2", L: "b4@4 ~@6 e4@5 ~, e5, e4 ~, ~@2 a4@3 ~@3, ~@3 b4@5",
M: "[~@4 [a4,c5,e5]@4 ~@2 [a4,c5,e5] ~@3 [a4,d5]@7 ~ e5 g5 a5 ~ a5 ~ a5 g5 e5 ~, ~@7 f#5 ~@8]/2", // Am D5
N: "[~@5 g4@2 ~@15 d5 ~@8 a4, g4@9 ~@5 a4@11 ~ a4@6 ~@2 a#4@13 ~ c5@6 c5@10, ~@2 c5@13 ~@3 c5@8 ~@2 c5@6 ~@2 d5@8 ~@2 e5@8 ~@10, ~@4 e5@16 ~@2 e4@9 ~ f4@10 f4@5 ~@3 e4@8 e4@6, ~@26 a4@5 ~]/4",
O: "[d5@6 d5@2 ~@4 c5@2 ~@20 e5@2 ~@8 e5@2 ~@8 e4@9 ~, a#4@4 e5@3 f5@8 a4@3 ~ c5@5 e4@3 ~@5, ~@10 g4@5 ~@3 a4@10 e5@4 f5@4 ~@10 e5@17 ~, ~@10 c5@3 c5@3 ~@2 d5@3 d5@3 ~ a4@6 ~, ~@22 a5@10 ~@20 b4@11 ~]/4",
P: "[[a3,c4]@5 ~ a3 a3@6 ~@2 e4, g3 ~@9 g3@4 c4@18, ~@13 a3@3, ~@7 d4]/2", // Am
Q: "[~@6 c4 d4@6 ~@2 g4, c4@6 ~@7 d4@3, ~@2 a3@13 ~@13 e4@4, ~@5 [e4,a4]@2 a4@9]/2", // A5
R: "~@7 a4, c4, a4@7 ~, ~@3 [e4,c5]@5, ~@3 g4", S: "~@3 e4, [d4,d5], ~@3 f#4@5, ~@5 a4@3", T: "[e4,c5]@15 ~",
U: "a5 g5 e5 ~ c6@2 ~@10", V: "~@2 [d6,d#6,a6] ~ d6 d#6 c6 d6 b5 c6 a5 ~ a5 b5 c6 d6",
W: "c6 ~ c6 a5 ~ a5 b5 ~ b5 g5 ~ g5 a5 ~ a5 e5", X: "d#5 d5 c5 a4 g4 e4 g4 a4 ~@8",
Y: "~@2 d5 e5 f#5 g5 a5 b5 c6 d6 e6 f#6 g6 ~ g6 e6", Z: "~ e6 f#6 ~ f#6 d6@4 ~@4 a5 d5 ~",
AA: "f#5 g5 a5 b5 c6 ~ c6 b5@7 a5@2", AB: "~@2 [b5,d6] f#6 a6@5 ~ g6 e6 [d6,d#6] d6 c6 a5", AC: "g5@2 a5@11 ~@3",
AD: "[d5,f#5]@4 ~@2 e5 g5 a5 ~ a5 ~ a5 g5 e5 ~", // D
AE: "[d5@3 d5 ~@2 c5 ~@10 e5 ~@4 e5!2, a#4@4 e5@3 f5@8 a4@3 ~ c5@5, ~@10 g4@5 ~@3 a4@10 e5@4 f5@4 ~@12, ~@10 c5@3 c5@3 ~@2 d5@3 d5@3, ~@11 a5@5 ~@8]/3",
AF: "[g4@9 ~ g4@2 e5@2 a4@10 ~@2 c5@2 d5@2 a4@2]/2", AG: "[e5@8 ~@2 g4@2 e5@2 a4@11 ~ c5@2 e5@2 a4 ~]/2",
AH: "e5@4 ~@2 e5 ~ e5@4 ~@2 e5 ~", AI: "e5 ~ e5 ~@3 e5@10",
})).s("gm_epiano2").gain(0.22).pan(0.4)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
A@2 B@2 C@2 D@2 E F G H I J K L M N O P Q@2 R S T@2 U@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ
AR AS AT AU AV AW AX AY AZ BA BB BC BD BE Q@2 R S T@2 U@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AG BF@2
BG@2 BH BI ~
>`.pickRestart({
A: "[c4@10 g3 ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, g3@9 ~@23]/2", // D5
B: "[[g3,c4]@8 ~@2 [a3,c4] ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~]/2", // C5 Am D5
C: "[e3 ~ g3 ~ [g3,c4] ~@3 g3 ~ [g3,c4] ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~]/2", // C5 D5
D: "[~@2 g3 ~ [g3,c4]@4 a3 ~ [g3,c4] ~@3 [a3,d4]@6 ~@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~, ~@4 a3 ~@27]/2", // C5 D5
E: "~@2 g3 ~ c4@4 g3 ~ [g3,c4] ~@3 g3@2, ~@4 g3 ~@11", F: "~@2 g3 ~ d4@4 g3 ~ g3@2 ~@2 g3 ~, ~@4 g3 ~@11",
G: "a3@4 ~@2 [a3,e4] ~ [a3,e4]@4 ~@2 a3 ~", H: "[a3,e4] ~ [a3,e4] ~@3 [a3,e4]@3 ~ a3 ~ c4@2 d4 ~",
I: "[a3,d4] ~ [a3,d4] ~ [a3,d4]@4 ~@2 [a3,d4] ~ [a3,d4]@2 f3 ~, ~@2 a#3 ~@5", // D5
J: "[g3,a3,c4] ~ [a3,c4] ~ [a3,c4]@4 ~@2 [a3,c4] ~ [g3,a3,c4]@2 g3 ~, ~@4 g3 ~@11", // Am7 Am Am7
K: "[f3,a3,d4] ~ a3 ~ [a#3,d4]@4 f3 ~ [a3,d4] ~ [a#3,d4]@3 ~, ~@4 a3@2 ~@6 a3 ~@3", // Dm A# D5 A#
L: "[a3,c4]@2 [a#3,d4] ~@3 e4@4 [a#3,d4] ~ [a3,c4]@2 a3 ~, ~@6 c4 ~@9", // Am A# Am
M: "[a3,d4] ~ d4 ~ [a3,d4]@2 f3 ~ f3 ~ [f3,a3,d4] ~ [f3,a3,d4]@2 ~@2, ~@4 f3 ~@11", // D5 Dm
N: "[g3,c4] ~@3 [g3,a3,c4] ~@5 [g3,a3] ~ [g3,a3,c4]@2 g3 ~", // C5 Am7 Gsus2 Am7
O: "[a3,c4,f4] ~@3 [a3,c4,f4] ~ a3 ~ g3 a3 c4 ~ c4@2 a3 ~", P: "~@2 a4@3 ~ [g4,a4] ~ [d4,d#4] d4 ~@2 a3@2 g3 ~",
Q: "[a3 ~ a3 ~ g3@2 e3 ~ e3 ~ [a3,c4] ~@7 a3 ~@3 e3 g3 ~@2 a3 ~ a3 g3 e3 ~, ~@2 c4@2 ~@3 d4@3 ~@6, ~@4 e3 ~@27]/2", // Am
R: "~@2 e4@2 d4@2 c4 ~ g4 ~ f#4@5 ~", S: "a3 ~ a3 ~ [a3,d4]@2 e3 g3 a3 ~ a3 ~ a3 g3 e3 ~",
T: "[g3 ~ g3 ~ [g3,c4]@3 ~ [g3,c4]@2 a3 ~@3 [a3,d4]@4 ~@2 a3 ~ e3 ~@3 a3 ~ a3 g3 e3 ~]/2", // C5 D5
U: "[g3 ~ g3 ~ [g3,c4]@2 a3 ~ [g3,c4]@2 ~@2 c4 ~ d4@6 ~@2 e3 g3 ~@2 a3 ~ a3 g3 ~@2, ~@14 a3@3 ~@15]/2", // C5
V: "g3 ~ g3 ~ [g3,c4]@2 ~@2 [g3,c4]@2 a3 ~ [g3,c4] ~ g3@2", W: "~@2 g3 ~ [g3,d4]@3 ~ g3 ~ g3 ~ g3@2 ~@2",
X: "[d4,e4] ~@5 [a3,e4] ~ [a3,e4]@4 ~@2 e4 ~, a3 ~@3", Y: "[a3,e4] ~ [a3,e4] ~@3 [a3,e4]@2 ~@2 a3 ~ c4@2 d4 ~",
Z: "~@4 [a3,d4] ~ a3 ~ [a3,d4] ~@3 [a3,d4] ~ a3 ~", AA: "~@2 g3 ~ [g3,c4]@2 ~@4 c4 ~ [g3,c4]@2 ~@2",
AB: "[a3,d4] ~ [a3,d4] ~ [a3,d4]@2 a3 ~ a3 ~ [a3,d4] ~ [a3,d4]@2 a3 ~", // D5
AC: "[a3,c4] ~ [a3,d4] ~@3 [a3,c4] ~@3 d4 ~ [a3,d4]@2 a3 ~", // Am D5 Am D5
AD: "[a3,d4] ~ [a3,d4] ~ [a3,d4]@2 ~@2 a3 ~ a3 ~ [a3,d4]@2 ~@2", // D5
AE: "[g3,c4] ~ g3 ~ [a3,c4]@2 ~@2 g3 ~ g3 ~ c4@2 g3 ~, ~@12 g3 ~@3", // C5 Am
AF: "[a3,f4] ~ [a3,f4] ~ [a3,f4]@2 a3 ~ g3 ~@3 c4@2 a3 ~", AG: "~@2 g3 ~ g3 ~@3 g3 ~ g3 ~ g3 ~ g3 ~",
AH: "c4 ~ [g3,c4] ~ [g3,c4]@2 ~@4 [a3,e4] ~ [a3,e4]@2 ~@2", AI: "[a3,c4]@2 ~@4 [a3,c4] ~@3 a3 ~ [a3,c4]@2 f3 ~",
AJ: "[a3,d4] ~ a3 ~ [a3,d4]@2 f3 ~@3 [a3,d4]@2 f3 ~ [a3,c4]@2", AK: "~@2 a3 ~ [a3,c4]@2 ~@2 [c4,d4] c4 ~@2 c4@2 a3 ~",
AL: "[g3,a#3] ~ g3 ~ [g3,a#3,d4] ~@3 g3 ~ [g3,c4] ~@3 [g3,c4] ~", // Gm C5
AM: "[a3,c4] ~ [a3,c4] ~@3 [a3,c4]@2 g3 ~ [a3,c4] ~@3 [a3,c4]@2", // Am
AN: "a3 ~@3 [a3,d4]@2 a3 ~ a3 ~ d4@2 a3 ~ a3 ~, ~@10 a3 ~@5", // D5
AO: "[b3,e4] ~ [b3,e4] ~@3 [b3,e4] ~ a4 ~ g4 e4 [d4,d#4] [c4,d4] a3 g3", // E5 D#maj7 Csus2
AP: "~@2 a3 ~ [g3,c4]@2 ~@2 a3 ~ [g3,c4]@2 ~@2 a3@2", AQ: "~@2 a3 ~ [f#3,d4]@2 ~@2 a3 ~ [f#3,d4]@2 ~@2 a3 ~",
AR: "[g3,c4]@2 a3 ~ a3 ~ g3 ~ a3@2 ~@2 [g3,c4]@2 a3 ~", AS: "a3 ~ [f#3,d4]@2 a3 ~ a3 ~ a3 ~ [f#3,d4] ~@3 a3 ~",
AT: "[g3,c4]@2 ~@2 a3 ~ a3@2 ~@4 [g3,c4]@2 ~@2", AU: "a3 ~@3 [f#3,d4]@2 ~@2 a3 ~ a3 ~ [f#3,d4]@2 a3 ~",
AV: "a3@2 ~@2 [g3,c4]@2 a3 ~ a3 ~ [g3,c4]@2 a3 ~ [f#3,d4]@2", AW: "~@2 a3 ~ [f#3,d4]@2 ~@2 a3 ~ a3@2 [g3,c4]@2 ~@2",
AX: "a3 ~ g3 ~ [g3,c4]@2 ~@2 g3 ~@3 g3@2 a3 ~", AY: "a3 ~ f#3 ~ [f#3,d4]@2 ~@2 a3 ~ [f#3,d4] ~ a3 ~ a3@2",
AZ: "[g3,c4] ~ a3 ~ a3@2 ~@2 [g3,c4]@2 ~@2 a3@2 [g3,c4] ~", BA: "a3 ~ a3 ~ [f#3,d4]@2 a3 ~ a3 ~ [f#3,d4]@2 ~@2 a3@2",
BB: "[g3,c4]@2 ~@2 a3 ~ a3@2 ~@2 a3 ~ [g3,c4]@2 ~@2", BC: "a3 ~ a3@2 ~@4 a3@2 ~@2 a3@2 ~@2",
BD: "a3@3 ~ [g3,c4]@2 ~@2 a3@2 ~@2 a3@2 c4 ~", BE: "a3 ~ [f#3,d4] ~ a3 ~@3 a3 ~ a3 ~ [f#3,d4]@2 a3 ~",
BF: "[~@4 [g4,b4,e5]@2 ~ [g4,b4,e5] ~@2 [g4,b4,e5] ~@3 [f4,a4,c5,e5]@6 ~@12]/2", // Em Fmaj7
BG: "[~@4 [g4,b4,e5]@2 ~ [g4,b4,e5] ~@2 [g4,b4,e5] ~@3 [f4,a4,e5]@6 ~@12]/2", // Em Fmaj7
BH: "[g4,b4,e5]@4 ~@2 [g4,b4,e5] ~ [g4,b4,e5]@4 ~@2 e5 ~", BI: "[g4,b4,e5] ~ [b4,e5] ~@3 [g4,b4,e5]@10",
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.9)
// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
~@8 A@2 ~@3 B C D E F G F H I J ~@2 K L M N ~@3 O P ~@2 Q R S T U V W X A ~ G ~ Y@2 ~ Z AA AB AC AD X AE AF Z AG AH AI
AJ H I J ~@2 K L M N ~@3 O P ~@2 Q R S T U V W X A ~ G T ~@7
>`.pickRestart({
A: "~@6 g3 ~@9", B: "~@6 g3 ~ g3 ~@7", C: "~@6 f3 ~@9", D: "~@7 c4@2 ~@7", E: "~@2 f3 ~@13", F: "~@10 c4 ~@5",
G: "~@2 a3 ~@13", H: "~@7 a3", I: "~@8 a3 ~@7", J: "g3 ~@15", K: "~@7 g3 a3 ~@7", L: "~@10 a3 ~ g3 ~@3",
M: "~@2 g3 ~@5 a3 ~@5 e3 ~", N: "~@6 a3 ~@9", O: "~@2 [a3,d4] ~@13", P: "a3 ~@5 a3 ~@7 g3 ~", Q: "~@6 a3 ~@7 a3 ~",
R: "~@2 c4 ~@3 g3 ~@9", S: "~@9 a3 c4 ~@5", T: "~@4 e4 ~@11", U: "g3 ~@5 g3 ~ a3 ~@5 a3 ~", V: "~@2 a3 ~@5 f3 ~@7",
W: "~@2 d4 ~@5 f3 ~@7", X: "~@6 a3 ~@3 a3 ~@5", Y: "~@6 a3 ~@5 a3 ~@3", Z: "~@12 a3 ~@3", AA: "~@2 a3 ~@7 g3 ~@5",
AB: "~@2 a3 ~@3 a3 ~@9", AC: "~@2 g3 ~@13", AD: "a3 ~@5 a3 ~@7 a3 ~", AE: "~@2 d4 ~@3 a3 ~@9",
AF: "~@6 g3 ~@3 a3 ~@5", AG: "~@2 a3 ~@5 g3 ~@5 a3 ~", AH: "~@4 d4 ~ a3 ~@3 d4 ~@3 [f#3,d4] ~",
AI: "~@6 a3 ~@3 g3 ~@5", AJ: "~@6 d4 ~@9",
})).s("gm_electric_guitar_clean").gain(0.1).pan(0.9)
// other · piano · "A.PIANO 2"
const piano_2 = note("<~@40 A@4 B@2 C@2 D ~@35 A@4 B@2 C@2 ~@7>".pickRestart({
A: "[g4@9 ~ f4@2 e4 ~ f4@4 e4@2 d4@2 c4@4 d4@2 e4 ~ e4@4 d4@2 c4 ~ d4@4 e4@4 c4@4 a3@10 ~@4]/4",
B: "[c4@2 d4@2 e4@2 f4@2 e4@2 f4@2 g4 ~ a4@4 e4@2 c4 ~ e4@4 c4@4 ~@2]/2",
C: "[f4@2 e4@2 d4 ~ c4@4 d4@2 e4 ~ e4@9 ~ a4 ~ g4 e4 [d4,d#4] c4 a3 g3]/2", D: "a3 ~@3",
})).s("gm_piano").gain(0.24).pan(0.2)
// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@39 A@5 B@2 C@2 D E F@2 G H I@3 ~@27 J@4 B@2 C@2 ~ K L M N O ~>".pickRestart({
A: "[~@10 a4@2 e4 ~ g4@10 ~@2 f4@2 e4 ~ f4@4 e4@2 d4 ~ c4@4 d4@2 e4 ~ e4@4 d4@2 c4 ~ d4@4 e4@3 ~ c4@4 a3@12 ~@2]/5",
B: "[c4@2 d4@2 e4@2 f4 ~ e4@2 f4@2 g4 ~ a4@4 e4@2 c4 ~ e4@4 c4@4 ~@2]/2",
C: "[f4@2 e4 ~ d4@2 c4@4 d4@2 e4 ~ e4@8 ~@2 a4 ~ g4 e4 [d4,d#4] c4 a3 ~]/2", D: "a3@8 a3 ~ b3@2 ~ c4@3",
E: "~@2 b3 ~ e4 ~ d4@10, ~ a3@2 ~@13", F: "[~@5 d4 e4 ~ f#4 ~ f#4@10 ~ g4@3 ~ e4@2 ~ d4 e4 ~@2]/2",
G: "c4 ~ d4@2 ~ e4@11", H: "~@5 a3 ~ b3 ~ d4 ~ b3 ~ c4 ~ b3",
I: "[d4@2 ~ b3 ~ c4 b3 ~ d4 ~ b3@2 ~@3 f#4@5 e4@2 ~ d4@2 c4 b3@2 a3@2 ~ a3@16 ~, ~@15 g3 ~@8]/3",
J: "[g4@8 ~@2 f4@2 e4 ~ f4@4 e4@2 d4 ~ c4@4 d4@2 e4 ~ e4@4 d4@2 c4 ~ d4@4 e4@3 ~ c4@4 a3@12 ~@2]/4",
K: "~@8 a3@2 ~@2 e4@2 a3 ~", L: "c4@7 ~@9", M: "~@4 a3 ~ e4 ~", N: "[b3,e4] ~ [b3,e4] ~",
O: "[b3,e4] ~ e4 ~@3 [b3,e4]@10", // E5
})).s("gm_electric_guitar_jazz").gain(0.26).pan(0.8)
// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@45 A ~ B ~@3 C ~@37 A ~ B ~ D ~ E F G ~>".pickRestart({
A: "~@14 a3 ~", B: "~@15 g3", C: "~@15 c4", D: "~@10 c4 ~@5", E: "~@5 a3 ~@4 c4 ~@3 a3 ~",
F: "~@6 [b3,e4] ~@7 [b3,e4] ~", G: "~@2 b3 ~@13",
})).s("gm_electric_guitar_jazz").gain(0.15).pan(0.8)
// other · soprano sax · "SOPRAN SAX"
const soprano_sax = note("<~@56 A@2 B C D E F@2 G@2 H@3 ~@30>".pickRestart({
A: "[b4@14 ~ a4@2 ~ d5@9 ~ e5 f5 e5 d5]/2", B: "~ g5@2 e5@2 ~ e5 d5@2 ~ c5@2 b4@2 c5@2",
C: "~ a4@2 ~ e5@3 c5@2 a4@2 g4 e4@2 g4 a4", D: "~ a4@7", E: "~@3 e5@2 ~ g5@2 e5@2 a4@2 ~ d5 ~ c5",
F: "[a4@2 g4 ~ a4@2 g4 e4@2 d4 ~ e4@14 ~ g4@2 a4@2 b4@2]/2", G: "[~@3 b4@2 ~ b4@22 d5@2 c5@2]/2",
// … 143 more lines
More by Carole King
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.