0:00/0:00
// I Want It All — Queen
// 91 bpm, 4/4, key B 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: Full arrangement: all 100 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(91/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 · "FINGERDBAS"
const bass = note(`<
~@4 A B C D E F G H I J K L M N O P Q R S T E R S U E V W X Y V W X Z AA AB P AC B AD D E B AD D AE@2 AF AG AF AH@4 AI
AJ AK AL AM AN AO AI AJ AK AL AP AQ AR@2 AS@2 AT AU ~@3 AV B AD D AW B AD D AX AY AZ@3 ~@8
>`.pickRestart({
A: "~@6 a1@9 ~", B: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~",
C: "g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1 ~@3 g1@2 ~@2 g1 ~@3 g1@2 ~@2 g1@2 ~@2",
D: "a1@2 ~@2 a1 ~@3 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2", E: "b1@4 ~@2 b1@2 ~@4 a1@19 ~",
F: "b1@11 ~@5 b1@11 ~ a1@3 ~", G: "g1@5 ~ d1@4 ~@2 g1@16 ~@4", H: "a1@5 ~ e1@5 ~ a1@15 ~ d2@2 c#2@2",
I: "b1@7 ~ b1@3 ~ a1@18 ~@2", J: "b1@5 ~ f#1@5 ~ b1@15 ~ a1@4", K: "g1@5 ~ g1 ~ d1@4 g1@15 ~ g1@2 g#1@2",
L: "a1@5 ~ e1@5 ~ a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2", M: "b1@5 ~ b1 ~@5 b1@8 a1@11 ~",
N: "d2@7 ~ d2@4 a1@2 b1 ~ d2@4 g1@3 ~ g1@4 a1@3 ~", O: "a1@7 ~ a1@4 e1@2 f#1 ~ a1@4 g1@3 ~ g1@4 a1@3 ~",
P: "a1@7 ~ a1@3 ~ f#1 ~ e1@2 a1@3 ~ a1@3 ~ e1@3 ~ a1@3 ~", Q: "g1@3 ~ g1@3 ~ g1@3 ~ g1@2 ~@2 a1@7 ~@9",
R: "b1 ~ b1 ~ a1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~",
S: "g1@2 ~@2 g1@2 ~@2 f#1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1 ~@3 g1@2 ~@2 g1@2 ~@2",
T: "a1@2 ~@2 a1 ~@3 g1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2",
U: "a1@2 ~@2 a1 ~@3 g1@2 ~@2 a1@2 ~@2 a1@2 ~@2 d2@4 c#2@4 b1@3 ~", V: "b1@3 ~ b1@2 ~@10 b1@2 ~@14",
W: "g1@3 ~ g1@2 ~@10 g1@2 ~@14", X: "a1@3 ~ a1@2 ~@10 a1@2 ~@14", Y: "b1@3 ~ b1@2 ~@12 a1@2 ~@4 a1@7 ~",
Z: "b1@3 ~ b1@2 ~@14 a1@2 ~@2 a1@7 ~", AA: "d2@7 ~ d2@3 ~ a1@2 b1 ~ d2@4 g1@3 ~ g1@4 a1@3 ~",
AB: "a1@7 ~ a1@4 ~@2 g1 ~ a1@2 g1 ~ a1@3 ~ g1@4 e1@3 ~",
AC: "g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 a1@2 ~@2 a1@3 ~ b1@2 ~@2",
AD: "g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1 ~@3 g1@2 ~@2 g1@2 ~@2", AE: "b1/2", AF: "b2", AG: "b1",
AH: "[b1@31 ~]/2", AI: "b1 ~ b1!2 ~ b1 ~ b1 ~ b1!2 ~ b1 ~ b1 ~ b1!2 ~ b1 ~ b1 ~ b1!2 ~ b1 ~ g1 ~ g1!2",
AJ: "~ g1 ~ g1 ~ g1!2 ~ g1 ~ g1 ~ g1!2 ~ g1 ~ g1 ~ g1!2 ~ g1 ~ a1 ~ a1!2 ~ a1 ~ a1",
AK: "~ a1!2 ~ a1 ~ a1 ~ a1!2 ~ a1 ~ a1 ~ a1!2 ~ a1 ~ e2 ~ e2!2 ~ e2 ~ e2 ~ e2 e1 ~",
AL: "e1 ~ e2 ~ e2!2 ~ e2 ~ e2 ~ e2 d2 ~ c#2 ~ b1 ~ b1!2 ~ b1 ~ b1 ~ b1!2 ~ b1 ~ b1 ~",
AM: "b1!2 ~ b1 ~ b1 ~ b1!2 ~ b1 ~ g1 ~ g1!2 ~ g1 ~ g1 ~ g1!2 ~ g1 ~ g1 ~ g1 b1 ~ b1",
AN: "~ d2 ~ d2 b1 ~ b1 ~ a1 ~ a1 c#2 ~ c#2 ~ e2 ~ e2 c#2 ~ c#2 ~ a1 ~ a1 c#2 ~ c#2@2 e2 ~ e2",
AO: "a1 ~ a1 ~ e2 ~ e2 d2 ~ d2 ~ c#2 ~ c#2 b1 ~ b1 ~ e1 ~ e1 g#1 ~ g#1 ~ a1 ~ a1 a#1 ~ a#1 ~",
AP: "b2!2 ~ b2 ~ b2 ~ a2 f#2 ~ d2 ~ g1 ~ g1!2 ~ g1 ~ g1 ~ g1!2 ~ g1 ~ g1 ~ g1 b1 ~ b1",
AQ: "~ d2 ~ d2 b1 ~ b1 ~ a1 ~ a1 c#2 ~ c#2 ~ e2 ~ e2 c#2 ~ c#2 ~ a1 ~ a1 c#2 ~ c#2 ~ e2@3",
AR: "[a1@3 ~ g1@4 ~ f#1@4 ~ g1@4 ~@2 f#1@4 ~ g1@39]/2", AS: "[d2@7 ~ d2@12 g1@8 a1@19 ~ a1@3 ~ g1@7 ~ a1@3 ~]/2",
AT: "a1@27 ~ a1 ~ a1 ~", AU: "g1@7 c2@8 ~@17", AV: "~@3 a1@5",
AW: "b1@4 ~@2 b1@2 ~@4 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2", AX: "b1@2 ~ b1 ~@2 a1@6 ~@4", AY: "~@4 g1 ~@3",
AZ: "[g1@5 ~@19 g2@24 d2@8 f2@20 ~@2 f1@6 ~@12, ~ g1@5 ~@6]/3",
})).s("gm_electric_bass_finger").gain(0.43)
// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
~@4 A B C D E ~@7 F G H I J B K L M N C D O P Q R S P Q R T@2 U V W X Y Z AA AB C AC AD@2 ~@5 AE@2 AF@6 AG AH AI AJ@6
AK AL V AM ~@3 AN B C AC AO@2 AP@2 AQ AR AS@3 ~@8
>`.pickRestart({
A: "~@12 [a2,e3,a3]@19 ~", B: "[b2,f#3,b3]@5 ~ [a2,e3,a3]@6 [b2,f#3,b3]@19 ~",
C: "[g2,g3,d4]@6 [f#2,f#3,c#4]@5 ~ [g2,g3,b3,d4]@19 ~", // G5 F#5 G
D: "[a2,e3,a3,c#4]@3 [g2,d3,g3]@3 [a2,e3,a3,c#4]@7 [a2,e3,a3]@3", // A G5 A A5
E: "[b2,f#3,b3]@5 ~ [b2,f#3,b3,d4]@2 ~@4 [a2,e3,a3]@20, ~@12 c#4@17 ~@3", // B5 Bm A5
F: "~@2 b3 ~ f#3 a3 [b2,f#3]@3 ~ [a2,e3,a3]@2 [a2,e3,a3]@2 [d3,f#3,d4]@2", // B5 A5 D
G: "[d3,a3,d4]@8 [d3,a3,d4]@11 ~ [g2,d3,g3,b3]@4 [g2,d3,g3,b3]@4 [a2,e3,a3,c#4]@3 ~", // D5 G A
H: "[a2,a3,c#4]@17 ~ g3@2 [d3,g3]@8 [a2,e3,a3,c#4]@4, e3@7 ~@2 [g2,b3]@5 ~@2, ~@18 d3 ~@13", // A G5 A G
I: "[e3,a3,c#4]@7 ~ [e3,a3,c#4]@11 ~ [a2,e3]@3 ~ [a2,e3]@3 ~ [a2,e3,c#4]@3 ~, a2@19 ~@5 a3@4 ~@4", // A A5 A
J: "[g2,d3,g3,b3]@15 ~ [a2,e3,a3]@8 ~@8", K: "[g2,g3,d4]@5 ~ [f#2,f#3,c#4]@5 ~ [g2,b2,g3,d4]@19 ~",
L: "[e3,a3]@3 ~ [e3,a3] ~ [g2,d3,g3]@6 [a2,e3,a3]@14 [a2,e3,a3]@6, a2 ~@7", // A5 G5 A5
M: "[b2,f#3,b3]@5 ~ [b2,f#3]@5 ~ [a2,e3,a3]@20, ~@6 [b3,d4]@3 ~@3 c#4@17 ~@3", // B5 A5 Bm
N: "[b2,f#3]@2 b3 [a2,e3,a3]@3 [b2,f#3,b3]@10, b3@3 ~@29", // B5 A5 B5
O: "[b2,f#3,b3]@5 ~ [b2,f#3,b3]@2 ~@4 [a2,e3,a3]@20, ~@12 c#4@17 ~@3", P: "[b2,f#3,b3]!2 ~@2 [b2,f#3,b3] ~@3",
Q: "[g2,d3,g3]!2 ~@2 [g2,d3,g3] ~@3", R: "[a2,e3,a3]!2 ~@2 [a2,e3,a3] ~@3",
S: "[b2,f#3,b3]@4 [b2,f#3,b3]@4 ~@10 [a2,e3,a3]@2 ~@4 [a2,e3,a3]@7 ~", // B5 A5
T: "[[b2,f#3,b3]@4 [b2,f#3,b3]@3 ~@11 [a2,e3,a3]@2 a3@12 [d3,a3,d4]@8 [d3,a3,d4]@9 ~ [g2,d3,g3,b3] ~ [g2,d3,g3,b3]@8 [a2,e3,a3,c#4]@4, ~@5 [a2,e3]@10 ~]/2", // B5 A5 D5 G A A5
U: "[a3,c#4]@17 ~ [d3,g3,b3] ~ [d3,g3,b3]@4 [d3,g3,b3]@4 [a2,e3,a3,c#4]@4, [a2,e3]@7 ~, ~@18 g2@9 ~@5", // A G A A5
V: "[e3,a3,c#4]@11 ~ [e3,a3,c#4]@2 [f#3,d4]@2 [e3,c#4]@4 [f#3,d4]@4 [a2,e3,a3,c#4]@4 [a2,d3,b3]@4, a2@16 [a2,a3]@7 ~@9", // A D C#m D A Bm7 A
W: "[g2,d3,g3]@8 [g2,d3,g3]@3 ~@5, b3@11 ~@5", X: "[f#3,b3]@4 b2 ~ [a2,e3,a3]@6 [b2,f#3,b3]@19 ~, b2@3 ~@29",
Y: "[g3,d4]@4 [g2,b2] ~ [f#2,a2,f#3,c#4]@5 ~ [g2,b2,g3,d4]@19 ~, [g2,b2]@3 ~@29", // G5 G F#m G
Z: "[e3,a3]@2 [a2,e3] [g2,d3,g3]@3 [a2,e3,a3]@7 [a2,e3,a3]@3, a2@3 ~@29", // A5 G5 A5
AA: "[b2,f#3,b3]@5 ~ [f#3,b3,d4]@3 ~@3 [a2,e3,a3]@20, ~@6 b2@5 ~ c#4@17 ~@3", // B5 Bm A5
AB: "[b2,f#3,b3]@5 ~ [a2,e3,a3]@6 [b2,f#3,b3]@20", AC: "[a2,e3,a3]@3 [g2,d3,g3]@3 [a2,e3,a3]@7 [a2,e3,a3]@3",
AD: "[b2@63 ~, f#3@29 ~@3, b3@55 ~@9]/2", AE: "[~@32 a3@31 ~, [a2,e4]]/2",
AF: "[[b2,f#3,b3,f#4]@23 ~ [g3,d4] ~ [g2,d3,g3,d4]@26 [a3,e4] ~ [a3,e4] ~ [a2,e3,a3,e4]@24 [e3,b3,e4] ~ [e2,e3,b3,e4] ~ [e2,e3,b3,e4]@28 [b2,f#3,b3,f#4]@23 ~ [g3,d4] ~ [g2,d3,g3,d4]@26 [a3,e4] ~ [a3,e4] ~ [a2,e3,a3,e4]@24]/6", // B5 G5 A5 E5 B5 G5 A5
AG: "[e3,b3,e4] ~ [e2,e3,b3,e4] ~ [e2,e3,b3,e4]@28", // E5
AH: "[b2,f#3,b3]@4 ~ [b2,f#3,b3]@2 ~@3 [b2,f#3,b3]@16 ~@2 [g2,d3,g3]@4", // B5 G5
AI: "~ [g2,d3,g3]@2 ~@3 [g2,d3,g3]@16 ~@2 [a2,e3,a3]@4 ~ [a2,e3]@3, ~@29 a3 ~@2", // G5 A5
AJ: "[~@2 [a2,e3,a3]@16 ~@2 [e3,b3,e4]@4 ~ [e3,b3,e4] ~@4 [e3,b3,e4]@17 ~ [b2,f#3,b3,f#4]@23 ~ [g3,d4] ~ [g2,d3,g3,d4]@26 [a3,e4] ~ [a3,e4] ~ [a2,e3,a3,e4]@27 ~ [g2,g3,b3,d4]@5 [f#2,f#3,a3,d4]@3 ~@2 [g2,g3,b3,d4]@5 ~ [f#2,f#3,a3,d4]@3 ~@2 [g2,a3,c#4,e4]@37 ~@2]/6", // A5 E5 B5 G5 A5 G D G …
AK: "[d3,a3,d4]@7 ~ [d3,a3,d4]@9 ~ [g2,d3,g3,b3] ~ [g2,d3,g3,b3]@8 [a2,e3,a3,c#4]@3 ~", // D5 G A
AL: "[a2,a3,c#4]@17 ~ [d3,g3,b3] ~ [d3,g3,b3]@4 [d3,g3,b3]@4 [a2,e3,a3,c#4]@4, e3@14 ~@4 g2@9 ~@5", // A G A
AM: "[d3,g3,b3]@11 ~@5, g2@25 ~@7", AN: "~@3 [a2,e3,a3]@5",
AO: "[[b2,f#3,b3]@5 ~ [b2,f#3,b3]@2 ~@4 [a2,e3,a3,c#4]@20 [b2,f#3,b3]@5 ~ [a2,e3,a3]@6 [b2,f#3,b3]@20, ~@3 d4@29]/2", // B5 A B5 A5 B5
AP: "[[g2,g3]@5 ~ [f#2,f#3,c#4]@5 ~ [g2,g3,b3]@19 ~ [a2,e3,a3]@6 [g2,d3,g3]@6 [a2,e3,a3]@14 [a2,e3,a3]@6, d4@6 d4@23 ~@3]/2", // G F#5 G A5 G5 A5
AQ: "[b2,f#3,b3]@5 ~ [b2,f#3,b3]@5 ~ [a2,e3,a3]@12 ~@8", AR: "~@4 [g2,g3] ~@3",
AS: "[g2@2 ~@37 [g2,d3]@3 ~@6, ~@2 c#7@5 ~]/3", // G5
})).s("gm_distortion_guitar").gain(0.28)
// chords · distortion guitar · "DISTORTION" · soft notes
const distortion_guitar_soft = note(`<
~@5 A B C D ~@7 E ~@2 F ~@2 G H D I B C D ~@14 J D K B J L@2 ~@30 A B J D K B J ~@13
>`.pickRestart({
A: "f#4@5 ~ e4@6 f#4@19 ~", B: "b3@6 a3@5 ~@21", C: "~@3 b3@3 ~@10", D: "d4@5 ~@27", E: "~@3 f#3 ~@12",
F: "~@20 c#4@3 ~ c#4@3 ~@5", G: "b2@5 ~ a2@5 ~@21", H: "c#4@3 ~ c#4 ~ b3@6 c#4@14 ~@6", I: "f#4@3 e4@3 f#4@9 ~",
J: "c#4@3 b3@3 c#4@7 ~@3", K: "f#4@5 ~ e4@6 f#4@18 ~@2", L: "[d#3@15 ~]/2",
})).s("gm_distortion_guitar").gain(0.16)
// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
~@4 A B@3 C ~@3 D E@2 F G H I J K L M N O P Q R@2 S T U V S W X Y H I J Z AA AB AC AD P AE AF AG@3 ~@4 AH@2 AI AJ AK@2
AL AM@2 AN@4 AO AP AQ@2 H I J AR ~@4 L M N AS AT AU AV AW@3 AX@2 ~@8
>`.pickRestart({
A: "~@12 [a2,e3]@19 ~", // A5
B: "[b4@8 b4 a4 f#4 f4 f#4 a4 f#4 a4 d5 b4 d5 b4 d5 b4 a4 f#4 a4 b4@10 ~ a4 ~ e4@6 d4 e4 d4 e4 d4@9 ~ a5@11 ~ f#5 ~ f#5@4 e5@6 ~@2 f#5@4 a5@4 f#5 e5 d5@2]/3",
C: "e5@7 d5 b4@3 ~ a4@16 ~@4", D: "~@8 a4@23 ~", E: "[~@8 b4@4 b4@28 e4@3 ~ d4@16 ~@4]/2", F: "~@12 e4@13 ~@7",
G: "~@4 b3 ~ f#3 ~ f#3 ~ a3 ~ b2@5 ~ a2 ~ a2@3 ~ a2@4 d3@3 ~",
H: "[f#3,a3,d4]@11 ~ [f#3,a3]@10 ~@2 [g3,b3]@4 [a3,c#4]@4, ~@3 d4@4 ~", // D F#m G A
I: "[a3,c#4,e4]@11 ~ [a3,c#4,e4]@6 g3@2 [b3,d4]@4 [g3,b3,d4]@3 ~ [a3,c#4,e4]@4", // A Bm G A
J: "[a3,c#4,e4]@11 ~ [a3,c#4,e4]@18 ~@2", K: "[g3,b3,d4]@7 ~ [a2,a3,c#4,e4]@3 ~@5",
L: "[b2,b3]@2 ~@2 [b2,b3]@2 [a2,a3]@6 [b2,b3]@19 ~", M: "[g2,g3]@3 ~ [g2,g3]@2 [f#2,f#3]@6 [g2,g3]@19 ~",
N: "[a2,a3]@3 ~ [a2,a3]@2 [g2,g3]@6 [a2,a3]@20", O: "[b2,b3]@5 ~ [b2,b3]@5 ~ [a2,a3]@18 ~@2",
P: "~@6 a3 ~ b3 ~ a3 ~ b3@18 ~@2", Q: "~@6 b3 ~ d4@2 e4 ~ b3@15 ~@5",
R: "[~@6 a3 ~ a3@2 b3 ~ a3@7 ~ d3@4 c#3@3 ~@5 f#3@6 [b2,f#3]@4 ~@2 [a2,e3]@18 ~@2, ~@14 b2@5 ~@13]/2", // B5 A5
S: "[b2,f#3]@3 ~ [b2,f#3]@2 ~@10 [b2,f#3]@3 ~@13", T: "[g2,d3]@2 ~@2 [g2,d3]@3 ~@5 b4@15 ~@5",
U: "[a2,e3] ~ [a2,e3] ~@5 [a2,e3] ~@7", V: "[b2,f#3]@3 ~ [b2,f#3]@2 ~@12 [a2,e3]@2 ~@4 [a2,e3]@7 ~",
W: "[g2,d3]@3 ~ [g2,d3]@3 ~@3 d5@2 b5 ~ a5 ~ b5@14 ~@2", // G5
X: "[a2,e3]@2 ~@2 [a2,e3]@2 ~@4 a3 ~ [a2,a3]@2 ~@2 [a2,e3]@2 ~@14", // A5 A A5
Y: "[b2,f#3]@3 ~ [b2,f#3]@3 ~@11 [a2,e3] ~ a2@3 ~ [a2,e3]@4 [d3,a3]@4", Z: "[g3,b3,d4]@14 ~@2 [g2,g3]@5 ~@11",
AA: "~@8 a3@3 ~ b3@19 ~", AB: "~@8 a3@4 b3@19 ~", AC: "~@2 a3@3 [d3,d4] [c#3,c#4] [b2,b3]",
AD: "b2@8 b3@3 ~ a3@17 ~@3", AE: "~@4 d3 ~ b3 ~ d4@2 e4 ~ b3@17 ~@3",
AF: "~@6 g3@2 ~ g3@2 ~ a3@14 ~@2 [b2,f#3,b3]@4, ~@4 a3 ~@11", AG: "[[f#3,b3]@67 ~@29, b2@37 ~@11]/3",
AH: "d5 c#5 b4 a4 d5 c#5 b4 a4 d5 c#5 b4 a4 d5 c#5 b4 a4 d5 c#5 b4 a4 d5 c#5 b4 a4 d5 c#5 b4 a4 d5 c#5 b4 a4",
AI: "e5@27 ~ e4@4", AJ: "~@3 d4 b3@16 a3@2 f#3@2 e3@2 d3 e3@2 d3 ~ e3",
AK: "[~ f#3 a3 ~ b3 ~ d4 ~ b3 d4 ~ e4 ~ e4@5 d4 b3 e4@2 b3@17 ~@9 e5@4 ~@2 e5@5 d5@5]/2",
AL: "~ f#4 ~ f4 ~ e4@2 d4 b3 ~ a3 ~ d4 ~ c#4 b3 ~ a3 ~ d4 ~ c#4 b3 ~ a3@2 d4 ~ c#4 b3 ~ a3",
AM: "[~ d4 ~ c#4 b3 ~ a3 ~ e4@17 e4 ~ d4 ~ e4 ~@2 e4 ~ d4 ~ c#4 ~ b3 a3 ~ b3 ~ a3 ~ f#3 a3 ~ f#3 ~ e3 ~ d3 e3 ~ f#3 ~ d3 ~ b2 e3 ~ d3 ~, ~@31 d4@2 ~@31]/2",
AN: "[b2@10 ~ e5@13 d5 ~ e5@2 d5@9 e5@7 d5 b4@10 ~ f#5@4 ~@2 f#5@4 f#5@6 ~ f#5@3 ~ f#5@5 e5 d5 b4@21 ~@3 d5@2 c5@3 ~@2 c5@3 ~ d5@2 ~ c5@3 d5 c5@2, ~@57 d5 ~@6]/4",
AO: "~ d5@2 c5@4 ~ c5@3 ~ d5@2 c5@3 ~@2 c5@3 d5@2 c5@3 e5 ~ d5@3, ~@7 d5@2 ~@23",
AP: "~@2 d5@3 ~ e5 ~ e5@3 d5 ~ c#5 ~ d5@2 c#5 b4@2 a4 ~ b4 ~ a4 f#4 ~ a4 ~ f#4 ~ e4, ~ e5@2 ~@29",
AQ: "[d4 ~ c#4 ~ b5@5 a5@5 b5@5 ~ a5@5 [a5,c#6]@39]/2", AR: "[g3,b3,d4]@21 ~@11",
AS: "[b2,b3]@5 ~ b2@5 ~ [a2,a3]@17 ~@3, ~@6 b3@3 ~@23", AT: "f#4@6 ~@2 f#4 a4 ~ f#4 b4@17 ~@3",
AU: "d5@2 c#5@2 b4 ~ a4 ~ b4 ~ f#4@6 e4@9 ~ d4 ~ c#4 ~ b3@2", AV: "a3@3 ~ a3 ~ g3@5 ~ a3@18 ~@2",
AW: "[f#5@5 ~ f#5@5 ~ e5@12 f#5@4 a5@2 f#5@50 ~@2 a5@13 f#5]/3",
AX: "[~ e5@4 d5 ~@2 b4 ~ d5 ~ b4@2 a4 ~ f#4 ~@2 f4 ~ e4 ~ d4@2 b3@2 e4@2 b3 d4@18 ~@16, ~@7 e5@2 ~@55]/2",
})).s("gm_overdriven_guitar").gain(0.34).pan(0.4)
// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
~@21 A B C D A B C E ~@19 F G H I J K L M@2 ~@7 N O P@6 ~@8 Q R S T U V W X@2 Y@3 ~@8
>`.pickRestart({
A: "[b3,d4,f#4]@5 ~ [a3,c#4,e4]@5 ~ [b3,d4,f#4]@18 ~@2", B: "[b3,d4,g4]@5 ~ [a3,d4]@5 ~ [b3,d4,g4]@18 ~@2",
C: "[c#4,e4,a4]@5 ~ [b3,d4,g4]@5 ~ [c#4,e4,a4]@18 ~@2", D: "[b3,d4,f#4]@5 ~ [b3,d4,f#4] ~@5 [a3,c#4,e4]@16 ~@4",
E: "[b3,d4,f#4]@5 ~ [a3,c#4,e4]@8 ~@2", F: "[b3,f#4]@31 ~",
G: "f#3@2 ~@2 e4@12 g#3@2 ~@2 f#4@11 ~, ~@2 g#3@12 ~@4 a#3@13 ~", H: "a#3 ~ f#4@13 ~, ~@2 b3@25 ~@5",
I: "a3 ~@4 e4@3 b3 ~@4 f#4@3, ~@2 b3@13 ~@3 c#4@13 ~, ~@4 g#4@11 ~@5 a#4@11 ~", J: "~ b4@28 ~@3, d#4@27 ~@5",
K: "[e4,g#4]@16 [f#4,a#4]@15 ~", L: "~ d5, [g4,b4]@31 ~", M: "[~ a4@45 ~@18, e5@15 ~, c#5@27 ~@5]/2",
N: "[b3,d4,f#4]@4 ~ [b3,d4,f#4] ~@4 [b3,d4,f#4]@16 ~@2 [b3,d4,g4]@4", // Bm G
O: "~ [b3,d4] ~@4 [b3,d4,g4]@17 ~ [c#4,e4,a4]@4 ~ [c#4,e4,a4]@2 ~, ~ g4@2 ~@29", // Bm G A
P: "[~@2 [c#4,e4,a4]@16 ~@2 [b3,e4,a4]@4 ~ [b3,e4,a4]@3 ~@2 [b3,e4,g#4]@17 ~ [b3,d4,f#4]@26 ~ [b3,d4,g4]@29 ~ [c#4,e4]@27 [b4,d5,g5]@4 ~ [a4,d5,f#5]@2 ~@3 [b4,d5,g5]@4 ~@2 [a4,d5,f#5]@2 ~@4 c#5@38, ~@104 a4@27 ~@22 [e5,a5]@39, ~@51 g3@12 ~]/6", // A Esus4 E Bm G C#m G D …
Q: "[d4,f#4]@3 ~@3 [c#4,e4]@3 ~@3 [d4,f#4]@19 ~", R: "[d4,g4]@3 ~@3 [d4,f#4]@3 ~@3 [d4,g4]@19 ~",
S: "[c#4,a4]@5 ~ [d4,a4]@4 ~@2 [c#4,a4]@19 ~", T: "[f#4,b4]@11 ~ [e4,a4]@19 ~",
U: "[b3,d4,f#4]@5 ~ [a3,c#4,e4]@4 ~@2 [b3,d4,f#4]@17 ~@3", V: "[b3,d4,g4]@5 ~ [a3,d4,f#4]@5 ~ [b3,d4,g4]@19 ~",
W: "[c#4,e4,a4]@5 ~ [b3,d4,g4]@4 ~@2 [c#4,e4,a4]@19 ~", // A G A
X: "[[f#4,b4,e5,b5]@5 ~ [f#4,b4,d5,b5]@3 ~@3 [e4,a4,c#5,a5]@12 [d5,g5]@40, ~@24 a5@37 ~@3]/2", // Esus2 Bm A G5
Y: "[[d5,g5,a5]@38 ~ [d5,g5,a5]@3 ~@6]/3", // Dsus4
})).s("gm_synth_brass_1").gain(0.39)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note("<~@9 A B C D A E C F ~@31 G H I J K L M N O ~@43>".pickRestart({
A: "[b3,d4,f#4]@4 [d4,f#4]@2 [b3,c#4,f#4]@5 ~ [b3,d4,f#4]@5 ~ [b3,d4]@6 [b3,d4]@4 [a3,c#4]@3 ~, ~@9 f#4@6 ~", // Bm D Bsus2 Bm A
B: "[b3,d4]@5 ~ d4@5 ~ g4@6 d4@4 g4 ~ [d4,g4]@8, g4@11 ~ d4@5 ~@15, ~@6 b3@10 ~@2 b3@13 ~", // Bm G5
C: "[c#4,e4]@4 a4@2 [d4,e4,a4]@4 d4@2 [c#4,e4,a4]@8 c#4@4 ~@2 c#4@5 ~, ~@5 a3@3, ~@24 e3@7 ~", // C#m Dsus2 A
D: "[b3,c#4,f#4]@4 f#3@2 [b3,d4,f#4]@4 f#3@2 e4@7 ~ e4@4 ~@2 [c#4,e4]@5 ~, ~@12 e3@17 ~@3, ~@12 [a3,c#4]@12 a3@7 ~", // Bsus2 Bm C#m A
E: "[b3,d4]@5 ~ d4@5 ~ g4@6 d4@4 g4 ~ [d4,g4]@6 ~@2, g4@11 ~ d4@5 ~@15, ~@6 b3@10 ~@2 b3@13 ~", // Bm G5
F: "[b3,d4,f#4]@4 [d4,f#4]@2 [b3,c#4,f#4]@5 ~ [b3,d4]@5 ~ [a3,c#4,e4]@2 ~@4 [c#4,e4]@4 [d4,f#4]@4, ~@12 f#4@3 ~@9 a3@7 ~", // Bm D Bsus2 Bm A C#m D
G: "[b4,b5] ~@3 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5] ~@3", // B
H: "[b4,b5] ~@3 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5] ~@3 [b4,b5] ~@3 [b4,b5]@2 ~@2 b4 ~@3", // B
I: "[b4,b5]@2 ~@2 [b4,b5] ~@3 [b4,b5]@2 ~@6 b4@2 ~@2 b4 ~@3 [b4,b5]@2 ~@6", // B
J: "b4@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 b4@2 ~@2 [b4,b5]@2 ~@2 b4@2 ~@2 [b4,b5]@2 ~@2 b4 ~@3", // B
K: "[b4,b5] ~@3 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5] ~@3 b4 ~@3 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2", // B
L: "[b4,b5] ~@3 b4 ~ b4 ~ b4 ~@3 [b4,b5] ~ [b4,b5] ~", // B
M: "[b4,b5] ~@3 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5] ~@3 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2", // B
N: "b4 ~ b4 ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ b4 ~ b5 ~ [b4,b5] ~", // B
O: "[b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~@7", // B
})).s("gm_electric_guitar_clean").gain(0.16).pan(0.3)
// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note("<~@49 A B C D E ~ F G ~@43>".pickRestart({
A: "~@28 b5 ~@3", B: "~@12 [b4,b5]@2 ~@2 b5@2 ~@2 b5 ~@7 [b4,b5]@2 ~@2", C: "b5@2 ~@10 b5@2 ~@6 b5@2 ~@6 b5 ~@3",
D: "~@20 b5 ~@11", E: "~@2 [b4,b5] ~ b5 ~ b5 ~ b5 ~ [b4,b5] ~@5", F: "b5 ~ b5 ~@7 b5 ~ b4 ~@3",
G: "~@20 [b4,b5]@2 ~@2 [b4,b5]@2 ~@2 [b4,b5] ~@3", // B
})).s("gm_electric_guitar_clean").gain(0.05).pan(0.3)
// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note(`<
A B C D E F G@2 H I J K L M J N O P@3 Q F J K R ~@4 S T@2 U V W X@2 Y Z@2 AA ~@39 M AB AC AD F AE K AF ~@12
>`.pickRestart({
A: "~@21 a2@2 ~@2 e3@3 [b3,f#4,b4]@3 ~, ~@5 [a3,e4,a4] [a3,c#4,e4,a4] ~", // B5 A5 A
B: "[b2,b3,d4,f#4,b4]@10 ~@10 [b2,b3,d4,f#4,b4]@3 ~@2 b2@2 ~ [d3,g3,d4,b4,d5]@3 ~, ~@24 [b3,d4,f#4,b4]@3 ~@5", // Bm G Bm
C: "[d4,g4,b4,d5]@10 ~@10 [d4,g4,b4,d5]@3 ~@2 g3@3 [e3,a3,e4,a4,e5]@3 ~, ~@6 [d4,g4,b4,d5] ~", // G A5 G
D: "~ a3@9 ~@10 [d3,a3,d4,a4,d5]@4 ~ c#3@2 ~ [b3,d4,b4]@3 ~, [e4,a4,c#5,e5]@5 ~@7 [c#4,e4,a4,c#5]@2 ~@2", // D5 Bm A
E: "[b3,d4,f#4,b4]@12 [a3,c#4,e4]@19 ~", F: "[b3,d4,f#4]@15 ~",
G: "[[g3,b3,d4]@31 ~ [a3,e4]@30 ~@2, ~@31 c#4@31 ~@2]/2", H: "[b3,d4,f#4]@5 ~ [a3,c#4,e4]@9 ~", I: "[d4,f#4]@15 ~",
J: "[g3,b3,d4]@31 ~", K: "[a3,c#4,e4]@15 ~", L: "[b3,d4,f#4]@11 ~ [a3,c#4,e4]@18 ~@2", M: "[b3,d4,f#4]@31 ~",
N: "[c#4,e4]@29 ~@3", O: "[b3,d4,f#4]@5 [a3,c#4,e4]@3", P: "[[d4,f#4]@31 ~ [c#4,e4]@63 ~, a3@95 ~]/3",
Q: "[g3,b3,d4]@7 ~ [a3,c#4,e4]@5 ~@3", R: "[b3,d4,f#4]@10 ~@2 [a3,c#4,e4]@19 ~",
S: "[b3,d4,f#4]@3 ~ [b3,d4,f#4]@2 ~@10 [b3,d4,f#4]@4 ~@12", // Bm
// … 133 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.