0:00/0:00
// Hot Girls in Love — Loverboy
// 154 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 152 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): MUTED GTR.
setcpm(154/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 · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
~ A@4 B@8 C@2 D E F G H I J G K I L M L G N I O P@5 Q@8 R S T S U V W I X G K V Y M Z I W I AA AB@5 AC@8 R AD AE AD
AF@8 AG@5 AH@4 AI AJ@3 AK@4 AL@4 AM@4 AC@8 R AN AO AN AP AQ AO AN AP AQ AO AN AP AQ AO AN AP AQ AO AN AP AQ AO AN AP
AQ AO AN AR@2
>`.pickRestart({
A: "[~@14 [c#3,g#3]@4 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@4 [c#3,g#3,c#4]@2 ~@2 b3@2 c#4@2 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 c3@2 [a2,e3,a3]@4 [a2,e3]@2 [a2,e3,a3]@2 ~@2 [a2,e3] ~ [a2,e3,a3]@2 ~@2 [a2,e3,a3]@2, ~@7 c#4@3 ~@5 [c#3,g#3]@2 ~@15]/4", // C#5 A5 C#5
B: "[[a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3] ~@3 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3] ~ c#3@4 c#3@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 c#4 ~ c#4@2 [g#3,c#4]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 a3@2 a3@2 [a2,e3]@2 [a2,e3,a3]@2 ~@2 a2 ~ [a2,e3]@3 ~ [a2,e3,a3]@4 e3@2 [e3,a3]@2 ~@2 [a2,e3,a3]@4 [a2,e3,a3]@2 [c#3,c#4]@4 [c#3,c#4]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3,c#4] ~ [c#3,g#3,c#4]@2 ~@2 b3@2 ~@2 g#3@2 [g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 a3@2 ~@2 a2@2 [a2,e3,a3]@2 ~@2 [a2,e3,a3] ~ [a2,e3,a3] ~@3 [a2,e3,a3]@2, ~@2 a3@2 ~@3 [g#3,c#4]@3 ~@5 c#3@3 ~@5 [a2,e3]@2 ~@8 a2@2 ~@12 [c#3,g#3]@2 c#3@2 ~@4 e3@3 ~@6, ~@30 g#3@4 ~@24 a3 ~@19 g#3@6 ~@12 c#4@4 ~@10 a2@4 ~@14, ~@28 a3 ~@3]/8", // A5 C#5 A5 C# C#5 A5 C#5 A5 …
C: "[[a2,e3,a3]@2 e3@2 [e3,a3]@2 ~@2 [a2,e3,a3]@4 [a2,e3,a3]@2 [e2,b2,e3]@4 [b3,e4] ~@3 [e2,b2,e3]@2 [b3,e4]@4 b2@2 e2@2, ~ a2@2 ~@4 c#4 ~@8]/2", // A5 E5
D: "b2 c#3@2 d3@2 b2@3", E: "[e2,e3]@2 [b3,e4] ~@5 [b3,e4]@4 b2@2 e2@2, b2@3 [e2,b2,e3]@2 ~@3", F: "b2 c#3 e2 d3@4 ~",
G: "[e2,b2] ~ [e2,b2,e3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2,e3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
H: "[e2,b2,e3]@2 [e2,b2,e3] ~@3 [e2,b2,e3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~, ~ e1@2 ~@5", // E5
I: "[e2,b2] ~ [e2,b2,e3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
J: "[e2,b2,e3]@2 [e2,b2,e3] ~@4 e2 [e2,b2]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~, ~@3 [b2,e3] ~@4", // E5
K: "[e2,b2,e3]@2 [e2,b2] ~@3 [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
L: "[e2,b2,e3]@2 [e2,b2,e3] ~@3 [e2,b2,e3]@2 [e2,b2]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
M: "[e2,b2] ~ [b2,e3] e2 [e2,b2] ~ [e2,b2] ~ [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
N: "[e2,b2,e3]@2 [e2,b2,e3] ~@3 [e2,b2,e3] ~ [e2,b2]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
O: "[e2,b2,e3]@2 [b2,e3] ~@3 [e2,b2,e3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
P: "[[e2,b2] ~ [e2,b2,e3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2]@2 b2@2 [e2,b2] ~ [e2,b2] ~@3 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,b2,e3]@2 [e2,g#2,b2]@2 [e2,f#2,b2] ~ [e2,b2] ~ [c#3,g#3]@4 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@4 [c#3,g#3,c#4]@2 ~@2 b3@2 c#4@2 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 c3@2 [a2,e3,a3]@4 [a2,e3]@2 [a2,e3,a3]@2 ~@2 [a2,e3] ~ [a2,e3,a3]@2 ~@2 [a2,e3,a3]@2, ~@5 e3@2 e3@2 ~@6 c#4@3 ~@22, ~@10 e2 ~@19 [e2,b2] ~@15 [c#3,g#3]@4 ~@30]/5", // E5 E Esus2 E5 C#5 A5 E5 C#5
Q: "[[a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3] ~@3 [a2,e3,a3]@6 c#3@4 c#3@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 c#4 ~ c#4@2 [g#3,c#4]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 a3@2 a3@2 [a2,e3]@2 [a2,e3,a3]@2 ~@2 a2 ~ [a2,e3]@3 ~ [a2,e3,a3]@4 e3@2 [e3,a3]@2 ~@2 [a2,e3,a3]@4 [a2,e3,a3]@2 [c#3,c#4]@4 [c#3,c#4]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3,c#4] ~ [c#3,g#3,c#4]@2 ~@6 g#3@2 [g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 a3@2 ~@2 a2@2 [a2,e3,a3]@2 ~@2 [a2,e3,a3] ~ [a2,e3,a3] ~@3 [a2,e3,a3]@2, ~@2 a3@2 ~@3 [g#3,c#4]@3 ~@5 c#3@3 ~@5 [a2,e3]@2 ~@8 a2@2 ~@12 [c#3,g#3]@2 c#3@2 ~@4 e3@3 ~@6, ~@30 g#3@4 ~@24 a3 ~@19 g#3@6 ~@12 c#4@4 ~@10 a2@4 ~@14, ~@28 a3 ~@3]/8", // A5 C#5 A5 C# C#5 A5 C#5 A5 …
R: "[a2,e3,a3] ~@7", S: "[e2,b2]@2 [e2,b2]@2 [e2,c#3] ~ [e2,b2]@2 [e2,b2]@2 [e2,b2]@2 [e2,c#3] ~ e2@2",
T: "b2 c#3@2 d3@2 e3@2 c#3", U: "b2 g2@2 e2@4 ~",
V: "[e2,b2] ~ [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
W: "[e2,b2,e3]@2 [e2,b2,e3]@2 ~@2 [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
X: "[e2,b2,e3]@2 [e2,b2,e3]@2 ~@3 e2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~, ~@3 [b2,e3] ~@4", // E5
Y: "[e2,b2,e3]@2 [e2,b2,e3]@2 ~@2 [e2,b2,e3]@2 [e2,b2]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
Z: "[e2,b2,e3]@2 [e2,b2,e3] ~@3 [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
AA: "[e2,b2,e3]@2 [b2,e3]@2 ~@2 [e2,b2,e3]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
AB: "[[e2,b2] ~ [e2,b2,e3] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2]@2 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~@3 [e2,b2,e3]@2 [e2,b2]@2 [e2,b2]@2 [e2,g#2,b2] ~ [e2,f#2,b2] ~ [e2,b2] ~ [c#3,g#3]@4 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@4 [c#3,g#3,c#4]@2 ~@2 b3@2 c#4@2 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 c3@2 [a2,e3,a3]@4 [a2,e3]@2 [a2,e3,a3]@2 ~@2 [a2,e3] ~ [a2,e3,a3]@2 ~@2 [a2,e3,a3]@2, ~@5 e3@2 e3@2 ~ e3@2 ~@3 c#4@3 ~@5 [c#3,g#3]@2 ~@15]/5", // E5 E Esus2 E5 C#5 A5 C#5
AC: "[[a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3] ~@3 [a2,e3,a3]@6 c#3@4 c#3@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 c#4 ~ c#4@2 [g#3,c#4]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 a3@2 a3@2 [a2,e3]@2 [a2,e3,a3]@2 ~@2 a2 ~ [a2,e3]@3 ~ [a2,e3,a3]@4 e3@2 [e3,a3]@2 ~@2 [a2,e3,a3]@4 [a2,e3,a3]@2 [c#3,c#4]@4 [c#3,c#4]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3,c#4] ~ [c#3,g#3,c#4]@2 ~@2 b3@2 ~@2 g#3@2 [g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 ~@2 a3@2 ~@2 a2@2 [a2,e3,a3]@2 ~@2 [a2,e3,a3] ~ [a2,e3,a3] ~@3 [a2,e3,a3]@2, ~@2 a3@2 ~@3 [g#3,c#4]@3 ~@5 c#3@3 ~@5 [a2,e3]@2 ~@8 a2@2 ~@12 [c#3,g#3]@2 c#3@2 ~@4 e3@3 ~@6, ~@30 g#3@4 ~@24 a3 ~@19 g#3@6 ~@12 c#4@4 ~@10 a2@4 ~@14, ~@28 a3 ~@3]/8", // A5 C#5 A5 C# C#5 A5 C#5 A5 …
AD: "[e2,b2]@2 [e2,b2,e3]@2 [e2,c#3] ~ [e2,b2]@2 [e2,b2,e3]@2 [e2,b2]@2 [e2,c#3] ~ e2@2", AE: "b2 c#3 ~ d3@4 ~",
AF: "[b2 c#3 ~ d3@3 ~ f#2@2 f#2 g#2!2 a2!2 c#3 b2@2 b2 b2@2 b2!2 c#3 f#2@2 f#2 g#2!2 a2!2 c#3 b2@2 b2 b2@2 b2!2 c#3 f#2@2 f#2 g#2!2 a2!2 c#3 b2@2 b2 b2@2 b2!2 c#3 f#2@2 f#2 g#2!3 a2 c#3 b2]/8",
AG: "[~ b2 b2@2 b2!2 c#3 f#2@2 f#2 g#2!2 a2!2 c#3 b2@2 b2 b2@2 b2!2 c#3 f#2@2 f#2 g#2!2 a2!2 c#3 b2@2 b2 b2@2 b2!3 c#3]/5",
AH: "[f#2!2 g#2!2 a2!2 c#3 b2@2 b2 b2@2 b2!2 c#3 f#2@2 f#2 g#2!2 a2!2 c#3 b2@2 b2 b2@2 b2@2 b2@2]/4", AI: "b2 ~@7",
AJ: "[[e2,b2] b2 ~@4 e2 e2@2 ~ [b2,e3]@3 [e2,b2,e3]@2 b2@2 b2 a#2!2 a2!2 g#2!2, e3@2 [b2,e3]@3 b2@5 ~@14, ~@2 e2@6 e2@4 ~@2 c#5 ~@3 e2@8 ~@22, ~@5 e3@2 e3@3 ~@14]/3", // E5
AK: "[b2@2 ~@2 e3@2 b2@4 e3@2 e2@2 [a2,e3]@4 ~@2 e3@4 ~@2 [e3,a3]@2 ~@2 [e3,a3]@4 e3@2 e3@2 [a2,a3]@4 a2@2 e3 ~ b2@4 ~@2 a#2@2 a#2@2 a2@2 a2@2 g#2@2 g#2@2, e2 e2@2 ~@13, ~ b2@2 e3 ~ b2@2 ~@2 a2@3 a2@3 a2@3 ~@7 b2@2 ~@5, ~@6 a3 ~@7 a3@6 a3@6 ~@8 a3@4 e3@6 ~@2 f#3@6 ~@12]/4", // A5 A
AL: "[~@3 [b2,e3]@2 [b2,e3] ~ [e3,a3]@2 e3 ~@2 a2 [a2,e3]@2 e3@2 ~ a2 [e3,a3]@2 [e3,a3]@2 [b2,f#3]@2 [b2,f#3]!7, b2@3 ~@4 a2@3 a2@2 ~@3 [a2,a3]@3 ~ a2@4 ~@9, e2@4 e2@9 ~@9 e3@4 ~@8 e3@4 ~@26, ~ e3@2 ~@6 a3@3 ~@11 b3@7 ~@2]/4", // E5 A5 B5 A
AM: "[[b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3]@2 g#2@2 f#2@2 e2@2 [c#3,g#3]@4 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@4 [c#3,g#3,c#4]@2 ~@2 b3@2 c#4@2 [c#3,g#3]@2 [c#3,g#3,c#4]@2 ~@2 [c#3,g#3] ~ [c#3,g#3,c#4]@2 c3@2 [a2,e3,a3]@4 [a2,e3]@2 [a2,e3,a3]@2 ~@2 [a2,e3] ~ [a2,e3,a3]@2 ~@2 [a2,e3,a3]@2, ~@7 c#4@3 ~@5 [c#3,g#3]@2 ~@15]/4", // B5 C#5 A5 C#5
AN: "[e2,b2]@2 [e2,b2,e3]@2 [e2,c#3] ~ [e2,b2]@2 [e2,b2,e3]@2 [e2,b2]@2 [e2,c#3]@2 e2@2", // E5 C#m E5 C#m
AO: "[e2,b2]@2 [e2,c#3]@2 e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~, ~@6 d3@4 e3@5 ~", // E5 C#m
AP: "[e2,b2]@2 [e2,c#3]@2 e2 ~ e2 ~ e2 ~ [e2,b2]@2 [e2,b2]@2 [e2,b2] ~, ~@3 d3@3 ~@2", // E5 C#m E5
AQ: "[e2,b2] ~ [e2,b2,e3] ~ [e2,c#3] ~ [e2,b2]@2 [e2,b2,e3]@2 [e2,b2]@2 [e2,c#3]@2 e2@2", // E5 C#m E5 C#m
AR: "[[e2,b2] g#2 g2 [e2,e3]@11 ~@2]/2", // E5 E
})).s("gm_overdriven_guitar").gain(0.22).pan(0.4)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~ A@2 B C D@2 E C D@2 E C F@2 G H I H I H J H J H J H J H K H J L M@2 N C D@2 E C D@2 E C O H J H K H I H J H J H J H
J H K H J L M@2 N C D@2 E C D@2 E C O H J H P@8 Q@3 R@6 S H T@2 U V W@2 X Y Z@2 AA@2 N C D@2 E C D@2 E C O H J H J H J
H J H J H J H J H J H J H J H J H J H J H AB@2
>`.pickRestart({
A: "[~@4 g#1 f#1 e1 c#2@2 c#2!7]/2", B: "c#2@2 c#2@2 c#2@2 c#2@2 c#2@2 c#2@2 c#2 ~ a1@2", C: "a1!8",
D: "[a1!4 g#1 f#1 e1 c#2@2 c#2!7]/2", E: "c#2!7 a1", F: "[a1!5 g#1 f#1 e1@2 e1!7]/2",
G: "e1@2 e1@2 e1@2 e1@2 e1 ~ g1@2 g1@2 f#1 ~", H: "e1!8", I: "e1@2 e1@2 e1@2 e1@2 e1 ~ g1@2 g1@2 f#1@2",
J: "e1!5 g1!2 f#1", K: "e1@2 e1@2 e1@2 e1@2 e1@2 g1@2 g1@2 f#1 ~", L: "e1@2 e1@2 e1@2 e1@2 e1 ~ g1@2 g1@2 e1@2",
M: "[e1!4 g#1 f#1 e1 c#2@2 c#2!7]/2", N: "c#2!7 g#1", O: "a1@3 ~@13",
P: "[e1!5 g1!2 f#1@2 f#1 g#1!2 a1!2 c#2 b1@2 b1 b1@2 b1!2 c#2 f#1@2 f#1 g#1!2 a1!2 c#2 b1@2 b1 b1@2 b1!2 c#2 f#1@2 f#1 g#1!2 a1!2 c#2 b1@2 b1 b1@2 b1!2 c#2 f#1@2 f#1 g#1!2 a1!2 c#2 b1]/8",
Q: "[~ b1 b1@2 b1!2 c#2 f#1@2 f#1 g#1!2 a1!2 c#2 b1@2 b1 b1@2 b1!3 c#2]/3",
R: "[f#1!2 g#1!2 a1!2 c#2 b1@2 b1 b1@2 b1!2 c#2 f#1@2 f#1 g#1!2 a1!2 c#2 b1@2 b1 b1@2 b1!2 c#2 f#1@2 f#1 g#1!2 a1!2 c#2 b1@3 b1@2 b1@2 b1@2]/6",
S: "b1 ~@7", T: "[e1@2 e1@2 e1@2 e1@2 e1@2 e1@2 e1@2 b1@4 b1@2 a#1@2 a#1@2 a1@2 a1 ~ g#1@2 g#1@2]/2",
U: "e1@2 e1@2 e1@2 e1@2 e1@2 e1 ~ g1@2 e1@2", V: "a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1 ~ g1@2",
W: "[a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 b1@4 b1@2 a#1@2 a#1 ~ a1@2 a1@2 g#1@2 g#1@2]/2",
X: "e1@2 e1@2 e1@2 e1@2 e1@2 e1@2 g1@2 e1 ~", Y: "a1!7 g1", Z: "[a1!7 b1@2 b1!7]/2",
AA: "[b1!4 g#1 f#1 e1 c#2@2 c#2!7]/2", AB: "[e1!3 e1@11 ~@2]/2",
})).s("gm_electric_bass_finger").gain(0.41)
// chords · rock organ · "ORGAN 3"
const rock_organ = note("<~@50 A B A C D E F G H I J K L M N O@8 P@4 Q ~@74>".pickRestart({
A: "~ [b4,e5,b5] ~@2 [a4,e5,a5] ~@3", B: "[b4,e5,b5] ~@2 [b4,e5,b5] ~@4", C: "[e4,b4,d5]@3 ~@3 [e4,b4,d5]@3 ~@7",
D: "~@2 [e5,b5,d6]@3 ~@3 [e5,a5,c#6]@2 ~@6", // E7 A
E: "[e5,b5,d6]@3 ~ [e5,b5,e6]@2 [e5,b5,d6]@5 [g5,a5,c6] [c5,e5,f5] c5 ~@2, ~@4 d6 ~@7 d5@2 ~@2", // E7 E5 E7 Am7 Fmaj7
F: "~@2 [e5,g#5,d6]@3 ~@3 [e5,g5,c#6]@2 ~@6", G: "[b4,d5]@2 [e4,b4,d5]@2 ~@2 [e4,b4,d5]@5 ~@5, e4 ~@15",
H: "~@2 [e5,b5,d6]@2 ~@4 [e5,a5,c#6]@2 ~@2 c5 e5 [f5,g5,a5] [b5,c6,d6], ~@6 d5 ~", // E7 A F Bm
I: "[b5,e6] ~ [b5,e6]@2 ~@2 [b5,e6]@2 ~@2 [b5,e6]@2 [b5,d6]@2 ~@2", J: "~@2 [e5,b5,d6]@2 ~@4 [e5,a5,c#6]@3 ~@5",
K: "e4 [e4,d5] ~ [e4,b4,d5]@3 ~@2, b4 ~@3, d5 ~@15", // E7
L: "~@2 [e5,b5,d6]@2 ~@4 [e5,a5,c#6]@2 ~@2 [g4,a4,b4] [c5,d5,e5] [f5,g5,a5] [b5,c6]", // E7 A G C F Cmaj7
M: "e6 b5 [b5,e6]@2 ~@5 c#6 [c6,d6] [g5,a5,b5] [b4,c5,d5,e5,f5] a4 ~@2, ~@2 d6 ~@3 [b5,e6]@5 ~@5", // E5 Csus2 G Bdim E5
N: "~@2 [e5,b5,d6]@2 ~@4 [e5,a5,c#6]@2 ~@5 e4", // E7 A
O: "[[b4,d5] ~ [e4,b4,d5]@2 ~@2 [e4,b4,d5]@4 f#4@2 e4@2 [e5,g#5,c#6]@31 ~ [e5,a5,c#6]@31 ~ [e5,g#5,c#6]@31 ~ [e5,a5,c#6]@18]/8", // Bm E7 C#m A C#m A
P: "[~@14 [e5,g#5,c#6]@31 ~ [e5,a5,c#6]@17 ~]/4", Q: "[e5,a5,c#6]@3 ~@13",
})).s("gm_rock_organ").gain(0.33)
// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~ A ~@3 B ~@3 B C ~@2 D E F G H I J K L K J K M K J N L I J K O ~@3 A ~@3 B C ~@7 I J K L K J K M K J N L I J K O ~@3
A ~@3 B C ~@24 P Q ~ R S T ~ U S V ~ W ~@3 A ~@3 B C ~@3 X ~ X ~ X ~ X Y X ~ Z ~ X ~ X ~ X ~ X ~ X ~ X Y X ~ Z AA ~
>`.pickRestart({
A: "~@4 g#2 f#2 e2 ~", B: "~@4 g#2 f#2 ~@2", C: "~@2 g#3 ~@13", D: "~@5 g#2 f#2 ~",
E: "~@4 c#3@3 ~ d3@2 e2@2 c#3@2 ~@2", F: "~@5 e3@2 e2", G: "~@2 c#3 ~ d3 e2 c#3 ~", H: "~@7 e2",
I: "~@4 c#3@3 ~ d3@2 ~@2 c#3@2 ~@2", J: "~ c#3 ~ d3@2 ~@3", K: "~@2 c#3 ~ d3 ~ c#3 ~", L: "~ c#3 ~ d3@3 ~@2",
M: "a#2 c#3 ~ d3@4 ~", N: "~@4 c#3@2 ~@2 d3@3 ~ c#3@2 ~@2", O: "b2 c#3 ~ d3 ~@4", P: "~@3 e2 ~@4",
Q: "e2 ~@2 e2!2 ~ e2 ~", R: "~ e2 ~@2 e2 ~@3", S: "a2 ~@2 a2 ~@2 a2 ~", T: "a2 ~ a2 ~ a2 ~ a2 ~", U: "~@4 e2 ~ e2 ~",
V: "a2!2 ~@2 a2 ~ a2 ~", W: "~@4 b2 ~@3", X: "~@4 d3 ~@3", Y: "a#2 ~@7", Z: "~@8 d3@3 ~@5", AA: "~ g2@2 ~@5",
})).s("gm_electric_guitar_muted").gain(0.26).pan(0.6)
// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
~@2 A ~@3 B ~ C ~@25 A ~@3 B ~ C ~@25 A ~@3 B ~ C ~@38 A ~@3 B ~ C ~@34
>`.pickRestart({
A: "~@8 [c#3,g#3] ~@7", B: "~@2 g#3 ~@13", C: "~@8 e3 ~@7",
})).s("gm_electric_guitar_muted").gain(0.15).pan(0.6)
// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
~@2 A@2 B@2 C@2 D@2 E@2 F@2 G H I J K L M I N I O I P Q R S T U V@2 W@2 B@2 C@2 D@2 E@2 X@2 G H I Y K L M I N I O I P
Q R S T U Z AA AB@2 AC@2 C@2 D@2 E@2 X@2 G H I AD AE AF AE AF AE AF AE AF AE AF AE AF AE AF AE AG AH ~@12 AB@2 B@2 C@2
D@2 E@2 X@2 AI AJ AK J AK AJ AK J AL AJ AM J AN AJ AN J AO AJ AP J AQ AR@2 J AS AJ AT AU ~
>`.pickRestart({
A: "[~@2 f#4 ~@2 e4 ~@2 f#4 ~ f#4 e4@3 ~@2, ~@2 [c#4,e4]@4 ~@2 [c#4,f#4]@4 ~@2 [c#4,e4]@4 ~@2 c#4@9 ~@3]/2", // C#m F#5 C#m
B: "[~@4 f#4@2 ~@4 e4@2 ~@4 f#4@2 ~@2 f#4@2 e4@5 ~@5, ~ [c#4,e4]@2 ~ [c#4,f#4]@2 ~ [c#4,e4]@2 ~ c#4@4 ~@2]/2", // C#m F#5 C#m
C: "[~@4 f#4@2 ~@4 e4@2 ~@4 f#4@2 ~@2 f#4@2 e4@7 ~@3, ~@2 [c#4,e4]@4 ~@2 [c#4,f#4]@4 ~@2 [c#4,e4]@4 ~@2 c#4@9 ~@3]/2", // C#m F#5 C#m
D: "[~@4 f#4@2 ~@4 e4@2 ~@2 e4@2 g4@2 ~@2 g4@2 e4@5 ~@5, ~@2 [c#4,e4]@4 ~@2 [c#4,f#4]@4 ~@2 c#4@5 ~ c#4@8 ~@4]/2", // C#m F#5
E: "[~@4 f#4@2 ~@4 e4@2 ~@2 e4@2 f#4@3 ~ f#4@2 e4@5 ~@5, ~@2 [c#4,e4]@4 ~@2 [c#4,f#4]@4 ~@2 c#4@5 ~ c#4@8 ~@4]/2", // C#m F#5
F: "[~@2 e4@2 f#4@2 ~@2 f#4@2 e4@2 ~@2 e4@2 f#4@2 ~@2 f#4@2 e4@5 ~@3 [e2,b2] ~, ~@2 c#4@4 ~@2 c#4@4 ~@2 c#4@5 ~ c#4@9 ~@3]/2", // E5
G: "~ [e2,b2]!2 ~@3 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~@5", H: "b2@2 c#3@4 e2@6 ~@2 [e2,b2] ~, e2@3 d3@5",
I: "[e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~", // E5
J: "[e2,b2]@2 c#3@4 d3@9 ~, ~@2 e2@2 ~@2 e2 ~@9", K: "[e2,b2] ~ [e2,b2] ~@3 b2 ~ [e2,b2] ~ e2 ~@5",
L: "[e2,b2] ~ [e2,b2] ~@3 b2 ~ [e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~", M: "[e2,b2] ~ [e2,b2] ~@3 b2 ~ [e2,b2] ~@5 b2 ~",
N: "[e2,b2] ~ [e2,b2] ~@5 [e2,b2] ~ e2 ~@3 [e2,b2] ~", // E5
O: "[e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~@3 e2 ~", // E5
P: "[e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~ [e2,b2] ~ e2 ~@3 [e2,b2] ~", // E5
Q: "[e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~@5", // E5
R: "[e2,b2] ~ [e2,b2] ~@5 [e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~", // E5
S: "~@2 [e2,b2] ~@3 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~", T: "b2 ~ [e2,b2] ~@5 [e2,b2] ~@7",
U: "e2 ~ [e2,b2] ~@3 [e2,b2] ~ [e2,b2] ~ [e2,b2] ~@3 [e2,b2] ~", // E5
V: "[~@2 [e2,b2] ~@5 [e2,b2] ~ b2 ~@3 [e2,b2]@4 [e2,b2]@2 [e2,b2]@2 [e2,b2]@2 g#2@2 f#2@2 e2@2 ~@2]/2", // E5
W: "[~@2 f#4 ~@2 e4 ~ e4 f#4 ~ f#4 e4@3 ~@2, ~@2 [c#4,e4]@4 ~@2 [c#4,f#4]@4 ~@2 c#4@4 ~@2 c#4@9 ~@3]/2", // C#m F#5
X: "[~ e4 f#4 ~ f#4 e4 ~ e4 f#4 ~@7, ~ c#4@2 ~ c#4@2 ~ c#4@2 ~@7]/2", Y: "[e2,b2]@2 g2@4 e2@9 ~",
Z: "~@2 [e2,b2] ~@5 [e2,b2] ~ b2 ~@5", AA: "~ [e2,b2]!3 g#2 f#2 e2 ~",
AB: "[~ e4 f#4 ~ f#4 e4 ~ e4 f#4 ~ f#4 e4@3 ~@2, ~@2 c#4@4 ~@2 c#4@4 ~@2 c#4@4 ~@2 c#4@9 ~@3]/2",
AC: "[~@2 e4@2 f#4@2 ~@4 e4@2 ~@4 f#4@2 ~@2 f#4@2 e4@5 ~@5, ~ c#4@2 ~ [c#4,f#4]@2 ~ [c#4,e4]@2 ~ c#4@4 ~@2]/2", // F#5 C#m
AD: "[e2,b2]@2 c#3@4 d3@8 [c#3,f#3] ~, ~@2 e2@2 ~@2 e2 ~@9", // E5 F#5
AE: "[c#3,f#3] ~ [c#3,f#3] ~ [c#3,f#3] ~ [c#3,f#3] ~ [c#3,f#3] ~ [c#3,f#3] ~ [c#3,f#3] ~ [b2,f#3] ~", // F#5 B5
AF: "[b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [c#3,f#3] ~", // B5 F#5
AG: "[b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~ [b2,f#3] ~", AH: "[b2,f#3] ~@7",
AI: "~@2 [b3,e4]@2 ~@4 [b3,e4]@3 ~@5", AJ: "b2 c#3@2 d3@5, e2@3 e2@3 ~@2", AK: "~@2 [b3,e4]@3 ~@3 [b3,e4]@3 ~@5",
AL: "~ [b3,e4] ~@2 [b3,e4] e4 ~@2", AM: "~@2 [b3,e4]@3 ~@3 [b3,e4]@2 [b3,e4]@2 ~@4",
AN: "~ [b3,e4] ~@2 [b3,e4]!2 ~@2", AO: "~@2 [b3,e4]@2 e3@2 [b3,e4]@2 [b3,e4]@2 [b3,e4] ~ [b3,e4] ~@3",
AP: "~@2 [b3,e4]@2 ~@2 [b3,e4]@2 [b3,e4]@2 b3@2 [b3,e4]@2 b3 ~, ~@2 e3@3 ~@3", // E5
AQ: "~@2 [b3,e4]@2 ~@2 [b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [b3,e4]@2 e4 ~, ~ e3 ~@2", // E5
AR: "[b2@2 c#3@4 e2@6 ~@2 [b3,e4]@4 [b3,e4]@2 [b3,e4]@2 [b3,e4] ~ [b3,e4] ~ [b3,e4] ~@2 b3 [b3,e4] ~, e2@3 d3@5 ~@8]/2", // E5
AS: "~@2 [b3,e4]@2 ~@2 [b3,e4]@2 [b3,e4]@2 [b3,e4] ~ [b3,e4] ~ [b3,e4] ~, ~@2 e3@3 ~@3", // E5
AT: "~@2 [b3,e4]@2 e3@2 [b3,e4] ~ [b3,e4]@4 [b3,e4]@4", AU: "[e2,b2]@2 g#3@2 g3@2 [e2,e3]@9 ~",
})).s("gm_distortion_guitar").gain(0.24).pan(0.6)
// chords · distortion guitar · "DISTORTION" · soft notes
const distortion_guitar_soft = note(`<
~@18 A B C ~ D ~ E ~ F G H I J K L ~@17 A B C ~ D ~ E ~ F G H I J K L ~@66 M ~@9 N ~ O ~ P ~@6
>`.pickRestart({
A: "~@6 e2 ~@3 b2 ~@3 [e2,b2] ~", B: "~@6 e2 ~@9", C: "~@6 e2 ~@3 [e2,b2] ~@3 e2 ~", D: "~@6 [e2,b2] ~@3 b2 ~@5",
E: "~@14 b2 ~", F: "~@10 b2 ~@5", G: "~@14 [e2,b2] ~", H: "~@6 [e2,b2] ~@9", I: "[e2,b2] ~@11 b2 ~@3",
J: "e2 ~@5 [e2,b2] ~@3 [e2,b2] ~@3 [e2,b2] ~", K: "b2 ~@15", L: "[e2,b2] ~@5 [e2,b2] ~@3 e2 ~@5", M: "~@5 b3 ~@2",
N: "~@14 e4 ~", O: "~@14 b3 ~", P: "~@13 e4 ~@2",
})).s("gm_distortion_guitar").gain(0.14).pan(0.6)
// other · distortion guitar · "DISTORTION"
const distortion_guitar_2 = note("<~@98 A B C D E@4 F G@2 H I@2 ~@2 J@2 ~@2 K@2 ~@32>".pickRestart({
A: "~ a3@7", B: "a3@2 b3 ~ a3@4 b3 ~ a3@4 b3 ~", C: "a3@3 ~ b3 ~ a3@7 ~ b2@2",
D: "~@2 b2 ~ a#2 ~ a#2 ~ a2 ~ a2 ~ g#2 ~ g#2 ~",
E: "[e2@3 [b3,c4,d4] e4@2 d4@4 e4@3 ~ e4@4 e4@2 d#4@2 d4@2 c#4@2 a3@3 d4 e4@4 e4@2 d#4@2 d4@2 c#4@4 ~@2 b2@4 b2 ~ a#2 ~ a#2 ~ a2 ~ a2 ~ g#2 ~ g#2 ~, ~@30 d#4 ~@33]/4", // Bm
F: "e2@3 [b3,c4,d4] ~@2 d4@4 e4@3 ~ e4@2, ~@3 e4@3 ~@10", // Bm
G: "[~@2 e4@2 d#4@2 d4@2 c#4@2 a3@3 [d4,d#4] e4@4 e4@2 d#4@2 d4@2 c#4@4 ~@2 b2@2]/2", // D#maj7
H: "~@2 b2@2 [d3,d#3]@2 f#3@2 b3 ~ b3@2 [d4,d#4] ~ f#4@2", I: "[b4@2 f#4@2 b4 ~ b4@4 d#5@3 ~ [c5,d#5]@12 ~@6]/2",
J: "[~@5 [c5,d#5] ~ [c5,d#5]@7 ~@2]/2", K: "[~@10 [c5,d#5]@2 ~@2 [c5,d#5]@17 ~]/2",
})).s("gm_distortion_guitar").gain(0.48).pan(0.6)
// other · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
~@2 A B@2 C D E F G@2 C D H@3 ~@18 I J A E A E A K A E A L M ~ M ~@17 I J A E A E A K A E A L M ~ M N@7 O@7 P@3 Q ~@12
I J A E A E A K A E A L M ~ M ~ R ~ S ~ R ~ R ~ R ~ R ~ R ~ R ~ R ~ R ~ R ~ R ~@2
>`.pickRestart({
A: "~ e4 f#4 ~ f#4 e4 ~ e4", B: "[f#4@2 ~@2 f#4@2 e4@12 e4@2 f#4@3 ~ f#4@2 e4@3 ~ e4@2]/2", C: "f#4@3 ~ f#4@2 e4@10",
D: "~@2 e4@2 f#4@3 ~ f#4@2 e4@3 ~ e4@2", E: "f#4 ~ f#4 e4@5", F: "~@2 e4@2 f#4@3 ~ f#4@2 e4@2 ~@2 e4@2",
G: "[g4@2 ~@2 g4@2 e4@12 e4@2 f#4@3 ~ f#4@2 e4@2 ~@2 e4@2]/2", H: "[f#4 ~ f#4 e4@21]/3",
I: "~@2 e4@2 f#4 ~@3 f#4@2 e4@2 ~@2 e4@2", J: "f#4 ~@3 f#4@2 e4@10", K: "g4 ~ g4 e4@5", L: "e4 ~@7",
M: "~ [e4,e5] ~@2 [e4,e5] ~@3", // E
N: "[~@14 b3@4 c#4@2 f#4@2 ~@2 c#4@2 ~@2 b3 ~ b3@4 c#4@2 e4@2 b3@2 c#4@2 ~@2 b3 ~@5 c#4@2 f#4@2 ~@2 c#4@2 f#4@2 b3 ~ b3@4 c#4@2 e4@2 ~@2 c#4@2 ~@2 b3 ~ b3@4 c#4@2 f#4@2 ~@2 c#4@2 ~@2 b3 ~ b3@4 c#4@2 e4@2 b3@2 c#4@2 ~@2 b3 ~ b3@2, ~@11 b3@2 f#4@2 ~@6 e4@2 b3@3 ~ b3@2 ~@6 b3@2 e4@2 ~@4 b3@2 f#4@2 ~@6 e4@2 ~]/7",
O: "[~@2 c#4@2 f#4@2 ~@2 c#4@2 f#4@2 b3 ~@5 c#4@2 e4@2 ~@2 c#4@2 e4@2 b3 ~@5 c#5@2 f#5@2 ~@2 c#5@2 f#5@2 b4 ~ b4@4 c#5@2 e5@2 b4@2 c#5@2 e5@2 b4 ~ b4@4 c#5@2 f#5@2 ~@2 c#5@2 f#5@2 b4 ~ b4@4 c#5@2 e5@2 b4@2 c#5@2 e5@2 b4 ~ b4@4 c#5@2 f#5@2 ~@2 c#5@2 f#5@2 b4 ~ b4@2, ~@3 b3@2 ~@2 b3@3 ~ b3@2 ~@2 b4@3 ~ b4@2 ~@14 b4@2 ~@14 b4@2 ~@3]/7",
P: "[~@2 c#5@2 e5@2 ~@2 c#5@2 ~@2 b4 ~@5 c#5@2 f#5@2 b4@2 c#5@2 f#5@2 b4 ~ b4@4 c#5@2 e5@2 ~@2 c#5@2 e5@2 b4@2 c#5@2, ~@3 b4@2 e5@2 b4@3 ~@9 b4@2 ~@3]/3",
Q: "f#5 ~@7", R: "~@2 [e4,e5]@3 ~@3 [e4,e5]@3 ~@5", S: "~@2 [e4,e5]@2 ~@4 [e4,e5]@3 ~@5",
})).s("gm_synth_brass_1").gain(0.27).pan(0.4)
// chords · pad poly · "POLYSYNTH"
const pad_poly = note("<~@33 A@3 B@8 C@2 ~@19 A@3 B@8 C@2 ~@32 A@3 B@8 C D ~@29>".pickRestart({
A: "[~@14 [g#4,e5]@33 ~]/3", B: "[[a4,b4,e5]@29 ~ [g#4,e5]@33 ~]/4", C: "[a4,b4,e5]", D: "[a4,b4]",
})).s("gm_pad_poly").gain(0.18).pan(0.4)
// drums · kick
// … 61 more lines
More by Loverboy
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.