0:00/0:00
// Intro You Rock My World — Jackson Michael
// 97 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 123 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(97/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 · electric bass finger
const bass = note(`<
A B C D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E F E D E D E D E D E D E D E D E D E
D E D E D E D E D E D E D E G H G I G H J K L E D E D E D E D E D M N E D E ~@8 O E D E D E D E D E D M P E D Q ~@2
>`.pickRestart({
A: "e1 ~ e1 ~ e1 ~ e1 ~", B: "e1@4 ~@4 c2 ~@2 c2 b1@4 a1@5 ~@11", C: "a1@3 ~@3 d1@2 e1@2 ~@6",
D: "e1@4 ~@4 c2 ~@2 c2 b1@4 a1@4 ~@12", E: "a1 ~@2 d1 e1 ~@3", F: "e1 ~@7", G: "c2@5 ~@2 c2@2 ~@7 a1@3 ~@5 d1@5 ~@3",
H: "e1@5 ~@2 e1@2 ~@7 e1@3 ~@5 b1@4 ~@4", I: "e1@5 ~@2 e1@2 ~@3 f1@14 ~@6", J: "c2@5 ~@2 c2@6 ~@3 c2@6 ~@2 c2@7 ~",
K: "d2 ~@3 d2@2 ~@2 d2@2 ~@2 d2@2 ~@2 d2@4 ~@12", L: "e1@4 ~@3 e1 c2@4 b1@4 a1@4 ~@12", M: "a1 ~@2 d1 ~@4",
N: "~@8 c2 ~@2 c2 b1@4 a1@4 ~@12", O: "e1@4 ~@3 e1 c2@4 b1@3 ~ a1@4 ~@12", P: "~@7 e1 c2@4 b1@4 a1@4 ~@12",
Q: "a1 ~@7",
})).s("gm_electric_bass_finger").gain(0.68)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@8 A@7 B@3 ~@14 C@7 D@2 ~@15 E@7 F@8 G@2 H I H J K L M ~ N@6 O@8 G@2 ~@15 P@8 ~@3
>`.pickRestart({
A: "[~@16 [b3,d4,g4]@32 [g3,a3,c4,e4]@32 [b3,d4,g4]@32 [g3,a3,c4,e4]@32 [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@16]/7", // G Am7 G Am7 G Am7 G
B: "[~@16 [g3,a3,c4,e4]@31 ~ [e2,b3,d4,e4,g4]@23 ~@25]/3", // Am7 Em7
C: "[~ [b3,d4,g4]@2 [g3,a3,c4,e4]@2 [b3,d4,g4]@2 [g3,a3,c4,e4]@2 [b3,d4,g4]@2 [g3,a3,c4,e4]@2 [b3,d4,g4]]/7", // G Am7 G Am7 G Am7 G
D: "[~ [g3,a3,c4,e4]@2 [e2,b3,d4,e4,g4]]/2", // Am7 Em7
E: "[~@16 [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@16]/7", // G Am7 G Am7 G Am7 G
F: "[~@16 [g3,a3,c4,e4]@32 [e2,b3,d4,e4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@16]/8", // Am7 Em7 Am7 G Am7 G Am7 G
G: "[~@16 [g3,a3,c4,e4]@31 ~ [e2,b3,d4,e4,g4]@16]/2", H: "[d4,g4,b4]@23 ~ [d4,f#4,a4]@7 ~",
I: "[d4,f#4,a4]@11 ~ [d4,e4,g4,b4]@19 ~", J: "[d4,f#4,a4]@11 ~ [g3,c4,e4]@19 ~", K: "[d4,g4,b4]@3 [d4,f#4,a4]",
L: "[d4,f#4,a4]@3 [d4,e4,g4,b4]@5", M: "[a#3,d4,f4]",
N: "[[b3,d4,g4] [g3,a3,c4,e4]@2 [b3,d4,g4]@2 [g3,a3,c4,e4]@2 [b3,d4,g4]@2 [g3,a3,c4,e4]@2 [b3,d4,g4]]/6", // G Am7 G Am7 G Am7 G
O: "[~@16 [g3,a3,c4,e4]@31 ~ [e2,b3,d4,e4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@32 [b3,d4,g4]@16]/8", // Am7 Em7 Am7 G Am7 G Am7 G
P: "[~@16 [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@31 ~ [g3,a3,c4,e4]@31 ~ [b3,d4,g4]@32 [g3,a3,c4,e4]@16]/8", // G Am7 G Am7 G Am7 G Am7
})).s("gm_string_ensemble_2").gain(0.15)
// other · string ensemble 1
const string_ensemble_1 = note(`<
~@8 A B C D E F G H I ~@15 J K L D E F M H N ~@15 O K P D Q F R H S@2 C D T F U H V W X W Y W Z AA AB K AC D AD F AE H
AF K P D AG AH AI@2 AJ AK ~@10 AL AM AN AO AP@2 AQ D AR AS AT H AU ~@2
>`.pickRestart({
A: "~@8 [d4,d5] [b3,b4] [d4,d5] [e4,e5] [g4,g5] [f#4,f#5] [d4,d5] [b3,b4]", // D B D E G F# D B
B: "[e4,e5]@2 ~@14 g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@8, ~@16 g5 ~@15", // E A
C: "[g4,g5] ~ a4@2 ~@2 a4@2 ~@8 e4@2 ~@6 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, ~@2 a5 ~@3 a5 ~@9 e5 ~@15", // G A B G
D: "[e4,e5] ~@15 [g4,g5]@2 [a4,a5] ~@3 a4@2 ~@8, ~@22 a5 ~@9", // E G A
E: "g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@4 [b4,b5]@2 [g4,g5] ~ [e4,e5] ~@3 [e4,e5]@2 [f#4,f#5]@2 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, g5 ~@31", // A B G E F# G A B …
F: "[e4,e5] ~@15 [g4,g5]@2 [a4,a5] ~@3 [a4,a5]@2 ~@8", // E G A
G: "[g4,g5] a4 ~ [a4,a5] ~@4 [e4,e5] ~@3 [g4,g5] [a4,a5] [b4,b5] [g4,g5], ~@2 a5 ~@29", // G A E G A B G
H: "[e4,e5]@3 ~@13 [g4,g5]@2 [a4,a5]@2 ~@2 [a4,a5] ~@9", // E G A
I: "[g4,g5] [a4,a5] ~ a4 ~ [d5,d6] [b4,b5] [a4,a5] [g4,e5,g5] ~@3 [g4,g5] [a4,a5] [b4,b5] [g4,g5], ~@6 a5 ~@25", // G A D B A C G A …
J: "~@8 e4 ~@3 [g4,g5] [a4,a5] [b4,b5] [g4,g5], ~@16 e5 ~@15", // G A B G
K: "[e4,e5] ~@15 g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@8, ~@16 g5 ~@15", // E A
L: "[g4,g5] ~ a4@2 ~@2 a4@2 ~@8 e4@2 ~@6 [g4,g5]@2 a4@2 b5@2 [g4,g5] ~, ~@2 a5 ~@3 a5 ~@9 e5 ~@9 a5 ~ b4 ~@3", // G
M: "[g4,g5] a4 ~ [a4,a5] ~@4 e4 ~@3 [g4,g5] [a4,a5] [b4,b5] [g4,g5], ~@2 a5 ~@13 e5 ~@15", // G A G A B G
N: "[g4,g5]@2 [a4,a5]@2 ~@2 a4@2 ~@2 [d5,d6]@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@3 ~@5 [g4,g5]@2 [a4,a5] ~ [b4,b5]@2 [g4,g5] ~, ~@6 a5 ~@25", // G A D B A G A B …
O: "~@16 [e4,e5]@3 ~@5 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2", // E G A B G
P: "[g4,g5] ~ a4@2 ~@2 a4@2 ~@8 [e4,e5]@3 ~@5 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, ~@2 a5 ~@3 a5 ~@25", // G E G A B G
Q: "g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@4 [b4,b5]@2 [g4,g5] ~ [e4,e5]@2 ~@2 [e4,e5]@2 [f#4,f#5]@2 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, g5 ~@31", // A B G E F# G A B …
R: "[g4,g5] a4 ~ [a4,a5] ~@4 [e4,e5] ~@3 [g4,g5] a4 [b4,b5] [g4,g5], ~@2 a5 ~@23 a5 ~@5", // G A E G B G
S: "[[g4,g5]@2 [a4,a5]@2 ~@2 a4@2 ~@2 [d5,d6]@2 [b4,b5]@2 [a4,a5]@2 [g4,e5,g5] ~@7 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 ~@2 [e4,e5]@2 ~@14 g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@8, ~@6 a5 ~@24 [g4,g5]@2 ~@15 g5 ~@15]/2", // G A D B A C G A …
T: "g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@4 [b4,b5]@2 [g4,g5]@2 [e4,e5]@2 ~@2 [e4,e5] ~ [f#4,f#5] ~ [g4,g5]@2 [a4,a5]@2 [b4,b5] ~ [g4,g5] ~, g5 ~@31", // A B G E F# G A B …
U: "[g4,g5]@2 ~ a4@2 ~ [a4,a5]@2 ~@8 [e4,e5]@2 ~@6 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, ~@3 a5 ~@28", // G A E G A B G
V: "[g4,g5] [a4,a5] ~ a4 ~ [d5,d6] [b4,b5] [a4,a5] [e4,e5]@8, ~@6 a5 ~@25", W: "[d4,d6]@2 [e4,e6] [f#4,f#6]",
X: "[d4,d6]@3 [b3,b5]@3 [e4,e6]@2", Y: "[d4,d6]@3 [c4,c6]@5", Z: "[d4,d6]@3 [g4,g6]@3 [a4,a6]@2",
AA: "[a#4,a#6]@2 [g4,g6] [a#4,a#6]", // A# G A#
AB: "[a4,a6]@18 [b3,b4] ~ [d4,d5] ~ [e4,e5] ~ [g4,g5] ~ [f#4,f#5] ~ [d4,d5]@2 [b3,b4] ~", // A B D E G F# D B
AC: "[g4,g5] ~ [g5,a5] ~@3 a4@2 ~@8 [e4,e5]@3 ~@5 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, ~@2 a4@2 ~@2 a5 ~@25", // G Gsus2 E G A B G
AD: "g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@4 [b4,b5]@2 [g4,g5] ~ [e4,e5] ~@3 [e4,e5] ~ [f#4,f#5] ~ [g4,g5]@2 [a4,a5]@2 [b4,b5] ~ [g4,g5] ~, g5 ~@31", // A B G E F# G A B …
AE: "[g4,g5]@2 a4@2 ~@2 [a4,a5]@2 ~@8 [e4,e5]@3 ~@5 [g4,g5]@2 [a4,a5] ~ [b4,b5]@2 [g4,g5]@2, ~@2 a5 ~@29", // G A E G A B G
AF: "[g4,g5]@2 [a4,a5]@2 ~@2 a4@2 ~@2 [d5,d6]@2 [b4,b5]@2 [a4,a5] ~ [g4,e5,g5]@3 ~@5 [g4,g5]@2 [a4,a5] ~ [b4,b5]@2 [g4,g5] ~, ~@6 a5 ~@25", // G A D B A C G A …
AG: "g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@4 [b4,b5]@2 [g4,g5]@2 [e4,e5]@2 ~@2 [e4,e5]@2 [f#4,f#5]@2 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, g5 ~@31", // A B G E F# G A B …
AH: "[e4,e5]@2 ~@14 [g4,g5]@2 [a4,a5] ~@3 [a4,a5]@2 ~@8", // E G A
AI: "[[g4,g5]@2 a4@2 ~@2 [a4,a5]@2 ~@8 [e4,e5]@2 ~@6 [g4,g5]@2 a5 a4 [b4,b5]@2 ~@2 [e4,e5]@3 ~@13 [g4,g5]@2 [a4,a5]@2 ~@2 [a4,a5] ~@9, ~@2 a5 ~@27 g5@2 ~@32, ~@31 g4@2 ~@31]/2", // G A E G B E G A
AJ: "[g4,g5]@2 [a4,a5]@2 ~@2 a4@2 ~@2 [d5,d6]@2 [b4,b5]@2 [a4,a5]@2 [g4,e5,g5]@3 ~@5 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5] ~, ~@6 a5 ~@25", // G A D B A C G A …
AK: "[e4,e5] ~@31", AL: "~@10 [e4,e5] [f#4,f#5] [g4,g5] [a4,a5] [b4,b5] [g4,g5]",
AM: "[e4,e5]@2 ~@14 g4@2 [a4,a5] ~@3 [a4,a5] ~@9, ~@16 g5 ~@15", // E A
AN: "g4@2 [a4,a5] ~@3 a4@2 ~@8 [e4,e5]@2 ~@6 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, g5 ~@5 a5 ~@25", // A E G A B G
AO: "[e4,e5]@2 ~@14 [g4,g5] ~ [a4,a5] ~@3 [a4,a5] ~@9", // E G A
AP: "[[g4,g5] ~ [a4,a5] ~@3 [a4,a5] ~@3 [d5,d6]@2 [b4,b5]@2 [a4,a5] ~ [e4,e5]@3 ~@5 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 ~ g4@2 [e4,e5] ~@14 g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@8, ~@30 g5@2 ~@16 g5 ~@15]/2", // G A D B A E G A …
AQ: "[g4,g5] ~ a4@2 ~@2 a4@2 ~@8 [e4,e5]@2 ~@6 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, ~@2 a5 ~@3 a5 ~@25", // G E G A B G
AR: "g4@2 [a4,a5] ~@3 [a4,a5]@2 ~@4 [b4,b5]@2 [g4,g5] ~@17, g5 ~@31", AS: "~@16 [g4,g5]@2 [a4,a5] ~@3 [a4,a5]@2 ~@8",
AT: "[g4,g5]@2 a4@2 ~@2 [a4,a5]@2 ~@8 [e4,e5]@3 ~@5 [g4,g5]@2 [a4,a5]@2 [b4,b5]@2 [g4,g5]@2, ~@2 a5 ~@29", // G A E G A B G
AU: "[g4,g5] [a4,a5] ~ a4 ~@12, ~@6 a5 ~@25", // G A
})).s("gm_string_ensemble_1").gain(0.45)
// other · alto sax
const alto_sax = note(`<
~@26 A ~ B ~ C D E@2 ~ F ~ G H I ~@10 J ~ K ~ L ~ M ~@2 F ~ G H I ~@3 F ~ G H I ~@9 N@2 O P Q R S T U V W@2 X Y Z ~@4
AA AB AC AD AE AF AG AH AI AJ AK@2 AL@3 AM@2 AN AO AP ~@3
>`.pickRestart({
A: "~@4 a4@4 g4@5 ~@19", B: "~@7 d5@2 ~@2 b4@3 g4 ~ a4@4 g4 ~@11", C: "~@13 b4@3 a4@4 g4@4 ~@8",
D: "~@24 g4@4 a4 ~@3", E: "[c5@4 b4@4 ~ a4@3 g4@6 ~@2 g4 ~@2 a4@2 ~@2 a4@3 ~ g4@7 ~@26]/2",
F: "~@7 d4 ~ d4@3 f#4@3 ~ f#4@4 ~ g4@3 ~@8", G: "~@5 g4 c5@2 ~@2 b4@6 ~ a4@3 g4@5 ~@7", H: "~@4 a4@2 g4 ~@9",
I: "~@8 a4@3 ~ a4@2 ~@2 a4@4 g4@3 ~@9", J: "~@8 a4@3 ~ g4@4 ~@16", K: "g5 f#5 e5 f#5 d5@3 ~",
L: "d5@4 c5@4 b4@4 a4@4 a4@4 g4@9 ~@3", M: "g4@4 a4@4 b4@4 e5@8 d5@7 ~@5",
N: "[~@27 g5 a5 ~@2 a5@5 g5@8 ~@8 b5@3 ~ a5@2 ~ g5 ~ a5@2 ~]/2", O: "~ g5 ~@2 a5@2 ~ g5 ~ a5@3 g5@4 ~@10 a5@3 ~ g5@2",
P: "~@10 a5 ~ g5@2 ~@18", Q: "~@4 e5 ~ g5 ~@3 a5 ~@3 g5@4 ~ e5@2 ~@11",
R: "~@4 e5 ~@2 e5@3 g5@2 e5 ~@3 b5@4 a5@3 ~@9", S: "~@3 e5 ~ e5 ~ e5@3 g5@2 e5 ~@3 a5@3 ~ g5@2 ~@10",
T: "~@4 b5@2 a5 ~ g5@2 e5@2 ~@20", U: "~@4 e5 ~ a5 ~@3 a5@6 g5@8 ~@8",
V: "~@3 b5@3 ~ c6@2 ~ b5@2 c6@2 ~@3 b5@3 g5@3 ~@7 g5@2",
W: "[~@11 g5 ~@3 b5@3 ~@9 g5 ~@3 b5@4 ~@8 g5 ~@2 b5@4 ~@4 b5@4 ~@6]/2", X: "~@3 e5!2 ~@2 a5@2 ~@2 a5@3 ~@2 g5@4 ~@12",
Y: "~@2 b5@3 ~ b5 ~ b5@4 a5@3 ~ g5@4 ~@12", Z: "~@3 b4 d5 ~ e5@2 ~@2 g5@3 ~ b5@11 ~@7", AA: "~@21 e5 a5 ~@3 a5@6",
AB: "g5@5 ~@27", AC: "~@7 e5 g5@2 ~@2 g5@2 ~@2 a5@3 ~ g5 ~@2 g5@3 ~@6",
AD: "~@7 e5 g5@3 ~ g5@2 ~@2 a5@3 ~ g5 ~@2 g5@5 ~@4", AE: "~@6 e5 ~ g5@2 ~@2 g5@2 ~@10 b5 ~ a5 ~ g5 ~ g5@2",
AF: "~@6 e5 ~ g5@3 ~ g5@2 ~@18", AG: "~@4 g3 ~ a3@3 ~ g3 ~ g3@2 ~@6 g5@2 ~@10",
AH: "~@3 e5 ~ a5@3 g5@4 ~@6 g5 ~@5 b5@7 ~", AI: "~@3 g5 ~@4 b5@5 ~@19", AJ: "~@20 e5 ~@2 a5 ~@3 a5@5",
AK: "[g5@7 ~@13 e5 ~@2 g5 ~@3 g5@4 b5@8 ~@13 e5 ~ g5 ~@3 g5 ~ a5@4]/2",
AL: "[g5@4 ~@18 d5 ~@3 e5 ~@3 g5@12 ~@13 d5 ~@3 e5 ~@3 a5@5 g5@4 ~@12 b5@3 ~ c6 ~@2 b5@2 ~ c6@2]/3",
AM: "[~ b5@3 ~ g5@3 ~@8 b5@3 ~ a5@2 g5@2 ~@2 e5@2 ~@2 b5@4 ~ a5@2 ~ g5 ~@3 e5@2 ~@5 b5@4 ~ b5@7 ~@3]/2",
AN: "~@7 a5 ~@3 a5@5 g5@9 ~@7", AO: "~@4 e5 ~@2 g5@2 ~@2 g5@3 ~@2 a5@2 ~ g5 e5@3 ~@9",
AP: "~@4 e5 ~@2 g5 ~@3 g5@4 ~ a5@7 ~@9",
})).s("gm_alto_sax").gain(0.56)
// chords · piano
const piano = note(`<
~@5 A B C D C D C D C D C E ~@7 F C D C D C D C D C D C D C D C E ~@7 F C D C D C D C D C D C D C D C E G D C D C D C
H I J I K I J L M C D C D C D C E G D C D C D C E ~@15 F C D C D C D C ~@3
>`.pickRestart({
A: "~@8 [b3,d4,e4,g4]@3 ~ [a3,d4,f#4]@3 ~ [g3,c4]@2 ~@13 [g3,c4,e4], ~@16 e4 ~@15", // Em7 D C5 C
B: "~@8 [g3,c4,e4]@3 ~ [a3,d4,f#4]@3 ~ [b3,d4,e4,g4] ~@14 [b3,d4,e4,g4]", // C D Em7
C: "~@8 [b3,d4,e4,g4]@3 ~ [a3,d4,f#4]@3 ~ [g3,c4,e4]@2 ~@13 [g3,c4,e4]", // Em7 D C
D: "~@8 [g3,c4,e4]@3 ~ [a3,d4,f#4]@2 ~@2 [b3,d4,e4,g4] ~@14 [b3,d4,e4,g4]", // C D Em7
E: "~@8 [g3,c4,e4]@3 ~ [a3,d4,f#4]@2 ~@2 [b3,d4,e4,g4] ~@14 [e2,b3,d4,e4,g4], ~@8 e2 ~@7", // C D Em7
F: "~@16 [b3,d4,e4,g4] ~@14 [b3,d4,e4,g4]", G: "~@16 [g3,c4,e4]@2 ~@13 [g3,c4,e4]",
H: "~@8 [g3,c4,e4]@3 ~ [a3,d4,f#4]@2 ~@2 [b3,d4,e4,g4] ~@15, ~@8 e2 ~@7", // C D Em7
I: "[c2,d4,e4,g4,b4]@5 ~@2 [d4,e4,g4,b4] ~@8 [a1,c4,e4,g4,b4]@2 ~@6 [d1,a3,b3,d4,f#4]@2 ~@6, ~@7 c2@2 ~@23", // Cmaj7 Em7 Am7 Bm7
J: "[e1,a3,b3,d4,e4,g4]@5 ~@2 [a3,b3,d4,e4,g4] ~@8 [a3,b3,d4,e4,g4] ~@7 [b1,a3,d4,f#4]@2 ~@6, ~@7 e1@2 ~@7 e1@2 ~@14", // Em7 Bm7
K: "[e1,a3,b3,d4,e4,g4]@5 ~@2 [a3,b3,d4,e4,g4] ~@4 [f2,g3,a3,c4,e4]@19 ~, ~@7 e1@2 ~@23", // Em7 Fmaj7
L: "[c2,g3,a#3,d4,f4]@5 ~@2 [g3,a#3,d4,f4] ~@8 [c2,g3,a#3,d4,f4]@3 ~@5 [c2,g3,a#3,d4,f4]@3 ~@5, ~@7 c2@2 ~@23", // Gm7
M: "[d2,a3,c4,e4,g4] ~@3 [a3,c4,e4,g4] ~@3 [d2,a3,c4,e4,g4] ~@3 [a3,c4,e4,g4] ~@3 [d3,a3,c4,e4,g4]@4 ~@12, ~@2 d2 ~@3 d2 ~@9", // Am7
})).s("gm_piano").gain(0.48).pan(0.3)
// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
~@17 A B C B D E F G A B C B D E F G ~@9 B C B D E F G A B C B D E F G ~@16 H I H J H I K L M ~@19 N O P Q A B C B D E
F G ~@10
>`.pickRestart({
A: "~@16 [g3,c4,e4] ~@6 [g3,c4,e4] ~@8", B: "[g3,c4,e4] ~@5 [g3,c4,e4] ~@9 [g3,b3,e4] ~@6 [g3,b3,e4] ~@8",
C: "[g3,b3,e4] ~@5 [g3,b3,e4] ~@9 [g3,c4,e4] ~@5 [g3,c4,e4] ~@9", // Em C
D: "[g3,b3,e4] ~@5 [g3,b3,e4] ~@9 [g3,c4,e4] ~@6 [g3,c4,e4] ~@8", // Em C
E: "~ [g3,c4,e4] ~@5 [g3,c4,e4] ~@8 [g3,b3,e4] ~@6 [g3,b3,e4] ~@8", // C Em
F: "~ [g3,b3,e4] ~@5 [g3,b3,e4] ~@8 [g3,c4,e4] ~@5 [g3,c4,e4] ~@9", G: "[g3,c4,e4] ~@5 [g3,c4,e4] ~@25",
H: "~ [e4,g4,b4]@5 ~ [e4,g4,b4] ~@8 [e4,g4,b4]@2 ~@6 [a3,d4,f#4]@2 ~@6", // Em D
I: "~ [a3,b3,d4,f#4]@5 ~ [a3,b3,d4,f#4] ~@8 [a3,b3,d4,f#4] ~@7 [a3,b3,d4,f#4]@2 ~@6", // Bm7
J: "~ [a3,b3,d4,f#4]@5 ~ [a3,b3,d4,f#4] ~@4 [a3,c4]@17 ~@3", // Bm7 Am
K: "[a#3,d4]@4 ~@3 [a#3,d4] ~@9 [a#3,d4]@3 ~@5 [a#3,d4]@3 ~@4", // A#
L: "[c4,e4] ~@3 [c4,e4] ~@3 [c4,e4] ~@3 [c4,e4] ~@3 [a3,c4,e4]@3 ~@13", // C Am
M: "[g3,b3,e4]@2 ~ [g3,b3,e4] [g3,b3,e4]@2 ~ [g3,b3,e4]!2 ~@23", // Em
N: "[g3,b3] e4 ~@5 [g3,b3,e4] ~@8 [a3,c4,e4] ~@5 [a3,c4,e4] ~@9", // G Em Am
O: "~ [a3,c4,e4] ~@4 [a3,c4,e4] ~@9 [g3,b3,e4] ~@5 [g3,b3,e4] ~@9", // Am Em
P: "[g3,b3,e4] ~@5 [g3,b3,e4] ~@9 [a3,c4,e4] ~@5 [a3,c4,e4] ~@9", // Em Am
Q: "[a3,c4,e4] ~@5 [a3,c4,e4] ~@9 [g3,b3,e4] ~@5 [g3,b3,e4] ~@9", // Am Em
})).s("gm_electric_guitar_jazz").gain(0.25).pan(0.3)
// chords · kalimba
const kalimba = note(`<
~@5 A B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B ~ B C B C B C B C B C B C B C B C B C B C
B C B C B C B C B C B ~@8 D B C B C B C B C B C B C B C B ~@5 E ~ F D B C B C B C B C B C B C B C ~@3
>`.pickRestart({
A: "~@7 [g3,c4,e4] ~@15 [g3,c4,e4] ~@8", B: "~@7 [g3,c4,e4] ~@3 [a3,d4,f#4]@3 ~@9 [g3,b3,d4,e4] ~@8",
C: "~@7 [g3,b3,d4,e4] ~@15 [g3,c4,e4] ~@8", D: "~@23 [g3,c4,e4] ~@8", E: "~@11 [a3,d4,f#4]@4 ~@17",
F: "~@11 [a3,d4,f#4]@3 ~@18", // D
})).s("gm_kalimba").gain(0.29).pan(0.7)
// other · electric guitar muted
const electric_guitar_muted = note(`<
A B C D E D E D F D E D E D E D E D E D E D E D E D E D E D E D E D E D E D E D F ~ E D E D E D G D E D E D E D E D E
D E D E D E D E D E D E D F ~@7 H@2 E D E D E D E D E D E D E D E I J@3 K L M ~ N E D E D E D E D E D E D E D O ~@2
>`.pickRestart({
A: "g3 ~ g3 ~ g3 ~@3 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2",
B: "g3@2 ~@2 g3@2 ~@2 g3 ~ g3 ~ g3@2 ~@2 g3@3 ~@5 g3@3 ~ g3 ~ g3 ~",
C: "g3@3 ~ g3@2 ~@2 g3 ~ g3 ~ g3@2 ~@2 g3@3 ~@5 g3@3 ~ g3 ~@3",
D: "g3@2 ~@2 g3@2 ~@2 g3 ~@3 g3@2 ~@2 g3@3 ~@5 g3@2 ~@2 g3 ~ g3 ~",
E: "g3@2 ~@2 g3@2 ~@2 g3 ~@3 g3@2 ~@2 g3@3 ~@5 g3@3 ~ g3 ~@3",
F: "g3@2 ~@2 g3@2 ~@2 g3 ~@3 g3@2 ~@2 g3@3 ~@5 g3@3 ~@5",
G: "g3@2 ~@2 g3@2 ~@2 g3 ~@3 g3@2 ~@2 g3@3 ~@3 g3 ~ g3@3 ~@5",
H: "[~@24 g3 ~@3 g3 ~ g3@4 ~@14 g3@3 ~@5 g3@2 ~@2 g3 ~ g3 ~]/2",
I: "g3@2 ~@2 g3@2 ~@4 g3@2 ~@4 g3@3 ~@5 g3@2 ~@2 g3 ~ g3 ~",
J: "g3@2 ~@2 g3@2 ~@4 g3@2 ~@4 g3@2 ~@6 g3@2 ~@2 g3 ~ g3 ~", K: "g3@2 ~@2 g3@2 ~@4 g3@2 ~@4 g3@3 ~@5 g3@2 ~@2 g3 ~@3",
L: "g3@2 ~@2 g3@2 ~@4 g3@2 ~@4 g3@3 ~@5 g3@2 ~@4 g3 ~", M: "g3 ~@15", N: "~@16 g3@3 ~@5 g3@2 ~@2 g3 ~ g3 ~",
O: "g3 ~ g3 ~@13",
})).s("gm_electric_guitar_muted").gain(0.34).pan(0.2)
// other · electric guitar muted · soft notes
const electric_guitar_muted_2 = note(`<
~@2 A B C B C B D B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C ~ C B C B C B C B C B C B C B C B C
B C B C B C B C B C B C B C ~@9 C B C B C B C B C B C B C B C ~@4 A ~@4 C B C B C B C B C B C B C B ~@3
>`.pickRestart({
A: "~@30 g3 ~", B: "~@10 g3 ~@21", C: "~@10 g3 ~@19 g3 ~", D: "~@10 g3 ~@17 g3 ~ g3 ~",
})).s("gm_electric_guitar_muted").gain(0.17).pan(0.2)
// other · harpsichord
const harpsichord = note("<~@101 A B A C D B A B A B A B A B A E A B A ~@3>".pickRestart({
A: "~@7 e5 ~@15 e5 ~@8", B: "~@7 e5 ~@15 e5 ~@7 e5", C: "~@7 e5 ~@7 e5 ~@7 e5 ~@8", D: "e5 ~@6 e5 ~@15 e5 ~@8",
E: "~@7 e5 ~@24",
// … 81 more lines
More by Michael Jackson
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.