0:00/0:00
// Off the Wall — Jackson Michael
// 118 bpm, 4/4, key F# major. 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 131 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(118/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 · "FINGERDBAS"
const bass = note(`<
~ A B C D E F@3 G H I J K L M N O P Q R S T S U V W X Y Z AA AB@2 AC G H I J K L M N M P M R AD T S U V W X Y Z AA
AB@2 AC G H I AE AF AG AH AI AJ AK AL AM K L M N M P M R S T S U V W X Y Z AA AB@2 AN AO AP AO AQ AR AS AT AU AV AW
AX@2 AY AR AS AT AU AV AW AX@2 AY AR AS AT AU AV AW AX@2 AZ ~@8
>`.pickRestart({
A: "~@4 d#2@3 ~@3 c#2@2 d#2@3 ~", B: "~@4 d#2@3 ~@5 d#2@2 f#2 ~", C: "~@2 c#2@2 d#2@3 ~@5 d#2@3 ~",
D: "~@2 c#2@2 d#2@2 ~@4 c#2@2 d#2@2 f#2 ~", E: "~@2 c#2@2 d#2@2 ~@4 c#2 ~ d#2@3 ~",
F: "[~@2 c#2@2 d#2@2 e2@31 ~@3 d#2@2 ~ g#2 a#2@2 c#3@2]/3", G: "~@2 f3@3 c#3@3 d#2@2 ~ g#2 ~@2 d#3@2",
H: "c#3@5 c2 c#2 d2 d#2@3 g#2 a#2@2 c#3 ~", I: "~@2 f3@3 c#3@3 d#2@3 g#2 a#2@2 d#3@2",
J: "c#3@4 ~ c2 c#2 d2 d#2@2 ~ g#2 a#2@2 c#3@2", K: "~@2 f3@3 c#3@3 d#2@2 ~ g#2 a#2@2 d#3 ~",
L: "c#3@5 ~ c#2 d2 ~@3 g#2 a#2@2 c#3 ~, ~@5 c2@2 ~@9", M: "~@2 f3@3 c#3@3 d#2@3 ~ a#2@2 d#3@2",
N: "c#3@5 c2 c#2 d2 d#2@2 ~ g#2 a#2@2 c#3 ~", O: "~@2 f3@2 ~ c#3@3 d#2@3 ~ a#2@2 d#3@2",
P: "c#3@5 ~ c#2 d2 d#2@2 ~@2 a#2@2 c#3 ~, ~@5 c2@2 ~@9", Q: "~@2 f3@3 c#3 ~@2 d#2@3 ~ a#2@2 d#3@2",
R: "c#3@5 ~ c#2 d2 d#2@2 ~ g#2 a#2@2 c#3 ~, ~@5 c2@2 ~@9", S: "~@2 f3@3 c#3@3 d#2@2 ~@2 a#2@2 d#3@2",
T: "c#3@5 c2@2 d2 d#2@2 ~@2 a#2@2 c#3 ~", U: "c#3@6 ~@2 g#1@4 ~ g#1@2 ~", V: "b1@4 d#2@4 b1@4 ~ b1 b1@2",
W: "d#2@4 f#2@4 ~@5 a#1 a#1@2", X: "c#2@4 f2@4 g#1 ~@3 g#1@3 f#1", Y: "~ g#1 f1@2 f#1@2 g1@2 g#1@3 ~@2 g#1!2 ~",
Z: "b1@4 d#2@4 b1@3 ~@2 b1 ~@2", AA: "d#2@4 f#2@4 a#1@4 ~ a#1@3",
AB: "[c#2@4 f2@4 g#1 ~@2 f#1 ~@2 e1@5 ~ e1@3 ~ c#2@6 g#2@2]/2", AC: "c#3@7 ~ d#2@2 ~ g#2 a#2@2 c#3@2",
AD: "~@2 f3@3 c#3 ~@2 d#2@2 ~@2 a#2@2 d#3@2", AE: "c#3@7 ~ b1 ~ b1 ~@4 b1", AF: "b1!3 ~@4 b1 ~@2 a#1 ~@4 a#1",
AG: "a#1!3 ~@4 a#1 g#1 ~ g#1 ~@4 g#1", AH: "g#1!3 ~@4 g#1 c#2 ~ c#2 ~@4 c#2",
AI: "c#2!2 ~@2 c2!3 f#1 b1 ~ b1 ~@4 f#1", AJ: "b1 f#1 b1 ~@4 f#1 a#1 ~ a#1 ~@5",
AK: "a#1 f1 ~@5 a#1 g#1 ~ g#1 ~@4 d#1", AL: "g#1 d#1 g#1@2 ~@4 a#1@8", AM: "a#2@6 ~@2 d#2@2 ~ g#2 a#2@2 c#3@2",
AN: "c#3@7 ~@3 c#2@2 d#2@2 ~@2", AO: "~ c#2 d#2 ~@2 c#2 d#2 ~", AP: "~@2 c#2@2 d#2@2 f#2 ~@3 c#2@2 d#2@2 ~@2",
AQ: "~@8 g#1@2 ~@5 g#1", AR: "g#1!2 g#1@2 ~@2 g#1 ~ b1 ~@6 b1", AS: "b1!2 b1@2 ~@2 b1 ~ a#1 ~@6 a#1",
AT: "a#1!2 a#1@2 ~@2 a#1 ~ g#1@2 ~ g#1 ~@3 g#1", AU: "g#1!3 ~ d#1 ~ f#1 g1 g#1@2 ~@5 f#1",
AV: "g#1!3 ~@3 f#1 ~ b1 ~@6 b1", AW: "b1!3 ~@3 b1@2 a#1@2 ~@5 g#1",
AX: "[a#1!3 ~@3 a#1 ~ g#1@2 ~ f#1 ~@2 e1@5 ~ e1@2 c#2@10, ~@14 f1 ~@17]/2",
AY: "~@2 a#1 c#2 c#1 d#1 f#1 g#1 g#1@5 ~@2 g#1", AZ: "~@2 a#1 c#2 c#1 d#1 f#1 ~@9",
})).s("gm_electric_bass_finger").gain(0.3)
// bass · electric bass finger · "FINGERDBAS" · soft notes
const bass_soft = note(`<
~ A B C ~@5 D ~@4 E F ~ F@3 ~ F G F ~@2 H ~@7 D ~@4 E F ~ F@3 ~ F G F ~@2 H ~@7 D ~@3 I ~@3 J K ~@3 E F ~ F@3 ~ F G F
~@2 H ~@15 L ~@8 L ~@8 L ~@12
>`.pickRestart({
A: "~ c#2 ~@6", B: "~ c#2 ~@3 c#2 ~@2", C: "~@5 c#2 ~@2", D: "~@6 a#2 ~", E: "~@4 d#2 ~@3", F: "~@11 g#2 ~@4",
G: "~@6 c#2 ~@4 g#2 ~@4", H: "~@8 a#1@3 ~@5", I: "~@8 a#1 ~@7", J: "~@15 f1", K: "~ a#1 ~@6", L: "~@4 g#1 ~@11",
})).s("gm_electric_bass_finger").gain(0.18)
// chords · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
A@4 B@5 C D E F G H I J K L M N C O P Q@3 R@7 C D E F G H I J K L M N C O P Q@3 S@7 C D E T@4 U@4 C G H I J K L M N C
O P Q@3 V@6 W@4 X@3 Y@7 Z@8 AA AB AC@8 ~@8
>`.pickRestart({
A: "[~@7 [d#3,f3,f#3,a#3]@4 [f#3,a#3,c#4]@4 [d#3,f3,g#3,c4]@4 [c#3,d#3,f3,g#3]@4 [d#3,f#3,a#3,c#4]@4 [f#3,a#3,c#4,f4]@4 [f3,g#3,c4,d#4]]/4", // D#m F# Fm7 C# D#m7 F#maj7 Fm7
B: "[~@6 [g#3,c4]@8 [a#3,c#4]@8 ~@8 [d#4,g#4]@8 [e3,b3,d#4,g#4,b4]@32 ~@2 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4, ~@7 [d#3,f#3]@12 ~@21, ~@22 [a#3,c#4,f4,f#4,a#4]@16 g#3 ~@41]/5", // G# A#m G#5 Emaj7 F#maj7 D#m F#maj7
C: "~@8 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4", D: "~@4 [c#5,f5,a#5]@2 ~@2 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,a#5] ~@4",
E: "~@2 [c#5,f5,f#5,a#5] ~@5 [f5,f#5,a#5]@2 ~ [c#5,f5,a#5] ~@4", // F#maj7 A#m
F: "~@4 [c#5,f5,f#5,a#5]@2 ~@2 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4", // F#maj7
G: "~@8 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,a#5] ~@4", H: "~@4 [c#5,f5,a#5]@3 ~ [f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4",
I: "~@2 [f5,f#5,a#5] ~@5 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4", // F#maj7
J: "~@4 [c#5,f5,f#5,a#5]@3 ~ [c#5,f5,f#5,a#5]@3 [c#5,f5,f#5,a#5] ~@4", // F#maj7
K: "~@2 [c#5,f5,a#5] ~@5 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4", // A#m F#maj7
L: "~@4 [c#5,f5,f#5,a#5]@3 ~ [c#5,f5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4", // F#maj7 A#m F#maj7
M: "~@2 [c#5,f#5,a#5] ~@5 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,a#5] ~@4", // F# F#maj7 A#m
N: "~@4 [c#5,f5,f#5,a#5]@3 ~ [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4", // F#maj7
O: "~@4 [f5,f#5,a#5]@3 ~ [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,a#5] ~@4", // F#maj7 A#m
P: "~@2 [c#5,f5,f#5] ~@5 [c#5,f5,f#5,a#5]@3 [c#5,f5,f#5,a#5] ~@4", // F#maj7
Q: "[~@4 [f5,f#5,a#5] ~@3 [b3,d#4,f#4]@13 ~@3 [f#4,a#4]@16 [g#3,f4,g#4]@8, ~@4 c#5@2 ~@2 f#3@16 [a#3,d#4]@15 ~@9]/3", // F#maj7 B F# C# D#5
R: "[~@8 [f#3,b3,d#4,f#4]@3 [f#3,c#4,f4] ~@2 [f#3,g#3,b3,d#4]@9 ~ [b3,d#4,f#4]@15 ~ [a#3,c#4,f#4]@14 ~@2 [g#3,a#3,c#4,g#4]@15 ~ [d#4,f#4]@3 [c#4,f4]@3 [b3,d#4]@10 [g#3,c#4]@13 ~@3 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4, ~@24 [f#3,g#3]@13 ~@3 [f#3,a#4]@16 f4@13 ~@43]/7", // B F#maj7 G#m7 B F# A#m7 D#m C# …
S: "[~@8 [b3,d#4,f#4]@3 [c#4,f4] ~@2 [f#3,g#3,b3,d#4]@9 ~ [b3,d#4,f#4]@15 ~ [c#4,f#4]@14 ~@2 [g#3,a#3,c#4,g#4]@15 ~ [c#4,d#4,f#4]@3 [c#4,f4]@3 [b3,d#4]@10 [g#3,c#4]@13 ~@3 [c#5,f5,f#5,a#5]@2 ~ [c#5,f5,f#5,a#5] ~@4, ~@40 a#4@16 f4@13 ~@43]/7", // B C# G#m7 B F#5 A#m7 D#m7 C# …
T: "[~@4 [c#5,f5,f#5,a#5]@2 ~@2 [b3,f#4,f#5]@16 [g#4,c#5,f5]@8 ~@2 c#6@6 [g#3,f#5]@15 ~ d#5@4 [c#5,f5]@4, ~@4 a#4@7 ~ a#3@7 ~@9 c#4@3 ~, ~@2 d#5@3 ~@11]/4", // F#maj7 B5 C# G#7 C#
U: "[[d#5,f#5]@4 [c#5,f5]@4 ~@10 f#5@6 ~@12 [c#4,f#4]@4 [g#2,f#3,b3,f#4]@16 d#4@7 ~, ~@2 f#4@7 ~@7, ~@8 [a#4,d#5]@16 c#5@17 ~@23]/4", // D#m C# F#5 G#m7 D#5
V: "[~@8 [f#3,b3,d#4,f#4]@3 [f#3,c#4,f4] ~@2 [g#3,b3,d#4]@9 ~ [b3,d#4,f#4]@15 ~ [a#3,c#4,f#4]@14 ~@2 [g#3,a#3,c#4,g#4]@15 ~ [d#4,f#4]@3 f4@3 [b3,d#4]@10 [g#3,c#4]@8, ~@40 a#4@16 f4@13 ~@27]/6", // B F#maj7 G#m B F# A#m7 D#m B …
W: "[~@7 [f#3,a#3,c#4]@4 [d#3,f3,g#3,c4]@4 [c#3,d#3,f3,g#3]@4 [d#3,f#3,a#3,c#4]@4 [f#3,a#3,c#4,f4]@4 [f3,g#3,c4,d#4]@4 [g#3,c4]]/4", // F# Fm7 C# D#m7 F#maj7 Fm7 G#
X: "[~@6 [d#3,f#3] ~ [d#4,f#4]@16 ~@16 [g#3,f4,g#4]@8, ~@3 a#3@16 ~@5, ~ c#4@3 [d#4,f#4,a#4]@4, ~ [f#3,b3]@4 ~]/3", // D#m C# D#m B5
Y: "[~@8 f#3@3 f#3@3 [f#3,g#3,b3,d#4]@10 [f#3,f#4]@16 [a#3,c#4]@16 ~@32 c#4@16 [b3,d#4,f#4]@8, ~ f#4@2 ~@6 f#4@4 ~, ~@4 [b3,d#4]@3 ~@5 [g#3,b3,d#4]@16 [g#3,a#3,c#4,g#4]@16 g#3@12, ~@11 f4@32 ~@13 f4@19 f4@32 ~@5, ~@11 c#4@29 [f#3,f#4,a#4]@32 d#4@6 [b3,d#4]@26 ~@8]/7", // G#m7 F# A#m B G#m A#m7 F# B
Z: "[~@40 f#3@3 f#3@3 [g#3,b3,d#4]@10 f#4@16 [a#3,c#4]@16 ~@32 [g#3,c#4]@8, ~@4 [d#4,f#4,a#4]@16 f#4@3 f#3@13 [f#3,f#4,a#4]@16 d#4@3 [b3,d#4]@9, ~@3 g#4@4 [g#3,b3,d#4]@4 [g#3,a#3,c#4,g#4]@4 ~, ~@24 [g#3,f4]@19 f4@32 ~@13 f4@19 f4@21, ~@40 [b3,d#4]@3 c#4@29 ~@32 f#4@24]/8", // G#m A#m C#5 D#m F# B G#m A#m7 …
AA: "~ [f#3,b3,d#4,f#4]", AB: "~ [d#4,f#4,a#4]",
AC: "[~@15 [b3,d#4]@5 f#4@8 [a#3,c#4]@8 ~@16 [g#3,c#4]@12, ~@4 g#4@11 g#3@16 ~@5 [g#3,a#3,c#4,g#4]@16 ~@12, ~@8 g#3@19 f4@32 ~@13 f4@19 f4@32 ~@5, ~@8 f4@16 [b3,d#4]@3 c#4@13 [b3,d#4]@32 ~@16 f#4@32 ~@8, ~@12 f#4@3 f#3@13 [f#3,f#4,a#4]@16 d#4@3 d#4@16 ~]/8", // B A#m C#5 A#m7 B F#
})).s("gm_epiano1").gain(0.2)
// chords · epiano1 · "E.PIANO 1" · soft notes
const epiano1_soft = note(`<
~@4 A B@2 ~@3 C D ~ E F G ~ H I E ~@2 J K L@4 ~@4 M@2 ~ C D ~ E F G ~ H I E ~@2 J K N@4 ~@4 M@2 ~ C D ~ O P@3 Q@4 E F
G ~ H I E ~@2 J K L@4 ~@8 R@2 S@3 ~@5 T@4 ~@4 U@5 ~@4 V@3 ~@7
>`.pickRestart({
A: "~@7 d#3@7 ~@2", B: "[~@7 b3@4 ~@5]/2", C: "~@4 f#5@2 ~@5 f#5 ~@4", D: "~@8 c#5@2 ~ f#5 ~@4", E: "~@11 f#5 ~@4",
F: "~@6 f#5 ~ c#5@2 ~@6", G: "~@2 c#5 ~@13", H: "~@2 f#5 ~@13", I: "~@4 f#5 ~@3", J: "~@4 c#5@3 ~@4 f#5 ~@4",
K: "~@2 a#5 ~@13", L: "[~@8 c#4@13 ~@3 c#4@15 ~ c#4@12 ~@7 g#3 ~@4, ~@24 b2@13 ~@27]/4", M: "[~@8 c#3@13 ~@11]/2",
N: "[~@8 c#4@13 ~@3 c#4@15 ~ c#4@12 ~@12, ~@24 b2@13 ~@27]/4", O: "~@6 c#5 ~@9", P: "[~@4 g#4 ~ c#5@18 b4@13 ~@11]/3",
Q: "[~@11 a#2 d#4@8 a#4@6 ~@6, ~@8 [a#3,g#4]@17 ~@39]/4", R: "[~@15 d#3@7 ~@10]/2",
S: "[~@8 c#4@16 c#4@19 g#3@3 ~@2]/3", T: "[~@8 c#4@16 c#4@16 c#4@19 g#3@3 ~@2]/4",
U: "[~@24 c#4@32 c#4@19 ~@5, ~ c#3@4 ~@5]/5", V: "[~ c#3@4 ~]/3",
})).s("gm_epiano1").gain(0.1)
// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~ A B@2 C D E@2 F G H I J G H I J G H I J G H I K L M N O L P Q@3 G H I J G H I J G H I J G H I K R S T S U V W@3 G H
I X Y Z AA AB AC AD AE AF G H I J G H I J G H I K L M N O L P AG@3 AH AI AH AJ L M N O L P AK@3 L M N O L P AL@3 L M N
O L P AM@3 ~@8
>`.pickRestart({
A: "~@4 d#4@2 f#4@2 ~@2 c#4@2 d#4@2 f#4 ~, ~@3 c#4@2 ~@11",
B: "[~@4 d#4@2 f#4 ~@3 g#4 ~ f#4 g#4 f#4@4 c#4@2 d#4@2 f#4 ~@3 c#4@2 d#4@2 f#4 ~]/2",
C: "~@4 d#4@2 f#4 ~@3 g#4 ~ f#4 g#4 f#4@2", D: "~@2 c#4@2 d#4@2 f#4 ~@3 c#4@2 d#4@2 f#4 ~",
E: "[~@2 c#4@2 d#4@2 f#4 ~@3 g#4 ~ f#4 g#4 f#4@17 ~]/2", F: "~@14 d#4 ~", G: "c#4!2 ~ c#4!5 ~@2 f4 ~ d#4 ~@2 d#4",
H: "c#4!3 d4 d#4 ~@9 d#4 ~", I: "c#4!2 ~ c#4!2 ~ c#4!2 ~@2 f4 ~ d#4 ~@3", J: "c#4!2 ~ d4 d#4 ~@9 d#4 ~",
K: "c#4!2 ~ d4 d#4 ~@9 g#3 a3", L: "a#3 ~ a#3 ~ g#3 f#3 d#3 ~@3 a#3 ~@3 a#3 ~",
M: "~@2 a#3 ~@3 a#3 ~ a#3 ~ g#3 a#3 d#4 ~@2 a3, ~@7 g#3", N: "a#3 ~ a#3 ~ a#3@2 g#3 a#3 ~@2 a#3 ~@3 a#3 ~",
O: "g#3!2 f#3 ~ d#3 ~ g#3 a#3 ~@7 a3, ~@7 g#3", P: "~@2 a#3 ~@3 a#3 ~@3 a#3 ~ g#3 ~ a#3 d#4",
Q: "[~@2 a#3 ~ a#3 ~ g#3 a#3 [b3,d#4,f#4]@2 ~ [a#3,f4] ~@2 [g#3,b3,d#4]@6 ~@4 [d#4,f#4,b4]@13 ~@9 d#4 ~]/3", // B A#5 G#m B
R: "a#3 ~ a#3 ~ g#3 f#3 d#3 ~ a#3 ~ g#3 a#3 d#4 ~ g#3 a3", S: "a#3 ~ a#3 ~ a#3@2 g#3 a#3 ~@2 g#3 a#3 d#4 ~ g#3 a3",
T: "a#3 ~ a#3 ~ a#3@2 g#3 a#3 ~@2 g#3 a3 a#3 d#4 g#3 [a3,a#3]", // A#maj7
U: "a#3 ~ a#3 ~ a#3 ~ g#3 a#3 ~@2 g#3 a3 d#4 ~ g#3 a#3", V: "d#4 ~ a#3 ~ a#3@2 g#3 a#3 ~@2 g#3 ~ d#4 ~ g#3 a3",
W: "[a#3 ~ a#3 ~ a#3 a3 g#3 ~ [g#3,b3,d#4]@2 ~ [f#3,a#3,c#4] ~@2 [g#3,b3,d#4]@7 ~@3 [f#3,b3,d#4]@13 ~@9 d#4 ~]/3", // G#m F# G#m B
X: "c#4!2 ~ d4 d#4 ~@3 [a#3,d#4,f#4]@2 ~ d#4 ~@4", // D#m
Y: "[a#3,d#4] ~ [d#4,f#4] ~ [a#3,d#4,f#4] ~@3 [c#4,f4]@2 ~ [c#4,f4] ~ [g#3,c#4,f4] ~@2", // D#5 D#m C#
Z: "[g#3,c#4,f4] ~ [c#4,f4] ~ [g#3,c#4,f4] ~@3 [f#3,b3,d#4]@2 ~ [f#3,b3,d#4] ~@3 f#3", // C# B
AA: "[f#3,b3,d#4] ~ [f#3,b3,d#4] ~ [f#3,b3,d#4] ~@3 [f3,b3,c#4]@2 ~ b3 ~@4", // B C#7
AB: "[f3,b3,d#4] ~ [f3,b3,d#4] ~ [f3,b3,d#4] ~@3 [a#3,d#4,f#4]@2 ~ [a#3,d#4,f#4] ~@3 a#3", // Fm7b5 D#m
AC: "[a#3,d#4,f#4] ~ [a#3,f#4] ~ [a#3,d#4] ~@3 [g#3,c#4,f4]@2 ~ [g#3,c#4,f4] ~@3 g#3", // D#m D#5 C#
AD: "[g#3,c#4,f4] ~ [c#4,f4] ~ [g#3,c#4,f4] ~@3 [f#3,b3,d#4]@2 ~ [f#3,b3,d#4] ~@4", // C# B
AE: "[f#3,b3,d#4] ~ [f#3,b3,d#4] ~ [f#3,b3,d#4] ~@3 a#3 ~@2 a#3 ~@3 a#3", AF: "~@2 a3 ~ a#3 ~ g#3 ~@7 d#4 ~",
AG: "[~@2 a#3 ~ a#3 ~ g#3 a#3 [b3,d#4,f#4]@2 ~ [a#3,f4] ~@2 [g#3,b3,d#4]@6 ~@4 [d#4,f#4,b4]@13 ~@7 d#4@2 f#4@2, ~@43 c#4@2 ~@3]/3", // B A#5 G#m B
AH: "~@2 c#4@2 d#4@2 f#4 ~@5 d#4@2 f#4 ~", AI: "~@2 g#4 ~ f#4 g#4 f#4@4 c#4@2 d#4@2 f#4 ~",
AJ: "~@2 g#4 ~ f#4 g#4 f#4@3 ~@5 g#3 a3",
AK: "[~@2 a#3 ~ a#3 ~ g#3 a#3 [d#4,f#4]@2 ~ [a#3,f4] ~@2 [b3,d#4]@6 ~@4 [f#4,b4]@13 ~@9 g#3 a3]/3", // D#m A#5 B B5
AL: "[~@2 a#3 ~ a#3 ~ g#3 a#3 [b3,d#4,f#4]@2 ~ [a#3,f4] ~@2 [g#3,b3,d#4]@6 ~@4 [d#4,f#4,b4]@13 ~@9 g#3 a3]/3", // B A#5 G#m B
AM: "[~@2 a#3 ~ a#3 ~ g#3 a#3 [d#4,f#4]@2 ~ f4 ~@2 [b3,d#4]@6 ~@4 [d#4,f#4,b4]@13 ~@11]/3", // D#m B
})).s("gm_electric_guitar_muted").gain(0.16).pan(0.2)
// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
~@2 A ~ B ~@4 C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@10 C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@10 C ~ C D E F G ~ H I J K C ~ C ~ C
~ C ~ C ~ C ~@10 L ~ M ~@36
>`.pickRestart({
A: "~ c#4 ~@6", B: "~@2 c#4@3 ~@11", C: "~@13 d#4 ~@2", D: "~@11 [a#3,f#4] ~@3 a#3",
E: "f#4 ~ a#3 ~@5 g#3@2 ~ g#3 ~@3 g#3", F: "~@2 g#3 ~@13", G: "~@8 d#4@2 ~ [f3,d#4] ~@3 f3",
H: "~@2 d#4 ~ f#4 ~@8 c#4 ~@2", I: "~@2 g#3 ~@12 f#3", J: "~@13 a#3 ~@2", K: "g#3!2 ~@5 f3 ~@8", L: "~@5 c#4 ~@2",
M: "~@10 c#4@3 ~@3",
})).s("gm_electric_guitar_muted").gain(0.08).pan(0.2)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
~@8 A B C D E B C D F G H G H G H G I J K L M N O P@3 B C D E B C D F G H G H G H G I J K L M N O P@3 B C D Q ~@7 A B
C D F G H G H G H G I J K L M N O R@3 ~@3 S J K L M N O T@3 J K L M N O U@3 J K L M N O R@3 ~@8
>`.pickRestart({
A: "~@10 [f#4,c5] ~@2 c#5 c5 [f#4,c#5]", B: "~@6 c5 ~@2 c#5 c5 [f#4,c#5] ~@4",
C: "[f#4,c#5] ~@3 [d#4,d#5]@2 ~@4 c5 ~ f#4 c#5 c5 [f#4,c#5]", D: "~@6 c5 ~@2 c#5 c5 c#5 ~ d#5 ~ [a#4,d#5]",
E: "d#5 ~ [a#4,d#5]!2 [a#4,d#5]@2 ~@4 [f#4,c5] ~@2 c#5 c5 [f#4,c#5]", // D#5 F#dim F#5
F: "d#5 ~ [a#4,d#5]!2 [a#4,d#5]@2 ~@6 c#5!2 c5 [f#4,c#5]", // D#5 F#5
G: "~@6 c5 ~@2 c#5 c5 [f#4,c#5] ~@3 [a#4,d#5], ~@4 f#4 ~@3", // F#5 D#5
H: "[a#4,d#5] ~ [a#4,d#5]!2 [a#4,d#5]@2 ~@6 c#5!2 c5 [f#4,c#5]", // D#5 F#5
I: "[a#4,d#5] ~ [a#4,d#5]!2 [a#4,d#5]@2 ~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~", // D#5 B
J: "~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4] ~@2 [d#4,f#4] ~", // B D#m
K: "~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [c#4,f4,a#4]@2 ~ [c#4,f4,a#4] ~@2 [c#4,f4,a#4] ~", // B A#m
L: "~@2 [c#4,f4,a#4] ~@2 [c#4,f4] ~@2 [b3,d#4,g#4] ~@2 [b3,d#4,g#4] ~@2 [b3,d#4,g#4] ~", // A#m C# G#m
M: "~@2 [b3,d#4,g#4] ~@2 [b3,d#4,g#4] ~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~", // G#m B
N: "~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~", // B
O: "~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [c#4,f4,a#4]@2 ~ [c#4,f4] ~@2 [c#4,f4,a#4] ~", // B A#m C# A#m
P: "[~@2 [c#4,f4] ~@2 [c#4,f4,a#4] ~@2 [d#4,f#4]@3 [g#3,c#4,f4] ~@2 [b3,d#4]@10 g#3@4 c#4@11 ~@3 [f#4,c5] ~@2 c#5 c5 [f#4,c#5], ~@8 a#3 ~@5 f#3@8 ~@26]/3", // C# A#m D#m C# B F#dim F#5
Q: "d#5 ~ [a#4,d#5]!2 [a#4,d#5]@2 ~@10", // D#5
R: "[~@2 [c#4,f4] ~@2 [c#4,f4,a#4] ~@2 [d#4,f#4]@3 [g#3,c#4,f4] ~@2 [b3,d#4]@10 g#3@4 c#4@11 ~@9, ~@8 a#3 ~@5 f#3@8 ~@26]/3", // C# A#m D#m C# B
S: "~@8 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~", // B
T: "[~@2 [c#4,f4] ~@2 [c#4,f4,a#4] ~@2 [d#4,f#4]@3 [g#3,c#4,f4] ~@2 [b3,d#4]@10 g#3@4 c#4@11 ~ [d#4,f#4,b4]@2 ~ [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~, ~@8 a#3 ~@5 f#3@8 ~@26]/3", // C# A#m D#m C# B
U: "[~@2 [c#4,f4] ~@2 [c#4,f4,a#4] ~@2 [d#4,f#4]@3 [c#4,f4] ~@2 [b3,d#4]@10 g#3@4 c#4@11 ~ [d#4,f#4,b4]@2 ~ [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~]/3", // C# A#m D#m C# B
})).s("gm_electric_guitar_clean").gain(0.16).pan(0.7)
// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
~@8 A B C D E B C D F G H G H G H G ~ I ~ J ~@2 K L ~ A B C D E B C D F G H G H G H G ~ I ~ J ~@2 K L ~ A B C D M ~@7
A B C D F G H G H G H G ~ I ~ J ~@2 K L ~@6 I ~ J ~@2 K L ~@2 I ~ J ~@2 K L ~@2 I ~ J ~@2 K L ~@10
>`.pickRestart({
A: "~@6 [f#4,c#5] ~", B: "~@9 f#4 ~@6", C: "~@12 c#5 f#4 ~@2", D: "~@8 f#4@2 ~ f#4 ~ a#4 ~@2",
E: "a#4 ~@11 [f#4,c#5]@2 ~@2", F: "a#4 ~@11 f#4!2 ~@2", G: "~@6 f#4 ~ c#5@2 ~@3 [a#4,d#5] ~@2", H: "~@12 f#4!2 ~@2",
I: "~@14 b4 ~", J: "~@5 a#4 ~@10", K: "~@11 a#4 ~@4", L: "~@2 a#4 ~@13", M: "a#4 ~@15",
})).s("gm_electric_guitar_clean").gain(0.08).pan(0.7)
// chords · brass section · "BRASS 1"
const brass_section = note(`<
~@38 A B C ~ A B C ~@4 D ~@3 E ~@3 F@2 ~@27 G ~@3 H@2 ~@2 I J ~@3 G ~@3 H@2 ~@3 G ~@3 H@2 K ~@2 G ~@13
>`.pickRestart({
A: "~@8 [d#4,c#5,f#5] [d#4,c#5,f#5,a#5] [c#4,e5,f5] [d#4,c#5,f#5,a#5] ~@4", B: "~ [f#4,g#4,a#4,d#5]@2 ~@5",
C: "~@14 [d#4,c#5,f#5,a#5] ~", D: "~@2 [d#4,d#5,d#6] ~@13", E: "[g#4,g#5]@3 [f#4,f#5]@3 [d#4,d#5] ~@9",
F: "[~@8 [d#4,f#4,a#4,c#5]@13 ~@11]/2", G: "[g#4,g#5]@3 [f#4,f#5] ~@2 [d#4,d#5] ~@9",
H: "[~@4 [b3,f#4,a#4,c#5]@7 ~@5, ~@2 d#4@3 ~@3]/2", I: "~@10 c#5@2 d#4 ~ [d#4,d#5]@2",
J: "[f#4,f#5] ~ [f#4,f#5]@2 [g#4,g#5]@2 [a#4,a#5] ~@9", K: "~@2 [f#4,b4,d#5,f#5] ~@13",
})).s("gm_brass_section").gain(0.35)
// chords · brass section · "BRASS 1" · soft notes
const brass_section_soft = note("<~@38 [~@8 a#5 ~ g#5 ~@5] ~@3 [~@8 a#5 ~ g#5 ~@5] ~@51 [~@10 c#4@2 d#5 ~@3] ~@36>")
.s("gm_brass_section").gain(0.15)
// chords · alto sax
const alto_sax = note("<~@46 A B@2 ~@8 C@2 ~@23 D@2 E@2 D@2 E@2 C@2 ~@11 C@2 ~@7 C@2 ~@17>".pickRestart({
A: "~@7 [d#4,g#4]", B: "[~@2 [d#4,g#4]@2 [c#4,f#4] [a#3,d#4] [g#3,c#4] [f3,a#3] ~@6 [g#3,c#4]@6 ~@12]/2",
C: "[~@2 [d#4,f#4]@3 ~@3]/2", D: "[~@14 d#4 c#4@3 d#4 ~@13]/2", E: "[~@10 d#4 ~ g#4 ~ d#4 c#4@3 d#4 ~@13]/2",
})).s("gm_alto_sax").gain(0.22)
// … 92 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.