0:00/0:00
// Fun It — Queen
// 113 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 15 "GuiatrR" distortion guitar (copy of ch 14 "GuitarL" distortion guitar)
// note: Full arrangement: all 99 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(113/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.
// bass · electric bass finger · "Bass"
const bass = note(`<
~@17 A B C D E D E D F G@5 H I J K@2 L M N O P Q R O S T U V W@2 X Y@6 Z@3 AA AB AC@2 AD@2 AE AF@2 AG AH AI AJ AK AL
AK AJ AM AN AO AP AQ@3 AR AS AT AU@2 AV AW AX AY AZ BA ~@4
>`.pickRestart({
A: "~@21 a1@8 b1@3", B: "~ c2@4 ~@16 a1@8 b1@3", C: "~ c2@4 ~@2 d2@2 ~@3 e2@8 a1@8 b1@4", D: "c2 ~@4 a1@2 b1",
E: "c2@2 ~ d2 ~@2 e2@4 a1@4 b1@2", F: "c2@2 ~ d2 ~@2 e2@10",
G: "[e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@5 c#2@2 ~@2 e1@4 ~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@6 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~@2 e1@4 ~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@6 a#1@2 ~@2 a1@2 ~@2 g1@2 ~ a1@2 ~@2 g1@2 g1@2 a1@2 a1@2 g1@2 a1@2 a1@2 g1@2 g1@2 g1@2 a1@2]/5",
H: "~@2 g1@2 ~@2 a1@2 ~@2 g1@2 g1@2 a1@2 a1@2 g1@2 a1@2 a1@2 g1@2 g1@2 ~ e2@2 ~, ~@14 g1 ~",
I: "~ d2@2 ~@2 e2@2 ~@2 d2@2 d2@2 e2@2 e2@2 d2@2 e2@2 e2@2 d2@2 d2@2 d2@2 e2@2 ~",
J: "~ d2@2 ~ e2@2 ~@2 d2@2 d2@2 e2@2 e2@2 d2@2 e2@2 e2@2 d2@2 d2@2 d2@2 a1@2 ~@2",
K: "[g1@2 ~@2 a1@2 ~ g1@2 g1@2 a1@2 a1@2 g1@2 a1@2 a1@2 g1@2 g1@2 g1@2 a1@2 ~@2 g1@2 ~ a1@2 ~@2 g1@2 g1@2 a1@2 a1@2 g1@2 a1@2 a1@2 g1@2 g1@2 g1@2 b1@2 ~@2 b1@2]/2",
L: "~ b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 g1@3 g1@4", M: "g1@4 g1@4 g1@4 g1@4 g1@4 g1@3 g1@8 ~",
N: "~@22 e1@2 ~@4 d2 ~ e2@2", O: "~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~@2 e1@4 ~@4 e1 ~",
P: "~@2 a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@6 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2", Q: "~ d2 ~ e2 b1 d2 d2@3 c#2 ~ e1@2 ~@3",
R: "~@6 b1@2 e1@2 e1@2 b1@6 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2",
S: "~@2 a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@6 a#1@2 ~@2 e1@2 ~@3 d2 ~ e2@2 ~",
T: "~ d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~@2 e1@4 ~@4 e1 ~@2",
U: "~ a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@6 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~",
V: "d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~@2 e1@4 ~@4 e1 ~@3",
W: "[a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@6 a#1@2 ~@2 e1@2 ~@3 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~@2 e1@4 ~@4 e1 ~@3 a1]/2",
X: "~ a1 ~ b1@2 e1@2 e1@2 a1@6 b1@3 c2@4 ~@10", Y: "[~@7 a1@8 b1@4 c2@4 ~@2 d2@2 ~@4 e2@8 a1@8 b1@4 c2@4 ~@9]/2",
Z: "[~@7 a1@8 b1@4 c2@4 ~@2 d2@2 ~@4 e2@20 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~ e1@4 ~@4 e1 ~@3 a1 ~]/3",
AA: "a1 ~ b1@2 e1@2 e1@2 a1@6 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2",
AB: "~@2 e2@2 b1@2 d2@2 d2@5 c#2@2 ~@2 e1@4 ~@4 e1 ~@3 a1 ~ a1",
AC: "[~ b1@2 e1@2 e1@2 b1@6 a#1@2 ~@2 a1@2 ~@2 g1@2 ~@2 a1@2 ~@2 g1@2 g1@2 a1 a1@2 g1@2 a1@2 a1@2 g1@2 g1@2 g1@2 a1@2 ~@2 g1@2 ~@2 a1@2 ~@2 g1@2 g1@2]/2",
AD: "[a1@2 a1@2 g1@2 a1@2 a1@2 g1@2 g1@2 g1@2 e2@2 ~@2 d2@2 ~ e2@2 ~@2 d2@2 d2@2 e2@2 e2@2 d2@2 e2@2 e2@2 d2@2 d2@2 d2@2 e2@2 ~ d2@2 ~@2 e2@2 ~@2 d2@2 d2@2 e2@2]/2",
AE: "e2@2 d2@2 e2@2 ~ d2@2 d2@2 d2@2 a1@2 ~@2 g1@2 ~@2 a1@2 ~@2 g1@2 g1@2 a1 a1@2, ~@3 e2 ~@12",
AF: "[g1@2 a1@2 a1@2 g1@2 g1@2 g1@2 a1@2 ~@2 g1@2 ~@2 a1@2 ~ g1@2 g1@2 a1@2 a1@2 g1@2 a1@2 a1@2 g1@2 g1@2 g1@2 b1@2 ~ b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 b1@2]/2",
AG: "~@2 b1@2 ~ b1@2 ~@2 g1@4 g1@4 g1@4 g1@3 g1@4 g1@4", AH: "g1!2 g1@2 ~@4",
AI: "~@6 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@4",
AJ: "~@2 c#2@2 ~@2 e1@4 ~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@4",
AK: "~@2 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@4",
AL: "~@2 c#2@2 ~@6 e1@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@4",
AM: "~@2 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~ e2@2 b1@2 d2@2 d2@5",
AN: "~ c#2@2 ~@2 e1@4 ~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@5",
AO: "~ a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@5",
AP: "~ c#2@2 ~@2 e1@4 ~@3 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@6",
AQ: "[a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@5 c#2@2 ~@2 e1@4 ~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@6 a#1@2 ~@2 e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~ e2@2 b1@2 d2@2 d2@6 c#2@2]/3",
AR: "~@2 e1@4 ~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1 e1@2 a1@6 a#1@2 ~",
AS: "~ e1@2 ~@4 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@5 c#2@2 ~@2",
AT: "e1@4 ~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@6 a#1@2 ~@2",
AU: "[e1@2 ~@3 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~@2 e1@4 ~@3 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@6 a#1@2 ~@2 e1@2]/2",
AV: "~@3 d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@6 c#2@2 ~@2 e1@3",
AW: "~@4 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@6 a#1@2 ~ e1@2 ~@3",
AX: "~ d2 ~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2@2 d2@5 c#2@2 ~@2 e1@4 ~@2",
AY: "~@2 e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 a1@5 a#1@2 ~@2 e1@2 ~@4 d2",
AZ: "~ e2@2 ~@2 d2@2 ~@2 e2@2 b1@2 d2 d2@6 c#2@2 ~@2 e1@4 ~@4", BA: "e1 ~@3 a1 ~ a1 ~ b1@2 e1@2 e1@2 b1@5 a#1@2 ~@11",
})).s("gm_electric_bass_finger").gain(0.25)
// bass · fretless bass · "Bass Slide"
const bass_2 = note(`<
~@2 A@3 ~ B@2 C ~ D ~ D ~ E ~ F ~@3 G ~@5 H I ~ I ~@12 J@2 K@2 L@2 M@2 ~@2 N@2 ~@5 O@2 P@2 ~@8 Q ~ Q ~ Q ~ Q ~ R ~ S ~
E ~ T ~ U ~ V ~ W ~ X Y@2 Z@2 ~
>`.pickRestart({
A: "[~@31 b1@16 ~@16 b1@16 ~@17]/3", B: "[~@30 b1@15 ~@19]/2", C: "~@13 b1@16 ~@3", D: "~@3 b1@4 ~",
E: "~@11 b1@15 ~@6", F: "~@10 b1@15 ~@7", G: "~ b1@2 ~", H: "b1 ~", I: "~@7 b1@16 ~@9", J: "[~@15 b1@8 ~@9]/2",
K: "[~@29 b1@16 ~@19]/2", L: "[~@29 b1@15 ~@20]/2", M: "[~@27 b1@15 ~@22]/2", N: "[~@27 b1@16 ~@21]/2",
O: "[~@26 b1@15 ~@23]/2", P: "[~@25 b1@15 ~@24]/2", Q: "~@7 b1@8 ~", R: "~@13 b1@15 ~@4", S: "~@12 b1@15 ~@5",
T: "~@9 b1@15 ~@8", U: "~@7 b1@15 ~@10", V: "~@5 b1@15 ~@12", W: "~@3 b1@15 ~@14", X: "~ b1@15 ~@16",
Y: "[b1@15 ~@16 b1@16 ~@17]/2", Z: "[~@31 b1@16 ~@17]/2",
})).s("gm_fretless_bass").gain(0.4)
// other · synth drum · "SynDrum"
const synth_drum = note(`<
~ A B ~@2 C D ~@6 E F ~@2 G ~@6 H ~@4 I ~@20 J ~@29 K L M N O ~ P ~@3 Q ~@2 R ~@5
>`.pickRestart({
A: "~@28 [g2,a4] ~ [g2,a4] ~", B: "~@2 [g2,a4] ~ [g2,a4] ~@3 [g2,a4] ~@23",
C: "~@11 [a2,a4] ~@10 [a2,a4] ~@3 [a2,a4] ~ [a2,a4] ~@3", D: "[a2,a4] ~ [a2,a4] ~@3 [a2,a4] ~@25",
E: "~@23 [a2,a4] ~ [a2,a4] ~@3 [a2,a4] ~ [a2,a4]", F: "~@3 [a2,a4] ~@28",
G: "~@21 [a2,a4] ~ [a2,a4] ~@3 [a2,a4] ~ [a2,a4] ~@2", H: "~@6 [a2,a4] ~@3 [a2,a4] ~ [a2,a4] ~@3 [a2,a4] ~@15",
I: "~@21 [a2,a4] ~ [a2,a4] ~@3 [a2,a4] ~@4", J: "~@9 [a2,a4] ~ [a2,a4] ~@3 [a2,a4] ~@2 [a2,a4] ~@13",
K: "~@28 [a2,a4] ~ [a2,a4] ~", L: "[a2,a4] ~ [a2,a4] ~@29", M: "~@27 [a2,a4] ~ [a2,a4] ~ [a2,a4]",
N: "~ [a2,a4] ~@30", O: "~@25 [a2,a4] ~ [a2,a4] ~ [a2,a4] ~ [a2,a4]",
P: "~@24 [a2,a4] ~ [a2,a4] ~ [a2,a4] ~ [a2,a4] ~", Q: "~@16 [a2,a4] ~ [a2,a4] ~ [a2,a4] ~ [a2,a4] ~ [a2,a4]!2 ~@6",
R: "~@16 [a2,a4] ~ [a2,a4] ~ [a2,a4] ~@11", // A
})).s("gm_synth_drum").gain(0.4)
// other · synth drum · "SynDrum" · soft notes
const synth_drum_soft = note("<~@81 A ~ B ~ C ~ D ~@2 E ~@8>".pickRestart({
A: "~@2 [a2,a4] ~@13", B: "~@3 [a2,a4]@2 ~@27", C: "~ [a2,a4]@2 ~@29", D: "[a2,a4] ~@15", E: "~@27 [a2,a4]@2 ~@3",
})).s("gm_synth_drum").gain(0.24)
// other · distortion guitar · "GuitarC"
const distortion_guitar = note(`<
~@2 A@4 ~@14 B ~@4 C D@2 ~@3 E ~ F ~@4 G ~@2 H I ~ J@2 ~@2 K@2 ~@9 L M N O ~ P ~@4 Q R ~ S ~@4 T U V W X Y@3 Z AA AB
AC AD AE AF AG AH AI AJ ~ AK ~
>`.pickRestart({
A: "[~@8 e2 ~@6 e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~@7 e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2 ~@3 [d4,e4,g4]@2 ~@2 [d4,e4,g4]@2 [d4,e4,g4]@2 ~@13]/4", // Em7
B: "~@3 e5@5", C: "~@6 a3 d4", D: "[e3@2 ~@18 a3 ~@4 a#3@2 b3@2 d4@6 ~@4 g3@4 e3@4 ~@17, ~@12 a3 ~@19]/2",
E: "~@14 a3 ~ [c4,e4]@6 a3@2 g3@2 e3@4 ~@2", F: "~@12 e3 ~ g3@4 g3@2 e3@2 d3@2 e3@4 ~@4",
G: "~@9 b3@2 c4@2 ~@2 d4@2 ~ e4@2 ~@2 e3@2 ~@8", H: "~@13 [g4,b4,d5,e5] ~ [g4,b4,d5,e5]", I: "[g4,b4,e5] ~@15",
J: "[~@29 a3@2 a#3@2 b3@2 d4@10 b3@2 ~@17]/2", K: "[~@27 [e4,b4]@16 ~@21]/2", L: "~@9 g3@2 ~@5",
M: "~@2 a3 g3 e3 g3@2 e3 ~ e3@4 ~@3", N: "~@4 e3@2 ~@3 e3@2 ~@2 g3@2 ~@2 g3@8 ~@7",
O: "~@3 a3@2 g3@2 e3@2 g3@4 e3@2 ~@17", P: "e3 ~ [b4,e5]@6 e3 ~@23",
Q: "~@9 a#3@4 d4@2 a#3@4 d4@2 a#3@3 d4@2 a#3@4 d4@2", R: "e4 d4 b3 a3 g3 ~@11", S: "~@10 [g3,d4,e4] ~@21",
T: "~@18 [d4,g4,b4] ~@2 [d4,g4,b4]@4 ~@4 d4 ~@2", U: "~ d4 ~@19 a3@2 a#3@2 b3@2 d4@4 ~",
V: "~ e4@2 ~@18 a3@2 a#3@2 b3@2 d4@4 ~", W: "~ e4@2 ~@2 [g4,b4]@2 ~@13 a3@2 a#3@2 b3@2 d4@4 ~@2",
X: "e4@2 ~@18 a3@2 b3@2 ~@5 e4@2 ~, ~@14 d4 ~",
Y: "[~ g4@6 e4@2 ~@14 e5@12 ~@8 a3@2 a#3@2 ~ d4@6 b3@2 ~@2 g3@4 e3@4 d3@2 e3@2 ~@2 g3@6 e3@2 ~@2 d3@2 ~ e3@2 ~@2 g3@4 e3@3, ~@47 b3@2 ~@47]/3",
Z: "~@9 g3@8 e3@8 [e2,g3] ~@6", AA: "[e2,g3] ~@7 [e2,g3] ~@3 [e2,g3] ~@3 [e2,g3] ~ [a3,e4]@6 [g3,d4]@4 [e3,b3]@4",
AB: "~@11 [e2,g3] ~@3 [e2,g3] ~ [a3,e4]@6 [g3,d4]@4 [e3,b3]@4 ~", // Em A5 G5 E5
AC: "~@10 [e2,g3] ~@3 [e2,g3] ~ [a3,e4]@6 [g3,d4]@4 [e3,b3]@4 ~@2", // Em A5 G5 E5
AD: "~@13 b3@2 a3@2 g3@2 a3@2 g3@2 e3@2 d3@2 e3@2 ~ e3 ~, ~@29 d3@2 ~",
AE: "~@2 g3@6 e3@2 ~@2 d3@2 e3 ~@3 g3@6 e3@2 ~ d3@2 e3 ~@2",
AF: "~ g3@6 a#3@2 b3@2 d4@2 ~@4 e4@6 ~@3 [g4,b4] ~ [g4,b4]@4", // G
AG: "~@2 e4@2 ~@6 [g4,b4] ~ [g4,b4]@5 e4@2 ~@6 [g4,b4] ~ [g4,b4]@5", // G
AH: "~ e4@2 ~@6 [g4,b4] ~ [g4,b4]@5 e4@2 [a4,c#5]@6 g4@4 e4@2 d4@2", // G A
AI: "e4@2 ~@4 a3@2 a#3@2 b3@2 ~@4 d4@2 ~ e4@2 ~@11", AJ: "~@27 [g#3,d4,e4] ~@4", AK: "~@13 [g#3,d4,e4] ~@2",
})).s("gm_distortion_guitar").gain(0.32)
// other · distortion guitar · "GuitarL"
const distortion_guitar_2 = note(`<
~@17 A B C D E F E F G H@2 I@3 J K L M@2 N@2 O P Q P R P S T U V W@2 X Y@2 Z@2 AA@2 AB@3 AC AD AE@2 AF@2 AG AH@4 AI AJ
AK AL AK AJ AM AN AO AP AQ@3 AR AS AT AU@2 AV AW AX AY AZ BA@2 BB@2 ~
>`.pickRestart({
A: "~@21 a2@8 b2@3", B: "~ c3@2 ~@12 a2 ~ a2 ~@3 [a2,a3]@8 [b2,g3]@3",
C: "~ [c3,g3]@2 ~@4 [d3,a3]@2 ~@3 [e3,b3]@8 [a2,a3]@8 [b2,g3]@4", // C5 D5 E5 A Em
D: "[c3,g3]@2 ~@6 [c3,c4] ~@7 [c3,c4] ~ [c3,c4] ~ [a2,a3]@8 [b2,g3]@4", // C5 C A Em
E: "[c3,g3] ~@2 [d3,a3] ~@2 [e3,b3]@4 [a2,a3]@4 [b2,g3]@2", F: "[c3,g3] ~@9 [a2,a3]@4 [b2,g3]@2",
G: "[c3,g3] ~@2 [d3,a3] ~@2 [e3,b3]@10", // C5 D5 E5
H: "[e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@5 c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2]/2",
I: "[~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@6 a#2@2 ~@2 a2@2 ~@2 g2@2 ~ a2@2 ~@2 g2@2 g2@2 a2@2 a2@2 g2@2 a2@2 a2@2 g2@2 g2@2 g2@2 a2@2]/3",
J: "~@2 g2@2 ~@2 a2@2 ~@2 g2@2 g2@2 a2@2 a2@2 g2@2 a2@2 a2@2 g2@2 g2@2 ~ e3@2 ~, ~@14 g2 ~",
K: "~ d3@2 ~@2 e3@2 ~@2 d3@2 d3@2 e3@2 e3@2 d3@2 e3@2 e3@2 d3@2 d3@2 d3@2 e3@2 ~",
L: "~ d3@2 ~ e3@2 ~@2 d3@2 d3@2 e3@2 e3@2 d3@2 e3@2 e3@2 d3@2 d3@2 d3@2 a2@2 ~@2",
M: "[g2@2 ~@2 a2@2 ~ g2@2 g2@2 a2@2 a2@2 g2@2 a2@2 a2@2 g2@2 g2@2 g2@2 a2@2 ~@2 g2@2 ~ a2@2 ~@2 g2@2 g2@2 a2@2 a2@2 g2@2 a2@2 a2@2 g2@2 g2@2 g2@2 [b2,f#3]@2 ~@2 [b2,f#3]@2]/2", // B5
N: "[~ [b2,f#3]@2 ~@2 [b2,f#3]@4 [b2,f#3]@2 ~@2 [b2,f#3]@4 [b2,f#3]@2 ~@2 [b2,f#3]@4 [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@8 ~]/2", // B5 G5
O: "~@15 e3@7 e2 ~@5 d3 ~ e3@2", P: "~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@6 e2 ~",
Q: "~@2 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2",
R: "~@2 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@6 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2",
S: "~@2 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~@4 d3 ~ e3@2 ~",
T: "~ d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@6 e2 ~@2",
U: "~ a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~",
V: "d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@6 e2 ~@3",
W: "[a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~@4 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2]/2",
X: "~ a2 ~ b2@2 e2@2 a2@8 b2@3 c3@2 ~@12, ~@7 e2@2 ~@23",
Y: "[~ a2 ~ a2 ~@3 [a2,a3]@8 [b2,g3]@4 [c3,g3]@2 ~@4 [d3,a3]@2 ~@4 [e3,b3]@8 [a2,a3]@8 [b2,g3]@4 [c3,g3]@2 ~@6 [c3,c4,a4] ~@4]/2", // A Em C5 D5 E5 A Em C5 …
Z: "[~@3 [c3,c4] ~ [c3,c4] ~ [a2,a3]@8 [b2,g3]@4 [c3,g3]@2 ~@4 [d3,a3]@2 ~@4 [e3,b3]@8 [a2,a3]@8 [b2,g3]@4 [c3,g3]@2 ~@11]/2", // C A Em C5 D5 E5 A Em …
AA: "[~@7 [a2,a3]@8 [b2,g3]@4 [c3,g3]@2 ~@4 [d3,a3]@2 ~@4 [e3,b3]@8 [a2,a3]@8 [b2,g3]@4 [c3,g3]@2 ~@11]/2", // A Em C5 D5 E5 A Em C5
AB: "[~@7 [a2,a3]@8 [b2,g3]@4 [c3,g3]@2 ~@4 [d3,a3]@2 ~@4 [e3,b3]@20 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~ e2@2 ~@6 e2 ~@3 a2 ~]/3", // A Em C5 D5 E5
AC: "a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2",
AD: "~@2 e3@2 b2@2 d3@2 d3@5 c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2",
AE: "[~ b2@2 e2@2 e2@2 b2@6 a#2@2 ~@2 a2@2 ~@2 g2@2 ~@2 a2@2 ~@2 g2@2 g2@2 a2 a2@2 g2@2 a2@2 a2@2 g2@2 g2@2 g2@2 a2@2 ~@2 g2@2 ~@2 a2@2 ~@2 g2@2 g2@2]/2",
AF: "[a2@2 a2@2 g2@2 a2@2 a2@2 g2@2 g2@2 g2@2 e3@2 ~@2 d3@2 ~ e3@2 ~@2 d3@2 d3@2 e3@2 e3@2 d3@2 e3@2 e3@2 d3@2 d3@2 d3@2 e3@2 ~ d3@2 ~@2 e3@2 ~@2 d3@2 d3@2 e3@2]/2",
AG: "e3@2 d3@2 e3@2 ~ d3@2 d3@2 d3@2 a2@2 ~@2 g2@2 ~@2 a2@2 ~@2 g2@2 g2@2 a2 a2@2, ~@3 e3 ~@12",
AH: "[g2@2 a2@2 a2@2 g2@2 g2@2 g2@2 a2@2 ~@2 g2@2 ~@2 a2@2 ~ g2@2 g2@2 a2@2 a2@2 g2@2 a2@2 a2@2 g2@2 g2@2 g2@2 [b2,f#3]@2 ~ [b2,f#3]@4 [b2,f#3]@2 ~@2 [b2,f#3]@4 [b2,f#3]@2 ~@2 [b2,f#3]@4 [b2,f#3]@2 ~ [b2,f#3]@4 [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@5 ~ [g3,d4,g4]@5 [g3,d4,g4]@5 [g3,d4,g4]@8 ~@16]/4", // B5 G5
AI: "~@6 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@4",
AJ: "~@2 c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@4",
AK: "~@2 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@4",
AL: "~@2 c#3@2 ~@10 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@4",
AM: "~@2 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~ e3@2 b2@2 d3@2 d3@5",
AN: "~ c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@5",
AO: "~ a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@5",
AP: "~ c#3@2 ~@2 e2@2 ~@5 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6",
AQ: "[a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@5 c#3@2 ~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@6 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~ e3@2 b2@2 d3@2 d3@6 c#3@2]/3",
AR: "~@2 e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2 e2@2 a2@6 a#2@2 ~",
AS: "~ e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@5 c#3@2 ~@2",
AT: "e2@2 ~@6 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@6 a#2@2 ~@2",
AU: "[e2 ~@4 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@5 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~]/2",
AV: "~@3 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~",
AW: "~@4 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@6 a#2@2 ~ e2 ~@4",
AX: "~ d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@5 c#3@2 ~@2 e2@2 ~@4",
AY: "~@2 e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@5 a#2@2 ~@2 e2 ~@5 d3",
AZ: "~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3 d3@6 c#3@2 ~@2 e2@2 ~@6",
BA: "[e2 ~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 b2@5 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@6 c#3@2 ~@2 e2@2 ~@6 e2]/2",
BB: "[~@3 a2 ~ a2 ~ b2@2 e2@2 e2@2 a2@6 a#2@2 ~@2 e2 ~@5 d3 ~ e3@2 ~@2 d3@2 ~@2 e3@2 b2@2 d3@2 d3@5 c#3@2 ~@12]/2",
})).s("gm_distortion_guitar").gain(0.25).pan(0)
// drums · kick
const kick = s("bd").struct(`<
A B C D@2 E F G H@2 I J I K L M N O P Q R@2 S R@2 T U D@2 V M W X Y Z F AA AB AC F@2 AD AE F AF H@2 I AG L AH AI@3 AJ
AI AK AL AK AM W AN AO I AG AM AN AP AQ AA AR F@3 AS F@2 AT AU H AV I L AM AW AX AY Z F H AG AZ BA BB BC D@2 BD ~
>`.pickRestart({
A: "~ x!3", B: "x!4", C: "x ~@7 x ~@6 x ~@7 x ~@7 x", D: "~@7 x ~@7 x ~@7 x ~@7 x", E: "~@7 x ~@3 x ~@20",
F: "~@3 x ~@3 x ~@3 x ~@3 x", G: "~@6 x ~@6 x ~@7 x ~@7 x ~@2", H: "~@5 x ~@7 x ~@7 x ~@7 x ~@2",
I: "~ x ~ x ~ x ~ x", J: "~@2 x ~@3 x ~@3 x ~@2 x!2 ~", K: "x ~@3 x ~@6 x ~@7 x ~@7 x ~@4",
L: "~@3 x ~@7 x ~@7 x ~@7 x ~@4", M: "~@3 x ~@6 x ~@7 x ~@7 x ~@5", N: "~@2 x ~@7 x ~@7 x ~@7 x ~@2 x ~@2",
O: "~ x ~@7 x ~@7 x ~@3 x ~@5 x ~@4", P: "~ x ~@15 x ~@14", Q: "~ x ~@14 x ~@15", R: "x!2", S: "x ~@2 x!2 ~@3 x ~@7",
T: "x", U: "x ~@7 x ~@7 x ~@7 x ~@6 x", V: "~@7 x ~@7 x ~@7 x ~@8", W: "~ x ~@3 x ~@3 x ~@3 x ~@2",
X: "~ x ~@7 x ~@7 x ~@7 x ~@6", Y: "~ x ~@6 x ~@7 x ~@7 x ~@7", Z: "x ~@6 x ~@7 x ~@7 x ~@7 x",
AA: "~@5 x ~@7 x ~@7 x ~@6 x ~@3", AB: "~@4 x ~@7 x ~@7 x ~@2 x ~@8", AC: "~@11 x ~@3 x", AD: "~@3 x ~@3 x ~@5 x ~@2",
AE: "~@3 x ~ x!2 ~@4 x ~@3 x", AF: "~@6 x ~@7 x ~@7 x ~@6 x ~@2", AG: "~@4 x ~@7 x ~@7 x ~@6 x ~@4",
AH: "~@3 x ~@3 x ~ x ~@3 x ~@4 x ~@13", AI: "~@3 x ~@15 x ~@12", AJ: "~@3 x ~@15 x ~@5 x ~ x ~@4",
AK: "~@3 x ~@15 x ~@7 x ~@4", AL: "~ x ~@9 x ~@7 x ~@12", AM: "~@3 x ~@7 x ~@6 x ~@7 x ~@5",
AN: "~@2 x ~@6 x ~@7 x ~@7 x ~@6", AO: "~ x ~@7 x ~@11 x ~@7 x ~@2", AP: "x ~@7 x ~@7 x ~@6 x ~@7 x",
AQ: "~@7 x ~@6 x ~@7 x ~@7 x ~", AR: "~ x!2 ~@5", AS: "~@5 x ~@5 x ~ x!2 ~", AT: "~@6 x ~@7 x ~@6 x ~@7 x ~@2",
AU: "~@5 x ~@7 x ~@7 x ~@5 x ~@3 x", AV: "~@5 x ~@6 x ~@7 x ~@7 x ~@3", AW: "~ x ~@3 x ~@3 x ~@6",
// … 126 more lines
More by Queen
We Are The Champions1978 · F major · 95 bpmRadio Ga GaF major · 110 bpmWho Wants to Live ForeverG major · 72 bpmAnother One Bites The DustG major · 115 bpmBohemian RhapsodyB♭ major · 70 bpmUnder PressureD major · 113 bpmCrazy Little Thing Called LoveD major · 233 bpmFriends Will Be FriendsG major · 74 bpm
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.