0:00/0:00
// Faster Than the Speed of Night — Bonnie Tyler
// 96 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 3/4 at bar 21, 4/4 at bar 22, 3/4 at bar 23, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 157 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(96/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.
// other · piano · "Fast Piano"
const piano = note(`<
A B C B D E F E F E F E F E F E F E F E G H I J K L@2 M N O P Q R Q R Q R Q S@3 T@2 U@2 V W X Y Z W X AA AB AC AD AE
AF AC AD AE AG E F E F E AH AI AJ AK AL AM AN AO AP AQ AR AS AT E F E F E F E AU AV AW AX AY@2 AZ BA BB BC BD BE BB BC
BD BF BG BH BI BJ BG BH BI BJ R Q R Q R Q R Q R Q R Q R Q R Q R Q ~ BK@2 BL@3 BM@4 BN@2 BO R Q R Q R Q R BP ~@7
>`.pickRestart({
A: "~@8 d3 a2 d3 c#3 d3 a2 d3 c#3", B: "d3 e3 f#3 g3 f#3 e3 d3 c#3 d3 a2 d3 c#3 d3 a2 d3 c#3",
C: "d3 e3 f#3 e3 g3 f#3 a3 e3 d3 a2 d3 c#3 d3 a2 d3 c#3", D: "d3 e3 f#3 e3 g3 f#3 a3 e3 d4 a3 d4 c#4 d4 a3 d4 c#4",
E: "d4 e4 f#4 g4 f#4 e4 d4 c#4 d4 a3 d4 c#4 d4 a3 d4 c#4", F: "d4 e4 f#4 e4 g4 f#4 a4 e4 d4 a3 d4 c#4 d4 a3 d4 c#4",
G: "d4 e4 f#4 e4 g4 f#4 a4 e4 [b3,d4,g4]@5 ~@3", H: "[c#4,e4,a4]@3 ~ [f#4,a4,d5]@6 ~@2 f#5@2 e5@2",
I: "d5@2 ~@2 c#5 ~@3 [b3,d4,g4]@12 ~@3 [c#4,e4,a4]@8 ~", J: "[f#4,a4,d5]@10 ~@6 f#5@3 ~ e5@4 d5@4 b4@2 ~@2",
K: "~@4 [f#4,c#5] ~@3 [f#4,a4,c#5]@5 ~@3 [f#4,a4,c#5]@4 ~@4 [f#4,a4,c#5]@3 ~@5, ~@3 a4@2 ~@27", // F#5 F#m
L: "[[d4,f#4,b4]@5 ~@3 [d4,f#4,b4]@3 ~@5 [d4,f#4,b4]@3 ~@5 [d4,f#4,b4]@2 ~@6 [b3,d4]@4 ~@3 [b3,d4,g4]@3 ~@5 [e4,a4,c#5]@3 ~@5 [e4,a4,c#5]@2 ~@7, ~@31 g4@4 ~@29]/2", // Bm G A
M: "[a4,c#5]@2 ~@2 [b4,d5]@2 ~@2 [c#5,e5]@2 ~@2 [a4,c#5]@3 ~@3 [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~@5", // A Bm C#m A G
N: "[c#4,e4,a4]@6 ~@2 [c#4,e4,a4]@2 ~@6 [a4,c#5]@3 ~ d5@2 ~@2 [c#5,e5]@2 ~@2 c#5@2 ~@2, ~@20 b4 ~@7 a4 ~@3", // A C#m
O: "a4@2 ~@2 b4@2 ~@2 c#5@3 ~ d5@2 ~@2 d5@2 e5@2 f#5@2 g5@2 ~ a5 ~ b5 ~@4",
P: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 g4 f#4 e4 d4 c#4, c#6 ~@31",
Q: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 e4 g4 f#4 a4 e4", R: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 g4 f#4 e4 d4 c#4",
S: "[[g2,b3,d4,g4]@15 ~ [a2,c#4,e4,a4]@7 ~ [d2,f#4,a4,d5]@15 ~ f#5@3 ~ e5@3 ~ d5@3 ~ c#5@3 ~ [g2,b3,d4,g4]@15 ~ [a2,c#4,e4,a4]@7 ~ [d2,f#4,a4,d5]@15 ~]/3", // G A D G A D
T: "[f#5@3 ~ e5@3 ~ d5@3 ~ b4@3 ~ f#2@7 [f#4,a4,c#5]@4 ~@4 f#2@9 [f#4,a4,c#5]@3 f#2 ~@3 b2@9 [d4,f#4,b4]@6 b2 ~, ~@16 c#5 ~@12 [f#4,a4]@3 ~@14 [f#4,a4,c#5]@2 ~@16, ~@30 c#5@3 ~@31]/2", // F#m Bm F#m
U: "[b2@3 ~ b2@4 ~@4 b2 ~@16 e2 ~@9 [b3,e4,g4]@8 ~@9 [b3,d4,g4]@4 g2 ~@3, ~@8 [d4,f#4,b4]@8 e2@12 ~@3 e2@15 ~@2 g2@11 ~@5, ~@23 [b3,e4,g4]@15 ~@26]/2", // Em G Bm Em
V: "a2@8 [c#4,e4,a4]@4 a2@2 ~@2 [f#4,a4,d5]@7 ~ [c#4,e4,a4]@7 ~", // A D A
W: "[b3,d4,g4]@7 ~ [c#4,e4,a4]@7 ~ [f#4,a4,d5]@7 ~ [c#4,e4,a4]@7 ~", // G A D A
X: "[d4,f#4,b4]@7 ~ [b3,d4,g4]@7 ~ [f#4,a4,d5]@15 ~", Y: "[e4,a4,c#5]@15 ~ [d4,g4,b4]@15 ~",
Z: "[e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~ [f#4,a4,d5]@7 ~ [c#4,e4,a4]@7 ~", // Dsus2 A D A
AA: "[e4,a4,c#5]@15 ~ [g#4,b4,e5]@7 ~ [g#4,b4,e5]@7 ~", // A E
AB: "[e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~ [f#4,a4,d5]@7 ~ [f#4,a4,c#5]@7 ~", // Dsus2 A D F#m
AC: "[f#4,a4,c#5]@7 ~ [f#4,a4,d5]@7 ~ [b4,d5,g5]@7 ~ [a4,d5,f#5]@7 ~", // F#m D G D
AD: "[a4,d5,f#5]@7 ~ [g4,b4,e5]@7 ~ [f#4,a4,d5]@7 ~ [f#4,a4,d5]@7 ~", // D Em D
AE: "[e4,a4,c#5]@7 ~ [e4,a4,c#5]@7 ~ [b3,e4,g4]@7 ~ [b3,e4,g4]@7 ~", // A Em
AF: "[e4,a4,d5]@7 ~ [e4,a4,c#5]@7 ~ [f#4,a4,d5]@7 ~ [f#4,a4,c#5]@7 ~", // Dsus2 A D F#m
AG: "[e4,a4,d5]@7 ~ [e4,a4,c#5]@7 ~ d4@2 a3@2 d4@2 c#4@2 d4@2 a3@2 d4@2 c#4@2", // Dsus2 A
AH: "d4 e4 f#4 g4 f#4 g4 a4 b4 [c#4,f#4,a4]@7 ~", // F#m
AI: "[c#4,f#4,a4]@7 ~ [c#4,f#4,a4]@3 ~ [c#4,f#4,a4]@3 ~ [d4,g4,b4]@14 ~@2", // F#m G
AJ: "[d4,g4,b4]@7 ~ [d4,g4,b4]@7 ~ f#5@3 ~ f#5@2 e5@2 d5@4 f#5@3 ~", // G
AK: "d5@3 ~ f#5@3 ~ d5@3 ~ f#5@3 ~ e5@3 ~ a4@2 c#5@2 e5@3 ~ a4@3 ~",
AL: "d5@3 ~ g4@2 b4@2 d5@3 ~ g4@2 b4@2 d5@2 b4@2 g4@3 ~ d5@2 b4@2 g4@3 ~",
AM: "[c#4,f#4,a4]@14 ~@2 [c#4,f#4,a4]@7 ~ [c#4,f#4,a4]@3 ~ [c#4,f#4,a4]@3 ~", // F#m
AN: "[d4,g4,b4]@14 ~@2 [d4,g4,b4]@7 ~ [d4,g4,b4]@7 ~", // G
AO: "f#5@3 ~ e5@2 d5@2 d5@3 ~ f#5@3 ~ d5@3 ~ f#5@3 ~ d5@3 ~ f#5@3 ~",
AP: "[b3,e4,g#4]@7 ~ [b3,e4,g#4]@7 ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@7 ~", // E A
AQ: "[e4,a4,c#5]@7 ~ [e4,a4,c#5]@7 ~ [g4,b4,d5]@7 ~ [g4,b4,d5]@7 ~", // A G
AR: "[g4,b4,d5]@7 ~ [g4,b4,d5]@7 ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@7 ~", // G A
AS: "[e4,a4,c#5]@7 ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~", // A
AT: "[e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ d4@2 a3@2 d4@2 c#4@2 d4@2 a3@2 d4@2 c#4@2", // A
AU: "d4@2 e4@2 f#4@2 e4@2 g4@2 f#4@2 a4@2 e4@2 [g2,b3,d4,g4]@15 ~", // G
AV: "[a2,c#4,e4,a4]@7 ~ [d2,f#4,a4,d5]@15 ~ f#5@3 ~ e5@3 ~", // A D
AW: "d5@3 ~ c#5@3 ~ [g2,b3,d4,g4]@15 ~ [a2,c#4,e4,a4]@7 ~", AX: "[d2,f#4,a4,d5]@15 ~ f#5@3 ~ e5@3 ~ d5@3 ~ b4@3 ~",
AY: "[f#2@7 [f#4,a4,c#5]@4 ~@4 f#2@9 [f#4,a4,c#5]@3 f#2 ~@3 b2@9 [d4,f#4,b4]@6 b2 ~ b2@3 ~ b2@4 ~@4 b2 ~@3, c#5 ~@12 [f#4,a4]@3 ~@14 [f#4,a4,c#5]@2 ~@24 [d4,f#4,b4]@8, ~@14 c#5@3 ~@47]/2", // F#m Bm F#m Bm
AZ: "~@13 e2 ~@9 [b3,e4,g4]@8 ~, e2@12 ~@3 e2@15 ~@2, ~@7 [b3,e4,g4]@15 ~@10", // Em
BA: "~@8 [b3,d4,g4]@4 g2 ~@3 a2@8 [c#4,e4,a4]@4 a2@2 ~@2, g2@11 ~@21", // G A
BB: "[f#4,a4,d5]@7 ~ [c#4,e4,a4]@7 ~ [b3,d4,g4]@7 ~ [c#4,e4,a4]@7 ~", // D A G A
BC: "[f#4,a4,d5]@7 ~ [c#4,e4,a4]@7 ~ [d4,f#4,b4]@7 ~ [b3,d4,g4]@7 ~", BD: "[f#4,a4,d5]@15 ~ [e4,a4,c#5]@15 ~",
BE: "[d4,g4,b4]@15 ~ [e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~", // G Dsus2 A
BF: "[g#4,b4,e5]@7 ~ [g#4,b4,e5]@7 ~ [e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,d5]@3 ~ [e4,a4,c#5]@3 ~", // E Dsus2 A
BG: "[f#4,a4,d5]@7 ~ [f#4,a4,c#5]@7 ~ [f#4,a4,c#5]@7 ~ [f#4,a4,d5]@7 ~", // D F#m D
BH: "[b4,d5,g5]@7 ~ [a4,d5,f#5]@7 ~ [a4,d5,f#5]@7 ~ [g4,b4,e5]@7 ~", // G D Em
BI: "[f#4,a4,d5]@7 ~ [f#4,a4,d5]@7 ~ [e4,a4,c#5]@7 ~ [e4,a4,c#5]@7 ~", // D A
BJ: "[b3,e4,g4]@7 ~ [b3,e4,g4]@7 ~ [e4,a4,d5]@7 ~ [e4,a4,c#5]@7 ~", BK: "[~@31 d5@3 ~@30]/2",
BL: "[~@20 d5@2 ~@2 g5@3 f#5@2 ~@2 e5@4 ~@2 d5 ~ [a4,d5]@10 ~@3 a4 ~@2 a4@2 ~ b4 d5 ~@3 d5@14 ~@2 d5@3 ~ c#5@2 ~@2 g5@5 ~@2 f#5 ~]/3", // D5
BM: "[e5@3 ~@3 [a4,d5] ~ [a4,d5]@10 ~@2 a4 ~@2 a4@2 b4 ~ d5@2 ~@2 b4@11 ~@5 d5@4 b4@3 ~ [b4,g5]@4 ~@2 [a4,f#5] ~ [a4,e5]@4 ~@3 [a4,d5] ~ d5@11 ~ a4 ~@3 a4@2 b4 ~ d5@2 ~ [a4,d5]@13 ~@4 [b4,d5]@3 ~ c#5@2 ~ g5@5 ~@2 [a4,f#5] ~, ~@71 a4@11 ~@46]/4", // D5 Em D A5 D5 Bm D
BN: "[[a4,e5]@5 ~ [a4,d5] ~ d5@10 ~ [a4,d5] ~@3 d5@2 ~ b4 ~ d5@2 ~ b4@15 ~@2 [b4,d5]@2 ~@2 [a4,c#5]@2 ~ g5@5 ~ [d5,f#5] a4 ~, ~@7 a4@10 ~@6 a4 ~@40]/2", // A5 D5 Bm A D
BO: "[a4,e5]@3 ~@29", BP: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 ~@7",
})).s("gm_piano").gain(0.48).pan(0.2)
// other · piano · "Fast Piano" · soft notes
const piano_soft = note("<~@149 A B C B C B C B>".pickRestart({
A: "~@9 e4 f#4 e4 g4 f#4 a4 e4", B: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 g4 f#4 e4 d4 c#4",
C: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 e4 g4 f#4 a4 e4",
})).s("gm_piano").gain(0.16).pan(0.2)
// bass · lead 8 bass lead · "Bass"
const bass = note(`<
~@8 A B C B C B C B C B C B D E@2 F G H I J K L M N M N M N M N O@3 P Q R S T U V W X U V Y Z AA AB AC Z AA AB AC AD B
C B AE@4 AF AG AH AI AJ AK AL AM AN L AO B C B C B C B AP AQ@2 F AR AS AT AU AV AW AX AY AV AW AX AZ BA BB BC BD BA BB
BC BD M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N M N
>`.pickRestart({
A: "~@16 d2@7 ~ d2@7 ~", B: "d2@7 ~ d2@7 ~ g1@7 ~ g1@7 ~", C: "a1@7 ~ a1@3 ~ a1@3 ~ d2@7 ~ d2@7 ~",
D: "a1@7 ~ a1@3 ~ a1@3 ~ g2@14 ~@2", E: "[a2@7 ~ d3@11 ~ g2@2 a2@2 d2@11 ~ d2@2 e2@2 g2@15 ~ a2@7 ~]/2",
F: "d3@15 ~ d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 d3@2", G: "f#2@7 ~ f#2@6 c#3@2 f#3@6 c#3@2 f#3@3 ~ c#3@3 ~",
H: "b2@7 ~ b2@6 b2@2 b2@7 ~ b2@7 ~", I: "g2@7 ~ g2@7 ~ a2@7 ~ a2@7 ~", J: "a2@7 ~ a2@7 ~ g2@7 ~ g2@7 ~",
K: "a2@7 ~ a2@7 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~", L: "a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~",
M: "d2@7 ~ d2@7 ~ d2@7 ~ d2@7 ~", N: "g1@7 ~ g1@7 ~ a1@7 ~ a1@3 ~ a1@3 ~",
O: "[g2@15 ~ a2@7 ~ d3@11 ~ g2@2 a2@2 d2@12 d2@2 e2@2 g2@15 ~ a2@7 ~ d3@15 ~]/3", P: "d3!8 f#2@4 f#2@3 c#3",
Q: "f#3@6 c#3@2 f#3@4 c#3@4 b2@7 ~ b2@7 ~", R: "b2@3 ~ c#3@3 ~ d3@3 ~ f#3@3 ~ e3@15 ~",
S: "f#3 e3 d3 c#3 d3 c#3 b2 a2 g2@3 b2 b2@2 d3@2", T: "a3@4 g3@4 f#3@4 e3@4 d3@7 ~ a2@7 ~",
U: "g2@7 ~ a2@7 ~ d3@7 ~ a2@7 ~", V: "b2@7 ~ g2@7 ~ d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 d3@2", W: "c#3!8 b2!8",
X: "a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 d3@7 ~ a2@7 ~", Y: "c#3!8 e3!8",
Z: "a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 d3@7 ~ e3@7 ~", AA: "f#3@7 ~ a3@7 ~ g3@7 ~ a3@7 ~",
AB: "b3@7 ~ g3@7 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~", AC: "c#3@3 ~ c#3@3 ~ c#3@3 ~ c#3@3 ~ e3@3 ~ e3@3 ~ e3@3 ~ e3@3 ~",
AD: "a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 d2@7 ~ d2@7 ~",
AE: "[a1@7 ~ a1@3 ~ a1@3 ~ d3@59 ~@5 f#2@3 ~ f#3@2 e3@2 f#3@14 ~@2 f#2@3 ~ f#2@3 ~ g2@6 d3@2 d3@7 ~]/4",
AF: "f#3@2 g3@2 e3@2 f#3@2 d3@2 e3@2 c#3@2 d3@2 b2@11 ~ b2@2 c#3@2", AG: "d3 c#3 b2@4 c#3 b2 a2@6 b2 a2",
AH: "g2@8 g2@3 a2@3 b2@2", AI: "f#2@2 f#3 e3 f#3@8 f#2@2 f#2@2", AJ: "g2@3 d3 d3@4 f#3 g3 e3 f#3 d3 e3 c#3 d3",
AK: "b2@6 b2 c#3 d3 c#3 b2@4 c#3 d3", AL: "e3@16 a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~",
AM: "a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ g2@3 ~ g2@3 ~ g2@3 ~ g2@3 ~",
AN: "g2@3 ~ g2@3 ~ g2@3 ~ g2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~", AO: "a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ d2@7 ~ d2@7 ~",
AP: "a1@7 ~ a1@3 ~ a1@3 ~ g2@15 ~", AQ: "[a2@7 ~ d3@11 ~ g2@2 a2@2 d2@12 d2@2 e2@2 g2@15 ~ a2@7 ~]/2",
AR: "f#2@4 f#2@3 c#3 f#3@3 c#3 f#3@2 c#3@2", AS: "b2@7 ~ b2@7 ~ b2@3 ~ c#3@3 ~ d3@3 ~ f#3@3 ~",
AT: "e3@15 ~ f#3@2 e3@2 d3@2 c#3@2 d3@2 c#3@2 b2@2 a2@2", AU: "g2@3 b2 b2@2 d3@2 a3@2 g3@2 f#3@2 e3@2",
AV: "d3@7 ~ a2@7 ~ g2@7 ~ a2@7 ~", AW: "d3@7 ~ a2@7 ~ b2@7 ~ g2@7 ~", AX: "d3!8 c#3!8", AY: "b2!8 a2!8",
AZ: "e3!8 a3!8", BA: "d3@7 ~ e3@7 ~ f#3@7 ~ a3@7 ~", BB: "g3@7 ~ a3@7 ~ b3@7 ~ g3@7 ~",
BC: "a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ c#3@3 ~ c#3@3 ~ c#3@3 ~ c#3@3 ~",
BD: "e3@3 ~ e3@3 ~ e3@3 ~ e3@3 ~ a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2",
})).s("gm_lead_8_bass_lead").gain(0.2).pan(0.8)
// other · overdriven guitar · "Power Guitar"
const overdriven_guitar = note(`<
~@4 A@6 B C D E F G H I J K L ~@9 M N O P Q@2 R S ~@16 T U V@2 W@3 X ~@14 Y Z AA AB E F G H I J K L ~@15 AC AD AE@7
~@19 AF AG AF AG AF AG AF AG AF AG AH AI AH AI AH AI AH AI AJ ~@7
>`.pickRestart({
A: "[~@16 d3@30 ~ g2@16 a2@16 d3@26 ~@2 d3@3 ~ g2@15 a2@8 ~@2 a2 ~@3 a2!2 ~@2 d3@22 ~ d3 ~@3 d3 ~ d3 ~ g2@16 ~]/6",
B: "~@4 a2 ~ a2 a2@2 ~@3 a2@2 ~@2 d3@16", C: "~@4 d3 ~ d3!2 ~@3 d3@2 ~@2 g2@15 ~@2",
D: "~@3 a2 ~@2 a2@2 ~@3 a2@2 ~@2 d3@17", E: "~@4 d3@2 ~@2 d3 ~@3 d3@2 ~@2 g2@14 ~@2",
F: "~@4 a2@2 ~@2 a2 ~@3 a2 ~@3 d3@16", G: "~@4 d3 ~@3 d3 ~@3 d3@2 ~@2 g2@14 ~@2",
H: "~@4 a2 ~@3 a2 ~@2 a2 ~@4 d3@15 ~", I: "~@4 d3 ~@3 d3 ~@2 d3@2 ~@2 g2@14 ~@3",
J: "~@4 a2 ~@3 a2 ~@3 a2 ~@3 d3@15 ~", K: "~@4 d3@2 ~@2 d3@2 ~@2 d3@2 ~@2 g2@13 ~@3",
L: "~@4 a2 ~@3 a2 ~@3 a2@2 ~@18", M: "~@20 d3@2 ~@2 d3 ~@3 d3@2 ~@2", N: "g2@14 ~@6 a2@2 ~@2 a2 ~@3 a2 ~@3",
O: "d3@18 ~@2 d3 ~@3 d3 ~@3 d3@2 ~@2", P: "g2@14 ~@6 a2 ~@3 a2 ~@2 a2 ~@4",
Q: "[d3@15 ~@5 d3 ~@3 d3 ~@2 d3@2 ~@2 g2@14 ~@7 a2 ~@3 a2 ~@3 a2 ~@3]/2", R: "d3@15 ~@5 d3@2 ~@2 d3@2 ~@2 d3@2 ~@2",
S: "g2@13 ~@7 a2 ~@3 a2 ~@3 a2@2 ~@2", T: "~@8 d4@4 ~ f#4@3 g4@16", U: "~@7 a4@4 b4@2 ~@3 d4@11 ~ e4@2 d4@2",
V: "[g4@2 f#4 g4 ~ f#4@2 a4@2 g4@2 a4@2 g4@2 b4@2 a4@2 b4@2 a4@2 b4@2 a4@2 b4@2 a4 ~ d5@2 ~@2 d5@2 c#5@2 ~ e5@3 ~ d5 c#5 ~ d5@17, ~@17 c#5 ~@14]/2",
W: "[f#4@7 ~ g4@31 ~ a4@2 ~ b4@2 ~@2 f#4@11 ~ e4 ~ d4 ~ e4@11 ~@2 [e4,f4] f#4 ~ g4@11 ~ f#4@2 e4@2 ~]/3", // Fmaj7
X: "d4@7 c#4@2 d4@2 c#4@4 d4@12 ~@5", Y: "~@15 g4 ~ g4!3 ~ g4!2 ~ g4!2 ~ g4 ~@2 g4!2",
Z: "a4!2 ~ a4@2 ~ a4@2 ~ a4!2 ~ a4!2 ~ b4!2 ~ b4@2 b4 ~ b4!2 ~ b4!2 ~ b4@2 b4 ~",
AA: "c#5 b4 c#5 b4 c#5 ~@2 c#5 ~@2 c#5!2 ~ c#5 [a4,c#5] d5@2 ~ d5 ~ d5!3 ~ d5 d5@4 ~ d5@2", // A
AB: "~@2 d5 ~ e5@2 ~ e5 e5@2 e5 ~@3 d5 ~@17, e5 ~@2 e5 ~@4", AC: "~@24 d4@4 ~ f#4@3", AD: "g4@18 ~@5 a4@4 b4@2 ~@3",
AE: "[d4@11 ~ e4@2 d4@2 g4@2 f#4 g4 ~ f#4@2 a4@2 g4@2 a4@2 g4@2 b4@2 a4@2 b4@2 a4@2 b4@2 a4@2 b4@2 a4 ~ d5@2 ~@2 d5@2 c#5@2 ~ e5@3 ~ d5 c#5 ~ d5@17 f#4@7 ~ g4@31 ~ a4@2 ~ b4@2 ~@2 f#4@11 ~ e4 ~ d4 ~ e4@11 ~@2 [e4,f4] f#4 ~ g4@11 ~ f#4@2 e4@2 ~ d4@7 c#4@2 d4@2 c#4@4 d4@12 ~@21, ~@25 c#5 ~@86]/7", // Fmaj7
AF: "~@4 d4@2 d4@2 d4@7 ~@5 d4@2 d4@2 d4@7 ~", AG: "~@4 g3@2 g3@2 g3@7 ~@5 a3@2 a3@2 a3@7 ~",
AH: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 g4 f#4 e4 d4 c#4", AI: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 e4 g4 f#4 a4 e4",
AJ: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 ~@7",
})).s("gm_overdriven_guitar").gain(0.24).pan(0.7)
// other · overdriven guitar · "Power Guitar" · soft notes
const overdriven_guitar_soft = note("<~@149 A B C B C B C B>".pickRestart({
A: "~@9 e4 f#4 g4 f#4 e4 d4 c#4", B: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 e4 g4 f#4 a4 e4",
C: "d4 a3 d4 c#4 d4 a3 d4 c#4 d4 e4 f#4 g4 f#4 e4 d4 c#4",
})).s("gm_overdriven_guitar").gain(0.08).pan(0.7)
// chords · synth strings 2 · "filling string pad"
const synth_strings_2 = note(`<
~@4 A@7 B@3 C@8 D E F G H I J K L@8 M N@2 O P Q@2 R@8 S@2 T@3 U V@3 ~@5 W@2 X@8 Y@3 Z C@8 D E F G AA AB AC AD AE@2 AC
AD AF@3 AG AH AI@4 AJ@2 ~@17 AK AL AM AN AO AP AQ AR AS AT AU AV ~@16
>`.pickRestart({
A: "[~@16 [f#4,a4]@4 ~@3 f#4@22 ~@2 [d4,g4,b4]@14 ~ [a4,c#5]@16 ~ [f#4,a4,d5]@29 ~@3 [d4,g4,b4]@14 ~ [e4,a4,c#5]@16 ~@2 [f#4,a4,d5]@27 ~@4 [d4,g4,b4]@13 ~@3 [e4,a4,c#5]@13 ~@3 [f#4,a4,d5]@17, ~@8 [d4,d5]@15 ~@8 e4@6 ~@75, ~@21 a4@23 ~@180]/7", // F#m G A D G A D G …
B: "[~@14 [d4,g4,b4]@14 ~@3 [e4,a4]@13 ~@3 [f#4,a4,d5]@28 ~@4 [d4,g4,b4]@12 ~@5, ~@30 c#5@13 ~@53]/3", // G A5 D G
C: "[[e4,a4,c#5]@11 ~@4 [f#4,a4,d5]@27 ~@5 [d4,g4,b4]@12 ~@3 [e4,a4,c#5]@13 ~@4 [f#4,a4,d5]@27 ~@5 [d4,g4,b4]@12 ~@4 [e4,a4,c#5]@12 ~@4 [f#4,a4,d5]@26 ~@6 [d4,g4] [d4,g4]@11 ~@4 [e4,a4,c#5]@12 ~@21 e4@5 ~@2 [f#4,a4,d5]@8 ~@8 [d5,f#5]@2 ~@2 [c#5,e5]@2 ~ [b4,d5]@2, ~@175 b4@10 ~@38 [a4,c#5]@6 ~@27]/8", // A D G A D G A D …
D: "~@2 c#5@2 ~@3 [g4,b4]@13 ~@4 b4 ~ c#5@6, ~@2 a4 ~@21 a4@8", // G
E: "~@4 d5@10 ~@5 [d5,f#5]@2 ~@2 [c#5,e5]@2 ~@2 [b4,d5]@3 ~@2, ~@3 [f#4,a4]@9 ~@20", // D C#m Bm F#m
F: "~@6 [f#4,a4,c#5]@9 ~@8 [f#4,a4,c#5]@7 ~@2", G: "~@7 [f#4,b4]@8 ~@3 a#4 ~@4 [d4,f#4,b4]@7 ~@2",
H: "~@8 [d4,g4,b4]@6 ~@9 [e4,a4,c#5]@8 ~", // G A
I: "~@4 d5 ~@2 [b4,d5]@3 ~ [c#5,e5]@3 ~@4 [g4,b4] ~@4 [g4,b4,d5]@7 ~@2, ~@3 [a4,c#5]@3 ~@26", // Bm C#m G A
J: "~@8 [a4,c#5,e5]@6 ~@5 [a4,c#5]@3 ~ [b4,d5]@3 ~ [c#5,e5]@3 ~@2", // A Bm C#m
K: "~ a4 ~@6 [c#5,e5]@5 ~@11 [a4,d5,f#5]@3 ~@5, ~@8 a4@3 ~@21", // C#m D
L: "[~@31 [d4,g4,b4]@12 ~@5 [e4,a4,c#5]@11 ~@4 [f#4,a4,d5]@26 ~@6 [d4,g4,b4]@12 ~@3 [e4,a4,c#5]@13 ~@4 [f#4,a4,d5]@27 ~@5 [d4,g4,b4]@12 ~@4 [e4,a4,c#5]@12 ~@4 [f#4,a4,d5]@26 ~@6 [d4,g4] [d4,g4]@11 ~@4 [e4,a4,c#5]@12 ~@5, ~@223 b4@10 ~@23]/8", // G A D G A D G A …
M: "~@16 e4@5 ~@2 [f#4,a4,d5]@8 ~, ~@15 [a4,c#5]@6 ~@11", // D A
N: "[~@7 [d5,f#5]@2 ~@2 [c#5,e5]@2 ~ [b4,d5]@2 ~@2 c#5@2 ~@3 [g4,b4]@13 ~@4 b4 ~ c#5@8 ~@2 d5@10 ~@2, ~@18 a4 ~@21 a4@10 ~ [f#4,a4]@9 ~@4]/2", // D C#m Bm G F#m
O: "~@3 [d5,f#5]@2 ~@2 [c#5,e5]@2 ~@2 [b4,d5]@3 ~@8 [f#4,a4,c#5]@9 ~", P: "~@7 [f#4,a4,c#5]@7 ~@9 [f#4,b4]@8 ~",
Q: "[~@2 a#4 ~@4 [d4,f#4,b4]@7 ~@8 [b3,e4]@8 ~ [e4,b4]@12 ~@12 [d4,g4,b4]@6 ~@3, ~@22 g4@21 ~@21]/2", // Bm E5 G
R: "[~@7 [e4,a4,c#5]@8 ~@8 [f#4,a4,d5]@2 [e4,a4,c#5]@4 ~@2 [d4,g4,b4]@10 ~@7 [f#4,a4,d5]@6 ~ [e4,a4,c#5]@5 ~@3 [d4,f#4,b4]@9 ~@11 [d4,f#4]@2 ~ [d4,f#4]@8 ~ e4@15 ~ [d4,g4,b4]@14 ~@2 [e4,a4,c#5]@15 ~ [f#4,a4,d5] ~@7 [f#4,a4,d5]@2 [e4,a4,c#5]@4 ~@2 [d4,g4,b4]@10 ~@7 [f#4,a4,d5]@6 ~ [e4,a4,c#5]@5 ~@3 [d4,f#4,b4]@9 ~@11 [d4,f#4]@2 ~ [d4,f#4]@8 ~ e4@15 ~ b4 [b4,e5,g5]@14 ~@2, ~@239 [d4,g4]@14 ~@3]/8", // A D A G D A Bm D …
S: "[[a4,c#5,e5]@14 ~ [a4,d5,f#5]@27 ~@2 [a4,d5,f#5] ~@3 [b4,d5,g5]@15 ~]/2", // A D G
T: "[[a4,d5,f#5]@15 ~@2 [a4,d5,f#5]@13 ~ [a4,c#5,e5]@11 ~@6 [g4,b4]@13 ~@3 a4@7 [a4,c#5]@7 ~ [d5,f#5]@12 ~ [c#5,e5]@2 ~@2, ~@48 e5@15 d5@8 ~@8 a4@13 ~@4]/3", // D A G A D C#m
U: "[g4,b4,d5]@31 ~", // G
V: "[~@8 a4@6 ~ [d5,f#5]@16 ~@2 [c#5,e5]@13 ~@2 [g4,b4]@12 ~@3 [a4,c#5]@15 ~ f#4@7 ~ f#4@2 ~@7, ~@7 e5@3 ~@86, ~@8 c#5@3 ~@4 a4@30 ~@3 e4@27 ~@4 [a4,d5]@11 ~@6]/3", // D C#m G A D5
W: "[~@17 [f#4,a4]@24 ~@6 [g4,b4,d5]@17, ~@2 c#5@3 ~@3]/2", // F#m G
X: "[~@14 [f#4,b4,d5]@32 ~@2 [e4,a4,c#5]@12 ~@2 [d4,g4,b4]@27 ~@5 [f#4,a4,c#5]@30 ~@3 [g4,b4,d5]@26 ~@6 [f#4,b4,d5]@28 ~@3 [e4,g4,b4]@16 ~ [e4,a4,c#5]@31 ~@2 g4@16, ~@190 a#4 ~@48 [b4,d5]@17, ~@240 a4 ~@15]/8", // Bm A G F#m G Bm Em A …
Y: "[~@15 [a4,c#5,e5]@65 ~@16]/3", Z: "~@15 [d4,g4,b4]@12 ~@5", AA: "~@6 [b3,e4]@8 ~ [e4,b4]@12 ~@5, ~@6 g4@21 ~@5",
AB: "~@7 [d4,g4,b4]@6 ~@10 [e4,a4,c#5]@8 ~", AC: "~@7 [f#4,a4,d5]@2 [e4,a4,c#5]@4 ~@2 [d4,g4,b4]@10 ~@7",
AD: "[f#4,a4,d5]@6 ~ [e4,a4,c#5]@5 ~@3 [d4,f#4,b4]@9 ~@8", // D A Bm
AE: "[~@3 [d4,f#4]@2 ~ [d4,f#4]@8 ~ e4@15 ~ [d4,g4,b4]@14 ~@2 [e4,a4,c#5]@15 ~ [f#4,a4,d5]]/2", // D G A D
AF: "[~@3 [d4,f#4]@2 ~ [d4,f#4]@8 ~ e4@15 ~ b4 [b4,e5,g5]@14 ~@2 [a4,c#5,e5]@14 ~ [a4,d5,f#5]@27 ~@2 [a4,d5,f#5] ~@3, ~@31 [d4,g4]@14 ~@51]/3", // D Em A D G5
AG: "[b4,d5,g5]@15 ~ [a4,d5,f#5]@15 ~", AH: "~ [a4,d5,f#5]@13 ~ [a4,c#5,e5]@11 ~@6",
AI: "[[g4,b4]@13 ~@3 a4@7 [a4,c#5]@7 ~ [d5,f#5]@12 ~ [c#5,e5]@2 ~@2 [g4,b4,d5]@31 ~@9 a4@6 ~ [d5,f#5]@16 ~@2 [c#5,e5]@13 ~@2, e5@15 d5@8 ~@8 a4@13 ~@43 e5@3 ~@38, ~@88 c#5@3 ~@4 a4@30 ~@3]/4", // G A D C#m G D C#m
AJ: "[[g4,b4]@12 ~@3 [a4,c#5]@15 ~ f#4@7 ~ f#4@2 ~@23, e4@27 ~@4 [a4,d5]@11 ~@22]/2", // G A D5
AK: "~@8 [f#4,a4,d5]@5 ~@10 [f#4,a4,d5]@6 ~@3", AL: "~@8 [g4,b4,d5]@7 ~@8 [a4,c#5,e5]@7 ~@2",
AM: "~@7 [f#4,a4,d5]@6 ~@11 [f#4,a4,d5]@5 ~@3", AN: "~@8 [g4,b4]@7 ~@8 [e4,a4,c#5]@6 ~@3",
AO: "~@3 [f#4,d5] a4 ~@2 [f#4,a4,d5]@7 ~@5 [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5]@8 ~", // D
AP: "~@4 b4 g4 ~ [g4,b4]@8 ~@5 [e4,a4,c#5] [a4,c#5] e4 [e4,a4,c#5]@7 ~@2", // G A
AQ: "~@4 [f#4,a4,d5]!2 ~ [f#4,a4,d5]@7 ~@5 [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5]@7 ~@2", // D
AR: "~@3 [g4,b4] ~ [g4,b4] ~ [g4,b4]@7 ~@5 [e4,a4] c#5 [e4,a4,c#5] ~ [e4,a4,c#5]@4 ~@5", // G A5 A
AS: "~@4 [f#4,a4,d5]!2 ~ [f#4,a4,d5]@8 ~@5 [f#4,a4,d5] ~ [f#4,a4,d5] [f#4,a4,d5]@6 ~@3", // D
AT: "~@3 [d4,g4,b4] ~ [d4,g4,b4] ~ [d4,g4,b4]@5 ~@8 [e4,a4,c#5] ~ [e4,a4,c#5] [e4,a4,c#5]@5 ~@4", // G A
AU: "~@4 [f#4,a4,d5] ~ [f#4,a4,d5] [f#4,a4,d5]@7 ~@6 [f#4,a4,d5] ~ [f#4,a4,d5] ~ [a4,d5]@5 ~@3, ~@23 f#4@5 ~@4", // D D5
AV: "~@4 [g4,b4] ~ [g4,b4] [d4,g4,b4]@3 ~@10 [e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,c#5]@5 ~@3, ~@4 d4@2 ~@17 a4@5 ~@4", // G A C#m
})).s("gm_synth_strings_2").gain(0.27).pan(0.3)
// chords · orchestra hit · "Hit in Intro"
const orchestra_hit = note("<~@4 A@4 ~@149>".pickRestart({
A: "[~@8 [f#4,a4,d5]@25 ~@7 [f#4,a4,d5]@13 ~@11]/4", // D
// … 206 more lines
More by Bonnie Tyler
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.