0:00/0:00
// Wanna Be Starting Something — Jackson Michael
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 9 "POLYSYNTH" pad poly (copy of ch 3 "E.PIANO 2" epiano2)
// note: Full arrangement: all 180 bars on a 32-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, A@4 for four bars: edit a riff to change every repeat.
// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
A B@8 C@8 D@8 E@3 F@8 G@12 H@12 I@8 J@8 K@8 L@8 M@13 N@6 O P Q@12 R@8 S@5 T@15 U V@2 W ~@15 X@2 Y@3 Z@2 AA
>`.pickRestart({
A: "~@16 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2 ~@3", B: "b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2",
C: "[b1@2 ~@2 d2@5 e2@2 ~@4 d2 ~ d2@2 ~@4 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1, ~@11 d2 ~@116]/8",
D: "[~@3 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1]/8",
E: "[~@3 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~ d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2]/3",
F: "~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2",
G: "~ d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~",
H: "d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2",
I: "[d2@5 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 ~ e2@2 ~ e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2]/8",
J: "[~@5 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@5 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@2]/8",
K: "[~@4 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@5 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@3]/8",
L: "[~@3 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@3]/8",
M: "~@2 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@4",
N: "~ e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@5",
O: "~ e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@7",
P: "~@7 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@5",
Q: "e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6",
R: "[e2@2 ~@4 d2 ~ d2@2 ~@3 e2@2 ~@3 e2@2 ~@2 b1@2 ~@2 d2@5 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2, ~@6 d2 ~@121]/8",
S: "[~@5 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@3 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2]/5",
T: "~@4 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2",
U: "~@3 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@3 e2@2 ~ b1@2 ~@2 d2@6 e2@2 ~",
V: "~@3 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~", W: "~@3 d2 ~ d2@2 ~@25",
X: "~@2 d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@2",
Y: "~ d2 ~ d2@2 ~@2 d2@2 e2@2 ~@3 e2@2 ~ b1@2 ~@2 d2@6 e2@2 ~@3",
Z: "~ d2 ~ d2@2 ~@2 d2@2 e2@2 ~@2 e2@2 ~@2 b1@2 ~@2 d2@6 e2@2 ~@3", AA: "~ d2 ~ d2@2 ~@27",
})).s("gm_synth_bass_2").gain(0.72).pan(0.1)
// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
~@4 A@8 ~@4 B@7 C@2 ~@3 D@4 ~@4 E@7 F@2 ~@3 G@4 ~@4 H@3 I@4 J@4 K@4 L@2 ~@7 M@4 ~@4 N@3 O@4 P@4 Q@4 R@2 ~@7 S@5 ~@3
T@4 ~@4 U@2 V W X@3 Y@3 V W Z AA@2 AB@2 AC AD AE Z AA@2 AB@2 AC AF@2 ~@16 AG@4 AH@2 AI ~
>`.pickRestart({
A: "[~@10 [a3,d4,f#4]@15 ~ [b3,e4,g#4]@14 ~@2 [a3,d4,f#4]@15 ~ [b3,e4,g#4]@14 ~@2 [a3,d4,f#4]@15 ~ [b3,e4,g#4]@14 ~@2 [a3,d4,f#4]@15 ~ [b3,e4,g#4]@6]/8", // D E D E D E D E
B: "[~@19 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@25 ~@7 [a3,d4,f#4]@17 ~@7 [d4,f#4,a4]@8 [b3,e4,g#4]@23 ~@9 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@13]/7", // D E D E D E D
C: "[~@11 [d4,f#4,a4]@8 [b3,e4,g#4]@27 ~@18]/2", // D E
D: "[~@18 [a3,d4,f#4]@29 ~@3 [b3,e4,g#4]@28 ~@4 [a3,d4,f#4]@29 ~@17]/4", // D E D
E: "[~@18 [a3,d4,f#4]@26 ~@6 [e4,g#4]@25 ~@7 [a3,d4,f#4]@17 ~@7 [d4,a4]@7 ~ e4@22 ~@9 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@15, ~@49 b3@25 ~@31 f#4@8 [b3,g#4]@23 ~@88]/7", // D E D D5 D E D E
F: "[~@9 [d4,f#4,a4]@8 [b3,e4,g#4]@27 ~@20]/2", // D E
G: "[~@17 [a3,d4,f#4]@29 ~@3 [b3,e4,g#4]@29 ~@2 [a3,d4]@31 ~@17, ~@20 f#4@7 ~@5]/4", // D E D5
H: "[~@16 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@25 ~@7 [a3,d4,f#4]@16]/3", // D E D
I: "[~@8 [d4,f#4,a4]@8 [b3,e4,g#4]@23 ~@8 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@17]/4", // D E D E D
J: "[~@7 [d4,f#4,a4]@8 ~ e4@26 ~@5 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@25 ~@7 [a3,d4,f#4]@17, ~@15 [b3,g#4]@27 ~@86]/4", // D E D E
K: "[~@7 [d4,f#4,a4]@8 [b3,e4,g#4]@22 ~@10 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@17]/4", // D E D E D
L: "[~@7 [d4,f#4,a4]@8 [b3,e4,g#4]@27 ~@22]/2", // D E
M: "[~@14 [a3,d4,f#4]@29 ~@3 [b3,e4,g#4]@28 ~@4 [a3,d4,f#4]@29 ~@21]/4", // D E D
N: "[~@13 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@25 ~@7 [a3,d4,f#4]@17 ~@2]/3", // D E D
O: "[~@5 [d4,f#4,a4]@8 [b3,e4,g#4]@23 ~@9 [a3,d4,f#4]@26 ~@5 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@17 ~@3]/4", // D E D E D
P: "[~@4 [d4,f#4,a4]@8 [b3,e4,g#4]@27 ~@5 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@25 ~@7 [a3,d4,f#4]@17 ~@3]/4", // D E D E D
Q: "[~@4 [d4,f#4,a4]@8 [b3,e4,g#4]@23 ~@9 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@17 ~@3]/4", // D E D E D
R: "[~@4 [d4,f#4,a4]@8 [b3,e4,g#4]@27 ~@25]/2", // D E
S: "[~@11 [a3,d4,f#4]@29 ~@3 [b3,e4,g#4]@28 ~@4 [a3,d4,f#4]@29 ~@3 [b3,e4,g#4]@28 ~@25]/5", // D E D E
T: "[~@10 [a3,d4,f#4]@29 ~@3 [b3,e4,g#4]@28 ~@4 [a3,d4,f#4]@29 ~@25]/4", // D E D
U: "[~@9 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@23]/2", V: "~@9 [a3,d4,f#4]@17 ~@6", W: "~ [d4,f#4,a4]@8 [b3,e4,g#4]@23",
X: "[~@9 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@17 ~@6]/3", // D E D
Y: "[~ [d4,f#4,a4]@8 [b3,e4,g#4]@27 ~@5 [a3,d4,f#4]@26 ~@6 [b3,e4,g#4]@23]/3", Z: "~ [a3,d4,f#4]@3",
AA: "[~@8 [b3,e4,g#4]@29 ~@3 [a3,d4,f#4]@17 ~@7]/2", AB: "[[d4,f#4,a4]@8 [b3,e4,g#4]@27 ~@5 [a3,d4,f#4]@24]/2",
AC: "~ [b3,e4,g#4]@3", AD: "~@8 [a3,d4,f#4]@17 ~@7", AE: "[d4,f#4,a4]@8 [b3,e4,g#4]@23 ~",
AF: "[~@7 [a3,d4,f#4]@17 ~@7 [d4,f#4,a4]@8 ~ e4@22 ~@2, ~@39 [b3,g#4]@23 ~@2]/2", // D E
AG: "[~@6 [a3,d4,f#4]@29 ~@3 [b3,e4,g#4]@26]/2", AH: "[~@6 [a3,d4,f#4]@29 ~@2 [b3,e4,g#4]@27]/2",
AI: "~@5 [a3,d4,f#4]@27", // D
})).s("gm_epiano2").gain(0.56).pan(0.9)
// other · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
~@4 A B A B A C D C ~@4 D C D C D C D C ~@12 E F E F E F E F ~@8 G H I H I H I J G J K J K J K J L J K J M N O ~@13 P
Q P R P R P R S R S R T R S R U@8 V W V W ~@12 X Y X Y X Y X Y X Y X Z AA Z AA Z AA Z AA Z AA Z AA Z AA Z AB AC ~@16
AD AE AF AE AF AG AF AH
>`.pickRestart({
A: "~@16 d3 ~ d3 ~@3 d3 ~ e3@2 ~@6", B: "~@16 d3 ~ d3 ~@3 d3 ~ d3 ~@7", C: "~@15 d3 ~ d3 ~@3 d3 ~ d3 ~@8",
D: "~@15 d3 ~ d3 ~@3 d3 ~ e3@2 ~@7", E: "~@13 d3 ~ d3 ~@3 d3 ~ e3@2 ~@9", F: "~@13 d3 ~ d3 ~@3 d3 ~ d3 ~@10",
G: "~@12 d3 ~ d3 ~ d3 ~ d3@2 e3 ~@11", H: "~@12 d3 ~ d3 ~@3 d3 ~ e3@2 ~@10", I: "~@12 d3 ~ d3 ~ d3 ~ d3 ~ e3 ~@11",
J: "~@11 d3 ~ d3@2 ~@2 d3 ~ e3@2 ~@11", K: "~@11 d3 ~ d3 ~ d3 ~ d3 ~ e3 ~@12",
L: "~@11 d3 ~ d3 ~ d3 ~ d3@2 e3@2 ~@11", M: "~@10 d3 ~ d3 ~@2 d3!2 ~ d3 ~@13",
N: "~@8 b2 ~ d3 ~ d3 ~@3 d3 ~ d3@2 ~@3 d3@2 ~@7", O: "~@8 b2 ~ d3 ~ d3 ~@19", P: "~@9 d3 ~ d3 ~ d3 ~ d3@2 e3 ~@14",
Q: "~@9 d3 ~ d3 ~@3 d3 ~ e3 ~@14", R: "~@8 d3 ~ d3 ~@3 d3 ~ e3@2 ~@14", S: "~@8 d3 ~ d3 ~ d3 ~ d3 ~ e3 ~@15",
T: "~@8 d3 ~ d3 ~ d3 ~ d3@2 e3@2 ~@14",
U: "[~@8 d3 ~ d3 ~@3 g#4@2 ~ d#5@3 ~ e4@2 f#4@2 g4@2 g#4@2 e5@2 d#5@2 d5@2 ~@4 g4@2 g#4@2 ~@2 g#4@2 e5@2 d#5@2 d5@2 e4@2 f#4@2 g4@2 g#4@2 e5@2 d#5@2 d5@2 ~@4 g4@2 g#4@2 ~@2 g#4@2 e5@2 d#5@2 d5@2 e4@2 f#4@2 g4@2 g#4@2 e5@2 d#5@2 d5@2 ~@4 g4@2 g#4@2 ~@2 g#4@2 e5@2 d#5@2 d5@2 e4@2 f#4@2 g4@2 g#4@2 e5@2 d#5@2 d5@2 ~@4 g4@2 g#4@2 ~@2 [g#4,b4]@2 [e5,g#5]@2 [d#5,g5]@2 [d5,f#5]@2 e4@2 f#4@2 g4@2 [g#4,b4]@2 [e5,g#5]@2 [d#5,g5]@2 f#5@3 ~@3 g4@2 g#4 ~@3 [g#4,b4]@2 [e5,g#5]@2 [d#5,g5]@2 f#5@2 e4@2 f#4@2 g4@2 [g#4,b4]@2 [e5,g#5]@2 [d#5,g5]@2 f#5@3 ~@3 g4@2 g#4 ~@3 [g#4,b4]@2 [e5,g#5]@2 [d#5,g5]@2 f#5@2 e4@2 f#4@2 g4@2 [g#4,b4]@2 [e5,g#5]@2 [d#5,g5]@2 [d5,f#5]@2 ~@4 g4@2 g#4@2 ~@2 [g#4,b4]@2 [e5,g#5]@2 [d#5,g5]@2 [d5,f#5]@2 e4@2 f#4@2 g4@3 ~@4, ~@8 g4@3 ~@245, ~@9 g#4@2 ~@5 e5@2 ~@2 d5@2 ~@139 d5 ~@17 d5 ~@13 d5 ~@17 d5 ~@44]/8", // G#m E D# D G#m E D# G#m …
V: "~@7 d3 ~ d3 ~@3 d3 ~ e3@2 ~@15", W: "~@7 d3 ~ d3@2 ~@2 d3 ~ d3 ~@16", X: "~@5 d3 ~ d3 ~@3 d3 ~ e3@2 ~@17",
Y: "~@5 d3 ~ d3 ~@3 d3 ~ d3 ~@18", Z: "~@4 d3 ~ d3 ~@3 d3 ~ d3 ~@19", AA: "~@4 d3 ~ d3 ~@3 d3 ~ e3@2 ~@18",
AB: "~@4 d3!2 ~@3 d3 ~ e3@2 ~@19", AC: "~@3 d3 ~ d3 ~@3 d3 ~ d3 ~@20", AD: "~@2 d3 ~ d3 ~@3 d3 ~ e3 ~@21",
AE: "~@2 d3 ~ d3 ~@3 d3 ~ d3 ~@21", AF: "~ d3 ~ d3 ~@3 d3 ~ e3@2 ~@21", AG: "~ d3 ~ d3@2 ~@2 d3 ~ d3 ~@22",
AH: "~ d3 ~ d3 ~@28",
})).s("gm_electric_guitar_clean").gain(0.48).pan(0.3)
// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~@5 A@4 B C@3 ~@3 D@8 E ~@3 F G@2 H ~@4 I@8 J ~@3 K L@2 M ~@4 N O@3 P Q@10 R S ~@7 T U@3 ~@4 V@3 W@13 X@8 Y Z@3 AA ~@3
AB AC@2 AA ~@4 AD@8 AE@2 AF@6 AG@9 AH AI@2 ~@16 AJ AK@6 ~
>`.pickRestart({
A: "g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20", B: "g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@19 g#3",
C: "[~ e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3@2 f#3@2 ~@2 g#3@2 ~@21]/3",
D: "[~@31 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3]/8",
E: "~ e3@2 f#3@2 f#3@2 ~@2 g#3@2 ~@21", F: "~@15 g#3", G: "e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2",
H: "e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@23",
I: "[~@31 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3, ~@15 g#3 ~@112]/8",
J: "~ f#3@2 f#3@2 ~@2 g#3@2 ~@23", K: "~@15 e3, ~@29 g#3@2 ~", L: "~ f#3 ~ f#3 ~@2 g#3 ~@21 g#3@2 e3@2",
M: "f#3 ~ f#3@2 ~@2 g#3 ~@25", N: "~@14 g#3 e3", O: "f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2",
P: "f#3 ~ f#3@2 ~ g#3@2 ~@20 g#3@2 e3@2 f#3", Q: "~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3",
R: "~ f#3@2 ~ g#3 ~@23 e3@2 f#3@2, ~@27 g#3@2 ~@3", S: "~ f#3@2 ~ g#3@2 ~@26", T: "~@26 g#3@2 e3@2 f#3 ~",
U: "[f#3@2 ~@2 g#3 ~@22 e3@2 ~ f#3 f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@28, ~@13 g#3 ~@34]/3",
V: "[~@25 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~ g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2]/3",
W: "~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2",
X: "[~ g#3@2 ~@5 g3@2 g#3@2 ~@2 g#3@2 ~ d#4@3 ~ e3@2 f#3@2 g3@2 g#3@2 e4@2 d#4@2 d4@2 ~@4 g3@2 g#3@2 ~@2 g#3@2 e4@2 d#4@2 d4@2 e3@2 f#3@2 g3@2 g#3@2 e4@2 d#4@2 d4@2 ~@4 g3@2 g#3@2 ~@2 g#3@2 e4@2 d#4@2 d4@2 e3@2 f#3@2 g3@2 g#3@2 e4@2 d#4@2 d4@2 ~@4 g3@2 g#3@2 ~@2 g#3@2 e4@2 d#4@2 d4@2 e3@2 f#3@2 g3@2 g#3@2 e4@2 d#4@2 d4@2 ~@4 g3@2 g#3@2 ~@2 g#3@2 e4@2 d#4@2 d4@2 e3@2 f#3@2 g3@2 g#3@2 e4@2 d#4@2 d4@2 ~@4 g3@2 g#3@2 ~@2 g#3@2 e4@2 d#4@2 d4@2 e3@2 f#3@2 g3@2 g#3@2 e4@2 d#4@2 d4@2 ~@4 g3@2 g#3@2 ~@2 g#3@2 e4@2 d#4@2 d4@2 e3@2 f#3@2 g3@2 g#3@2 e4@2 d#4@2 d4@2 ~@4 g3@2 g#3@2 ~@2 g#3@2 e4@2 d#4@2 d4@2 e3@2 f#3@2 g3@3 ~@4, ~@8 e4 ~ d4 ~@117]/8",
Y: "~@23 g#3@2 e3@2 f#3 ~ f#3 ~@2", Z: "~ g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~", AA: "g#3 ~@15",
AB: "~@22 g#3@2 e3@2 f#3 ~ f#3@2 ~@2", AC: "g#3 ~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2",
AD: "[~@21 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3]/8",
AE: "~@21 [g#3,b3]@2 [e3,g#3]@2 [f#3,a3] ~ [f#3,a3] ~@3 [g#3,b3]", // G#m E F#m G#m
AF: "~@20 [g#3,b3]@2 [e3,g#3]@2 [f#3,a3] ~ [f#3,a3]@2 ~@2 [g#3,b3]@2", AG: "~@20 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~",
AH: "~@21 e3@2 ~ f#3!2 ~@3 g#3 ~@2, ~@10 g#3 ~@5", AI: "~@19 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@2",
AJ: "~@18 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3@2 ~@2", AK: "~@17 g#3@2 e3@2 f#3 ~ f#3@2 ~@2 g#3 ~@4",
})).s("gm_electric_guitar_muted").gain(0.56).pan(0.8)
// other · synth bass 1 · "SYN BASS 1"
const synth_bass_1 = note(`<
~@7 A B ~@10 C D ~@2 C D ~@14 E@2 ~@2 E@2 ~@14 F G ~@2 F H ~@2 I@2 J@2 ~@20 K L ~@2 M@2 ~@2 N O N P ~@10 Q R ~@33 S T
S T S U V W ~@8 X Y Z AA Y@2 Z AA AB ~@2 AC AD AE ~@2
>`.pickRestart({
A: "~@30 [b3,b4] ~", B: "[c#4,c#5] ~ [d4,d5]@4 [d4,d5] ~ [c#4,c#5] ~ [b3,b4] ~ [d4,d5]@2 ~@18",
C: "~@29 [b3,b4] ~ [c#4,c#5]", D: "~ [d4,d5]@4 [d4,d5] ~ [c#4,c#5] ~ [b3,b4] ~ [d4,d5]@2 ~@19",
E: "[~@27 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@4 [d4,d5] ~ [c#4,c#5] ~ [b3,b4] ~ [d4,d5]@2 ~@21]/2", // B C# D C# B D
F: "~@25 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@3", G: "~@2 [d4,d5] [c#4,c#5] ~ [b3,b4] ~@2 [d4,d5]@2 ~@22",
H: "~ [d4,d5] ~ [c#4,c#5] ~ [b3,b4] ~ [d4,d5]@2 ~@23", // D C# B D
I: "[~@27 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@4 [e4,e5]@2 ~@2 [b3,b4]@16 ~@9]/2", // B C# D E B
J: "[~@27 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@3 ~ c#4@2 ~@2 [b3,b4]@20 ~@5, ~@17 c#5 ~@14]/2", // B C# D B
K: "~@22 b4 b3 c#5 c#4 [d4,d5]@4 ~ [d4,d5]", L: "[c#4,c#5] ~@2 [b3,b4] ~ [d4,d5]@2 ~@25",
M: "[~@22 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@4 d4 ~ [c#4,c#5] ~ [b3,b4] ~ [d4,d5]@2 ~@26, ~@15 d5@2 ~@15]/2", // B C# D C# B D
N: "~@24 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@4", O: "[e4,e5] ~ [b3,b4]@8 ~@6", P: "[c#4,c#5] ~ [b3,b4]@10 ~@4",
Q: "~@21 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@4 [d4,d5] ~ [c#4,c#5]", R: "~ [b3,b4] ~ [d4,d5]@2 ~@27",
S: "~@2 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@5 ~ e5@2 ~@2 [b3,b4]@2 ~@2 [c#4,c#5] ~@3 [d4,d5]@3 ~ [e4,e5]@2 [b3,b4]@2, ~@12 e4 ~@19", // B C# D B C# D E B
T: "~@2 [b3,b4] ~ [c#4,c#5] ~ [d4,d5]@5 ~ [e4,e5] ~@3 [b3,b4] ~@3 [c#4,c#5] ~ [d4,d5]@2 ~@2 [e4,e5]@2 ~@2 [b3,b4]@2", // B C# D E B C# D E …
U: "~ [b3,b4] ~ c#5@2 [d4,d5]@6 ~ [e4,e5] ~@3 b4@2 ~ [c#4,c#5] ~ [d4,d5]@2 ~@2 [e4,e5]@2 ~@2 [b3,b4]@2 ~, ~@3 c#4 ~@12 b3 ~@15", // B D E C# D E B
V: "~ [b3,b4] ~ c#5@2 [d4,d5]@5 ~ [e4,e5]@2 ~@2 [b3,b4]@2 ~@2 [c#4,c#5]@2 ~@2 [d4,d5]@3 ~ [e4,e5]@2 [b3,b4]@2 ~, ~@3 c#4 ~@28", // B D E B C# D E B
W: "~ [b3,b4] ~ [c#4,c#5]@2 [d4,d5]@5 ~ [e4,e5] ~@3 [b3,b4] ~@3 [c#4,c#5] ~ [d4,d5] ~@3 [e4,e5] ~@3 [b3,b4] ~@2", // B C# D E B C# D E …
X: "~@30 [d4,d5] ~", Y: "[e4,e5] ~@29 [d4,d5] ~", Z: "[b3,b4]@2 ~@28 [d4,d5] ~",
AA: "[e4,e5] ~@17 [b3,b4] ~ [c#4,c#5] ~ d5@2 [e4,e5] ~ [f#4,f#5] ~ [a4,a5] ~ [g#4,g#5] ~, ~@22 d4 ~@9", // E B C# E F# A G#
AB: "[e4,e5] ~@31", AC: "~@31 [b3,b4]",
AD: "~ [c#4,c#5] ~ [d4,d5]@5 ~ [e4,e5] ~@3 [b3,b4]@2 ~@2 [c#4,c#5]@2 ~@2 [d4,d5]@3 ~ [e4,e5]@2 [b3,b4]@2 ~@2 [b3,b4]", // C# D E B C# D E B
AE: "~ [c#4,c#5] ~ [d4,d5]@6 [e4,e5] ~@3 [b3,b4] ~@3 [c#4,c#5] ~ [d4,d5]@2 ~@2 [e4,e5]@2 ~@2 [b3,b4]@2 ~@3", // C# D E B C# D E B
})).s("gm_lead_8_bass_lead").gain(0.64).pan(0.3)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@64 A@8 ~@24 B@8 ~@8 C@5 ~@63>".pickRestart({
A: "[~@15 [f#5,d6]@32 [g#5,e6]@32 [f#5,d6]@32 [g#5,e6]@32 [f#5,d6]@31 ~ e6@32 [f#5,d6]@31 [g#5,e6]@18, ~@174 g#5@33 ~@49]/8", // D C#m D C#m D C#m
B: "[~@3 [f#5,d6]@8 [g#5,e6]@8 [f#5,d6]@8 [g#5,e6]@8 [f#5,d6]@8 [g#5,e6]@8 [f#5,d6]@8 [g#5,e6]@5]/8", // D C#m D C#m D C#m D C#m
C: "[~@11 [f#5,d6]@32 [g#5,e6]@32 [f#5,d6]@32 [g#5,e6]@32 ~@21]/5", // D C#m D C#m
})).s("gm_string_ensemble_2").gain(0.4).pan(0.7)
// chords · marimba
const marimba = note("<~@144 A B C B D E F G C E F H ~@16 I J I J I K ~@2>".pickRestart({
A: "~@20 [e5,g#5] ~@3 d5@2 f#5 ~@3 [d5,f#5] ~, ~@24 f#5 ~@7", // E D
B: "~@20 [d5,f#5] ~@3 [e5,g#5] ~ [e5,g#5] ~@3 [e5,g#5] ~", // D E
C: "~@20 [e5,g#5] ~@3 [d5,f#5] ~ d5@2 ~@2 d5@2, ~@26 f#5 ~@3 f#5 ~", // E D
D: "~@19 [e5,g#5] ~@3 [d5,f#5] ~@2 [d5,f#5] ~@3 f#5 ~, ~@29 d5@2 ~", // E D
E: "~@20 [d5,f#5] ~@2 g#5 e5!2 g#5 ~@2 [e5,g#5] ~@2", F: "~@19 [e5,g#5] ~@4 [d5,f#5] f#5 d5 ~@2 [d5,f#5] ~@2",
G: "~@20 [d5,f#5] ~@3 [e5,g#5] ~ [e5,g#5] ~@2 [e5,g#5] ~@2", // D E
H: "~@19 [d5,f#5] ~@3 [e5,g#5] ~ [e5,g#5] ~@3 [e5,g#5] ~@2", // D E
I: "~@18 [e5,g#5] ~@3 [d5,f#5] ~ [d5,f#5] ~@2 [d5,f#5] ~@4", // E D
J: "~@17 d5 f#5 ~@3 [e5,g#5] ~ [e5,g#5] ~@2 [e5,g#5] ~@4", // E
K: "~@17 [d5,f#5] ~@3 [e5,g#5] ~ [e5,g#5] ~@3 [e5,g#5] ~@4", // D E
})).s("gm_marimba").gain(0.64).pan(0.2)
// drums · kick
const kick = s("bd").struct(`<
A B C B D B@4 E@7 F E G E H E@6 I@5 J I K I L M@11 N O P O Q O@5 R S@5 T S U S V W S W@9 X Y Z Y AA Y@7 AB@4 AC AB AD
AB AE AB@4 AF@6 AG AH AF AI AJ AK AJ@10 AL AM AL AN AO AL@5 AP@7 AQ AP AR AS AP@5 AT@3 AU ~@15 AV AW@3 AX AW AY AZ
>`.pickRestart({
A: "~@8 x!2 ~ x!2 ~@3", B: "~@2 x!2 ~@4 x!2 ~ x!2 ~@3", C: "~@2 x!2 ~@4 x!2 ~ x ~@4",
D: "~@2 x!2 ~ x ~@2 x!2 ~ x!2 ~@3", E: "~@3 x ~ x ~@9 x ~ x ~@3 x ~ x ~@8", F: "~@3 x ~ x ~@15 x ~ x ~@8",
G: "~@3 x ~ x ~@9 x ~ x ~@3 x ~@10", H: "~@3 x ~ x ~@3 x ~@5 x ~ x ~@3 x ~ x ~@8", I: "~ x!2 ~@4 x!2 ~ x!2 ~@4",
J: "~ x!2 ~@7 x!2 ~@4", K: "~ x!2 ~@4 x!2 ~ x ~@5", L: "~ x!2 ~ x ~@2 x!2 ~ x!2 ~@4",
M: "~ x ~ x ~@9 x ~ x ~@3 x ~ x ~@10", N: "x ~ x ~@15 x ~@2 x ~@10", O: "x!2 ~@4 x!2 ~ x!2 ~@5",
P: "x!2 ~@4 x!2 ~ x ~@6", Q: "x!2 ~ x ~@2 x!2 ~ x!2 ~@5", R: "x ~ x ~@9 x ~ x ~@3 x ~ x ~@10 x",
S: "~ x ~@9 x ~ x ~@3 x ~ x ~@11 x", T: "~ x ~@15 x ~ x ~@11 x", U: "~ x ~@9 x ~ x ~@3 x ~@13 x",
V: "~ x ~@3 x ~@5 x ~ x ~@3 x ~ x ~@11 x", W: "x ~@4 x!2 ~ x!2 ~@5 x", X: "x ~@15 x ~ x ~@11 x!2",
Y: "~@9 x ~ x ~@3 x ~ x ~@11 x ~ x", Z: "~@9 x ~ x ~@3 x ~@13 x ~ x", AA: "~@3 x ~@5 x ~ x ~@3 x ~ x ~@11 x ~ x",
AB: "~@4 x!2 ~ x!2 ~@5 x!2", AC: "~@7 x!2 ~@5 x!2", AD: "~@4 x!2 ~ x ~@6 x!2", AE: "~ x ~@2 x!2 ~ x!2 ~@5 x!2",
AF: "~@7 x ~ x ~@3 x ~ x ~@11 x ~ x ~@2", AG: "~@7 x ~ x ~@3 x ~ x ~@16", AH: "~@13 x ~ x ~@11 x ~ x ~@2",
AI: "~@7 x ~ x ~@3 x ~@12 x ~ x ~@3", AJ: "~@3 x!2 ~ x!2 ~@5 x!2 ~", AK: "x ~@2 x!2 ~ x!2 ~@5 x!2 ~",
AL: "~@5 x ~ x ~@3 x ~ x ~@11 x ~ x ~@4", AM: "~@11 x ~ x ~@11 x ~ x ~@4", AN: "~@5 x ~ x ~@3 x ~@13 x ~ x ~@4",
AO: "~@5 x ~ x ~@3 x ~ x ~@11 x ~ x ~@3 x", AP: "~@2 x!2 ~ x!2 ~@5 x!2 ~@2", AQ: "~@5 x!2 ~@5 x!2 ~@2",
AR: "~@2 x!2 ~ x ~@6 x!2 ~@2", AS: "~@2 x!2 ~ x!2 ~@5 x!2 ~ x", AT: "~@4 x!2 ~@3 x ~ x ~@11 x ~ x ~@6",
AU: "~@3 x ~ x ~@26", AV: "~@4 x!2 ~@5 x!2 ~@3", AW: "~ x ~ x ~@3 x ~ x ~@11 x ~ x ~@8",
AX: "~@7 x ~ x ~@11 x ~ x ~@8", AY: "~ x ~ x ~@3 x ~@13 x ~ x ~@8", AZ: "~ x ~ x ~@28",
})).gain(0.56)
// drums · rim
// … 154 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.