0:00/0:00
// Every Little Step — Bobby Brown
// 99 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 106 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(99/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(`<
~@10 A B C D A B C D E F G H E I J K L M N O A B P Q A B P Q R S T U V W J K L M N O A B P Q A B P Q X Y P Z X AA P AB
~@16 L M N O A B AC Q A B AC AD A B P AB A B P Q A B AE ~
>`.pickRestart({
A: "~@3 [b3,g#4,b4,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~@3 [b3,g#4,b4,d#5,f#5]@7", // G#m7
B: "~@3 [b3,g#4,b4,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~@4 [b3,d#4,f#4,a#4,d#5]@6", // G#m7 Bmaj7
C: "~@3 [d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,a#4,c#5]@2 ~ [b3,f#4,a#4]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@3 [b3,d#4,f#4,a#4,c#5]@7, ~@3 b3 ~@2 f#4 ~@2 [d#4,c#5] ~@14", // D#m7 Bmaj7 D#7
D: "~@3 [b3,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@10, ~@3 d#4 ~@5 b3 ~@14", // F# Bmaj7 D#m7 Bmaj7
E: "~@3 [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~@3 [f#3,b3,g#4,b4,d#5,f#5]@7", // G#m7
F: "~@3 [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~@4 [b3,d#4,f#4,a#4,d#5]@6, ~@12 f#3 ~@11", // G#m7 Bmaj7
G: "~@3 [f#4,a#4,c#5]@2 ~ [d#3,b3,d#4,a#4,c#5]@2 ~ [d#3,b3,a#4]@2 ~ [d#3,b3,d#4,f#4,a#4,c#5]@2 ~@3 [d#3,b3,d#4,f#4,a#4,c#5]@7, ~@3 [d#3,b3,d#4] ~@2 f#4 ~@2 [d#4,f#4,c#5] ~@14", // F# D#7 Bmaj7 D#m7 G#m D#m7
H: "~@3 [d#3,b3,f#4,a#4,c#5]@2 ~ [d#3,b3,d#4,f#4,a#4,c#5]@2 ~ [d#3,b3,d#4,f#4,a#4,c#5]@2 ~ [d#3,b3,d#4,f#4,a#4,c#5]@2 ~@10, ~@3 d#4 ~@20", // D#m7
I: "~@3 [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~@4 [b3,d#4,f#4,a#4,d#5]@6", // G#m7 Bmaj7
J: "~@3 [c#3,f#4,a#4,c#5]@2 ~ [c#3,b3,d#4,a#4,c#5]@2 ~ [c#3,b3,f#4,a#4]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@3 [c#3,b3,d#4,f#4,a#4,c#5]@7, ~@3 [b3,d#4] ~@2 f#4 ~@2 [d#4,c#5] ~@2 c#3 ~@11", // F# D#7 F# Bmaj7 D#m7 B D#7
K: "~@3 [c#3,b3,f#4,a#4,c#5]@2 ~ [c#3,b3,d#4,f#4,a#4,c#5]@2 ~ [c#3,d#4,f#4,a#4,c#5]@2 ~ [c#3,b3,d#4,f#4,a#4,c#5]@2 ~@10, ~@3 d#4 ~@5 b3 ~@14", // F# D#m7
L: "[b3,e4,g#4,b4,d#5]@11 ~", M: "[d#4,f#4,b4]@23 ~", N: "[e4,g#4,c#5]@11 ~ [f#4,a#4,d#5]@11 ~",
O: "[g#4,b4,d#5,f#5]@2 ~ [g#4,b4,d#5,f#5]@2 ~@7 [d#5,f#5]@2 ~ [g#4,d#5,f#5]@2 ~@7, ~@12 [g#4,b4] ~@2 b4 ~@8", // G#m7 D#m G#7 G#m
P: "~@3 [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,a#4,c#5]@2 ~ [b3,f#4,a#4]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@3 [b3,d#4,f#4,a#4,c#5]@7, ~@6 f#4 ~@2 [d#4,c#5] ~@14", // Bmaj7 D#7
Q: "~@3 [b3,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@10, ~@3 d#4 ~@20", // F# Bmaj7
R: "~@3 [f#3,b3,f#5]@2 ~ [f#3,b3,f#5]@2 ~ [f#3,b3,g#4,b4] ~@2 [f#3,g#4,b4,d#5,f#5] ~@4 [f#3,b3,g#4,b4,d#5,f#5]@7, ~@3 [g#4,b4,d#5] ~@2 [g#4,b4,d#5] ~@2 [d#5,f#5]@2 ~ b3@2 ~@10", // B5 G#m7 G#m D#m
S: "~@3 [b3,g#4,b4,d#5,f#5] ~@2 [b3,g#4,b4,d#5,f#5] ~@2 [f#3,d#5,f#5]@2 ~ [b3,g#4,b4,d#5,f#5]@2 ~@4 [b3,d#4,f#4,a#4,d#5]@6, ~@3 f#3@2 ~ f#3@2 ~ [b3,g#4,b4] ~@2 f#3 ~@11", // G#m7 D#m G#m7 Bmaj7 E
T: "~@3 [f#4,a#4,c#5]@2 ~ [d#3,b3,d#4,a#4,c#5]@2 ~ [d#3,b3,f#4,a#4]@2 ~ [d#3,b3,d#4,f#4,a#4,c#5]@2 ~@3 [d#3,b3,d#4,f#4,a#4,c#5]@7, ~@3 [d#3,b3,d#4] ~@2 f#4 ~@2 [d#4,c#5] ~@14", // F# D#7 Bmaj7 D#m7 G#m D#7
U: "~@3 [d#3,b3,f#4,a#4,c#5]@2 ~ [d#3,b3,d#4,f#4,a#4,c#5]@2 ~ [d#3,d#4,f#4,a#4,c#5]@2 ~ [d#3,b3,d#4,f#4,a#4,c#5]@2 ~@10, ~@3 d#4 ~@5 b3 ~@14", // D#m7
V: "~@3 [f#3,b3,f#5]@2 ~ [f#3,g#4,b4,d#5] ~@2 [f#3,d#5,f#5]@2 ~ [g#4,b4,d#5,f#5] ~@4 [f#3,b3,g#4,b4,d#5,f#5]@7, ~@3 [g#4,b4,d#5] ~@2 [b3,f#5]@2 ~ [b3,g#4,b4] ~@2 [f#3,b3]@2 ~@10", // B5 G#m7 D#m G#m7 G#m B5 E B5
W: "~@3 [b3,g#4,b4,d#5,f#5] ~@2 [b3,g#4,b4,d#5,f#5] ~@2 [f#3,d#5,f#5]@2 ~ [f#3,b3,g#4,b4,d#5,f#5]@2 ~@4 [b3,d#4,f#4,a#4,d#5]@6, ~@3 f#3@2 ~ f#3@2 ~ [b3,g#4,b4] ~@14", // G#m7 D#m G#m7 Bmaj7 E
X: "~@3 [g#4,b4,d#5] ~@2 [g#4,b4,d#5] ~@2 [b3,g#4,b4] ~@2 [g#4,b4,d#5,f#5] ~@4 [b3,g#4,b4,d#5,f#5]@7, ~@3 [b3,f#5]@2 ~ [b3,f#5]@2 ~ [d#5,f#5]@2 ~ b3@2 ~@10", // G#m E G#m7 B5 D#m
Y: "~@3 [b3,g#4,b4,d#5,f#5] ~@2 [b3,g#4,b4,d#5,f#5] ~@2 [b3,g#4,b4] ~@2 [b3,g#4,b4,d#5,f#5]@2 ~@4 [b3,d#4,f#4,a#4,d#5]@6, ~@9 [d#5,f#5]@2 ~@13", // G#m7 E G#m7 Bmaj7 D#m
Z: "~@3 [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@10, ~@9 b3 ~@14", // Bmaj7 D#m7 Bmaj7
AA: "~@3 [b3,g#4,b4,d#5,f#5] ~@2 [b3,g#4,b4,d#5] ~@2 [b3,g#4,b4] ~@2 [b3,g#4,b4,d#5,f#5]@2 ~@4 [b3,d#4,f#4,a#4,d#5]@6, ~@6 f#5@2 ~ [d#5,f#5]@2 ~@13", // G#m7 G#m E G#m7 Bmaj7 D#m
AB: "~@3 [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@10", // Bmaj7
AC: "~@3 [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [b3,f#4,a#4]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@3 [b3,d#4,f#4,a#4,c#5]@7, ~@9 [d#4,c#5] ~@14", // Bmaj7 D#7
AD: "~@3 [b3,f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~ [f#4,a#4,c#5]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@10, ~@3 d#4 ~@5 [b3,d#4] ~@14", // F# Bmaj7 F# Bmaj7 B
AE: "~@3 [f#4,a#4,c#5]@2 ~ [b3,d#4,a#4,c#5]@2 ~ [b3,f#4,a#4]@2 ~ [b3,d#4,f#4,a#4,c#5]@2 ~@3 [b3,d#4,f#4,a#4,c#5]@7, ~@3 [b3,d#4] ~@2 f#4 ~@2 [d#4,c#5] ~@14", // F# Bmaj7 B D#7
})).s("gm_piano").gain(0.5).pan(0.1)
// other · pad poly · "Polysynth"
const pad_poly = note(`<
~@2 A@2 B@2 C@2 D ~ A@2 B@2 C@2 E@2 ~@8 F G H I A@2 B@2 C@2 J@2 ~@8 F G H I A@2 B@2 C@2 J@2 A@2 B@2 C@2 J@2 ~@4 C@2
K@2 ~@8 F G H I A@2 B@2 C@2 J@2 A@2 B@2 C@2 J@2 A@2 L ~
>`.pickRestart({
A: "[d#5@6 g#4 d#5]/2", B: "[c#5@47 ~]/2", C: "[d#5@35 ~ g#4@6 d#5@6]/2", D: "c#5", E: "[c#5@29 ~@19]/2",
F: "~ d#5 c#5 b4", G: "f#5", H: "g#4 a#4", I: "f#4", J: "[c#5@23 ~]/2", K: "c#5/2", L: "c#5@11 ~",
})).s("gm_pad_poly").gain(0.6).pan(0.7)
// other · lead 2 sawtooth · "Guitar - Dist Guitar"
const lead_2_sawtooth = note("<~@17 A B@2 C@2 D@2 E@5 F@2 G@2 H@2 G@2 I ~@43 J@4 K@2 G@2 L@2 G@2 I ~@12>".pickRestart({
A: "~@20 g#4 d#5@2 ~",
B: "[d#5@2 ~ d#5@2 ~@6 g#4 d#5@4 ~ g#4 ~@5 d#5@3 d5 d#5@2 ~ g#4@2 ~ g#4@2 ~ d#5@2 ~@6 g#4 d#5 ~ d#5]/2",
C: "[c#5@2 ~ c#5@3 a#4@3 f#4@2 ~ c#5@2 ~ c#5@3 a#4@2 ~ f#4 ~ c#5@3 c#5 c#5@2 c#5 a#4@3 f#4@2 ~ d#4@3 ~@5 d#5@4]/2",
D: "[d#5@2 ~ d#5@2 ~ g#4@3 ~@2 g#4 d#5@2 ~ d#5@2 g#4@3 ~@3 d#5@2 ~ d#5 d#5@3 g#4@2 ~ g#4@2 ~ d#5@2 ~@6 d#5@4]/2",
E: "[c#5@2 ~ c#5@3 a#4@2 f#4@2 ~@2 c#5@2 ~ c#5@3 a#4@2 ~ f#4 ~ c#5@3 c#5 c#5@2 c#5 a#4@3 f#4@2 ~ d#4@3 ~@5 d#5@2 ~ c#5@4 b4@2 g#4 b4@2 ~ b4@2 ~ b4@3 b4@2 ~ b4@2 g#4 ~@2 b4@3 g#4 b4@2 g#4 c#5@3 d#5 ~ c#5@4 b4@2 g#4@2 ~ d#5 ~@2 b4@3 g#4 b4@2 g#4 b4 ~ c#5 ~@2 b4@3 g#4 b4@2 g#4 b4 ~ c#5 ~@3]/5",
F: "[~@3 c#5@3 c#5@3 ~@3 c#5@3 c#5@3 ~@5 d#5@3 c#5 d#5 ~@2 d#5@3 d#5@2 ~ d#5@3 ~@9]/2",
G: "[g#4@6 a#4@6 b4@6 d#5@4 ~ c#5@3 b4 c#5@3 c#5@2 ~ c#5@3 c#5@3 ~@9]/2",
H: "[g#5@6 f#5@6 e5@5 ~ d#5@4 ~ d#5@3 c#5 d#5@2 ~ d#5@3 d#5@2 ~ d#5@3 ~@9]/2", I: "g#5@6 f#5@6 e5@6 d#5@5 ~",
J: "[~@20 f#5 ~@2 f#5@4 f#5 ~@2 f#5@3 g#5 ~@2 d#5@3 c#5@2 b4 c#5@2 b4 ~@2 d#5@3 d#5 e5@2 f#5 d#5@3 b4 ~ c#5@4 b4@2 ~@3 d#5 ~@2 b4@3 g#4 b4@2 g#4 b4 ~ c#5 ~@2 b4@3 g#4 b4@2 g#4 b4 ~ c#5 ~@3]/4",
K: "[~@3 c#5@3 c#5@3 ~@3 c#5@3 c#5@3 ~@5 d#5@3 c#5 d#5@2 ~ d#5@3 d#5@2 ~ d#5@3 ~@9]/2",
L: "[g#5@6 f#5@6 e5@6 d#5@4 ~ d#5@3 c#5 d#5@2 ~ d#5@3 d#5@2 ~ d#5@3 ~@9]/2",
})).s("gm_lead_2_sawtooth").gain(0.66).pan(0.9)
// other · distortion guitar · "Guitar - Dist Guitar"
const distortion_guitar = note(`<
~@38 A@2 B@2 C@2 D E@4 F@2 G@2 H@2 G@2 I ~ J K ~@2 L M ~@30 J K ~@2 N M ~@5
>`.pickRestart({
A: "[d#4@2 ~ d#4@3 g#3 ~@4 g#3 d#4@4 ~ g#3 ~@5 b3@3 g#3 b3 ~ g#3 c#4@2 b3 g#3@2 b3 ~@11 d#4]/2",
B: "[c#4@2 ~ c#4@3 a#3@3 f#3@2 ~ c#4@2 ~ c#4@2 a#3@2 ~@4 f#4@3 f#4 f#4@3 d#4@2 ~ b3@2 ~ g#3@3 ~@5 d#4@4]/2",
C: "[c#4@2 b3 b3@2 c#4@2 ~ b3 c#4@2 b3 c#4 ~ b3 c#4@5 ~@3 c#4@2 ~ d#4 d#4@3 g#3@2 ~ g#3@2 ~ g#3@3 ~@5 d#4@4]/2",
D: "c#4@2 ~ c#4@3 a#3@3 f#3@2 ~ c#4@2 ~ c#4@3 a#3@2 ~@3 f#3",
E: "[g#4@6 f#4@6 e4@6 ~@2 d#5@2 ~ c#5@4 b4@2 g#4 b4@2 ~ b4@2 ~ b4@3 b4@2 ~ b4@2 g#4 ~@2 b4@3 g#4 b4@2 g#4 c#5@3 d#5 ~ c#5@4 b4@2 g#4@2 ~ d#5 ~@2 b4@3 g#4 b4@2 g#4 b4 ~ c#5 ~@2 b4@3 g#4 b4@2 g#4 b4 ~ c#5 ~@3, ~@3 f#4 ~@12]/4",
F: "[~@3 c#5@3 c#5@3 ~@3 c#5@3 c#5@3 ~@5 d#5@2 ~ c#5 d#5@2 ~ d#5@3 d#5@2 ~ d#5@3 ~@9]/2",
G: "[g#4@6 a#4@6 b4@6 d#5@4 ~ c#5@3 b4 c#5@3 c#5@2 ~ c#5@3 c#5@3 ~@9]/2",
H: "[g#5@6 f#5@6 e5@6 d#5@4 ~ d#5@3 c#5 d#5@2 ~ d#5@3 d#5@2 ~ d#5@3 ~@9]/2", I: "g#5@6 f#5@6 e5@6 d#5@5 ~",
J: "~@13 b5@2 a#5@2 ~ g#5@2 ~ a#5@2 ~", K: "~ f#5@23", L: "~@12 b4@2 ~ a#4@2 ~ g#4@2 ~ a#4@2 ~", M: "~ f#4@23",
N: "~@13 b4@2 a#4@2 ~ g#4@2 ~ a#4@2 ~",
})).s("gm_distortion_guitar").gain(0.78).pan(0.9)
// other · acoustic guitar steel · "Guitar - Steel"
const acoustic_guitar_steel = note(`<
A B C D E D C D E F C D E D C D E D C D E D C D E G C D C D C D E D C D E D C D E D C D E H C D C D C D E D C D E D C
D E D C D E D I J I J K L K L M N O N M N O N C D C D C D E D C D E D C D E D C D E D C D E ~
>`.pickRestart({
A: "[f#2,g#4] ~ g#4 [f#2,g#4] ~ c#3 f#2 ~ [f#2,e3] f#2 ~ a#2 ~ f#2 g#4 [a#2,g#4] ~ c#3 [f#2,g#4] ~ [f#2,e3] [f#2,g#4] ~ [a#2,g#4]", // F#sus2 F#7 A#7 F#sus2 F#7 F#sus2 A#7
B: "g#4 f#2 g#4 [f#2,g#4] ~ c#3 f#2 ~ [f#2,e3] f#2 ~ f#2!2 ~ [a#2,g#4] g#4 ~ c#3 [f#2,g#4] ~ f#2 [f#2,g#4] ~ [f#2,g#4]", // F#sus2 F#7 A#7 F#sus2
C: "[e1,g#4] ~ g#4 [e1,f#2,g#4] ~@2 f#2 ~ f#2!2 ~ a#2 e1 f#2 g#4 [e1,a#2,g#4] ~@2 [f#2,g#4] ~ f#2 [f#2,g#4] ~ [a#2,g#4]", // E A#m7b5 F#sus2 A#7
D: "[e1,g#4] f#2 ~ [e1,f#2,g#4] ~@2 f#2 ~ [f#2,g#4]!2 ~ f#2 [e1,f#2,g#4] ~ a#2 [e1,g#4] ~@2 [f#2,g#4] ~ [f#2,g#4]!2 ~ [f#2,g#4]", // E F#sus2 E F#sus2
E: "[e1,f#2,g#4] ~ g#4 [e1,f#2,g#4] ~@2 f#2 ~ f#2!2 ~ a#2 e1 f#2 g#4 [e1,a#2,g#4] ~@2 [f#2,g#4] ~ f#2 [f#2,g#4] ~ [a#2,g#4]", // E A#m7b5 F#sus2 A#7
F: "[e1,g#4] f#2 ~ [e1,f#2,g#4] ~@2 f#2 ~ [f#2,g#4]!2 ~ f#2 ~@2 a#2 [e1,g#4] ~@8", // E F#sus2 E
G: "g#4 f#2 g#4 [f#2,g#4] ~@2 f#2 ~ f#2!2 ~ f#2!2 ~ [a#2,g#4] g#4 ~@2 [f#2,g#4] ~ f#2 [f#2,g#4] ~ [f#2,g#4]", // F#sus2 A#7 F#sus2
H: "~@3 f#2 ~@2 f#2 ~ f#2!2 ~ f#2!2 ~ a#2 ~@3 f#2 ~ f#2!2 ~ f#2",
I: "[e1,f2,f#2,g#3,g#4] ~ g#4 [e1,f#2,g#4] ~ [c#3,g#3] f#2 ~ [f#2,e3] [f#2,g#3] ~ [d2,a#2] [e1,g#3] f#2 g#4 [e1,d2,a#2,g#4] ~ c#3 [f#2,g#4] e3 f#2 [f#2,g#4] ~ [a#2,g3,g#4]", // E C#5 F#7 F#sus2 Gm E E7 F#sus2 …
J: "[e1,f2,g#3,g#4] f#2 ~ [e1,f#2,g#4] ~ [c#3,g#3] f#2 ~ [f#2,e3,g#3,g#4] [f#2,g#4] ~ [d2,f#2] [e1,f#2,g#3,g#4] ~ a#2 [e1,g#4] ~ c#3 [f#2,g#4] e3 [f#2,g#4]!2 ~ [f#2,g3,g#4]", // E C#5 C#m F#sus2 D E F#sus2
K: "[e1,g#3,g#4] ~ g#4 [e1,f#2,g#4] ~ [c#3,g#3] f#2 ~ [f#2,e3] [f#2,g#3] ~ [d2,a#2] [e1,g#3] f#2 g#4 [e1,d2,a#2,g#4] ~ c#3 [f#2,g#4] e3 f#2 [f#2,g#4] ~ [a#2,g#4]", // E C#5 F#7 F#sus2 Gm E E7 F#sus2 …
L: "[e1,g#3,g#4] f#2 ~ [e1,f#2,g#4] ~ [c#3,g#3] f#2 ~ [f#2,e3,g#3,g#4] [f#2,g#4] ~ [d2,f#2] [e1,f#2,g#3,g#4] ~ a#2 [e1,g#4] ~ c#3 [f#2,g#4] e3 [f#2,g#4]!2 ~ [f#2,g#4]", // E C#5 C#m F#sus2 D E F#sus2
M: "[e1,g#3,g#4] ~ g#4 [e1,f#2,g#4] ~ [c#3,g#3] f#2 ~ [f#2,e3] [f#2,c#3,g3,g#3] ~ [d2,a#2] [e1,g#3] f#2 g#4 [e1,d2,a#2,g#4] ~ c#3 [f#2,g#4] e3 f#2 [f#2,c#3,g3,g#4] ~ [a#2,g3,g#4]", // E C#5 F#7 F#sus2 Gm E E7 F#sus2 …
N: "[e1,g#3,g#4] f#2 ~ [e1,f#2,g#4] ~ [c#3,g#3] f#2 ~ [f#2,e3,g#3,g#4] [f#2,c#3,g3,g#4] ~ [d2,f#2] [e1,f#2,g#3,g#4] ~ a#2 [e1,g#4] ~ c#3 [f#2,g#4] e3 [f#2,g#4] [f#2,c#3,g3,g#4] ~ [f#2,g3,g#4]", // E C#5 C#m F#sus2 D E F#sus2
O: "[e1,f#2,g#3,g#4] ~ g#4 [e1,f#2,g#4] ~ [c#3,g#3] f#2 ~ [f#2,e3] [f#2,c#3,g3,g#3] ~ [d2,a#2] [e1,g#3] f#2 g#4 [e1,d2,a#2,g#4] ~ c#3 [f#2,g#4] e3 f#2 [f#2,c#3,g3,g#4] ~ [a#2,g3,g#4]", // E C#5 F#7 F#sus2 Gm E E7 F#sus2 …
})).s("gm_acoustic_guitar_steel").gain(0.7).pan(0.2)
// other · electric guitar muted · "Muted Electric Guitar"
const electric_guitar_muted = note(`<
~@10 A B A B A B A ~ A B A B A B A ~@5 A B A B A B A ~ A B A B A B A ~@5 A B A B A B A ~ A B A B A B A ~@9 A B A B A B
A ~@5 A B A B A B A ~ A B A B A B A ~ A B A ~
>`.pickRestart({
A: "~@2 g#3 f#3 ~@8 g#3 ~@4 g#3 ~@6", B: "~@2 g#3 f#3 ~@7 g#3 ~@12",
})).s("gm_electric_guitar_muted").gain(0.62).pan(0.2)
// chords · brass section · "Brass"
const brass_section = note(`<
~@25 A B@2 C D@2 E@2 F@2 G@2 H ~@4 I ~@2 A B@2 C J@2 G@2 F@2 G@2 K@8 H ~@14 L M B@2 C N@2 O@2 P@2 O@2 Q@8 R@5
>`.pickRestart({
A: "g#4@2 g4 g#4@3 a#4@2 a4 a#4@3 b4@2 a#4 b4@3 c5@2 b4 c5@3", B: "~@3 b4@9 g#4@2 a#4 b4@5 g#4@4",
C: "~ [e4,g#4]@5 ~ [f#4,a#4]@5", // E F#
D: "[[b4,f#5]@2 ~ [g#4,f#5]@2 ~@7 [b4,f#5]@2 ~ [g#4,f#5]@2 ~@6 [g#4,b4]@3 [f#4,a#4] [g#4,b4] ~@2 [g#4,b4] ~@2 [g#4,b4]@2 ~ [g#4,b4] ~@11, d#4 ~@2 d#4 ~@8 d#4 ~@2 d#4 ~@32]/2", // B5 G#7 B5 G#7 G#m F# G#m
E: "[~@23 [f#4,a#4]@3 [f4,g#4] [f#4,a#4] ~@2 [f#4,a#4] ~@2 [f#4,a#4]@2 ~ [f#4,a#4] ~@11]/2", // F# Fm F#
F: "[g#4@6 f#4@6 e4@6 d#4@3 ~@2 [g#4,b4]@3 [f#4,a#4] b4@2 ~ [g#4,b4] ~@2 [g#4,b4]@2 ~ [g#4,b4] ~@11, ~@27 g#4 ~@20]/2", // G#m F# G#m
G: "[~@23 [f#4,a#4]@3 [f4,g#4] a#4@2 ~ [f#4,a#4] ~@2 [f#4,a#4]@2 ~ [f#4,a#4] ~@11, ~@27 f#4 ~@20]/2", // F# Fm F#
H: "g#4@6 f#4@6 e4@6 d#4@5 ~",
I: "[f#4,f#5]@3 [d#4,d#5] ~ f#4@2 ~@5 [f#4,f#5]@3 [d#4,d#5] ~ f#4@2 ~@5, ~@5 f#5 ~@11 f#5 ~@6", // F# D# F# D#
J: "[[b4,f#5]@2 ~ [d#4,g#4] ~@8 [b4,f#5]@2 ~ [g#4,f#5]@2 ~@6 [g#4,b4]@3 [f#4,a#4] b4@2 ~ [g#4,b4] ~@2 [g#4,b4]@2 ~ [g#4,b4] ~@11, d#4 ~@2 f#5@2 ~@7 d#4 ~@2 d#4 ~@11 g#4 ~@20]/2", // B5 G#5 B5 G#7 G#m F# G#m
K: "[g#4@6 f#4@6 e4@6 d#4@4 ~ [d#4,b4]@3 [c#4,a#4] b4@2 ~@18 [d#4,b4]@3 [c#4,a#4] b4@2 ~ [d#4,b4] ~@2 [d#4,b4]@2 ~ d#4 ~@2 d#4@2 ~ d#4 ~@2 d#4@2 [c#4,a#4]@3 [b3,g#4] a#4@2 ~@18 [c#4,a#4]@3 [b3,g#4] a#4@2 ~ a#4@2 ~ [c#4,a#4]@2 ~ [c#4,a#4] ~@10 [d#4,b4]@3 [c#4,a#4] [d#4,b4] ~@19 [d#4,b4]@3 [c#4,a#4] b4@2 ~ b4@2 ~ [d#4,b4]@2 ~ d#4 ~@2 d#4@2 ~ d#4 ~@2 d#4@2 [c#4,a#4]@3 [b3,g#4] a#4@2 ~@19, ~@27 d#4 ~@23 d#4 ~@23 c#4 ~@23 c#4 ~@2 c#4 ~@44 d#4 ~@2 d#4 ~@20 c#4 ~@20]/8", // G#m F# G#m F# G#m F# E F# …
L: "~@18 [d#4,b4] ~ [f#4,c#5] [g#4,d#5]@3", // G#m F#5 G#5
M: "[d#4,g#4] ~@5 [d#4,b4] ~ [f#4,c#5] [g#4,d#5]@3 [d#4,g#4] ~@4 [d#4,g#4] ~@3 [d#4,g#4]@3", // G#5 G#m F#5 G#5
N: "[[b4,f#5]@2 ~ [g#4,f#5]@2 ~@7 [b4,f#5]@2 ~ [g#4,f#5]@2 ~@6 [g#4,b4]@3 [f#4,a#4] b4@2 ~ [g#4,b4] ~@2 [g#4,b4]@2 ~ [g#4,b4] ~@11, d#4 ~@2 d#4 ~@8 d#4 ~@2 d#4 ~@11 g#4 ~@20]/2", // B5 G#7 B5 G#7 G#m F# G#m
O: "[~@23 [f#4,a#4]@3 [f4,g#4] a#4@2 ~ a#4@2 ~ [f#4,a#4]@2 ~ [f#4,a#4] ~@11, ~@27 f#4 ~@2 f#4 ~@17]/2", // F# Fm F#
P: "[g#4@6 f#4@6 e4@6 d#4@3 ~@2 [g#4,b4]@3 [f#4,a#4] b4@2 ~ b4@2 ~ [g#4,b4]@2 ~ [g#4,b4] ~@11, ~@27 g#4 ~@2 g#4 ~@17]/2", // G#m F# G#m
Q: "[g#4@6 f#4@6 e4@6 d#4@4 ~ [d#4,b4]@3 [c#4,a#4] b4@2 ~@18 [d#4,b4]@3 [c#4,a#4] [d#4,b4] ~@2 [d#4,b4] ~@2 [d#4,b4]@2 ~ d#4 ~@2 d#4@2 ~ d#4 ~@2 d#4@2 [c#4,a#4]@3 [b3,g#4] a#4@2 ~@18 [c#4,a#4]@3 [b3,g#4] a#4@2 ~ a#4@2 ~ [c#4,a#4]@2 ~ [c#4,a#4] ~@10 [d#4,b4]@3 [c#4,a#4] b4@2 ~@18 [d#4,b4]@3 [c#4,a#4] [d#4,b4] ~@2 b4@2 ~ [d#4,b4]@2 ~ d#4 ~@2 d#4@2 ~ d#4 ~@2 d#4@2 [c#4,a#4]@3 [b3,g#4] a#4@2 ~@19, ~@27 d#4 ~@47 c#4 ~@23 c#4 ~@2 c#4 ~@20 d#4 ~@26 d#4 ~@20 c#4 ~@20]/8", // G#m F# G#m F# G#m F# E F# …
R: "[g#4@6 f#4@6 e4@6 d#4@4 ~ [d#4,b4]@3 [c#4,a#4] b4@2 ~@18 [d#4,b4]@3 [c#4,a#4] b4@2 ~ [d#4,b4] ~@2 [d#4,b4]@2 ~ d#4 ~@2 d#4@2 ~ d#4 ~@2 d#4@2 [c#4,a#4]@3 [b3,g#4] [c#4,a#4] ~@19 [c#4,a#4]@3 ~@22, ~@27 d#4 ~@23 d#4 ~@68]/5", // G#m F# G#m F# G#m F# E F#
})).s("gm_brass_section").gain(0.64).pan(0.6)
// bass · synth bass 2 · "Bass"
const bass = note(`<
~@10 A B C D A B E F A B E D A B E G H I J K L B M D N B E G A B E D A B M F H I J K L B M D N B E G N B O D N B C F
~@8 P Q O D R B C F H I J S L B M D N B E F N B M D N B C G N B O ~
>`.pickRestart({
A: "c#2 ~ b1 c#2@2 ~@7 g#1@2 ~@3 b1@6 b1", B: "c#2 ~ b1 c#2@2 ~@7 c#2@2 ~ c#2@2 ~ d#2@2 ~ d#2@2 ~",
C: "g#1@2 f#1 g#1@2 ~@4 g#1@2 f#1 d#1 ~@4 f#1@6 d#1",
D: "g#1@2 ~ g#1@2 ~ f#1@2 ~ f#1@2 ~ e1@2 ~ e1@2 ~ d#1@2 ~ d#1 ~@2",
E: "g#1@2 f#1 g#1@2 ~@4 g#1 ~ f#1 d#1 ~@4 f#1@6 d#1",
F: "g#1@2 f#1 g#1@2 ~ a#1@2 ~ a#1@2 ~ b1@2 a#1 b1 ~@2 c2@2 ~ c2@2 ~",
G: "g#1 ~ f#1 g#1@2 ~ a#1@2 ~ a#1@2 ~ b1@2 a#1 b1 ~@2 c2@2 ~ c2@2 ~",
H: "e2@2 d#2 e2@2 ~@7 g#1@2 ~ g#1@2 ~ e2@2 ~ e2@2 ~", I: "d#2 ~ c#2 d#2@2 ~@7 g#1@2 ~ g#1@2 ~ d#2@2 ~ d#2@2 ~",
J: "c#2@2 c#2 c#2@2 ~@7 d#2 ~ c#2 d#2@2 ~@7",
K: "f#1@2 ~ f#1@2 ~@7 f#1@2 ~ f#1@2 ~ c#4 [g#3,a#3] [d#3,f#3] [a#2,c#3] [f#2,g#2] [c#2,d#2]", // G#sus2 D#m A#m F#sus2 C#sus2
L: "[a#1,c#2] ~ b1 c#2@2 ~@4 b1 ~ c#2 g#1@2 ~@3 b1@6 b1", M: "g#1@2 f#1 g#1@2 ~@4 f#1 ~ g#1 d#1 ~@4 f#1@6 d#1",
N: "c#2 ~ b1 c#2@2 ~@4 b1 ~ c#2 g#1@2 ~@3 b1@6 b1", O: "g#1@2 f#1 g#1@2 ~@4 f#1@2 g#1 d#1 ~@4 f#1@6 d#1",
P: "c#2 ~ b1 c#2@2 ~ b1 ~@2 c#2 ~ b1 g#1@2 ~@3 b1@6 b1",
Q: "c#2 ~ b1 c#2 ~@2 c#2 ~@2 b1 ~@2 c#2@2 ~ c#2@2 ~ d#2@2 ~ d#2@2 ~",
R: "c#2 ~ b1 c#2@2 ~ b1 ~@2 b1 ~@2 g#1@2 ~@3 b1@6 b1",
S: "f#1@2 ~ f#1@2 ~@7 f#1 ~@2 f#1@2 ~ c#4 [g#3,a#3] [d#3,f#3] [a#2,c#3] [f#2,g#2] [c#2,d#2]", // G#sus2 D#m A#m F#sus2 C#sus2
})).s("gm_synth_bass_2").gain(0.78)
// other · orchestra hit
const orchestra_hit = note(`<
A B C ~@6 D E F G H I J G K ~@40 L F G H I J G K ~@20 L F G H I J G ~ L F G H I J G ~ L F G ~
>`.pickRestart({
A: "d#5@12 d#5@4 ~ d#5@7, d#6@2 ~@10 d#6@2 ~@3 d#6@2 ~@5",
B: "[d#5,d#6]@2 ~ [d#5,d#6]@3 [d#5,d#6] ~@2 d#6@3 [d#5,d#6]@3 ~@2 [d#5,d#6]@3 ~ [d#5,d#6]@3, ~@9 d#5 ~@14", // D#
C: "~ d#6@3 ~@20, d#5@3 ~@5", D: "d#6@3 d#6@3 d#5 d#6@2 ~ d#6@3 ~@11, d#5 ~@2 d#5 ~@5 d#5@3 ~@12",
E: "d#6@6 ~@15 f#6 ~@2", F: "f#6 ~ f#6 ~@9 g#6@2 ~@4 d#6 ~@5", G: "c#6 ~@7",
H: "g#6@3 ~@3 a#5 ~@5 b5@2 ~@4 c#6@2 ~@4", I: "d#6@2 ~@19 f#6@2 ~", J: "~@2 f#6 ~@9 g#6@2 ~@4 d#6@2 ~@4",
K: "g#6 ~@2 g#5@3 a#4@5 ~ b4@5 ~ c#5@5 ~", L: "~@21 f#6 ~@2",
})).s("gm_orchestra_hit").gain(0.59)
// other · woodblock
const woodblock = note(`<
[a6 ~ d#7 a6 ~@2 a6 ~ d#7 a6 ~@2 a7 ~@2 g#7 ~@2 a6 ~ d#7 a6 ~@2]!9
[a6 ~ d#7 a6 ~@2 a6 ~ d#7 a6 ~@2 a7 ~@2 g#7 ~@8]
[a6 ~ d#7 a6 ~@2 a6 ~ d#7 a6 ~@2 a7 ~@2 g#7 ~@2 a6 ~ d#7 a6 ~@2]!95
~
>`).s("gm_woodblock").gain(0.78)
// drums · kick
const kick = s("bd").struct(`<
A@5 B A@3 C A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B ~@4 A@7 B A@3 B A@7 B
A@3 B A@3 B A@3 B A@3 ~
>`.pickRestart({
A: "x ~@2 x ~@4 x ~@3 x ~@2 x ~@8", B: "x ~@2 x ~@4 x ~@3 x ~ x!2 ~@8", C: "x ~@2 x ~@4 x ~@3 x ~@11",
})).gain(0.78)
// drums · snare
const snare = s("sd").struct(`<
A B A@7 C A@15 D A@3 E A@7 D A@7 F A@3 G A@7 H A@7 I A@7 J A@11 G A@3 K A@3 F A@7 L A@3 ~
>`.pickRestart({
A: "~ x ~ x", B: "~@6 x ~@11 x ~ x!2 ~ x", C: "~@6 x ~@5 x ~ x!2 ~ x!2 ~@2 x ~@2", D: "~@6 x ~@11 x ~ x!2 ~@2",
E: "~@2 x!2 ~@2 x!2", F: "~@2 x!2 ~@2 x ~ x!2 ~@2 x ~ x!2 ~@2 x ~ x!2 ~@2", G: "~@6 x ~@2 x ~@8 x ~ x!2 ~@2",
H: "~@2 x ~@3 x ~@4 x ~@3 x ~@2 x ~@2 x ~@2", I: "~@3 x ~@5 x!2 ~",
J: "~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x!2 ~ x", K: "~@2 x ~@3 x!2", L: "~@6 x ~@7 x!2 ~@2 x ~@5",
})).gain(0.78)
// drums · low tom
// … 39 more lines
More by Bobby Brown
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.