0:00/0:00
// Catch My Fall — Billy Idol
// 131 bpm, 4/4, key G major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 11 electric guitar muted (copy of ch 9 electric guitar muted)
// note: Full arrangement: all 122 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): guitar program 27.
setcpm(131/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, A@4 for four bars: edit a riff to change every repeat.
// other · pad sweep
const pad_sweep = note(`<
A B C B D B C B A B C B A B C B E@2 F@2 E@2 F@2 G H G H E@2 F@2 E@2 F@2 I B C B I B C B I B C B I B C B E@2 F@2 E@2
F@2 G H G H E@2 F@2 E@2 F@2 E@2 F@2 E@2 F@2 E@2 F@2 E@2 F@2 G H G H E@2 F@2 E@2 F@2 E@2 F@2 I B C B I B C B I B C B I
B C B J@2
>`.pickRestart({
A: "g3@14 [f3,f#3] [d#3,e3]", B: "d3", C: "c3", D: "g3@13 f#3 f3 [d#3,e3]", E: "c3/2", F: "d3/2", G: "e3", H: "a2",
I: "g3", J: "[g3@19 ~@13]/2",
})).s("gm_pad_sweep").gain(0.35).pan(0.3)
// other · pad sweep · soft notes
const pad_sweep_soft = note("<~@45 A B C ~ A B C D@2 E F G@2 H@2 ~@4 I@2 J@2 I@2 K@2 ~@50>".pickRestart({
A: "~ a5 f#6 d6", B: "c6", C: "d6@11 ~@5", D: "[c6@25 ~@3 c6@4]/2", E: "d6", F: "~@3 d6", G: "[c6@23 ~@5 c6@4]/2",
H: "[d6@19 ~@13]/2", I: "[c5 g5 c6 e6@2 c6 g6@2]/2", J: "[d5@3 ~ a5@4 d6@4 f#6@8 d6@4 a6@7 ~]/2",
K: "[d5@3 ~ a5@4 d6@4 f#6@8 d6@4 a6@5 ~@3]/2",
})).s("gm_pad_sweep").gain(0.11).pan(0.3)
// bass · electric bass pick
const bass = note(`<
~@3 A B@2 C@2 D E F G D E F E H@2 I J K L M N O P O Q H R M@2 H@2 M G B@2 C@2 B@2 C@2 D E F S D E T U H V M E H V M W
X Y X Q H@2 M Z H@2 M Z H AA M AB H AA M AC H AA M AC H AA M AD X AE X Q H@2 M E H@2 M E H@2 M AF B@2 C@2 B@2 C@2 B@2
C@2 B@2 C@2 AG@2
>`.pickRestart({
A: "~@5 d1 e1 f#1", B: "[g1@2 g1@2 g1@2 g1@2 g1@2 b1@2 c2@2 d2@4 d2@2 d2 ~ d2 ~ d2@2 e2@2 d2@2 b1@2]/2",
C: "[c2!5 d2 e2 d2@2 d2!4 d1 e1 f#1]/2", D: "g1!7 d2", E: "d2!7 b1", F: "c2 ~ c2@2 c2@2 c2 ~ c2@2 c2@2 c2@2 d2@2",
G: "d2@2 d2@2 d2 ~ d2 ~ d2 ~ d1@2 e1@2 f#1@2", H: "c2!8", I: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
J: "d2 ~ d2 ~ d2 ~ d2 ~ d2@2 a2@2 g2@2 f#2@2", K: "c2@2 c2@2 c2@2 c2@2 c2@2 c2 ~ c2 ~ c2 ~",
L: "c2 ~ c2@2 c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2", M: "d2!8", N: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ g2@2 f#2@2 d2@2", O: "e1!8",
P: "a1@2 a1 ~ a1 ~ a1@2 a1@2 a1@2 a1@2 a1@2", Q: "a1!7 b1", R: "c2!5 b1 a1 g1",
S: "d2 ~ d2@2 d2@2 d2@2 d2@2 d1@2 e1@2 f#1@2", T: "c2@2 c2 ~ c2 ~ c2 ~ c2 ~ c2@2 c2@2 d2 ~",
U: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2 d2@2 b1@2", V: "c2!7 a1", W: "d2@2 d2 ~ d2@2 d2 ~ d2@2 d2@2 d2@2 d1@2",
X: "e1!7 g1", Y: "a1!7 d1", Z: "d2@2 d2 ~ d2@2 d2@2 d2@2 g2@2 a2@2 d2@2", AA: "c2!5 g1@2 g1",
AB: "d2@2 d2@2 d2@2 d2@2 d2@2 a1@3 ~ g1@2", AC: "d2@2 d2@2 d2@2 d2@2 f#2 g2 a2@2 a2 b2 c3@2",
AD: "d2!2 g2 f#2 d2 c2@2 b1", AE: "a1!8", AF: "d2 c2 b1 a1 d2 c2 b1 a1", AG: "[g1@11 ~@5]/2",
})).s("gm_electric_bass_pick").gain(0.44)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@15 A ~ B ~ C ~ D ~ E F@3 G ~@8 H@8 I J K L M N O ~ P Q ~ R S Q ~ T U@4 ~@5 V ~@20 W X Y ~ Z ~@2 V AA AB ~@3 AC AD@6
AE@8 AF@4
>`.pickRestart({
A: "~@14 [b2,f#3] ~", B: "~@6 b3@2 a3@2 ~@2 a3@3 ~",
C: "~@2 e3 [f3,f#3]@2 ~ f#3 ~ e4@2 g3 [g#3,f4,f#4] f#4@4, ~@7 g3@3 ~ a3@4 ~", // F#maj7 C#
D: "~@8 [c#3,d3] e3@5 e3@2, ~@9 d#3 ~@6", E: "~@2 f3 f#3@3 f#3 e4 e4@2 g3 [g#3,f4,f#4] f#4@3 ~, ~@7 g3@3 ~ a3@4 ~",
F: "[~ [b3,e4]@13 ~@3 a4@11 ~@5 e4@13 ~@2, g3@13 ~@2 a3@13 ~@3 [b2,e3]@13 ~@4, ~@16 c#4@13 ~@3 g3@12 ~@4]/3", // E5
G: "~ [e4,a4]@14 ~, c#4@15 ~", // A5
H: "[~@2 g3@4 ~@12 a3@4 ~@14 d4@3 ~@7 d4@5 ~@7 e4@16 ~@8 a3@4 ~@14 d4@3 ~@7 d4@5 ~@7 e4@6, ~@6 g3@10 ~@24 d4@5 ~@59 d4@5 ~@19, ~@5 e4@8 e4@8 e4@8 ~@8 e4@8 e4@8 e4@8 ~@3]/8",
I: "~@6 g2 ~@9", J: "~@8 a3 ~@7", K: "~@10 g3 ~@5", L: "~@14 d3 ~", M: "~@6 g2 ~@7 g2 ~", N: "~@2 d3 ~@5 a3 ~@7",
O: "~@2 [c3,g3] ~@13", P: "~@4 g3 ~@9 g3 ~", Q: "~@8 d3 e3@5 e3@2, ~@9 d#3 ~@6",
R: "~@2 [e3,f3] f#3@3 f#3 ~ e4@2 g3 [g#3,f4,f#4] f#4@4, ~@7 g3@3 ~ a3@4 ~", S: "~@2 g3 ~@13", T: "~@10 a3 ~@5",
U: "[~ [b3,e4]@13 ~ [a3,c#4,e4]@13 ~@3 [b2,e3]@13 ~@3 [a3,c#4]@16 ~, g3@14 ~@17 g3@15 ~@18]/4", V: "g3 ~ g3 ~@13",
W: "~@2 e2 ~ e2 ~@11", X: "~@8 a2 ~@7", Y: "~@12 g3 ~@3", Z: "~@6 a3 ~@9", AA: "~@2 a3 ~@3 a3 ~@3 a3 ~@5",
AB: "~@2 a3 ~@13", AC: "e3 f#3@5 ~@2 e4@3 [g#3,f4] f#4@4, ~ f3 ~@6 g3 ~@7",
AD: "[~@8 f#2 ~@14 d4@3 ~@3 e4@8 ~@4 a3@3 ~ e4@3, ~@5 e4@8 e4@8 e4@8 ~@8 e4@8 ~@3, ~@18 e2@13 ~@5 d4@9 ~@51]/6",
AE: "[~@14 d4@6 ~@14 g3@5 ~@11 a3@6 ~@22 d4@6 ~@30 a3@6 ~@2 e4@6, ~@4 d4@9 ~@27 g3@6 ~@2 d3@32 ~@24 g3@6 ~@18, ~@10 e4@16 e4@16 e4@15 ~ e4@15 ~ e4@16 e4@16 e4@15 ~@7, ~@68 d4@9 ~@51]/8",
AF: "[~@7 d4@3 ~@3 e4@13 ~@6, ~@4 d4@9 ~@51, ~@5 e4@8 ~@19]/4",
})).s("gm_electric_guitar_clean").gain(0.27).pan(0.3)
// other · electric guitar jazz
const electric_guitar_jazz = note(`<
~@8 A B C D A B C E F G H D I@2 J B K G L M N@2 J D N@2 J O P Q R S T Q U ~ V@2 J W X@2 Y@2 Z@2 AA ~ AB@2 J B AC G L
AD N@2 J D AE AF J AG@2 ~@15 AH AI AJ@2 AE AK J AL AM AN AO W AP AQ AR S AS Q AT S AU Q AT S AS Q AV S AW Q AX@2 AY ~
>`.pickRestart({
A: "~@8 g3@3 a3@3 g3@2", B: "d4@5 ~@11", C: "~@3 c4 e4@2 d4 e4", D: "d4@6 ~@2 d4@2 e4@5 ~", E: "d4@3 ~ d4 e4@2 ~",
F: "~@6 g4@4 e4@3 d4@3", G: "g4 e4@2 ~@5", H: "~@4 d4!3 e4", I: "[~@3 g4@2 e4!2 d4@2 g4 e4@2 ~@4]/2",
J: "~@4 d4 e4 d4 e4", K: "~@6 e4@2 g4@2 ~ e4@3 d4@2", L: "~@6 d4@2 g4@3 e4@2 d4@3", M: "~@2 a3@5 b3 a3@6 ~@2",
N: "[~@8 g4@3 f#4@3 e4@4 d4@2 c4@5 ~@7]/2", O: "d4 ~ b4!2", P: "b4@5 ~@3", Q: "~@6 d5@4 b4@3 a4@3",
R: "d5@2 b4@5 ~@9", S: "~@2 b4!2", T: "b4 ~", U: "d5@2 b4@7 ~@7",
V: "[~@6 g3 ~ g3@2 a3@2 b3@2 g3@4 ~@2 d4@2 d4@6 ~@4]/2", W: "d4@5 ~@3 d4@2 e4@4 ~@2",
X: "[~@6 g3@2 g3@3 a3@3 g3@4 d4@6 ~@4 c4@3 ~]/2", Y: "[~@6 g3@2 e4@4 d4@2 e4@4 d4@4 ~@2 d4@2 e4@3 ~@3]/2",
Z: "[~@2 d4 g4@2 e4!2 d4@2 g4@2 e4@2 ~ a3@2]/2", AA: "d4@6 d4@2 e4@5 ~@3",
AB: "[~@3 g4@2 e4!2 d4@2 g4 d4 e4@2 g3 g3@2]/2", AC: "~@6 d4@2 g4@3 e4@3 d4@2", AD: "~@2 a3@4 ~ b3 a3@4 ~@4",
AE: "~@8 g4@3 f#4@2 e4@3", AF: "d4@3 c4@4 ~@9", AG: "[d4@4 ~@4 b4@4 b4@10 g4@9 ~]/2", AH: "~@6 e4@2 g4@3 e4@3 d4@2",
AI: "g4@3 e4@8 ~@5", AJ: "[~@6 d4@2 g4@3 e4@3 d4@4 ~ b3@2 a3@10 ~, ~@9 a3 ~@6]/2", AK: "d4@3 c4@5 ~@2 a3@4 a3 ~",
AL: "d4@2 e4@3 ~@3 d4@2 e4@4 ~@2", AM: "~@8 g4@3 g4@3 e4@2", AN: "d4@2 ~ c4@5 ~@2 a3@3 ~@3", AO: "~@3 a3 d4 e4 d4 e4",
AP: "~@8 g4@3 f#4@3 e4@2", AQ: "d4@3 c4@7 ~@6", AR: "~@8 a3 a3@2 ~@5", AS: "b4@9 ~@7", AT: "d5@2 b4@9 ~@5",
AU: "b4@3 ~", AV: "d5@3 b4@13", AW: "b4@15 ~", AX: "[d5 b4@8 ~@3 b4@2 b4@2]/2", AY: "b4@7 ~@9",
})).s("gm_electric_guitar_jazz").gain(0.4)
// chords · sitar
const sitar = note(`<
~@28 A@2 B@2 C@2 D@2 ~@9 E F G ~ E F G H@2 I J K@2 L@2 ~@4 A@2 B@2 C@2 D@2 ~@20 A@2 B@2 C@2 D@2 A@2 B@2 ~@18
>`.pickRestart({
A: "[~@3 g6, c5, ~ g5@7, ~@8 c6@9 ~@3 c6@12, ~@3 e6@5]/2",
B: "[~@24 a6@7 ~, d5, ~@4 a5@25 ~@3, ~@8 d6@8 ~@4 d6@11 ~, ~@12 f#6@11 ~ f#6@2 ~@6]/2",
C: "[~@3 g6, c5, ~@2 g5@13 ~, ~@4 c6@5 ~ c6@6, ~@3 e6@3 ~@2]/2",
D: "[~@12 f#6@8 ~@4 a6@5 ~@3, d5@31 ~, ~@4 a5@25 ~@3, ~@8 d6@9 ~@3 d6@9 ~@3]/2", E: "~ a5 f#6 d6", F: "c6",
G: "d6@11 ~@5", H: "[c6@25 ~@3 c6@4]/2", I: "d6", J: "~@3 d6", K: "[c6@23 ~@5 c6@4]/2", L: "[d6@19 ~@13]/2",
})).s("gm_sitar").gain(0.14).pan(0.7)
// chords · electric guitar muted
const electric_guitar_muted = note(`<
~@16 A@2 B@2 A@2 B@2 C D C D A@2 B@2 A@2 B@2 E F G H I J K L M N O P Q R S L T K L U V K L W X Y Z Y AA K L U AA AB
L@2 AA K L@2 AC K L U AA K L U AD@2 L U AE AF AG AH AI K AJ U AK@2 AL J AA K L AM AN U AO U AP AQ AR U AS AT AU L AV
AQ AW AX AY@2
>`.pickRestart({
A: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // C5
B: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // D5
C: "[e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~ [e2,b2] ~", // E5
D: "[a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~", // A5
E: "d3@2 d3@2 d3@2 d3@2 g2@2 g2@2 [g2,d3]@2 [g2,d3] ~, g2!2 d3 ~", // G5
F: "[d3,a3]@2 d3@2 d3@2 d3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~, ~@3 a3@2 ~@3", // D5
G: "[c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 c3@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~", // C5
H: "[d3,a3]@2 [d3,a3]@2 [d3,a3]@2 d3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~, ~@3 a3@2 ~@3", // D5
I: "[g2,d3]@2 [g2,d3]@2 [g2,d3]@2 d3@2 ~@2 g2@2 [g2,d3]@2 [g2,d3] ~, ~@3 g2@2 ~@3, ~@2 d3 ~", // G5
J: "[d3,a3]@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~", // D5
K: "[c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~", L: "[d3,a3]!8",
M: "[g2,d3]@2 [g2,d3]@2 d3@2 d3@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3] ~, ~ g2 ~@2", // G5
N: "d3@2 d3@2 [d3,a3]@2 d3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~, a3@2 ~ a3@2 ~@3", // D5
O: "[c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 c3@2 c3@2 [c3,g3]@2 [c3,g3] ~, ~@2 g3 ~", // C5
P: "[d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 a3 ~", // D5
Q: "[g2,d3]@2 [g2,d3]@2 d3@2 d3@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 d3 ~, ~ g2 ~@2", // G5
R: "a3@2 a3@2 [d3,a3]@2 d3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~, d3@2 ~ a3@2 ~@3", // D5
S: "[c3,g3]@4 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~", // C5
T: "[c3,g3] c3!2 [c3,g3]!4 c3, ~ g3@2 ~@5", // C5
U: "[d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~", V: "[c3,g3] c3 [c3,g3]!6",
W: "[d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 d3@2 [d3,a3]@2 [d3,a3] ~", // D5
X: "b2!2 [e2,b2]!4 e2@2, e2@2 ~@4 b2 ~", Y: "[a2,e3]!8", Z: "b2!2 [e2,b2]!6, e2 ~@3", AA: "[c3,g3]!8",
AB: "c3@2 c3@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~", AC: "g3!2 [c3,g3]!6, c3 ~@3",
AD: "[[c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 c3@2 c3@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~, ~@7 g3@2 ~@7]/2", // C5
AE: "[e2,b2] e2 [e2,b2]!2 b2!2 [e2,b2]!2, ~@2 e2 ~", // E5
AF: "[a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3] ~", AG: "b2!3 [e2,b2]!5, e2@3 ~@5",
AH: "[a2,e3]!4 e3 [a2,e3]!2 a2", AI: "[c3,g3]!5 c3!2 [c3,g3], ~@5 g3@2 ~", AJ: "[d3,a3]!2 d3!2 [d3,a3]!4, ~ a3 ~@2",
AK: "[[c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 c3@2 c3@2 c3@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~, ~@7 g3@3 ~@6]/2", // C5
AL: "[d3,a3] d3!3 [d3,a3] d3 [d3,a3]!2, ~ a3 ~@2", // D5
AM: "d3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 d3 ~, a3 ~@3", // D5
AN: "[g2,d3]@2 ~@2 d3@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3] ~, ~ g2@2 ~@5", // G5
AO: "g3@2 g3@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~, c3 ~@3", // C5
AP: "[g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 d3 ~", // G5
AQ: "d3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~, a3 ~@3", // D5
AR: "[c3,g3]@2 [c3,g3]@2 g3@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~", // C5
AS: "d3@2 d3@2 [g2,d3]@2 d3@2 d3@2 [g2,d3]@2 [g2,d3]@2 [g2,d3] ~, g2@2 ~ g2@2 ~@3", // G5
AT: "a3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~", // D5
AU: "[c3,g3]@2 [c3,g3]@2 c3 ~ c3@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3] ~, ~ g3 ~@2", // C5
AV: "[g2,d3]@2 [g2,d3]@2 [g2,d3]@2 d3@2 d3@2 d3@2 [g2,d3]@2 d3 ~, ~@3 g2@3 ~@2", // G5
AW: "[c3,g3]@2 [c3,g3]@2 [c3,g3]@2 [c3,g3]@2 g3@2 g3@2 [c3,g3]@2 [c3,g3] ~, ~@2 c3 ~", // C5
AX: "[d3,a3]@2 [d3,a3]@2 [d3,a3]@2 a3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~", AY: "[[g2,d3]@5 ~@3]/2",
})).s("gm_electric_guitar_muted").gain(0.25).pan(0.9)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@28 A@2 B@2 C@2 D@4 E F G H I J K ~@27 L@2 M@2 N@2 O P Q@2 R@2 S@2 T@2 ~@4 U@2 V@2 W@2 X@2 Y@2 Z@4 AA AB@3 AC AD@4 AE
AF@2 AG AH@3
>`.pickRestart({
A: "[[e3,g3,c4,e4] [e3,c4,e4]@2 [c4,e4]@2 [g3,c4,e4] [c4,e4] c4 [g3,c4] [c4,e4]!2 c4!2 [g3,c4,e4] [c4,e4]!2, c3@16 ~@10 [c3,e3]@5 ~, ~ g3@4 ~ g3@2 ~ g3@4 ~ g3@2, ~@6 e3@13 ~@13, ~@7 e4@2 ~@2 e4@2 ~@3]/2", // C C5 C
B: "[[a3,d4,f#4]!3 d4!2 [a3,d4,f#4] [d4,f#4]!2 [d4,f#4] [d4,f#4]@2 [d4,f#4]!2 [a3,d4,f#4]!2 ~, d3@7 d3@9, ~@3 [a3,f#4]@2 ~ a3@2 a3@3 a3@2 ~@3]/2", // D
C: "[[g3,c4] [g3,c4,e4]@2 e4!2 [g3,c4,e4] [c4,e4] [c4,e4]@2 [c4,e4]@2 e4!2 [c4,e4]!2 [g3,c4,e4], [c3,e3]@31 ~, ~@3 [g3,c4]@2 ~ g3@3 g3@4 g3@2 ~, ~@11 c4@2 ~@3]/2", // C5 C C5
D: "[[a3,d4,f#4]@2 [a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d4,f#4]@2 [d4,f#4]@2 f#4@2 f#4@2 [d4,f#4]@2 f#4@2 [a3,f#4]@2 [a3,f#4]@2 [d4,f#4]@2 [d4,f#4]@2 ~@4 [b3,g4]@4 g4@2 g4@2 [b3,g4]@2 [b3,g4]@2 [b3,g4]@2 [a3,d4]@2 d4@2 d4@2 [a3,d4,f#4]@2 [d4,f#4]@2 [d4,f#4]@2 [d4,f#4]@2 [d4,f#4] ~, d3@3 ~@2 [d3,a3]@2 [d3,a3,d4]@2 d3@10 d3@3 d3@5 d3@3 [d3,a3]@2, ~@9 a3@2 ~@2 a3@2 [g3,b3]@2 g3@4 g3@3 ~ [a3,f#4]@2 ~ a3@2 ~@2, ~@10 d4@3 ~@3 b2@7 ~@9, ~@19 b3@2 ~@11]/4", // D Em D5 D D5 G D
E: "c4 [c4,e4]@2 [c4,e4]!4 [g3,c4,e4], g3@3 g3@4 ~, ~ e3@3 e3@2 ~@2", // C
F: "[a3,d4,f#4]@2 [d4,f#4]@2 [d4,f#4]@2 [d4,f#4]@2 [d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4] ~, ~ a3@4 ~@3", // D
G: "~ [g3,b3,g4]!2 [b3,g4]@2 g4!2 [b3,g4], d3@5 b3@2 ~, ~@3 g3@3 [d3,g3]@2", // G Em G5
H: "[d3,d4]@2 f#4@2 f#4@2 [a3,d4,f#4]@2 [d4,f#4]@2 ~@4 [d4,f#4] ~, a3@6 ~@2 a3@7 ~, ~ d4@2 ~@2 [d4,f#4]@2 ~, ~@3 d3", // D
I: "c4!3 [g3,e4]!2 c4 [e3,c4] [g3,c4,e4], g3@3 ~@2 [g3,e4]@2 ~, ~ e4@2 c4@2 ~@3", // C
J: "[a3,d4,f#4] [d4,f#4]@2 [d4,f#4] [a3,d4,f#4] [a3,f#4]!2 ~, ~ a3@3 d3@4, ~@5 d4@2 ~", K: "[b2,d3,g3,b3,g4] ~@3",
L: "[[g3,c4] [g3,c4,e4]@2 [g3,c4,e4]@2 [c4,e4]!2 c4 [g3,c4] [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4] [c4,e4] e4, ~@6 e3@10 e3@15 ~, ~@5 c3@10 ~, ~@5 g3@3 ~@6 g3@2, ~@7 e4@2 ~@7]/2", // C5 C C5 C
M: "[~ [d4,f#4]!4 [a3,d4,f#4] [d4,f#4]!2 [a3,d4,f#4] [a3,d4,f#4]@2 f#4!2 [a3,d4,f#4]!2 ~, ~@2 [d3,a3]@4 [d3,a3]@5 ~ d3@20, ~@6 a3@2 ~@3 [a3,d4]@2 ~@3]/2", // D D5
N: "[[g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2 e4@2 [g3,e4]@2 [c4,e4]@2 [c4,e4]@2 [c4,e4] ~, ~@10 g3@4 g3@10 ~@2 g3@5 ~, ~@11 c4@2 ~@3]/2", // C
O: "[a3,d4] [d4,f#4]!2 [a3,f#4] ~ [a3,d4,f#4]!3, d3@3 ~@5, ~ a3@2 d4@2 ~@3", // D5 D
P: "[a3,d4,f#4] [d4,f#4]!4 [a3,d4,f#4]!2 [g3,b3], ~ a3@2 a3@2 ~@3", // D G
Q: "[[g3,c4,e4]@2 e4@2 e4@2 [g3,c4,e4]@4 [c4,e4]@2 [c4,e4]@2 g3@2 ~@2 [c4,e4]@2 [c4,e4]@2 e4@2 e4@2 [c4,e4]@2 [c4,e4]@2 [g3,b3] ~, ~ e3@12 e3@2 ~, ~ [g3,c4]@2 ~@2 g3@2 [c4,e4]@2 ~@2 c4@2 ~@2 e4, ~@8 g3@3 g3@4 ~]/2", // C G C5 C
R: "[[a3,d4,f#4] [a3,d4,f#4]@2 [d4,f#4]!2 [a3,d4,f#4]@2 [d4,f#4] [d4,f#4]!5 [a3,d4,f#4]!2 ~, ~@3 a3@2 ~@2 [d3,a3]@2 d3@4 d3@3, ~@9 a3@2 a3@2 ~@3]/2", // D D5
S: "[[g3,c4,e4]@2 e4@2 e4@2 e4@2 e4@2 [c4,e4]@2 [c4,e4]@2 [g3,c4,e4]@4 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,b3,e4] ~, c3@15 ~, e3@9 ~@4 e3@2 ~, ~ [g3,c4]@2 [g3,c4]@2 g3@2 ~@9]/2", // C Em C5
T: "[[d4,f#4] f#4@2 [d4,f#4]@2 f#4!2 [a3,d4,f#4]@2 d4!2 [a3,d4,f#4]@2 [d4,f#4]!2 [a3,d4,f#4], d3@3 [a2,d3]@13, a3@2 ~ a3@4 ~@2 [a3,f#4]@2 ~@2 a3@2 ~, ~ d4 ~@3 d4@2 ~@9]/2", // D D5 D
U: "[~ [c4,e4]@2 c4!2 [c4,e4]!2 [g3,c4,e4]@2 [e3,g3,c4,e4] [g3,c4,e4] c4!2 [e3,g3,c4,e4]!2 [g3,e4], ~ g3@6 ~@3 e3@3 ~@3, ~@3 e4@2 ~@6 [g3,e4]@2 ~@3]/2", // C
V: "[[a3,d4,f#4] f#4!2 [d4,f#4]@2 [d4,f#4]@2 [d4,f#4] [a3,d4,f#4] f#4!2 [d4,f#4]@2 [d4,f#4]!2 d4, ~ d3@15, ~ [a3,d4]@2 a3@5 ~ [a3,d4]@2 a3@4 ~]/2", // D D5
W: "[g3 c4!2 [g3,c4,e4]@2 [g3,c4]!2 [g3,e4]@2 c4!2 [g3,c4,e4]@2 [c4,e4]!3, c4 ~ [g3,e4]@4 ~@4 e4@4 e3@17 ~, ~@7 c4 ~ [g3,e4]@2 ~@2 g3@3]/2", // C C5 C
X: "[~ [a3,d4]@2 [d4,f#4]!3 [a3,d4,f#4] [a3,d4,f#4]@2 [d4,f#4]!2 f#4!2 [a3,d4,f#4]!2 [g3,b3,e4], ~ f#4 ~ a3@3 ~@3 a3@4 ~@3, ~@11 d4@2 ~@3]/2", // D5 D Em
Y: "[~ [c4,e4]@2 e4!2 [c4,e4]@2 [c4,e4]@2 [g3,e4] e4 [c4,e4]@2 [c4,e4] [g3,c4,e4]!2, e3@10 e3@16 e3@5 ~, g3@3 [g3,c4]@2 g3@4 c4@2 g3@3 ~@2]/2", // C C5
Z: "[d4 f#4!2 [a3,d4,f#4]@2 [d4,f#4]!2 [a3,d4,f#4]@2 d4!2 [a3,d4,f#4] [d4,f#4] [a3,d4,f#4]!2 [g3,b3,g4]@2 [g3,b3] b3 [g3,b3,g4]@2 b3!2 [g3,b3,g4] d4 [d4,f#4]!4 [d3,d4,f#4] [d4,f#4] [g3,b3,e4], ~ [a3,d4]@2 ~@2 a3@2 ~@2 [a3,f#4]@2 ~@6 g4@2 d3@3 d3@6 ~@2 d3@2, ~@21 [g3,g4]@2 ~@2 a3@4 a3@2 ~]/4", // D G D Em D5 D G
AA: "[g3,c4] g3 ~ e4!2 [g3,c4,e4] [c4,e4] e4, ~@2 [c4,e4]@4 c4@4 ~@4 b3 ~, ~@2 g3@3 ~ g3@2", // C5 C
AB: "[[a3,d4,f#4] [d4,f#4]!2 [d4,f#4]@2 [a3,d4,f#4]!2 g3 [g3,b3,g4] [b3,g4]!2 [g3,g4]@2 [b3,g4] [b2,b3,g4] b3 [a3,d4,f#4] [d4,f#4]!5 [a3,d4,f#4] [b3,e4], ~ a3@4 d3@9 d3@3 ~@2 d3@5, ~@4 b2@3 ~@5, ~@9 g3@2 b3 ~ g3@3 ~ a3@2 a3@3 ~@2]/3", // D G Em G Em D E5
AC: "[e3,g3,c4,e4] e4!2 [c4,e4]@2 [g3,c4,e4] [c4,e4] e4, ~ e3@6 ~, ~ g3@4 ~ g3@2, ~ c4@2 ~@5", // C
AD: "[[a3,d4,f#4]!3 [a3,d4,f#4]@2 [a3,d4,f#4]!2 ~ [d3,g3] [d3,g3,b3,g4]@2 [g3,b3,g4]@2 [b3,g4]!2 b3 [a3,d4,f#4] d4!2 [a3,d4,f#4]@2 f#4!2 b3 [e3,g3,c4] [g3,e4]@2 [g3,c4,e4]@2 [c4,e4]!2 [g3,c4,e4], ~@6 d3@10 ~@6 d3@12 ~@4 d3@10 ~@2 e3@8 [e3,g3]@5 ~, ~@14 [b3,g4]@4 ~@8 g3@5 ~@3 [a3,f#4]@4 ~@4 [a3,d4]@4 e4@4 c4@2 ~@12]/4", // D G5 G Em D C Em D …
AE: "[d4,f#4] [a3,f#4] f#4!3 [a3,d4,f#4]!2 b3, ~ d4@2 [a3,d4]@2 ~@3", // D D5
AF: "[b3 [g3,b3,g4]@2 [b3,g4]!4 [g3,b3,g4] [a3,d4,f#4] [d4,f#4]!2 f#4!2 [d3,a3,d4,f#4] [a3,d4,f#4] g3, d3@9 ~@2 [d3,a3,d4]@2 ~ d3@2, b2@7 ~@9, ~@3 g3@2 g3@2 ~@2 a3@2 ~@5]/2", // G Em G D D5
AG: "[g3,c4,e4] e4!2 [c4,e4]!4 [g3,b3,e4], ~ e3@4 [e3,g3]@2 ~, ~ [g3,c4]@2 g3@2 ~@3", // C Em C5
AH: "[[a3,d4,f#4] f#4!2 [d3,a3,d4,f#4]@2 [a3,d4,f#4]!2 [g3,b3] [b2,g3,b3,g4]@10 ~@6, ~ [a3,d4]@2 ~@2 d3@13 ~@6]/3", // D G Em D5
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.6)
// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
~@29 A ~@2 B ~ C@3 D@2 E@2 F G ~ H ~@27 I ~ J@2 K@2 L@2 M N@2 O ~ P Q ~@5 R@2 ~ S T U V ~@2 W@3 X Y Z@2 AA AB AC@2 ~
AD AE AF AA AG AH@2 AI@2
>`.pickRestart({
A: "~@2 e3@3 ~@3", B: "e4 ~@7", C: "[a2@7 a2@8 ~ g2@7 e2, ~@15 g4@2 ~@7]/3", D: "[~@8 e3 ~@5 e3 ~, ~@15 e4@3 ~@14]/2",
E: "[d3@15 ~ g3@2 ~@8 d3@2 ~@4, ~@15 g4@3 ~@14]/2", F: "~ d3@5 ~@2", G: "e3@3 ~", H: "g2 ~@3",
I: "[c3,e4] ~@2 c3@2 ~@3, e3@3 ~@5", J: "[[d3,d4]@2 a2@28 [g3,b3,e4] ~]/2", K: "[[c3,e3]@30 d3 ~]/2",
L: "[~@4 f#4 ~@10 e4, ~@6 d3@25 ~]/2", M: "e3 ~@7", N: "[~@7 d3@8 ~]/2", O: "~@7 e4", P: "~@14 d3 ~", Q: "~@2 d4 ~@5",
// … 78 more lines
More by Billy Idol
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.