0:00/0:00
// Shame and Scandal in the Family — Trini Lopez
// 143 bpm, 4/4, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 84 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(143/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 · lead 2 sawtooth
const lead_2_sawtooth = note(`<
~@28 A B C D E F G H I J K L M N@2 O P Q N O R ~ S T U V W X Y Z AA AB AC AD AE AF AG AD AH ~ AI AJ AK AL AM AN AO AP
AI AJ AK AL AM AN AO AP
>`.pickRestart({
A: "[b4,d#5] ~ d#5@2 e5@2 [b4,f5]@2 ~@2 [b4,d#5,f#5]@4 ~@2, ~ b4@2 ~@5", // B Bdim B
B: "[e5,g#5] ~ g#5@2 a5@2 a#5@2 ~@2 [e5,g#5,b5]@4 ~@2, ~@2 e5@7 ~@7", // E
C: "b5@2 [f#5,c#6]@2 ~@2 [f#5,b5]@3 ~ [f#5,c#6] ~ f#5@2 c#6 ~, f#5 ~@11 b5 ~@3", // F#5 B5 F#5
D: "[e5,b5] ~ b5 ~ a5@2 [e5,g#5]@2 ~@2 [e5,g#5]@2 ~@2 [e5,g#5] ~, ~ e5@2 ~@5", // E5 E
E: "[b4,d#5] ~ d#5@2 e5@2 f5@2 ~@2 [b4,d#5,f#5]@5 ~, ~ b4@3 ~@4", // B
F: "[e5,g#5] ~ g#5@2 a5@2 a#5@2 ~@2 [e5,g#5,b5]@4 ~@2, ~ e5@3 ~@4", // E
G: "[f#5,b5] ~ [f#5,b5]@2 ~@2 [f#5,b5]@2 ~@2 [f#5,b5]@3 ~ [f#5,b5] ~", // B5
H: "[e5,b5] ~ [e5,b5]@3 ~ [e5,b5]@2 ~@2 [e5,b5]@3 ~ [e5,b5] ~", // E5
I: "~@2 [f#5,a#5,c#6] ~@3 [f#5,a#5,c#6]@2 ~@2 [f#5,a#5,c#6]@2 ~@2 [f#5,a#5,c#6] ~", // F#
J: "[f#5,a#5,c#6] ~ [f#5,a#5,c#6]@2 ~@2 [f#5,a#5,c#6]@2 ~@2 [f#5,a#5,c#6]@2 ~@2 [f#5,a#5,c#6] ~", // F#
K: "~@2 [c#5,f#5] ~@3 [a#4,c#5,f#5]@3 ~ [a#4,c#5,f#5]@3 ~ [a#4,c#5,f#5] ~, ~ a#4 ~@6", // F#5 F#
L: "~@2 [g#4,c#5] ~@3 [g#4,c#5,f5]@3 ~ [g#4,c#5,f5]@3 ~ [g#4,c#5,f5] ~", // C#5 C#
M: "~@2 [g#4,c#5,f5] ~@3 [g#4,c#5,f5]@3 ~ [g#4,c#5,f5]@3 ~ [g#4,c#5,f5] ~", // C#
N: "~@2 [a#4,c#5,f#5] ~@3 [a#4,c#5,f#5]@3 ~ [a#4,c#5,f#5]@3 ~ [a#4,c#5,f#5] ~", // F#
O: "~@2 [g#4,c#5,f5] ~@3 [g#4,c#5,f5]@3 ~ [g#4,c#5,f5]@2 ~@2 [g#4,c#5,f5] ~", // C#
P: "~@2 [g#4,c#5,f5] ~@3 [g#4,c#5,f5]@4 [g#4,c#5,f5]@3 ~ [g#4,c#5,f5] ~", // C#
Q: "~@2 [a#4,c#5,f#5] ~@3 [a#4,c#5,f#5]@3 ~ [a#4,c#5,f#5]@2 ~@2 [a#4,c#5,f#5] ~", R: "[g#4,c#5,f5] ~@7",
S: "[c#5,f5] ~ f5@2 f#5@2 [c#5,g5]@2 ~@2 [c#5,f5,g#5]@4 ~@2, ~ c#5@2 ~@5", // C# C#dim C#
T: "[f#5,a#5] ~ a#5@2 b5@2 c6@2 ~@2 [f#5,a#5,c#6]@4 ~@2, ~@2 f#5@7 ~@7", // F#
U: "c#6@2 [g#5,d#6]@2 ~@2 [g#5,c#6]@3 ~ [g#5,d#6] ~ g#5@2 d#6 ~, g#5 ~@11 c#6 ~@3", // G#5 C#5 G#5
V: "[f#5,c#6] ~ c#6 ~ b5@2 [f#5,a#5]@2 ~@2 [f#5,a#5]@2 ~@2 [f#5,a#5] ~, ~ f#5@2 ~@5", // F#5 F#
W: "[c#5,f5] ~ f5@2 f#5@2 g5@2 ~@2 [c#5,f5,g#5]@5 ~, ~ c#5@3 ~@4", // C#
X: "[f#5,a#5] ~ a#5@2 b5@2 c6@2 ~@2 [f#5,a#5,c#6]@4 ~@2, ~ f#5@3 ~@4", // F#
Y: "[g#5,c#6] ~ [g#5,c#6]@2 ~@2 [g#5,c#6]@2 ~@2 [g#5,c#6]@3 ~ [g#5,c#6] ~", // C#5
Z: "[f#5,c#6] ~ [f#5,c#6]@3 ~ [f#5,c#6]@2 ~@2 [f#5,c#6]@3 ~ [f#5,c#6] ~", // F#5
AA: "~@2 [g#5,c6,d#6] ~@3 [g#5,c6,d#6]@2 ~@2 [g#5,c6,d#6]@2 ~@2 [g#5,c6,d#6] ~", // G#
AB: "[g#5,c6,d#6] ~ [g#5,c6,d#6]@2 ~@2 [g#5,c6,d#6]@2 ~@2 [g#5,c6,d#6]@2 ~@2 [g#5,c6,d#6] ~", // G#
AC: "~@2 [c5,d#5,g#5] ~@3 [c5,d#5,g#5]@3 ~ [c5,d#5,g#5]@3 ~ [c5,d#5,g#5] ~", // G#
AD: "~@2 [a#4,d#5,g5] ~@3 [a#4,d#5,g5]@3 ~ [a#4,d#5,g5]@2 ~@2 [a#4,d#5,g5] ~", // D#
AE: "~@2 [a#4,d#5,g5] ~@3 [a#4,d#5,g5]@4 [a#4,d#5,g5]@3 ~ [a#4,d#5,g5] ~", // D#
AF: "~@2 [c5,d#5,g#5] ~@3 [c5,d#5,g#5]@3 ~ [c5,d#5,g#5]@2 ~@2 [c5,d#5,g#5] ~", // G#
AG: "~@2 [c5,d#5,g#5] ~@3 [c5,d#5,g#5]@4 [c5,d#5,g#5]@3 ~ [c5,d#5,g#5] ~", AH: "[a#4,d#5,g5] ~@7",
AI: "[d#5,g5] ~ g5@2 g#5@2 [d#5,a5]@2 ~@2 [d#5,g5,a#5]@4 ~@2, ~ d#5@2 ~@5", // D# D#dim D#
AJ: "[g#5,c6] ~ c6@2 c#6@2 d6@2 ~@2 [g#5,c6,d#6]@4 ~@2, ~@2 g#5@7 ~@7", // G#
AK: "d#6@2 [a#5,f6]@2 ~@2 [a#5,d#6]@3 ~ [a#5,f6] ~ a#5@2 f6 ~, a#5 ~@11 d#6 ~@3", // A#5 D#5 A#5
AL: "[g#5,d#6] ~ d#6 ~ c#6@2 [g#5,c6]@2 ~@2 [g#5,c6]@2 ~@2 [g#5,c6] ~, ~ g#5@2 ~@5", // G#5 G#
AM: "[d#5,g5] ~ g5@2 g#5@2 a5@2 ~@2 [d#5,g5,a#5]@5 ~, ~ d#5@3 ~@4", // D#
AN: "[g#5,c6] ~ c6@2 c#6@2 d6@2 ~@2 [g#5,c6,d#6]@4 ~@2, ~ g#5@3 ~@4", // G#
AO: "[a#5,d#6] ~ [a#5,d#6]@2 ~@2 [a#5,d#6]@2 ~@2 [a#5,d#6]@3 ~ [a#5,d#6] ~", // D#5
AP: "[g#5,d#6] ~ [g#5,d#6]@3 ~ [g#5,d#6]@2 ~@2 [g#5,d#6]@3 ~ [g#5,d#6] ~", // G#5
})).s("gm_lead_2_sawtooth").gain(0.2)
// bass · acoustic bass
const bass = note(`<
A B C D E F G H E I E J K L M N@2 L@2 N K L M N@2 L O ~ P Q R S T Q R S U V@2 W X U@2 W@2 U V W Y ~ Z AA AB AC AD AA
AB AC AE AF AE AG@2 AE AF AG AH ~ AI AJ AK AJ AL AM AK AJ AI AJ AK AJ AL AM AK AJ
>`.pickRestart({
A: "e2@4 ~@2 e2 ~ b2 ~ b2@3 ~ e2 ~", B: "d2@4 ~@2 d2 ~ a2 ~ a2@3 ~ a2 ~", C: "a1@4 ~@2 a1 ~ e2 ~ e2@3 ~ a1 ~",
D: "b1 ~@5 b1 ~ b1@2 ~@2 b1@2 ~@2", E: "b1 ~ b1@2 ~@2 b1 ~ f#2 ~ f#2@2 ~@2 f#2 ~",
F: "e2 ~ e2@2 ~@2 e2 ~ b2 ~ b2@2 ~@2 b2 ~", G: "b1 ~ b1@3 ~ b1 ~ f#2 ~ f#2@2 ~@2 f#2 ~",
H: "e2 ~ e2@2 ~@2 e2 ~ b2 ~ b2@3 ~@3", I: "e2 ~ e2@2 ~@2 e2 ~ b2 ~ b2@3 ~ b2 ~",
J: "e2 ~ e2@2 ~@2 e2 ~ b2 ~ b2@2 e2@2 ~@2", K: "e2@4 ~@2 e2 ~ b2 ~ b2@3 ~ b2 ~",
L: "b1@4 ~@2 b1 ~ f#2 ~ f#2@2 ~@2 f#2 ~", M: "b1@4 ~@2 b1 ~ f#2 ~ f#2@3 ~ f#2 ~",
N: "e2@4 ~@2 e2 ~ b2 ~ b2@2 ~@2 b2 ~", O: "b1 ~@3", P: "a2@5 ~@3 f#2@6 ~@2", Q: "g#2@5 ~@3 b2@6 ~@2",
R: "a2@3 ~ f#2@3 ~", S: "g#2@3 ~ b2@3 ~", T: "a2@7 ~ f#2@6 ~@2", U: "f#2@4 ~@2 f#2 ~ c#3 ~ c#3@2 ~@2 c#3 ~",
V: "f#2@4 ~@2 f#2 ~ c#3 ~ c#3@3 ~ c#3 ~", W: "c#2@4 ~@2 c#2 ~ g#2 ~ g#2@2 ~@2 g#2 ~",
X: "c#2@4 ~@2 c#2 ~ g#2 ~ g#2@3 ~ g#2 ~", Y: "c#2 ~@3", Z: "b2@5 ~@3 g#2@6 ~@2", AA: "a#2@5 ~@3 c#3@6 ~@2",
AB: "b2@3 ~ g#2@3 ~", AC: "a#2@3 ~ c#3@3 ~", AD: "b2@7 ~ g#2@6 ~@2", AE: "g#2@4 ~@2 g#2 ~ d#3 ~ d#3@2 ~@2 d#3 ~",
AF: "g#2@4 ~@2 g#2 ~ d#3 ~ d#3@3 ~ d#3 ~", AG: "d#2@4 ~@2 d#2 ~ a#2 ~ a#2@2 ~@2 a#2 ~", AH: "d#2 ~@3",
AI: "d#2@4 ~@2 d#2 ~ a#2 ~ a#2@3 ~ a#2 ~", AJ: "g#1 ~ g#1@2 ~@2 g#1 ~ d#2 ~ d#2@2 ~@2 d#2 ~",
AK: "d#2 ~ d#2@3 ~ d#2 ~ a#2 ~ a#2@3 ~ a#2 ~", AL: "d#2 ~ d#2@3 ~ d#2 ~ a#2 ~ a#2@2 ~@2 a#2 ~",
AM: "g#1 ~ g#1@2 ~@2 g#1 ~ d#2 ~ d#2@3 ~ d#2 ~",
})).s("gm_acoustic_bass").gain(0.42)
// chords · percussive organ
const percussive_organ = note(`<
A B C D E A E A E A E A F G@2 H@2 G@2 F@2 G@2 H@2 E I ~@9 J@2 ~@20 K@2 ~@24
>`.pickRestart({
A: "[b4,e5]", B: "[a4,d5]", C: "[a4,c#5]", D: "[a4,b4,d#5] ~@5 [a4,b4,d#5] ~ [a4,b4,d#5]@2 ~@2 [a4,b4,d#5] ~@3",
E: "[b4,d#5]", F: "[e5,g#5]", G: "[d#5,f#5]/2", H: "[e5,g#5]/2", I: "[b4,d#5] ~@7", J: "[c#5,f#5]/2",
K: "[d#5,g#5]/2", // G#5
})).s("gm_percussive_organ").gain(0.2)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
A B C D E F G H I H J K L M N H O P Q H L M N H O P R ~ E F G H I H J K S T U V W X Y Z AA X U V AB ~ AC AD AE X AF X
AG AH AI AJ AK AL AM AN AO AP AQ ~ AR AS AT AN AU AN AV AW AR AS AT AN AU AN AV AW
>`.pickRestart({
A: "[b2,e3,g#3,b3,e4]@2 [b2,e3]@2 [g#3,b3,e4] ~ [g#3,b3,e4]@2 [b2,e3]@2 [g#3,b3,e4]@2 [b2,e3]@2 [g#3,b3,e4] ~, ~@6 [b2,e3] ~@9", // E E5 E E5 E E5 E E5
B: "[a2,d3,f#3,a3,d4]@2 [a2,d3]@2 [f#3,a3,d4] ~ [f#3,a3,d4]@2 [a2,d3]@2 [f#3,a3,d4]@2 [a2,d3]@2 [f#3,a3,d4] ~, ~@6 [a2,d3] ~@9", // D D5 D D5 D D5 D D5
C: "[a3,c#4,e4]@2 [a2,e3]@2 [a3,c#4,e4] ~ [a2,e3,a3,c#4,e4]@2 [a2,e3]@2 [a3,c#4,e4]@2 [a2,e3]@2 [a3,c#4,e4] ~, [a2,e3] ~@15", // A A5 A A5 A A5 A A5
D: "[b2,a3,b3,d#4,f#4]@2 ~@4 [b2,a3,b3,d#4,f#4] ~ [b2,a3,b3,d#4,f#4]@2 ~@2 [b2,a3,b3,d#4,f#4] ~@3", // B7
E: "[a3,b3,d#4,f#4] ~@3 [a3,b3,d#4,f#4] ~ [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [d#4,f#4] ~, [b2,f#3] ~@3", // B7 B5 B7 B5 D#m B5
F: "[e3,b3,e4,g#4]@2 ~@2 b3 ~ [b3,e4,g#4]@2 [e3,g#3]@2 [b3,e4,g#4]@2 [e3,g#3]@2 [b3,e4,g#4] ~, ~@6 [e3,g#3] ~@9", // E
G: "[b2,f#3,b3,d#4,f#4] ~ [b2,f#3]@2 [b3,d#4,f#4] ~ [b3,d#4,f#4]@4 [b2,f#3]@2 [b3,d#4,f#4]@2 [b2,f#3] ~, ~@3 [b2,f#3] ~@4", // B B5 B B5 B B5
H: "[b2,e3,b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4] ~ [b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4] ~, ~@6 [b2,e3] ~@9", // E E5 E E5 E E5 E E5
I: "[b2,f#3,b3,d#4,f#4,a4] ~ [b2,f#3]@2 [b3,d#4,f#4,a4] ~ [b3,d#4,f#4,a4]@2 [b2,f#3]@2 [b3,d#4,f#4,a4]@2 [b2,f#3]@2 [b3,d#4,f#4,a4] ~, ~@6 [b2,f#3] ~@9", // B7 B5 B7 B5 B7 B5 B7 B5
J: "[b2,f#3,b3,d#4,f#4,a4] ~ [b2,f#3]@2 [b3,d#4,f#4,a4] ~ [b3,d#4,f#4,a4]@2 [b2,f#3]@2 [b3,d#4,f#4,a4]@2 [b2,f#3]@2 [b3,d#4,f#4,a4] ~, ~@6 b2 ~@9", // B7 B5 B7 B5 B7 B5 B7
K: "[b2,e3,b3,e4,g#4] ~ [b2,e3]@2 [b3,e4,g#4] ~ [b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4] ~, ~@6 [b2,e3] ~@9", // E E5 E E5 E E5 E E5
L: "[b2,e3,b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4] ~ [b3,e4,g#4]@2 ~@2 [b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4] ~, ~@2 [b2,e3] ~", // E E5 E E5 E E5
M: "[a3,b3,d#4,f#4]@2 ~@2 [a3,b3,d#4,f#4] ~ [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [a3,b3,d#4] ~, [b2,f#3]@4 ~@2 [b2,f#3] ~@9", // B7 B5 B7 B5 B7 B5
N: "[b2,f#3,a3,b3,d#4,f#4]@2 [b2,f#3]@2 [d#4,f#4] ~ [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [d#4,f#4] ~, ~@6 [b2,f#3] ~@9", // B7 B5 D#m B7 B5 B7 B5 D#m …
O: "[b2,e3,b3,e4,g#4]@2 [b2,e3]@2 [b3,e4,g#4] ~ [b3,e4,g#4]@4 [b2,e3]@2 [b3,e4,g#4]@2 [b2,e3] ~, ~@3 [b2,e3] ~@4", // E E5 E E5 E E5
P: "[a3,b3,f#4]@2 f#3@2 [a3,b3,d#4,f#4] ~ [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [a3,b3,d#4,f#4]@2 [b2,f#3]@2 [a3,b3,d#4,f#4] ~, b2@4 ~@2 [b2,f#3] ~@9, f#3 ~@15", // B7 B5 B7 B5 B7 B5
Q: "[b2,f#3,a3,b3,d#4,f#4]@2 [b2,f#3]@2 [a3,b3,d#4,f#4] ~ [a3,b3,d#4,f#4]@4 [b2,f#3]@2 [a3,b3,d#4,f#4]@2 [b2,f#3] ~, ~@3 [b2,f#3] ~@4", // B7 B5 B7 B5 B7 B5
R: "[b2,a3,b3,d#4,f#4]@3 ~@13", // B7
S: "[a#3,c#4,f#4]@2 f#2@2 [f#3,a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [f#2,f#3]@2 [a#3,c#4,f#4]@2 [f#2,f#3]@2 [a#3,c#4,f#4] ~, f#2 ~@5 f#2 ~@9", // F#
T: "[f#2,a#3,c#4,f#4]@2 [f#2,f#3]@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [f#2,f#3]@2 [a#3,c#4,f#4]@2 [f#2,f#3]@2 [a#3,c#4,f#4] ~", // F#
U: "[c#3,f#3,c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4] ~ [c#4,f#4,a#4]@2 ~@2 [c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4] ~, ~@2 [c#3,f#3] ~", // F# F#5 F# F#5 F# F#5
V: "[b3,c#4,f4,g#4]@2 ~@2 [b3,c#4,f4,g#4] ~ [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [b3,c#4,f4] ~, [c#3,g#3]@4 ~@2 [c#3,g#3] ~@9", // C#7 C#5 C#7 C#5 C#7 C#5
W: "[c#3,g#3,b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [f4,g#4] ~ [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [f4,g#4] ~, ~@6 [c#3,g#3] ~@9", // C#7 C#5 Fm C#7 C#5 C#7 C#5 Fm …
X: "[c#3,f#3,c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4] ~ [c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4] ~, ~@6 [c#3,f#3] ~@9", // F# F#5 F# F#5 F# F#5 F# F#5
Y: "[c#3,f#3,c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4] ~ [c#4,f#4,a#4]@4 [c#3,f#3]@2 [c#4,f#4,a#4]@2 [c#3,f#3] ~, ~@3 [c#3,f#3] ~@4", // F# F#5 F# F#5 F# F#5
Z: "[b3,c#4,g#4]@2 g#3@2 [b3,c#4,f4,g#4] ~ [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [b3,c#4,f4,g#4] ~, c#3@4 ~@2 [c#3,g#3] ~@9, g#3 ~@15", // C#7 C#5 C#7 C#5 C#7 C#5
AA: "[c#3,g#3,b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [b3,c#4,f4,g#4] ~ [b3,c#4,f4,g#4]@4 [c#3,g#3]@2 [b3,c#4,f4,g#4]@2 [c#3,g#3] ~, ~@3 [c#3,g#3] ~@4", // C#7 C#5 C#7 C#5 C#7 C#5
AB: "[c#3,b3,c#4,f4,g#4]@3 ~@13", // C#7
AC: "[b3,c#4,f4,g#4] ~@3 [b3,c#4,f4,g#4] ~ [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [b3,c#4,f4,g#4]@2 [c#3,g#3]@2 [f4,g#4] ~, [c#3,g#3] ~@3", // C#7 C#5 C#7 C#5 Fm C#5
AD: "[f#3,c#4,f#4,a#4]@2 ~@2 c#4 ~ [c#4,f#4,a#4]@2 [f#3,a#3]@2 [c#4,f#4,a#4]@2 [f#3,a#3]@2 [c#4,f#4,a#4] ~, ~@6 [f#3,a#3] ~@9", // F#
AE: "[c#3,g#3,c#4,f4,g#4] ~ [c#3,g#3]@2 [c#4,f4,g#4] ~ [c#4,f4,g#4]@4 [c#3,g#3]@2 [c#4,f4,g#4]@2 [c#3,g#3] ~, ~@3 [c#3,g#3] ~@4", // C# C#5 C# C#5 C# C#5
AF: "[c#3,g#3,c#4,f4,g#4,b4] ~ [c#3,g#3]@2 [c#4,f4,g#4,b4] ~ [c#4,f4,g#4,b4]@2 [c#3,g#3]@2 [c#4,f4,g#4,b4]@2 [c#3,g#3]@2 [c#4,f4,g#4,b4] ~, ~@6 [c#3,g#3] ~@9", // C#7 C#5 C#7 C#5 C#7 C#5 C#7 C#5
AG: "[c#3,g#3,c#4,f4,g#4,b4] ~ [c#3,g#3]@2 [c#4,f4,g#4,b4] ~ [c#4,f4,g#4,b4]@2 [c#3,g#3]@2 [c#4,f4,g#4,b4]@2 [c#3,g#3]@2 [c#4,f4,g#4,b4] ~, ~@6 c#3 ~@9", // C#7 C#5 C#7 C#5 C#7 C#5 C#7
AH: "[c#3,f#3,c#4,f#4,a#4] ~ [c#3,f#3]@2 [c#4,f#4,a#4] ~ [c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4]@2 [c#3,f#3]@2 [c#4,f#4,a#4] ~, ~@6 [c#3,f#3] ~@9", // F# F#5 F# F#5 F# F#5 F# F#5
AI: "[c4,d#4,g#4]@2 g#2@2 [g#3,c4,d#4,g#4] ~ [c4,d#4,g#4]@2 [g#2,g#3]@2 [c4,d#4,g#4]@2 [g#2,g#3]@2 [c4,d#4,g#4] ~, g#2 ~@5 g#2 ~@9", // G#
AJ: "[g#2,c4,d#4,g#4]@2 [g#2,g#3]@2 [c4,d#4,g#4] ~ [c4,d#4,g#4]@2 [g#2,g#3]@2 [c4,d#4,g#4]@2 [g#2,g#3]@2 [c4,d#4,g#4] ~", // G#
AK: "[d#3,g#3,d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5] ~ [d#4,g#4,c5]@4 [d#3,g#3]@2 [d#4,g#4,c5]@2 [d#3,g#3] ~, ~@3 [d#3,g#3] ~@4", // G# G#5 G# G#5 G# G#5
AL: "[c#4,d#4,a#4]@2 a#3@2 [c#4,d#4,g4,a#4] ~ [c#4,d#4,g4,a#4]@2 [d#3,a#3]@2 [c#4,d#4,g4,a#4]@2 [d#3,a#3]@2 [c#4,d#4,g4,a#4] ~, d#3@4 ~@2 [d#3,a#3] ~@9, a#3 ~@15", // D#7 D#5 D#7 D#5 D#7 D#5
AM: "[d#3,a#3,c#4,d#4,g4,a#4]@2 [d#3,a#3]@2 [c#4,d#4,g4,a#4] ~ [c#4,d#4,g4,a#4]@4 [d#3,a#3]@2 [c#4,d#4,g4,a#4]@2 [d#3,a#3] ~, ~@3 [d#3,a#3] ~@4", // D#7 D#5 D#7 D#5 D#7 D#5
AN: "[d#3,g#3,d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5] ~ [d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5] ~, ~@6 [d#3,g#3] ~@9", // G# G#5 G# G#5 G# G#5 G# G#5
AO: "[d#3,g#3,d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5] ~ [d#4,g#4,c5]@2 ~@2 [d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5] ~, ~@2 [d#3,g#3] ~", // G# G#5 G# G#5 G# G#5
AP: "[c#4,d#4,g4,a#4]@2 ~@2 [c#4,d#4,g4,a#4] ~ [c#4,d#4,g4,a#4]@2 [d#3,a#3]@2 [c#4,d#4,g4,a#4]@2 [d#3,a#3]@2 [c#4,d#4,g4] ~, [d#3,a#3]@4 ~@2 [d#3,a#3] ~@9", // D#7 D#5 D#7 D#5 D#7 D#5
AQ: "[d#3,c#4,d#4,g4,a#4]@3 ~@13", // D#7
AR: "[c#4,d#4,g4,a#4] ~@3 [c#4,d#4,g4,a#4] ~ [c#4,d#4,g4,a#4]@2 [d#3,a#3]@2 [c#4,d#4,g4,a#4]@2 [d#3,a#3]@2 [g4,a#4] ~, [d#3,a#3] ~@3", // D#7 D#5 D#7 D#5 Gm D#5
AS: "[g#3,d#4,g#4,c5]@2 ~@2 d#4 ~ [d#4,g#4,c5]@2 [g#3,c4]@2 [d#4,g#4,c5]@2 [g#3,c4]@2 [d#4,g#4,c5] ~, ~@6 [g#3,c4] ~@9", // G#
AT: "[d#3,a#3,d#4,g4,a#4] ~ [d#3,a#3]@2 [d#4,g4,a#4] ~ [d#4,g4,a#4]@4 [d#3,a#3]@2 [d#4,g4,a#4]@2 [d#3,a#3] ~, ~@3 [d#3,a#3] ~@4", // D# D#5 D# D#5 D# D#5
AU: "[d#3,a#3,d#4,g4,a#4,c#5] ~ [d#3,a#3]@2 [d#4,g4,a#4,c#5] ~ [d#4,g4,a#4,c#5]@2 [d#3,a#3]@2 [d#4,g4,a#4,c#5]@2 [d#3,a#3]@2 [d#4,g4,a#4,c#5] ~, ~@6 [d#3,a#3] ~@9", // D#7 D#5 D#7 D#5 D#7 D#5 D#7 D#5
AV: "[d#3,a#3,d#4,g4,a#4,c#5] ~ [d#3,a#3]@2 [d#4,g4,a#4,c#5] ~ [d#4,g4,a#4,c#5]@2 [d#3,a#3]@2 [d#4,g4,a#4,c#5]@2 [d#3,a#3]@2 [d#4,g4,a#4,c#5] ~, ~@6 d#3 ~@9", // D#7 D#5 D#7 D#5 D#7 D#5 D#7
AW: "[d#3,g#3,d#4,g#4,c5] ~ [d#3,g#3]@2 [d#4,g#4,c5] ~ [d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5]@2 [d#3,g#3]@2 [d#4,g#4,c5] ~, ~@6 [d#3,g#3] ~@9", // G# G#5 G# G#5 G# G#5 G# G#5
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.4)
// chords · harpsichord
const harpsichord = note(`<
A B C D E F G H I J I J H K L M N O L P H K L M N O Q ~ E F G H I J I J R S T U V W X Y V Z T U AA ~ AB AC AD T AE AF
AE AF AG AH AI AJ AK AL AM AN AO ~ AP AQ AR AM AS AT AS AT AP AQ AR AM AS AT AS AT
>`.pickRestart({
A: "[e3,b3], [e4,g#4]@7 ~", B: "[d3,a3,d4,f#4]@15 ~", C: "[a2,a3,c#4,e4]@7 ~",
D: "[b2,b3,d#4,f#4]@2 ~@4 [b2,b3,d#4,f#4] ~ [b2,b3,d#4,f#4]@2 ~@2 [b2,d#4,f#4]@2 ~@2, ~@12 b3 ~@3", // B
E: "[b3,d#4,f#4]@3 ~ b2 ~ [b3,d#4,f#4]@4 b2 ~ [b3,d#4,f#4]@2 ~@2", // B
F: "[b3,e4,g#4]@3 ~ e3 ~ [b3,e4,g#4]@4 e3@2 [e4,g#4] ~@3, ~@6 b3 ~", // E
G: "[a3,d#4,f#4]@4 ~@2 [a3,d#4,f#4]@4 b2 ~ [a3,d#4,f#4]@3 ~", // D#dim
H: "[b3,e4,g#4]@3 ~ e3 ~ [b3,e4,g#4]@3 ~ e3 ~ [b3,e4,g#4] ~@3", // E
I: "[a3,d#4,f#4]@4 b2 ~ [a3,d#4,f#4]@4 b2 ~ [a3,d#4,f#4] ~@3", // D#dim
J: "[b3,e4,g#4]@4 e3 ~ [b3,e4,g#4]@3 ~ e3 ~ [b3,e4,g#4] ~@3", // E
K: "[a3,d#4,f#4]@4 ~@2 [d#4,f#4]@3 ~ b2 ~ [b3,d#4,f#4] ~@3, ~@6 [a3,b3] ~@9", // D#dim D#m B Asus2
L: "[b3,d#4,f#4]@4 b3 ~ [b3,d#4,f#4]@4 b3 ~ [b3,d#4,f#4] ~@3", // B
M: "[b3,e4,g#4]@4 b3 ~ [b3,e4,g#4]@4 b3 ~ [b3,e4,g#4] ~@3", // E
N: "[b3,e4,g#4]@4 b3 ~ [b3,e4,g#4]@4 b3 ~ [e4,g#4] ~@3, ~@6 b3 ~", // E
O: "[a3,b3,d#4,f#4]@4 ~@2 [b3,d#4,f#4]@4 b3 ~ [b3,d#4,f#4] ~@3", // B7 B
P: "[b3,e4,g#4]@4 b3 ~ [e4,g#4]@4 b3 ~ [b3,e4,g#4] ~@3, ~@6 b3@3 ~@7", Q: "[b3,d#4,f#4]@3 ~@13",
R: "[a#3,c#4,f#4]@4 a#3 ~ [c#4,f#4]@4 a#3 ~ [a#3,c#4,f#4]@3 ~, ~@6 a#3@3 ~@7", // F# F#5 F#
S: "[c#4,f#4]@4 a#3@2 [c#4,f#4]@4 a#3@2 [c#4,f#4]@2 a#3 ~, a#3@3 ~@3 a#3@3 ~@7", // F#5
T: "[c#4,f#4,a#4]@3 ~ f#3 ~ [c#4,f#4,a#4]@3 ~ f#3 ~ [c#4,f#4,a#4] ~@3", // F#
U: "[b3,f4,g#4]@4 ~@2 [f4,g#4]@3 ~ c#3 ~ [c#4,f4,g#4] ~@3, ~@6 [b3,c#4] ~@9", // Fdim Fm C# Bsus2
V: "[c#4,f4,g#4]@4 c#4 ~ [c#4,f4,g#4]@4 c#4 ~ [c#4,f4,g#4] ~@3", // C#
W: "[c#4,f#4,a#4]@4 c#4 ~ [c#4,f#4,a#4]@4 c#4 ~ [c#4,f#4,a#4] ~@3", // F#
X: "[c#4,f#4,a#4]@4 c#4 ~ [c#4,f#4,a#4]@4 c#4 ~ [f#4,a#4] ~@3, ~@6 c#4 ~", // F#
Y: "[b3,c#4,f4,g#4]@4 ~@2 [c#4,f4,g#4]@4 c#4 ~ [c#4,f4,g#4] ~@3", // C#7 C#
Z: "[c#4,f#4,a#4]@4 c#4 ~ [f#4,a#4]@4 c#4 ~ [c#4,f#4,a#4] ~@3, ~@6 c#4@3 ~@7", AA: "[c#4,f4,g#4]@3 ~@13",
AB: "[c#4,f4,g#4]@3 ~ c#3 ~ [c#4,f4,g#4]@4 c#3 ~ [c#4,f4,g#4]@2 ~@2", // C#
AC: "[c#4,f#4,a#4]@3 ~ f#3 ~ [c#4,f#4,a#4]@4 f#3@2 [f#4,a#4] ~@3, ~@6 c#4 ~", // F#
AD: "[b3,f4,g#4]@4 ~@2 [b3,f4,g#4]@4 c#3 ~ [b3,f4,g#4]@3 ~", // Fdim
AE: "[b3,f4,g#4]@4 c#3 ~ [b3,f4,g#4]@4 c#3 ~ [b3,f4,g#4] ~@3", // Fdim
AF: "[c#4,f#4,a#4]@4 f#3 ~ [c#4,f#4,a#4]@3 ~ f#3 ~ [c#4,f#4,a#4] ~@3", // F#
AG: "[c4,d#4,g#4]@4 c4 ~ [d#4,g#4]@4 c4 ~ [c4,d#4,g#4]@3 ~, ~@6 c4@3 ~@7", // G# G#5 G#
AH: "[d#4,g#4]@4 c4@2 [d#4,g#4]@4 c4@2 [d#4,g#4]@2 c4 ~, c4@3 ~@3 c4@3 ~@7", // G#5
AI: "[d#4,g#4,c5]@4 d#4 ~ [d#4,g#4,c5]@4 d#4 ~ [g#4,c5] ~@3, ~@6 d#4 ~", // G#
AJ: "[c#4,d#4,g4,a#4]@4 ~@2 [d#4,g4,a#4]@4 d#4 ~ [d#4,g4,a#4] ~@3", // D#7 D#
AK: "[d#4,g4,a#4]@4 d#4 ~ [d#4,g4,a#4]@4 d#4 ~ [d#4,g4,a#4] ~@3", // D#
AL: "[d#4,g#4,c5]@4 d#4 ~ [g#4,c5]@4 d#4 ~ [d#4,g#4,c5] ~@3, ~@6 d#4@3 ~@7", // G#
AM: "[d#4,g#4,c5]@3 ~ g#3 ~ [d#4,g#4,c5]@3 ~ g#3 ~ [d#4,g#4,c5] ~@3", // G#
AN: "[c#4,g4,a#4]@4 ~@2 [g4,a#4]@3 ~ d#3 ~ [d#4,g4,a#4] ~@3, ~@6 [c#4,d#4] ~@9", AO: "[d#4,g4,a#4]@3 ~@13",
AP: "[d#4,g4,a#4]@3 ~ d#3 ~ [d#4,g4,a#4]@4 d#3 ~ [d#4,g4,a#4]@2 ~@2", // D#
AQ: "[d#4,g#4,c5]@3 ~ g#3 ~ [d#4,g#4,c5]@4 g#3@2 [g#4,c5] ~@3, ~@6 d#4 ~", // G#
AR: "[c#4,g4,a#4]@4 ~@2 [c#4,g4,a#4]@4 d#3 ~ [c#4,g4,a#4]@3 ~", // Gdim
AS: "[c#4,g4,a#4]@4 d#3 ~ [c#4,g4,a#4]@4 d#3 ~ [c#4,g4,a#4] ~@3", // Gdim
AT: "[d#4,g#4,c5]@4 g#3 ~ [d#4,g#4,c5]@3 ~ g#3 ~ [d#4,g#4,c5] ~@3", // G#
})).s("gm_harpsichord").gain(0.23).pan(0.6)
// drums · kick
const kick = s("bd").struct("<A@3 B A@22 C ~ A@20 C ~ A@16 C ~ A@16>".pickRestart({
A: "x ~@2 x!2 ~@3", B: "x ~@2 x!2 ~ x ~", C: "x",
})).gain(0.47)
// drums · snare
const snare = s("sd").struct("<A@3 B A@22 C D A@7 E A@12 C D A@7 E A E A@6 C D A@7 E A@7 E>".pickRestart({
A: "~ x ~ x", B: "x ~@2 x!2 ~ x ~", C: "x", D: "~@5 x!3", E: "~@4 x ~@5 x!6",
})).gain(0.42)
// … 15 more lines
More by Trini Lopez
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.