0:00/0:00
// Lonely Boy — Andrew Gold
// 124 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 132 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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 · "A.PIANO 2"
const piano = note(`<
A B C B C B C B C B C B C B C D E F G F E F H I J K L M N O A B C B C B C B C B C D E F G F E F H I J K L M N O P Q R
Q R Q R S T U T V W X Y Z T AA T AB W X AC AD AE@5 AF N AG AH AI AJ AI AK@2 AL@4 AM@2 E F G F E F H I J K L M N O AN
AO J K L M N AP P AQ AR AQ AR AQ AR AS@2 ~
>`.pickRestart({
A: "~@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~@3 a3 ~, ~@3 [d2,d3,d4,f#4,a4]", // A D
B: "a3@2 [g#1,g#2,g#3,b3,e4]@2 e3 ~ [g#1,g#2,g#3,b3,e4]@2 e3 ~ [a1,a2,a3,c#4,e4] ~@3 e3 ~, ~@3 [a1,a2,a3,c#4,e4]", // E A
C: "e3@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~@3 a3 ~, ~@3 [d2,d3,d4,f#4,a4]", // A D
D: "a3@2 [g#1,g#2,g#3,b3,e4]@2 e3 ~ [g#1,g#2,g#3,b3,e4]@2 e3 ~ [a1,a2,a3,c#4,e4] ~ [a1,a2,a3,c#4,e4]@4", // E A
E: "[a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~, [f#2,f#3]@2 ~ [f#2,f#3]@2 ~ [f#2,f#3]@2", // F#m F#
F: "[g#3,c#4,e4] ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] ~, [e2,e3]@2 ~ [e2,e3]@2 ~ [e2,e3]@2", // C#m E
G: "[a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~, [d2,d3]@2 ~ [d2,d3]@2 ~ [d2,d3]@2", // F#m D
H: "[f#3,c#4,f#4] ~ [f#3,c#4,f#4] ~ [f#3,c#4,f#4] ~ [f#3,a3,c#4] ~ [a3,c#4] ~ [f#3,a3] ~ d3@2 d3@2, [d2,d3]@2 ~ [d2,d3]@2 ~ [d2,f#3,a3]@2, ~@4 f#3 ~@3", // F#5 F#m A F#m D
I: "[g#3,c#4,f#4]@2 [g#3,c#4,f#4]@2 [g#3,c#4,f#4]@2 [g#3,c#4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]@2 [g#3,c#4,f4]@2 [g#3,f4]@2, [c#2,c#3]!2, ~@6 f#4@2 ~@6 c#4 ~", // C#sus4 C#5 C#
J: "a3 ~ d4 [a3,f#4]@2 ~@2 d3, [d2,d3,f#4]@5 ~ d2@10, ~ a3@2 d3@3 f#4@2, ~@5 e4@3", // D
K: "[g#2,g#3,d4,f#4]@2 g#2 [g#3,b3,e4]@2 ~ e4!2, ~@3 c#3@5, ~@5 b3@3, ~@3 c#4", // G#m7b5 E
L: "a3 ~@2 e4 ~@3 a3, c3, f#4@3 ~@2 e4@3, c4!2 c4@2, ~ a3@2 a3@3 f#4@2",
M: "b3 ~ c#4 [b2,f#3,a3,d#4]@2 b3 [b2,a3,b3,c#4,e4]@2, [b2,f#3,c#4,e4]@5 ~@11, ~@2 a3@4 b3@3 ~@7", // B7 A Bsus4
N: "[d2,a3,d4,f#4]@2 d3 ~@2 d3 d4 [d3,d4], ~@3 [d2,a3,d4,f#4]@3 [d2,a3,f#4]@2", // D
O: "[e2,b3,e4]@2 ~ [e2,b3,e4]@2 e3 ~ e3, ~@4 [e3,a3]@5 ~ a3@6, ~@3 [e2,b3,e4]", // E5 A5 E5
P: "~@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d4,f#4,a4]@2 a3 ~, ~@3 [d2,d3]", // A D
Q: "a3 ~ [e4,g#4]@2 a3 ~ [a3,e4,g#4]@2 a3 ~ [f#3,a3,e4,f#4,a4] ~ [a3,e4,f#4,a4]@2 a3@2, ~@2 a3 ~@9 f#3@4", // E Amaj7 F#m7
R: "e4@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d4,f#4,a4]@2 a3 ~, ~@3 [d2,d3]", // A D
S: "a3 ~ [e4,g#4]@2 a3 ~ [a3,e4,g#4]@2 a3 ~ [f#3,a3,e4,f#4,a4] ~ [f#3,a3,e4,f#4,a4]@2 ~@2, ~@2 a3 ~@13", // E Amaj7 F#m7
T: "~@2 d3 ~ d3@2 ~@2 d3 ~ d3@2 ~@2 d3@2, [d2,a3,c#4,e4,f#4]@5 ~ [d2,a3,c#4,e4,f#4]@5 ~ [d2,a3,c#4,e4,f#4]@4", // Dmaj7
U: "~@2 f#3 ~ f#3@2 [b3,c#4,e4,g#4]@2 f#3 ~ f#3@2 f#2@2 f#3@2, [f#2,a3,c#4,e4,f#4]@5 ~ f#2@4 [a3,c#4,e4,f#4]@6", // C#m7 F#m7
V: "~@2 f#3 ~ f#3@2 [b3,c#4,e4,g#4]@2 f#3 ~ f#3@2 f#2@2 f#3@2, [f#2,a3,c#4,e4,g#4]@5 ~ f#2@4 [a3,c#4,e4,f#4]@6", // C#m7 F#m7
W: "[a3,c#4,e4,f#4]@2 d3 [a3,c#4,e4,f#4] d3@2 [c#4,e4,g#4]@2 d3 [c#4,e4,g#4] d3@2 ~@2 e3@2, d2@5 ~ [d2,a3]@5 ~ [d2,a3,c#4,e4,f#4]@4", // F#m7 C#m D5 Dmaj7
X: "~@2 f#3 ~ f#3@2 [b3,c#4,e4,g#4]@2 f#3 ~ f#3@2 f#2@2 f#3@2, [f#2,a3,c#4,e4,f#4]@5 ~ f#2@4 [a3,c#4,e4,a4]@5 ~", // C#m7 F#m7 A
Y: "~@2 d3 ~ d3@2 ~@2 d3 ~ d3@2 ~@2 d3@2, [d2,a3,c#4,e4,f#4]@5 ~ [d2,b3,c#4,e4,g#4]@5 ~ [d2,a3,c#4,e4,f#4]@4", // Dmaj7 C#m7 Dmaj7
Z: "~@2 f#3 ~ f#3@2 ~@2 f#3 ~ f#3@2 ~@2 f#3@2, [f#2,a3,c#4,e4,g#4]@5 ~ [f#2,b3,c#4,e4,g#4]@5 ~ [f#2,a3,c#4,e4,f#4]@4", // F#m7 C#m7 F#m7
AA: "~@2 f#3 ~ f#3@2 [c#4,e4,g#4,b4]@2 f#3 ~ f#3@2 f#2@2 f#3@2, [f#2,c#4,e4,g#4,b4]@5 ~ f#2@4 [a3,c#4,e4,f#4]@6", // C#m7 F#m7
AB: "~@2 f#3 ~ f#3@2 [a3,c#4,e4,f#4]@2 f#3 ~ f#3@2 f#2@2 f#3@2, [f#2,b3,c#4,e4,g#4]@5 ~ f#2@4 [a3,c#4,e4,f#4]@6", // F#m7 C#m7 F#m7
AC: "~@2 d3 ~ d3@2 ~@2 d3 ~ d3@2 ~@2 d3@2, [d2,a3,c#4,e4,f#4]@5 ~ [d2,a3,c#4,e4,f#4]@5 ~ [d2,b3,c#4,e4,g#4]@4", // Dmaj7 C#m7
AD: "~@2 f#3 ~ f#3@2 ~@2 f#3 ~ f#3@2 g#2@2 a2@2, [f#2,a3,c#4,e4,g#4]@5 ~ [f#2,b3,c#4,e4,g#4]@5 ~ [a3,c#4,e4,f#4]@4", // F#m7 C#m7 F#m7
AE: "[[b3,d4,f#4,b4]@3 ~ [b3,d4,f#4,b4] ~ [d4,f#4]@2 [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4,b4] ~ [d4,f#4,b4]@2 [a2,a3,a4]@5 ~ [g#2,g#3,g#4]@3 ~ [f#2,f#3,f#4]@3 ~ [e2,e3,e4]@2 [d2,d3,a3,f#4]@5 ~ [a3,f#4]@4 ~@4 d3@2 [g#2,g#3,d4,f#4]@4 g#2@2 [g#3,b3,e4]@4 ~@2 e4@2 e4@2 a3@2 ~@4 e4@2 ~@6 a3@2, b2@15 ~@23 d2@10 ~@16 c4@2 a3@2 c4@4 c4@4 f#4@4, ~@6 [b3,b4] ~ b4@2 b4@2 ~@2 b3@40 c#3@10 c3@16, ~@19 d3@3 f#4@2 ~@6 c#4@2 f#4@3 a3@2 e4@3, ~@21 e4@3 ~@5 b3@11]/5", // Bm D Bm A G# F# E D …
AF: "~@2 c#4 [b2,f#3,a3,b3,d#4]@2 b3 [b2,a3,b3,c#4,e4]@2, [b2,f#3,b3]@3 ~@5, [c#4,e4] ~@3, ~ a3@2 ~@5", // B7 A B5 C#m
AG: "[e2,b3,e4]@4 ~@2 [e2,b3,e4]@4 e3@2 [e6,f6,g6,a6,b6,c7] [g5,a5,b5,c6,d6] [c5,d5,e5,f5] b4, ~@4 [e3,a3]@5 ~@3 e2@4", // E5 Cmaj7 G Dm7 A5
AH: "~@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d4,f#4,a4]@2 a3@2, ~@3 [d2,d3]", // A D
AI: "e4@2 [g#2,g#3,g#4,b4,d5,e5]@2 e4 ~ [g#2,g#3,g#4,b4,d5,e5]@2 e4 ~ [a4,c#5,e5]@2 [a4,c#5,e5]@2 e4@2, ~@10 [a2,a3] ~ [a2,a3]@4", // E7 A
AJ: "a3@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d4,f#4,a4]@2 a3@2, ~@3 [d2,d3]", // A D
AK: "[a3@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d2,d3,d4,f#4,a4]@2 [e1,e2]@4 [g#1,g#2,g#3,b3,e4]@2 e3 ~ [g#1,g#2,g#3,b3,e4]@2 e3 ~ [a1,a2,a3,c#4,e4] ~ [e3,a3,c#4,e4]@2 ~@2, ~@7 [a1,a2]]/2", // A D E A
AL: "[~@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d2,d3,d4,f#4,a4]@2 [e1,e2]@4 [g#1,g#2,g#3,b3,e4]@2 e3 ~ [g#1,g#2,g#3,b3,e4]@2 e3 ~ [a1,a2,a3,c#4,e4] ~ [e3,a3,c#4,e4]@2 ~@2, ~@7 [a1,a2]]/2", // A D E A
AM: "[~@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d2,d3,d4,f#4,a4]@2 [e1,e2]@4 [g#1,g#2,g#3,b3,e4]@2 e3 ~ [g#1,g#2,g#3,b3,e4]@2 e3 ~ [a1,a2,a3,c#4,e4] ~ [a1,a2,a3,c#4,e4]@4]/2", // A D E A
AN: "[f#4,a4]@2 [f#4,a4] ~ [c#4,f#4,a4] ~ [a2,a3,c#4,f#4,a4]@2 [c#4,f#4,a4] ~ [a2,a3,c#4,f#4,a4] ~ [b2,b3,c#4,f#4,a4]@2 [c#4,f#4,a4] ~, [f#2,f#3,c#4] ~@3", // F#m F#5
AO: "[f#4,a4]@2 [f#4,a4] ~ [c#4,f#4,a4] ~ [a2,a3,c#4,f#4,a4]@2 [c#4,f#4,a4] ~ [a2,a3,c#4,f#4,a4] ~ [b2,b3,c#4,f#4,a4]@2 [c#4,f#4,a4] ~, [e2,e3,c#4] ~@3", // F#m C#m
AP: "[e2,e3,a3,b3,e4]", // Esus4
AQ: "e3@2 [g#1,g#2,g#3,b3,e4]@2 e3 ~ [g#1,g#2,g#3,b3,e4]@2 e3 ~ [a3,c#4,e4]@2 [a3,c#4,e4]@2 e3@2, ~@10 [a1,a2] ~ [a1,a2]@4", // E A
AR: "a3@2 [c#2,c#3,c#4,e4,a4]@2 a3 ~ [c#2,c#3,c#4,e4,a4]@2 a3 ~ [d2,d3,d4,f#4,a4] ~ [d4,f#4,a4]@2 a3 ~, ~@3 [d2,d3]", // A D
AS: "[e3@2 [g#1,g#2,g#3,b3,e4]@2 e3 ~ [a3,c#4,e4]@2 [a1,a2,a3,c#4,e4]@24, ~@6 [a1,a2] ~@25]/2", // E A
})).s("gm_piano").gain(0.48)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~@4 A B A B A B A B A B A B C D E D C D E F G H I J K L A B A B A B A B A B A B C D E D C D E F G H I J K L M ~ M ~ M
~ M ~ N O P O Q O R S T U V W X Y R Z AA AB AC ~@3 AD@2 M ~ M ~ AE@8 C D E D C D E F G H I J K L AF AG G H I J AH AI A
B A B A B A AJ@2 ~
>`.pickRestart({
A: "~@2 c#2@2 ~@2 c#2@2 ~@2 d2 ~ d2@3 ~", B: "~@2 g#1@2 ~@2 g#1@2 ~@2 a1 ~ a1@3 ~", C: "f#2@3 ~@3 f#2@6 ~@2 f#2 ~",
D: "e2@3 ~@3 e2@6 ~@2 e2 ~", E: "d2@3 ~@3 d2@6 ~@2 d2 ~", F: "c#2 ~ c#2@2 c#2 ~ c#2@2 c#2 ~ c#2@2 c#2 ~ a1 ~",
G: "d2@2 d2@2 d2 ~ d2@4 d2@2 d2 ~ d2@2", H: "g#1@2 g#1@2 g#1 ~ c#2@4 c#2@2 c#2@2 ~@2",
I: "c2@2 c2@2 c2 ~ c2@4 c2@2 c2 ~ c2@2", J: "b1@2 b1@2 b1 ~ b1@4 ~@2 c#2@2 ~@2",
K: "d2@2 d2@2 d2 ~ d2@4 d2@2 d2 ~ b1 c#2", L: "e2@2 e2@2 e2 ~ e2@4 ~@2 e2 ~@3",
M: "~@2 c#2@2 ~@2 c#2@2 ~@2 d2 ~ d2@2 ~@2", N: "d2@2 ~ d2!2 ~ d2@2 ~@2 d2 ~ d2@2 a1 ~",
O: "f#1@2 ~ f#1!2 ~ f#1@2 ~@2 f#1 ~ f#1@2 f#1 ~", P: "d2@2 ~ d2!2 ~ d2@2 d2 ~ d2 ~ c#2@2 a1 ~",
Q: "d2@2 ~ d2!2 ~ d2@2 ~ d2!3 c#2@2 a1 ~", R: "d2@2 ~ d2!2 ~ d2@2 ~ d2!3 d2@2 e2 ~",
S: "f#2@4 ~@2 f#2@4 f#2@2 e2@2 e2 ~", T: "d2@2 ~ d2!2 ~ d2@2 ~ d2!2 ~ c#2@2 b1 ~",
U: "f#1@2 ~ f#1!2 ~ f#1@2 ~@2 f#1 ~ f#1@2 c#2@2", V: "d2@2 ~ d2!2 ~ d2@2 d2!3 ~ d2@2 d2 ~, f#3@3 ~@5",
W: "c#2@2 ~ c#2 b1 ~ f#1@2 ~@2 f#1 ~ f#1@2 c#2 ~", X: "d2@2 ~ d2!2 ~ d2@2 ~ d2!3 d2@2 d2 ~",
Y: "c#2@2 ~ c#2 b1 ~ f#1@2 ~@2 f#1 ~ f#1@2 c#2@2", Z: "f#2@2 ~ f#2!2 ~ f#2@2 ~@2 f#2@2 g#2@2 a2@2", AA: "b2@15 ~",
AB: "a2@3 ~@3 g#2@2 ~@2 f#2@2 ~@2 e2@2", AC: "d2", AD: "a3 ~ a3 ~ a3 ~ a3 ~",
AE: "[~@2 c#2@2 ~@2 c#2@2 ~@2 d2 ~ d2@2 e1@4 g#1@2 ~@2 g#1@2 ~@2 a1 ~ a1@2 ~@2]/2",
AF: "f#2@2 f#2@2 ~@2 a2@3 ~ a2@2 b2@4", AG: "e2@2 e2@2 ~@2 a2@3 ~ a2@2 b2@4",
AH: "d2@2 d2@2 d2 ~ d2@4 d2@2 d2 ~ e2@2", AI: "e2@15 ~", AJ: "[~ e2 ~ a1 a1@12]/2",
})).s("gm_electric_bass_finger").gain(0.4)
// bass · electric bass finger · "FINGERDBAS" · soft notes
const bass_soft = note(`<
~@25 A ~ B ~ C ~@21 A ~ B ~ C D E D E D E D E F G ~ G ~ G ~@3 G ~ G ~ G ~@10 D E D E ~@17 A ~ B ~ C ~@3 A ~ B ~@12
>`.pickRestart({
A: "~@14 c#2 ~", B: "~@10 b1@2 ~@2 c#2 ~", C: "~@5 e2 ~@2", D: "~@14 [c2,c#2] [a#1,b1]", E: "a1 ~@15",
F: "~@8 d2 ~@7", G: "~@8 f#1 ~@7",
})).s("gm_electric_bass_finger").gain(0.25)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~@24 A B C D A E ~@20 A B C D A E ~@22 F G H I@2 ~@4 J K ~@11 L@4 M@3 N A B C O P E Q R A B C O A ~ S T U V W X@4 ~
>`.pickRestart({
A: "[d5,a5,f#6]@15 ~", B: "[d5,g#5,f#6]@5 ~ [c#5,g#5,e6]@7 ~@3", C: "[c5,f#5,e6]",
D: "[b4,f#5,e6]@2 ~ b4@3 c#5@2, ~@6 [a5,f#6]@9 ~", E: "[e5,a5,e6]@4 ~@2 [e5,a5,e6]@4 ~@2 [e5,a5,e6]@3 ~",
F: "[d3,d4,d5]@12 [e3,e4,e5]@2 [f#3,f#4,f#5] ~", G: "f#3@5 ~ f#3@5 ~ [g#3,g#4,g#5]@2 [a3,a4,a5] ~, [f#4,f#5]@11 ~@5",
H: "[b3,b4,b5]", // B
I: "[[a3,a4,a5]@4 ~@2 [g#3,g#4,g#5]@3 ~ [f#3,f#4,f#5]@2 ~@4 [d3,d5]@16, ~@7 [e3,e4,e5] ~@8, ~@15 d4@17]/2", // A G# F# D E
J: "~@2 [a2,a4] [b2,b4] [c#3,c#5] [b2,b4] [c#3,c#5] [d3,d5] [e3,e5] [d3,d5] [e3,e5] [f#3,f#5] [g#3,g#5] [a3,a5] [b3,b5] [c4,c#4,c6,c#6]", // A B C# B C# D E D …
K: "[b3,b5] [a#3,a#5] ~@14", L: "[~@24 [g#4,c#5]@2 ~ [g#4,e5]@2 ~ [g#4,f#5]@2, c#4]/4",
M: "[~@2 f#6, [c#4,c#5,f#5]]/3", N: "[c#4,f#6]@7 ~ [c#4,c#5,g#6]@8, [c#5,f#5]@5 ~@3 g#5@6 ~@2",
O: "[b4,f#5,e6]@4 ~@2 b4@6 c#5@3 ~, ~@6 [a5,f#6]@9 ~", P: "[d5,f#5,a5,f#6]@15 ~",
Q: "[a4,c#5,f#5]@4 ~@2 [c#5,f#5,a5]@4 ~@2 [c#5,f#5,b5]@3 ~", // F#m F#sus4
R: "[f#5,a5,c#6]@4 ~@2 [f#5,a5,c#6]@4 ~@2 [f#5,b5,e6]@3 ~", S: "~@2 a3@2 ~@2 a3@2 ~@2 a3 ~ a3@4",
T: "~@2 g#3@2 ~@2 g#3@2 ~@2 a3 ~ a3@4", U: "~@2 [a3,c#5]@3 ~ [a3,c#5]@3 ~ [a3,d5] ~ [a3,d5]@4",
V: "~@2 [g#3,b4]@2 ~@2 [g#3,b4]@2 ~@2 [a3,c#5] ~ [a3,c#5]@4", // G#m A
W: "~@2 [a3,a4]@3 ~ [a3,a4]@3 ~ [a3,a4] ~@2 [e3,e4]@3, ~@6 [a3,a4] ~", // A E A
X: "[~@2 g#4@2 ~@2 [g#3,g#4]@3 a4 a3 ~ [e3,e4]@2 [a3,a4]@4 [a3,e4,a4]@3 ~ [a3,e4,a4]@2 ~@2 [f#3,f#4,a4] ~ [f#3,f#4,a4]@2 [e4,e5]@3 ~ [g#3,e4,b4]@3 ~ [a3,e4,c#5,a5] ~ [a3,e4,c#5,a5]@24, ~ g#3@3 ~@29 g#5@3 ~@28]/4", // G# E A A5 F#m E A
})).s("gm_string_ensemble_1").gain(0.33).pan(0.3)
// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
~@63 A B C D E F G H I J K L M N@2 O P@2 Q R ~@4 S ~@26 T U@2 ~@5 V W@3 ~@6
>`.pickRestart({
A: "~@10 c#5@2 b4 a4 f#4 ~", B: "a4@2 b4 ~ f#5@6 ~@2 b4 a4 f#4 ~", C: "f#4@2 [d3,e4] ~ f#4@4 ~@2 g#4 g#4@2 g#4 g#4@2",
D: "a4!3 [d4,a4] [d4,a4]@2 ~ b4@2 ~ b4@2 c#5!4", E: "c#5 e5 f#5 f#5@2 f#5 e5 ~ f#5@2 g#5@2 a5 ~ g#5 ~",
F: "a5@6 f#5@2 e5@2 c#5@2 f#5@3 ~", G: "f#5@6 f#5 ~ f#5@2 f#5 f#5@2 f#5 f#5@2", H: "f#5!4 f#5@2 f#5!4 f#5@2 a5!4",
I: "f#5@2 a5 ~ b5@2 a5 ~ f#5@2 a5 ~ b5@3 ~", J: "b5@6 a5 ~ g#5 ~ a5 ~ b5@2 a5 ~", K: "g5@6 f#5@4 ~@2 a5 ~ b5 ~",
L: "b5@5 ~ a5 ~ b5 ~ b5@3 ~ a5 ~", M: "g5@4 f#5 ~ g5@4 ~@2 g5@4",
N: "[f#5 ~ g5@4 f#5 ~ g5@4 f#5 ~ g5@7 f#5 e5 ~ f#5@2 e5@2 f#5@2 g#5@2]/2",
O: "a5 g#5 a5 g#5 [d3,f#5] d5 g#5 ~ a5 ~ a5@3 ~ f#5 ~", // D
P: "[f#5 ~ b5@3 a5 f#5 ~ a5@2 f#5 a5 b5@16 [a5,a#5] [g5,g#5] ~@2]/2", Q: "a3@4 ~@2 g#3@3 ~ f#3@2 ~@2 e3@2", R: "d3",
S: "~@2 [a4,a#4] g4 [e4,f4,f#4] ~ c#4 [a3,a#3] [g3,g#3] [f3,f#3] d3 [b2,c3,c#3] [a2,a#2] [g2,g#2] f2 ~", // A#maj7 G#maj7 F#maj7 A#maj7 G#maj7
T: "~@2 b4@4 a4 [f#4,c#5]@2 [f#4,c#5] f#4 [f#4,c#5] [c#5,f#5]@4", // F#5
U: "[f#5@2 f#5 g#5 a5@2 g#5@2 f#5@2 g#5 ~ a5@19 ~]/2", V: "~@2 c#4@2 ~@2 c#4@4 d4@2 d4@3 [b3,c4]",
W: "[~@2 g#3@3 ~ g#3@4 a3@2 g#3@2 a3@4 a3@3 ~ a3@3 ~ e4 ~ a4@2 b4@6 a4@2 g#4@2 a4@2 c#4 ~ c#4@4]/3",
})).s("gm_overdriven_guitar").gain(0.56)
// other · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft = note("<~@63 A@2 B C ~@11 D ~ E F ~@5 G ~@34 H ~@9>".pickRestart({
A: "~@15 e4", B: "~@10 c#4 c#4@2 c#4 c#4@2", C: "d4!3 ~@6 b4 ~@6", D: "~@9 f#5 ~@6", E: "~@14 [d#5,e5,f5,f#5] d5",
F: "c#5 ~@15", G: "~@3 g#4 ~ [d4,d#4] c4 b3 ~@2 [d#3,e3] ~@2 f#2 e2 ~", H: "~@14 c#4 ~",
})).s("gm_overdriven_guitar").gain(0.32)
// drums · kick
const kick = s("bd").struct(`<
~@2 A B C D@3 E D@7 F@7 G A@6 E D@3 E D@7 F@7 G A@5 H D ~ D ~ D ~ D ~ I@7 J I@7 K J L J ~@5 D ~ D ~ E D@7 F@7 G A@5 H
M N O@5 J D@3 P Q@3 R ~@2
>`.pickRestart({
A: "x!2 ~@2 x!2 ~@2", B: "x!2 ~@2 x ~@3", C: "x ~@2 x ~ x!2 ~", D: "~ x ~ x ~ x!2 ~", E: "x!2 ~ x ~ x!2 ~",
F: "x ~@2 x ~@4", G: "x!8", H: "x!2 ~@2 x!2 ~ x", I: "x ~@2 x ~@2 x ~@3 x!2 ~@2 x ~", J: "x", K: "x ~@2 x ~@2 x ~@9",
L: "x ~@2 x ~ x ~ x", M: "x!2 ~ x ~ x ~@2", N: "x!2 ~ x ~@2 x ~", O: "x!2 ~ x!3 ~ x", P: "~ x ~ x ~@4",
Q: "~ x ~ x ~ x ~@2", R: "~ x ~ x!2 ~@3",
})).gain(0.48)
// drums · rim
const rim = s("rim").struct("<~@4 A@12 ~@14 A@3 B A@8 ~@50 A@8 ~@32>".pickRestart({
A: "x!4", B: "x!2 ~ x",
})).gain(0.48)
// drums · snare
const snare = s("sd").struct(`<
~@3 A ~@11 B C@7 D E@6 ~@3 F ~@7 B C@7 D E@6 G ~ H ~ H ~ H I E@7 J K@7 L ~ M N ~@4 O H ~ H I ~@7 B C@7 D E@7 P E@4 Q R
S I P T S U@2 P ~@2
>`.pickRestart({
A: "~@11 x!2 ~@3", B: "~@7 x", C: "~@2 x ~@4 x", D: "~@3 x!5", E: "~ x ~ x", F: "~@8 x!2 ~@6", G: "x!2 ~ x ~ x!2 ~",
H: "~ x ~ x ~ x!2 ~", I: "~ x", J: "~@3 x!3 ~@10", K: "~@4 x ~@4 x ~@2 x ~@3", L: "~@4 x ~@3 x!2 ~ x!5",
M: "~@3 x!2 ~@3 x ~ x ~ x ~ x ~", N: "x", O: "~@12 x!2 ~ x", P: "~ x ~@2", Q: "~@2 x ~@2 x!3", R: "x ~@11 x!4",
S: "x!3 ~", T: "~@4 x ~@9 x!2", U: "~ x!2 ~",
})).gain(0.56)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@3 A ~@19 B ~@25 B ~@21 C ~@7 D ~@7 E ~@19 B ~@24>".pickRestart({
A: "~@8 x!3 ~@5", B: "x!3 ~@5", C: "~ x ~@6", D: "~@5 x ~@2", E: "~@7 x",
})).gain(0.32)
// drums · clap
const clap = s("cp").struct("<~@33 [~@7 x] ~@98>").gain(0.64)
// drums · hihat
const hihat = s("hh").struct("<~@4 A@19 B C@6 A@3 D A@15 ~ C@30 ~@6 A E C@4 A@15 ~ C@13 F ~@10>".pickRestart({
A: "x!4", B: "x ~ x!5 ~", C: "x!8", D: "x ~ x!2 ~@4", E: "x!3 ~", F: "x",
})).gain(0.56)
// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@4 A@3 B A@15 C ~@6 A@3 C A@8 D@7 ~@51 D@7 ~@25>".pickRestart({
A: "~ x ~ x ~ x ~ x", B: "~ x ~ x ~ x ~@2", C: "~ x ~@6", D: "~ x ~ x ~@3 x",
})).gain(0.32)
// drums · low tom
const low_tom = s("lt").struct("<~@63 [~@7 x] ~@64 x!2 ~@2>").gain(0.48)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@3 A ~@20 B@6 ~@3 C ~@16 B@6 ~@7 D ~@7 E ~@8 F ~@6 G H ~@2 A@2 ~ A ~ A ~ A ~@9 B@6 ~ I B@5 ~@4 J K L M ~@3
>`.pickRestart({
A: "~@7 x", B: "~ x ~ x", C: "~@3 x ~ x ~@2", D: "~@10 x ~ x!2 ~@2", E: "~@10 x!6", F: "~@3 x ~@3 x", G: "~@15 x",
H: "x", I: "~@10 x ~@2 x!2 ~", J: "~@12 x!2 ~@2", K: "~@14 x!2", L: "~@6 x!2", M: "x ~@13 x!2",
})).gain(0.4)
// drums · open hat
const open_hat = s("oh").struct("<~@7 A ~@15 A ~@9 B ~@8 C@7 D ~@36 E F ~@4 E@8 C@7 D ~@14 A G@2 H ~@6>".pickRestart({
A: "~@7 x", B: "~@3 x", C: "~@5 x ~@2", D: "x!8", E: "~ x ~ x ~ x ~ x", F: "~ x ~ x ~ x ~@2", G: "x ~ x ~ x ~@2 x",
H: "x!2 ~@2",
// … 36 more lines
More by Andrew Gold
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.