0:00/0:00
// One Day In Your Life — Jackson Michael
// 83 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 29, 4/4 at bar 29, 2/4 at bar 61, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 86 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(83/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
const piano = note(`<
~ A B@4 C D E F G H I J C K L M N O P Q R S T H U@2 V W X Y Z AA V AB AC V AD AE AF AG AH AI AJ AK V W X Y Z AL V AB
AM AN AO Z AP AQ AR AS AT AU AV AW AX AY AZ BA@2 ~@3 BB BC BD BE BF BG BH BI BJ BK@3
>`.pickRestart({
A: "~@14 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~", // B
B: "~@2 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~", // B
C: "~@2 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~", // B E
D: "~@2 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~", // E D#m
E: "~@2 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a#5] ~@3 [d#5,f#5,a5] ~", // D#m D#dim
F: "~@2 [d#5,f#5,a5] ~@3 [d#5,f#5,a5] ~@3 [d#5,f#5,a5] ~@3 [d#5,f5,g#5] ~@3 [d#5,f5,g#5] ~@3 [d#5,f5,g#5] ~@3 [d#5,f5,g#5] ~@3 [d#5,f5,g#5] ~", // D#dim Fm7
G: "~@2 [d#5,f5,g#5] ~@3 [d#5,f5,g#5] ~@3 [d#5,f5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~", // Fm7 E
H: "~@2 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~", // E F#7
I: "~@2 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [b4,e5,f#5] ~@3 [b4,e5,f#5] ~@3 [b4,e5,f#5] ~@3 [b4,e5,f#5] ~@3 [b4,d#5,f#5] ~", // F#7 Bsus4 B
J: "~@2 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~", // B
K: "~@2 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~", // E F#
L: "~@2 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~", // F# G#7
M: "~@2 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~", // G#7 E
N: "~@2 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~", // E F#m7
O: "~@2 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~", // F#m7 B
P: "~@2 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~", // B C#m
Q: "~@2 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~", // C#m C
R: "~@2 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [b4,d#5,f#5] ~", // C F#7 B
S: "~@2 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~", // B G#m
T: "~@2 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~", // G#m E
U: "[~@2 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [f#4,b4,c#5]@16 ~ [f#4,a4,c#5,e5]@17 [f#4,b4,d#5,f#5]@16]/2", // F#7 F#sus4 F#m7 B
V: "[d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3", // B
W: "[e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3", // E
X: "[c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3", // F#
Y: "[d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3", // G#7
Z: "[b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3", // E
AA: "[b4,e5,f#5] ~@3 [b4,e5,f#5] ~@3 [b4,e5,f#5] ~@3 [b4,e5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3", // Bsus4 B
AB: "[c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3", // C#m
AC: "[a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3", // D
AD: "[c5,d#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [c5,d#5,g#5] ~@3", // G#
AE: "[c#5,f5,g#5] ~@3 [c#5,f5,g#5] ~@3 [c#5,f5,g#5] ~@3 [c#5,f5,g#5] ~@3 [c#5,f5,g#5] ~@3 [c#5,f5,g#5] ~@3 [c#5,f5,g#5] ~@3 [c#5,f5,g#5] ~@3", // C#
AF: "[c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3", // Cm
AG: "[c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,f#5] ~@3 [c5,d#5,f#5] ~@3 [c5,d#5,f#5] ~@3 [c5,d#5,f#5] ~@3", // Cm Cdim
AH: "[a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3", // Dm
AI: "[g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3", // C#
AJ: "[g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3", // G#sus4
AK: "[g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c#5,d#5] ~@3 [g#4,c5,d#5] ~@3 [g#4,c5,d#5] ~@3 [g#4,c5,d#5] ~@3 [g#4,c5,d#5] ~@3", // G#sus4 G#
AL: "[e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3", // F#m7
AM: "[c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3 [c5,e5,g5] ~@3", // C
AN: "[c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3", // F#7 B
AO: "[b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3 [b4,d#5,g#5] ~@3", // G#m
AP: "[c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3 [c#5,e5,f#5] ~@3", // F#7
AQ: "[f#4,b4,d#5]@15 ~ [f#4,a4,c#5,e5]@16", // B F#m7
AR: "[f#4,b4,d#5,f#5]@16 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3", // B
AS: "[d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3", // B E
AT: "[e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [e5,g#5,b5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3", // E F#
AU: "[c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [c#5,f#5,a#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3", // F# G#7
AV: "[d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [d#5,f#5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3", // G#7 E
AW: "[b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [b4,e5,g#5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3", // E F#m7
AX: "[e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [e5,f#5,a5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3", // F#m7 B
AY: "[d#5,f#5,b5] ~@4 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@4 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~", // B C#m
AZ: "~@2 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@3 [c#5,e5,g#5] ~@4 [c#5,e5,g#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5]", // C#m D
BA: "[~@4 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [a4,d5,f#5] ~@3 [f#4,a4,c#5,e5]@18 ~ [f#4,b4,d#5,f#5]@18 ~@7]/2", // D F#m7 B
BB: "~@27 [d#5,f#5,b5] ~@3 [d#5,f#5,b5]", // B
BC: "~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5]", // B F#m
BD: "~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@4 [d#5,f#5,b5] ~@3", // F#m B
BE: "[d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [c#5,f#5,a5] ~@3", // B F#m
BF: "[c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [d#5,f#5,b5] ~@3", // F#m B
BG: "[d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@4 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [c#5,f#5,a5] ~@2", // B F#m
BH: "~ [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [d#5,f#5,b5] ~@2", // F#m B
BI: "~ [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@3 [d#5,f#5,b5] ~@4 [c#5,f#5,a5] ~", // B F#m
BJ: "~@2 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@4 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@3 [c#5,f#5,a5] ~@4 [c#5,f#5,a5] ~@3", // F#m
BK: "[[b4,d#5,f#5]@3 ~]/3", // B
})).s("gm_piano").gain(0.25).pan(0.3)
// bass · electric bass finger
const bass = note(`<
~@3 A@7 B@3 C@6 D@6 E@3 F G H I J K L M N O P Q R S T@2 U V W G H X Y K Z AA@2 AB F G AC AD@2 AE AF AG AH AI AJ AK@2
AL@2 ~@3 AM@2 AN@7 AO@3
>`.pickRestart({
A: "[~@14 e1@9 ~@3 e1@4 e1@13 ~@3 e1@9 ~@3 e1@4 e1@13 ~@3 e1@9 ~@3 e1@4 e1@9 ~@3 e1@4 c#2@11 ~ c#2@4 c#2@9 ~@3 c#2@4 d#2@11 ~ d#2@4 d#2@11 ~ d#2@4 g#2@9 ~@3 g#2@4 g#2@11 ~ g#2@4 c#2@9 ~@3 c#2@4 c#2@2]/7",
B: "[~@10 c#2@4 c#2@9 ~@3 c#2@4 c#2@11 ~ c#2@4 f#1@9 ~@3 f#1@4 f#1@11 ~ f#1@4 b1@9 ~@3 b1@4 b1@2]/3",
C: "[~@2 b1@4 c#2@4 b1@4 e1@9 ~@3 e1@4 e1@9 ~@3 e1@4 c#2@11 ~ c#2@4 c#2@9 ~@3 c#2@4 d#2@9 ~@3 d#2@4 d#2@9 ~@3 f#2@2 g2@2 g#2@9 ~@3 g#2@4 g#2@9 ~@3 g#2@4 c#2@11 ~ c#2@4 c#2@9 ~@3 c#2@4 b1@9 ~@3 b1@4 b1@2]/6",
D: "[~@10 b1@4 e2@9 ~@3 e2@4 e2@11 ~ e2@4 a1@9 ~@3 a1@4 a1@11 ~ a1@4 a1@11 ~ a1@4 a1@9 ~@3 a1@4 f#1@11 ~ f#1@4 b1@11 ~ b1@4 e1@9 ~@3 e1@4 e1@9 ~@3 e1@4 c#2@9 ~@3 c#2@4 c#2@2]/6",
E: "[~@10 c#2@4 f#1@11 ~ f#1@4 f#1@11 ~ f#1@4 ~ b1@15 ~ b1@32 ~]/3", F: "e1@9 ~@3 e1@4 e1@9 ~@3 e1@4",
G: "c#2@9 ~@3 c#2@4 c#2@9 ~@3 c#2@4", H: "d#2@9 ~@3 d#2@4 d#2@9 ~@3 d#2@4", I: "g#2@9 ~@3 g#2@4 g#2@9 ~@3 g#2@4",
J: "c#2@11 ~ c#2@4 c#2@9 ~@3 c#2@4", K: "b1@9 ~@3 b1@4 b1@9 ~@3 b1@4", L: "e2@9 ~@3 e2@4 e2@11 ~ e2@4",
M: "a1@9 ~@3 a1@4 a1@11 ~ a1@4", N: "d2@11 ~ d2@4 d2@11 ~ c#2@4", O: "b1@11 ~ b1@4 b1@9 ~@3 g#1@4",
P: "c#2@7 ~@5 c#2@4 c#2@7 ~@5 c2@4", Q: "a#1@9 ~@3 a#1@4 a#1@5 ~@3 a#1@7 ~", R: "c2@9 ~@3 c2@4 c2@9 ~@3 d#2@2 e2@2",
S: "f2@11 ~ f2@4 f2@7 ~ f1@7 ~", T: "a#1@9 ~@3 a#1@4 a#1@9 ~@3 a#1@4", U: "d#2@9 ~@3 d#2@4 d#2@11 ~ d#2@4",
V: "g#1@15 ~ g#1@15 ~", W: "e2@11 ~ e2@4 e2@9 ~@3 e2@4", X: "g#2@9 ~@3 g#2@4 g#2@7 ~ g#2@4 g#2@4",
Y: "c#2@11 ~ c#2@4 c#2@9 ~@3 c#2@2 c2@2", Z: "e2@9 ~@3 e2@4 e2@9 ~@3 e2@4", AA: "a1@9 ~@3 a1@4 a1@9 ~@3 a1@4",
AB: "f#1@9 ~@3 f#1@4 b1@9 ~@3 b1@4", AC: "f#1@9 ~@3 f#1@4 f#1@9 ~@3 f#1@4", AD: "[b1@15 ~ b1@29 ~@3 e2@9 ~@3 e2@4]/2",
AE: "e2@7 ~ d#2@7 ~ c#2@9 ~@3 c#2@4", AF: "c#2@7 ~@5 c#2@4 d#2@9 ~@3 d#2@4", AG: "d#2@9 ~@3 d#2@4 g#2@9 ~@3 g#2@4",
AH: "g#2@9 ~@3 g#2@4 c#2@9 ~@3 c#2@4", AI: "c#2@9 ~@3 c#2@4 b1@9 ~@3 b1@4", AJ: "b1@9 ~@3 b1@4 e2@9 ~@3 e2@4",
AK: "[e2@7 ~@2 e2@4 e2@4 a1@9 ~@4 a1@4 a1@5 ~@3 a1@7 ~@2 d2@11 ~@2]/2", AL: "[d2@4 d2@7 ~ c#2@7 ~ b1@36 ~@8]/2",
AM: "[~@27 e2@9 ~@3 e2@4 e2@5 ~@3 e2@7 ~ b1@5]/2",
AN: "[~@7 b1@4 b1@5 ~@4 b1@7 ~ e2@9 ~@3 e2@4 e2@13 ~@3 e2@11 ~ e2@4 e2@13 ~@3 e2@9 ~@4 e2@4 e2@7 ~ e2@7 ~ b1@9 ~@3 b1@4 b1@7 ~ b1@7 ~ e2@9 ~@3 e2@4 e2@5 ~@4 e2@7 ~ e2@9 ~@3 e2@7 ~@2 e2@7 ~@2 b1@4]/7",
AO: "[e1@73 ~@23]/3",
})).s("gm_electric_bass_finger").gain(0.45)
// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~@3 A@8 B@8 C@8 ~ D ~ E ~ F ~ G H I J K@2 L M N K O P Q@2 R S Q T Q U V W X Q Y@2 ~ Z@2 AA AB@2 AC AD AE@3 ~@4 AF@2 AG
AH AI@5 AJ@2
>`.pickRestart({
A: "[~@7 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 e4@2 g#4@2 b4@2 e4@2 g#4@2 b4@2 e4@2 g#4@2 f#4@2 a#4@2 c#5@2 f#4@2 a#4@2 c#5@2 f#4@2 a#4@2 c5@2 f#4@2 a#4@2 c5@2 f#4@2 a4@2 c5@2 f#4@2 f4@2 g#4@2 c5@2 f4@2 g#4@2 c5@2 f4@2 g#4@2 e4@2 g#4@2 b4@2 e4@2 g#4]/8",
B: "[~ b4@2 e4@2 g#4@2 f#4@2 a4@2 c#5@2 f#4@2 a4@2 c#5@2 f#4@2 a4@2 c#5@2 e4@2 a4@2 c#5@2 d#4@2 a4@2 c#5@2 d#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 f#4@2 g#4@2 b4@2 e4@2 g#4@2 b4@2 e4@2 g#4@2 b4@2 e4@2 g#4@2 f#4@2 a#4@2 c#5@2 f#4@2 a#4@2 c#5@2 f#4@2 a#4@2 c5@2 f#4@2 a#4@2 c5@2 f#4@2 a4@2 c5@2 f#4@2 e4@2 g#4@2 b4@2 e4@2 g#4@2 b4@2 e4@2 g#4@2 e4@2 f#4@2 a4@2 e4@2 f#4]/8",
C: "[~@2 a4@4 e4@4 f#4@4 f#4@4 g#4@4 b4@4 f#4@4 g#4@4 b4@4 f#4@4 g#4@4 e4@4 g#4@4 a4@4 e4@4 g#4@4 a4@4 e4@4 g#4@4 e4@4 g4@4 a4@4 e4@4 g4@4 a4@4 e4@4 g4@4 e4@4 f#4@4 a4@4 e4@4 f#4@4 a4@4 b4@4 f#4@4 d#4@2 e4@2 b4@2 b4@2 b4@2 g#4@19 ~@3 e4@2 f#4@2 g#4@2 c#5@2 c#5@23 ~ e4@2 c#5@2 c#5@2 e4@2 c#5@22 ~@2 a4 a#4 b4@12 ~@4]/8",
D: "~@4 b4@4 g#4@4 g#4@19 ~", E: "~@4 a#4@2 f#4@2 f#4@19 ~@5", F: "b4@2 g#4@2 g#4@21 ~@7", G: "b4@2 g#4@2 b4@19 ~@9",
H: "c#5@2 a4@2 c#5@25 ~@3", I: "a4@2 f#4@2 a4@19 ~@3 f#4@2 a4@4", J: "b4@31 ~",
K: "~@4 [c#4,f4,g#4] ~@7 [c#4,f4,g#4] ~@3", L: "~@4 [d#4,g4,a#4] ~@7 [d#4,g4,a#4] ~@3",
M: "~@4 [g4,a#4,c5] ~@7 [f4,a4,c5] ~@3", N: "~@4 [d4,f4,a#4] ~@7 [d4,f4,a#4] ~@3",
O: "~@4 [c#4,d#4,f#4] ~@7 [c#4,d#4,f#4] ~@3", P: "~@4 [c#4,d#4,g#4] ~@7 [c4,d#4,g#4] ~@3",
Q: "~@4 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@3", R: "~@4 [d#4,f#4,a#4] ~@7 [d#4,f#4,a#4] ~@3",
S: "~@4 [c4,d#4,g#4] ~@7 [c4,d#4,f#4] ~@3", T: "~@4 [c#4,e4,a4] ~@7 [c#4,e4,a4] ~@3",
U: "~@4 [c#4,e4,g#4] ~@7 [c#4,e4,g#4] ~@3", V: "~@4 [c4,e4,g4] ~@7 [c4,e4,g4] ~@3",
W: "~@4 [c#4,e4,f#4] ~@7 [b3,d#4,f#4] ~@3", X: "~@4 [b3,d#4,f#4] ~@7 [b3,d#4,f#4] ~@3",
Y: "[~@4 [a#3,c#4,f#4] ~@7 [a3,c#4,f#4] ~@3 f#4@8 ~@8, ~@31 [b3,d#4]@31 ~@2]/2", // F# F#m B
Z: "[~@8 e5@2 d#5@2 c#5@2 b4@2 a4@2 g#4@27 ~@11 c#5@2 b4@2 a#4@2 g#4@2]/2",
AA: "f#4@2 f#4@11 ~@7 e4@2 d#4@2 d4@2 d#4@4 g#4@2",
AB: "[b4@9 ~ g#4@2 f#4@2 e4@2 d#4@2 e4@2 c#4@9 ~@3 g#4@7 ~ g#3@2 a3@2 b3@2 c#4@2 e4@9 ~@2 c#4@2 e4@2 ~, ~@31 [c#4,e4]@7 ~@26]/2", // C#m
AC: "d#4@13 ~@11 f#4@2 b4@2 e4@2 b4@2", AD: "d#4@8 ~@7 c#4",
AE: "[g#4@2 b3@2 b3@12 ~@3 e4@2 f#4@2 ~@2 f#4@2 a4@8 ~ d4@2 a4@2 e4@10 ~@2 [d#4,f#4]@38 ~@6, ~@23 e4@4 ~@24 b3@38 ~@7]/3", // D#m
AF: "[~ g#3@2 b3@4 d#4@2 f#4@6 b4@2 g#4@6 ~@2 g#4@2 a4@4 f#4@2 e4@4 c#4@12 a3@2 b3@4 e4@4 ~ d#4@2 b3@2]/2",
AG: "g#3@2 b3@14 ~@2 g#3@2 b3@2 d#4@2 ~ f#4@2 ~ f#4@4", AH: "~ e4 e4@2 c#4!2 ~ a3@2 b3@3 e4@2 ~@2",
AI: "[b4@4 ~ a4@4 g#4@4 g#4@22 ~@2 f#4@4 a4@4 c#5@8 e5@8 g#5@8 d#5@24 ~ f#5@8 c#5@17 d#5@8 ~@11 e5@2 e5@2 b4@2 b4@2 ~ g#4@2 ~ g#4@3 e4@2 ~@2 e4@3, ~@127 e4@26 ~@7, ~@128 g#4@19 ~@13]/5",
AJ: "[~ c#4@4 ~ c#4@6 ~ b3@25 ~@26]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.3).pan(0.7)
// chords · synth strings 1
const synth_strings_1 = note(`<
~@5 A B@8 C@8 D@6 E F G@3 H E I J E K L M@2 N O P Q R S T@2 U V E W X Y E F Z AA AB@4 AC@6 AD AE@3 AF@2 AG@7 AH@3
>`.pickRestart({
A: "~@7 [g#3,b3,e4]@9", // E
B: "[~@3 e4@4 [g#3,b3,e4]@16 [a#3,c#4]@16 a#3@8 a3@8 [a#3,c#4,f4]@16 [b3,c#4,e4]@16 [f#3,a3,c#4]@16 [c#4,e4]@8 [d#4,f#4]@8 [d#4,f#4,b4]@9, ~@23 f#4@32 ~@73, ~@39 d#4@16 ~@48 b3@16 ~@9]/8", // E A#m C#m7 F#m C#m D#m B
C: "[~@7 [e4,g#4,b4]@16 [f#4,a#4]@16 c4@16 [e4,b4]@16 [e4,f#4,a4]@16 [e4,g#4,b4]@16 [c#4,e4,g#4]@16 [c4,e4,g4]@9, ~@23 d#4@32 ~@73, ~@39 g#4@32 ~@57]/8", // E F# E5 F#m7 E C#m C
D: "[~@14 [c#4,e4,f#4]@16 [b3,d#4,f#4]@16 [d#4,f#4,b4]@32 [e4,g#4,b4]@32 b3@16 a#3@16 [b3,d#4,f#4]@17 [b3,e4,f#4]@17 [b3,d#4,f#4]@16, ~@55 [c#4,f#4]@16 ~@25]/6", // F#7 B E B Bsus4 B F#5
E: "[d#4,f#4,b4]", F: "[e4,g#4,b4]", G: "[[f#4,a#4] c4 [e4,b4], d#4@2 ~, ~ g#4@2]/3", H: "[b3,e4,f#4] [b3,d#4,f#4]",
I: "[c#4,e4,g#4]", J: "[d4,f#4,a4]", K: "c#4@3 c#4, [f3,g#3]", L: "[f3,g#3,c#4]",
M: "[[g3,a#3]@2 g3 f#3, d#4, ~ c4]/2", N: "[a#3,d4,f4]", O: "[g#3,c#4,f4]", P: "[c#4,d#4,f#4]",
Q: "[c#4,d#4] [c4,d#4], g#3", R: "e4@3 e4, [g#3,b3]", S: "[g#3,e4], b3@7 ~", T: "[[a#3,c#4]@2 a#3 a3, f#4, ~ d#4]/2",
U: "[b3,e4,g#4]", V: "[c#4,f#4,a4]", W: "[b3,g#4], [c#4,e4] ~", X: "[c4,e4,g4]", Y: "[c#4,e4,f#4] [b3,d#4,f#4]",
Z: "b3 a#3, [c#4,f#4]", AA: "[b3,d#4,f#4] [b3,e4,f#4]",
AB: "[[b3,d#4,f#4]@2 e4@3 e4 [g#3,b3,e4]@4 [a#3,c#4]@4 [a#3,d#4]@2, ~ [g#3,b3]@2 ~@2 f#4@3]/4", // B E A#m D#5 G#m
AC: "[a3@16 [b3,e4,g#4]@32 [c#4,f#4,a4]@32 [d#4,f#4,b4]@33 [b3,c#4,e4,g#4]@33 ~ [a3,d4,f#4]@33 [b3,e4,f#4]@12]/6", // E F#m B C#m7 D Bsus4
AD: "~@7 [b3,d#4,f#4]@18 [g#3,b3,e4]@7", AE: "[~@13 [f#3,a3,c#4]@16 [g#3,b3,d#4]@16 [c#4,e4,f#4]@3]/3",
AF: "[~@27 [g#3,b3,e4]@32 [f#3,a3,c#4]@5]/2", // E F#m
AG: "[~@28 [g#3,b3,d#4]@32 [c#4,e4,f#4]@32 [g#3,b3,e4]@32 ~ [f#3,a3,c#4]@32 [g#3,b3,d#4]@32 ~ [c#4,e4,f#4]@34]/7", // G#m F#7 E F#m G#m F#7
AH: "[[b3,d#4,f#4]@3 ~]/3", // B
})).s("gm_synth_strings_1").gain(0.25)
// other · string ensemble 1
const string_ensemble_1 = note("<~@38 A B C D E F G H I@2 J K L M N@2 O P Q ~@3 R@6 S@3 ~@17>".pickRestart({
A: "c#6@10 d#6@3 g#6@3", B: "f6", C: "d#6@3 c6", D: "a#5@16 a5@8 ~ g5@2 g#5 ~ c6@2 c#6, ~@14 a#5 ~", E: "d6",
F: "c#6@4 f6@6 d#6@3 c#6@3", G: "d#6 a#5", H: "c#6@16 c6@8 g#5@4 ~ [d#5,f5] [f#5,g5,g#5] [a#5,c6,c#6]",
I: "[e6@2 b5@2 a5@2 g#5@2 g#5@12 g#5@2 a5@2 b5@3 a5@3 g#5@2]/2", J: "c#6 d#6",
K: "c6@16 g#5@8 c#5@4 [a#4,b4] [c#5,d#5,e5] [f5,f#5,g#5] [a#5,b5]", L: "c#6@3 d#6", M: "e6@5 b5 b6@2",
N: "[g#6 g6 g#6@18 g#6@2 a6@2 b6@3 a6@3 g#6@2]/2", O: "a6@16 a5@5 g5@5 ~ e5@5", P: "c#5 c5", Q: "b4",
R: "[~@8 f#4@16 e4@16 f#4@16 g#4@12 g#5 a#5 b5 c6 c#6@12 d#6@4 e6@4 f#6@4]/6", S: "[e6@4 b6@4 g#6 g6 g#6@30 ~@8]/3",
})).s("gm_string_ensemble_1").gain(0.4)
// other · string ensemble 1 · soft notes · G#
const string_ensemble_1_soft = note("<~@41 [~@12 f5 ~@3] ~@3 [~@28 [g#4,a#4,c5] c#5 ~@2] ~@3 [~@27 f#4 g#4 ~@3] ~@36>")
.s("gm_string_ensemble_1").gain(0.2)
// other · french horn
const french_horn = note("<~@40 A B C D E F G H I J K ~@3 L M N@2 ~@28>".pickRestart({
A: "~@4 d#4@2 g4@2 a#4@3 c5@3 a#4@2", B: "a#4@2 a4 f4", C: "d5", D: "c#5",
E: "~@6 d#4@2 d#4@4 f#4@4 a#4@5 c#5@5 ~ a#4@5", F: "c#5 c5", G: "b4@6 f#4 b4", H: "g#4", I: "~ c#5 d#5@2",
J: "~ c5 d#5 g#4", K: "e5@7 ~", L: "~@8 c5@4 b4@4 a4@5 g4@5 ~ e4@5", M: "f#4 c5", N: "[b4@5 ~@3]/2",
})).s("gm_french_horn").gain(0.45).pan(0.3)
// other · harmonica
const harmonica = note("<A@6 ~@8 B@5 C@4 ~@5 D E F G H I J K L M ~@18 N O P@2 ~@10 Q R S T U@5 V W@3 X@3>".pickRestart({
A: "[~@15 e5@2 b4@2 a4@2 g#4@2 b4@62 ~@11]/6",
B: "[~@3 f#4@2 b4@2 g#4@16 ~@4 c#5@4 d#5@9 ~@3 c5@4 d#5@8 e5@12 d#5@4 c#5@4 d#5@4 c#5]/5",
C: "[~@3 e5@4 d#5@16 c#5@16 c5@4 e4@12 ~@9]/4", D: "~@6 f#4 b4", E: "g#4", F: "~ c#5 d#5@2", G: "~@4 c5@4 d#5@7 ~",
H: "c#5@3 d#5", I: "e5@2 c#5 e5", J: "d#5", K: "c#5", L: "~ f#5 a5 d6", M: "e6 d#6",
N: "b5@6 a5@2 g#5 a5 g#5@2 f#5@2 d#5@2", O: "e5 g#5", P: "[f#5@5 ~@3]/2", Q: "~@25 e5@4 b4@3",
R: "~ a4@4 g#4@4 g#4@23", S: "~ f#4@2 a4@2 c#5@4 e5@4 g#5@3", T: "~ d#5@12 f#5@3",
U: "[~@2 c#5@16 ~ d#5@8 e5@4 b4@4 a4@4 g#4@4 g#4@24 f#4@4 a4@4 c#5@8 e5@8 ~ d#5@12 b4@4 b4@16 c#5@8 f#5@24 e5@4]/5",
V: "b4 a4 g#4 g#4@5", W: "[~@5 f#4@4 a4@4 c#5@8 e5@8 g#5@8 d#5@24 ~ f#5@8 c#5@17 d#5@8 ~]/3", X: "[b4@37 ~@11]/3",
})).s("gm_harmonica").gain(0.4)
// chords · orchestral harp
const orchestral_harp = note("<~@13 A ~@13 B C ~@8 D E ~@6 B C ~@13 F ~@25>".pickRestart({
A: "~@6 [g#3,a3] [b3,c#4,d#4] [e4,f#4] [g#4,a4,b4] [a4,c#5,d#5,e5] [b4,c#5,d#5] [e5,f#5] [g#5,a5,b5] [c#6,d#6,e6] ~@17", // Amaj7 B Esus2 G#m A B Esus2 G#m …
B: "~@24 [g#3,a3] [b3,c#4,d#4] [e4,f#4,g#4] [a4,b4] [a4,c#5,d#5,e5] [b4,c#5,d#5] [e5,f#5,g#5] [a5,b5]", // Amaj7 B E Asus2 A B E Asus2
C: "[c#6,d#6,e6] ~@31", // C#m
D: "~@24 [f3,f#3] [g#3,a#3,c4] [c#4,d#4,f4] [f#4,g#4] [f#4,a#4,c5,c#5] [g#4,a#4,c5] [c#5,d#5,f5] [f#5,g#5]", // F#maj7 G# C# F#sus2 F# G# C# F#sus2
E: "[a#5,c6,c#6] ~@31", // A#m
F: "~@8 [g#3,a3] [b3,c#4,d#4] [e4,f#4,g#4] [a4,b4] [a4,c#5,d#5,e5] [b4,c#5,d#5] [e5,f#5,g#5] [a5,b5] [c#6,d#6,e6] ~@15", // Amaj7 B E Asus2 A B E Asus2 …
// … 93 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.