0:00/0:00
// Save Me — Queen
// 82 bpm, 4/4, key G major. 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 11 "Lead Guitar Right" overdriven guitar (copy of ch 5 "Lead Guitar Left" overdriven guitar)
// note: Full arrangement: all 78 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(82/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
const piano = note("<A@2 B@4 C@4 D@7 ~@7 E@6 F G@2 H I J K L M@3 ~@33 N@4>".pickRestart({
A: "[~@9 d4@2 g2@2 ~@4 [g2,g3]@2 [f#4,a4]@2 d4@2 b4@2 d4@2 e2@2 e2@2 d4, ~@11 [g4,b4]@4 d4@4 ~@8 [e3,e4,g4]@5, ~@13 g3@4 ~@2 [f#2,f#3]@8 ~@5]/2", // G F#m G Em F#
B: "[~ [f#2,f#3,d4,a4]@2 g3@2 ~@4 g3@2 ~@12 e5@2 ~@14 c5@2 [b4,d5]@2 ~@6 d4@2 ~@6 d4@2 ~@2 g4@2 b4, ~@3 g2@8 c3@8 [b2,b3]@8 [a2,a3]@16 [c2,c3]@8 ~@8 [g2,g3,g5]@5, ~@3 [d4,b4]@4 g4@4 g4@6 g4@4 g4@6 e4@4 e4@4 e4@8 ~@2 d4@4 ~@2 d3@8 ~@5, ~@5 g3@4 ~@2 [c5,e5]@4 g5@4 [b4,d5]@4 ~@2 c5@6 ~@4 c5@4 ~@14 d4@4 ~@7, ~@13 c4@6 ~@6 a4@4 a4@4 a4@4 a4@4 ~@2 [g4,e5]@4 [g4,c5,e5]@4 [a4,d5,f#5]@4 [a4,c5,d5,g5]@4 ~@5]/4", // D Bm B A C G C Bm …
C: "[~ [c5,e5]@4 [c5,e5]@2 [g4,c5,e5]@2 [b2,b3,g4,b4,d5]@4 g3@4 g3@2 g3@2 [g3,e4,g4]@2 [g3,d4,e4,g4,b4]@2 ~@2 d2@2 d3@2 d2@2 d3@2 d2@2 d3@2 d2@2 d3@2 [a3,c4,e4]@6 [a3,c4,e4]@6 [b3,d4]@2 g3@2 [c2,c3,g3,c4,e4]@5, ~ [c3,c4]@8 ~@4 g2@12 d3@4 ~@14 [a1,a2]@12 [g1,g2]@4 ~@5, ~ g4@6 ~@6 [d4,g4,b4]@8 ~@4 [d4,f#4,a4]@14 [a3,d4,f#4]@4 ~@21]/4", // C G C Em7 Am Bm C A …
D: "[~@3 [g3,c4,e4]@18 ~ [g3,c4,e4]@6 g3@6 [a3,c4,e4]@12 ~@6 a2@3 b2@3 [c2,c3,c4,e4,g4]@12 [g2,g3,b3,d4]@12 [a3,d4,f#4]@36 ~ f#4@6 a3@6 [c5,e5]@6 g4@6 [c5,e5]@6 g4@6 ~ [d5,f#5]@6 a4@6 [c5,d5,g5]@6 a4@6 [b4,d5]@6 g4@6 [b4,d5]@6 ~ [c5,e5]@6 g4@6 c5@6 [c2,c3,g4,c5,e5]@6 ~ [b4,d5]@11 [g1,g2,g4,b4]@18 ~ [c2,c3,e4,g4,c5]@12 [c2,c3,e4,g4,c5]@6 ~ b4@55 ~@8, ~@3 [c2,c3]@30 ~ a2@18 ~@30 [d2,d3]@49 [c2,c3]@25 [d2,d3]@25 ~@18 [c2,c3]@18 ~@6 [b1,b2,g4]@12 ~@37 [g2,d4,g4]@55 ~@9, ~@23 [a3,c4,e4]@6 ~@61 [g1,g2]@9 ~@69]/7", // C Am C G D C D Csus2 …
E: "[~@63 g3@6 [f#4,a4]@6 d4@6 b4@6 ~ d4@6 ~@12 d4@6 c4@6 ~@18 g3@6 ~@12 c4@6 c4@6 ~ [b4,d5]@6 g4@6 [g4,b4,d5]@6 g4@6 a4@6 ~@6 e4@6 ~@6 c5@6 b4@6 c5@6 [e4,b4,d5]@6 g3@6 ~@13 d4@6 a3@6 ~@12 d4@6, ~@45 g2@24 [f#2,f#3]@24 ~ e2@24 g2@24 ~@6 c3@18 ~ [b2,b3]@24 a2@49 ~@48, ~@45 [g4,b4]@12 d5@12 ~@31 e3@18 ~@6 g3@12 ~@55 a3@21 a3@21 ~@6 [c2,c3]@24 ~@25, ~@51 g3@12 ~@31 [e4,g4]@12 [e4,g4]@12 [d4,g4,b4]@12 [b3,d4,g4]@12 [c4,g4,c5]@12 [g4,c5,e5]@12 ~@25 [e4,c5]@12 ~@12 [e4,a4]@18 ~@12 d4@12 ~@13 d4@12 ~@6, ~@197 a4@12 a4@6 ~@24 [g4,c5,e5]@12 ~ [g4,c5,e5]@12 [a4,d5,f#5]@12 [a4,c5,d5,g5]@12]/6", // F#m Bm G E7 F# B G C …
F: "~ g4 b4 c3@2 ~ g2 [d2,g3], [g3,d5,g5]@3 [g4,c5,e5]@3 [g4,c5,d5]@2, [g2,b4]@2 ~@3 g3@2 ~", // G5 C Gsus4 G
G: "[g3 ~@3 g3 [c3,c4,e4,g4] [g2,g3,b3,d4,g4] d3@2 ~@2 g3!4 d3, [g4,b4,d5]@3 [g4,b4]@2 ~@4 [d3,g3]@2 d3@2 d3@2 ~, g2@2 ~@5 d2@9, ~ g3@3 ~@3 [a3,d4,f#4]@3 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2]/2", // C G G5 D
H: "[a3,c4,e4]@3 [a3,c4,e4]@3 [b3,d4] g3, [a1,a2]@3 [g1,g2]", // Am Bm A G
I: "[c2,c3,g3,c4,e4]@3 [g3,c4,e4]@3 [g3,c4,e4] g3, ~@3 [c2,c3]@5", // C
J: "[a3,c4,e4]@4 ~@2 a2 b2 [c2,c3,c4,e4,g4]@4 [g2,g3,b3,d4]@4, a2@3 ~@5, ~ [a3,c4,e4] ~@2", // Am C G Am
K: "[a3,d4,f#4]@6 f#4 a3, [d2,d3]", L: "[c5,e5] g4 [c5,e5] g4 [d5,f#5] a4 [c5,d5,g5] a4, [c2,c3] [d2,d3]",
M: "[[b4,d5]@6 g4@6 [b4,d5]@6 [c5,e5]@6 g4@6 c5@6 [c2,c3,g4,c5,e5]@6 ~ [b4,d5]@11 [g1,g2,g4,b4]@18 [c2,c3,e4,g4,c5]@12 [c2,c3,e4,g4,c5]@6 ~ b4@53, [g1,g2]@3 [c2,c3]@3 ~ [b1,b2,g4]@2 ~@6 [g2,d4,g4]@9]/3", // Bm C Bm G C G C Em …
N: "[~@25 [a4,d5,f#5]@8 [b4,d5,g5]@8 [a4,d5,f#5]@8 [f#4,a4,d5]@8 ~ [g4,c5,e5]@17 [g4,b4,d5]@18 ~@11 f#4@59 ~@29, ~@21 d2@72 d2@9 e4@62 ~@28, ~@95 d3@68 ~@29, ~@97 a3@66 ~@29, ~@99 d4@64 ~@29]/4", // D G D C G
})).s("gm_piano").gain(0.46).pan(0.2)
// chords · piano · "Piano 2"
const piano_2 = note("<~@33 A B C D E F@3 G H I J G K L M@7 ~@23>".pickRestart({
A: "c4 ~@3 a5@32 [g3,b3,d4,b4,d5,g5]@12, a3@3 ~, e4 e4@17 ~@6, ~ c4@35 ~@12, ~@2 a4 c5@2 ~@43", // G
B: "[g4,c5,e5]@4 [e5,g5] [d5,f5] [c5,e5]@2, [g3,c4,e4]", // C Em Dm C
C: "[a3,c4] ~@23 [c4,e4,g4]@12 [b3,d4,g4]@12, e4 e4@11 ~@12, ~ [a3,c4]@23 ~@24, ~@3 [a4,c5]@4 ~@41, ~ a5@11", // Am C G Am
D: "a4 d5 ~ [a4,d5]@9 e5@6 d5@6 g5@6 f#5@2 g5@2 f#5@2 e5@6 d5@6, [a3,d4,f#4], ~ f#5@5 ~@18", // D5 D
E: "[g3,c4,e4,g4,c5,e5]@2 [a4,d5,f#5] [c5,d5,g5], ~ [a3,d4,f#4]", // C D Csus2 D
F: "[[b3,d4,g4]@3 [g3,c4,e4]@3 [g3,c4,e4] [g3,b3,d4]@2 [g3,b3]@3 [g3,c4,e4]@3 [g3,b3,d4]@9, [b4,d5,g5] ~@11]/3", // G C G C G
G: "[a3,d4,f#4] [a3,c#4,e4]", H: "[g3,b3,d4] [a3,d4,f#4]", I: "[a3,d4,f#4]@2 e4 d4, ~ [g#3,b3]",
J: "[a3,c#4,e4]@5 [g3,b3,d4]@3", K: "[a3,d4,f#4]@2 [b3,d4,g4] [a#3,d4,g4]", L: "[a3,d4,f#4]@2 [c4,e4,g4] [b3,d4,g4]",
M: "[[a3,c4,e4]@98 b4@73 d5@18 d5@6 c5@24 b4@24 ~ a4@49 ~@43, ~@195 d5@97 ~@44]/7", // Am
})).s("gm_piano").gain(0.24).pan(0.7)
// other · distortion guitar · "Electric Guitar"
const distortion_guitar = note("<~@31 A@2 ~@8 B@3 C D@2 E F@3 ~@3 G@3 H I@2 ~@18>".pickRestart({
A: "[~@5 g3!2 f#3@9]/2", B: "[f#4 a4@4 b4]/3", C: "a4@10 b4@2 b4 b4@3", D: "[a4@3 g4]/2", E: "f#4@3 d4",
F: "[e4@49 ~@23]/3",
G: "[~@4 c4@3 ~@3 d4@3 ~@3 e4@6 c4@3 ~@3 f#4@6 ~ d4@3 ~@3 a4@6 f#4@3 ~@3 g4@12 f#4@6 e4@12 ~@6 g4@6 g4@12 b3@18 ~@7 e4@6 d4@6]/3",
H: "d4@5 d4@2 a3", I: "[d4@6 ~ c4@49 ~@40]/2",
})).s("gm_distortion_guitar").gain(0.36).pan(0.8)
// chords · overdriven guitar · "Lead Guitar Left"
const overdriven_guitar = note("<~@8 A B@5 C@6 D@5 ~@19 E ~@3 F G H I@3 J@3 K@3 L M@2 N@7 O@3 ~@5>".pickRestart({
A: "~@11 a2@5",
B: "[~@3 [a3,c4,e4]@18 [g3,b3,d4]@12 c4@12 g3@6 e4@12 c4@6 ~ g3@6 e3@6 ~@6 e3@6 ~@6 a2@3 b2@3 c4@6 g3@6 b3@6 g3@6 d4@6 a3@6 d4@6 ~ a3@6 f#4@2 g4@2 f#4@2 d4@6 a3@6 a3@6 e4@6 g3@6 c4@6 g3@6 ~ [d4,f#4]@6 a3@6 [c4,g4]@6 a3@6 [b3,g4]@6 g3@6, ~@33 c3@49 a2@18 ~@6 c3@12 g2@12 d3@36 ~ d3@12 c3@25 d3@25 ~@11, ~@47 a3@6 ~@61 b2@6]/5", // Am G D C5 Em
C: "[b3@6 ~ [c4,e4]@6 g3@6 c4@6 [c3,g3,c4,e4]@6 ~ [b2,d4]@11 [g3,b3]@6 ~@13 [e3,g3,c4]@6 ~@6 [c3,e3,g3,c4]@6 ~ b3@55 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@24 [b2,g3,d4,g4]@24 ~ [d3,a3,d4,f#4]@21 [d3,a3,d4,f#4]@3 [d3,a3,d4,f#4]@12 [d3,a3,d4,f#4]@6 [d3,a3,d4,f#4]@3 [d3,a3,d4,f#4]@3 [e2,b2,e3,g#3,b3,e4]@12 [b2,e3,g#3,d4,e4]@6 [b2,e3,g#3,d4,e4]@3 [b2,e3,g#3,d4,e4]@3 [a2,e3,a3,c#4,e4]@6 ~, ~@7 c3@18 ~@6 g3@12 g2@18 ~ c3@12 ~@6 [g2,d3,g3]@55 ~@134 e2@12 ~@7]/6", // C Bm G C D A G D …
D: "[[a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@6 [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@6 [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4]@3 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@9 [d3,a3,d4,f#4]@12 [d3,a3,d4,f#4]@6 [d3,a3,d4,f#4]@3 [d3,a3,d4,f#4]@3 [c#3,e3,a3,c#4]@12 ~ [c#3,e3,a3,c#4]@6 [c#3,e3,a3,c#4]@3 [c#3,e3,a3,c#4]@3 [c3,a3,d4,f#4]@12 [c3,a3,d4,f#4]@6 [c3,a3,d4,f#4]@3 [c3,a3,d4,f#4]@3 [a#2,g3,d4,g4]@12 [a#2,g3,d4,g4]@12 ~@3 f#4@22 [c3,e3,g3,c4,e4]@12 [g2,d3,g3,b3,g4]@12 [d3,a3,d4,f#4]@49 ~@3, ~@139 d3@24 ~@77, ~@35 a3@6 ~@19, ~@141 d4@23 ~@76]/5", // A G D A D7 Gm C G …
E: "~@10 [g2,d3,g3,b3,g4]@2 [g2,d3,g3,b3,g4] [g2,d3,g3,b3,g4]@3", F: "~@31 e3@6 a3@6 c4@5",
G: "~ e4@6 [a2,e3,a3,c4,e4]@6 [a2,e3,a3,c4,e4]@6 [a2,e3,a3,c4,e4]@6 [a2,e3,a3,c4,e4]@6 ~ [a2,e3,a3,c4,e4]@6 [a2,e3,a3,c4,e4]@6 [a2,e3,a3,c4,e4]@4", // Am
H: "~ b3@3 d3@3 g3@3 b3@3 [d3,a3,d4]@3 f#3@3 g3@3 d4@2, ~ g2@12 f#2@11", // D5
I: "[~@8 f#3@6 ~ g3@6 b3@6 [d3,g3,d4]@6 g3@6 [d3,g3]@6 a3@6 ~@2 e4@4 g3@6 c4@6 e4@6 [d3,g3,d4]@6 g3@6 b3@6 g3@6 ~ [a2,e3,a3,c4]@24 e3 [a3,c4,e4] ~ d4@3 c4@3 b3@3 a3@3 g3@3 f#3@2, ~@2 e3@6 ~@43 c3@24 b2@24 ~@45, ~@3 g3@5 ~@44 [g3,c4]@5 ~@87, ~@4 b3@17 ~@123, ~@5 e4@22 ~@117]/3", // G5 Am C5
J: "[e3@2 d3@2 [c3,e3,g3,c4]@12 d3@3 e3@9 [d3,a3,d4,f#4]@12 ~ f#4@6 d4@6 [d3,g3,b3,g4]@12 [d3,a3,d4,f#4]@6 [c3,e3,g3,c4,e4]@18 [c3,e3,g3,c4,e4]@6 [b2,d3,g3,d4]@12 [f#2,d3,g3,b3]@18 ~@7 [e3,a3,c4]@6 [d3,g3,b3]@6]/3", // C D G D C G Gmaj7 Am …
K: "[[d3,a3,d4,f#4]@55 [c4,e4]@6 g3@6 c4@6 g3@6 [d4,f#4]@12 [c4,g4]@6 g3@6 [g3,b3]@6 d3@6 g3@6 [c3,g3,c4]@12 e3@6 ~ [c3,g3,c4,e4]@4, ~@55 c3@24 d3@24 g2@18 ~@23]/3", // D C D C5 G C5 C
L: "~ [b2,d3,g3,d4]@6 [g2,d3,g3,b3]@6 d3@3 c3@3 e3@3 g3@2", // G
M: "[~@2 [g2,d3,g3,b3]@55 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@15]/2", // G D A
N: "[~@9 [b2,g3,d4,g4]@24 ~ [d3,a3,d4,f#4]@24 [d3,a3,d4,f#4]@24 [e2,b2,e3,g#3,b3,e4]@12 ~ [e2,b2,e3,g#3,d4,e4]@12 [a2,e3,a3,c#4,e4]@36 [g2,d3,g3,b3,g4]@12 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@24 [c3,a3,d4,f#4]@24 [b2,g3,d4,g4]@12 [a#2,g3,d4,g4]@12 [d3,a3,d4,f#4]@24 [e2,c3,e3,g3,c4,e4]@12 [e2,g2,d3,g3,b3,g4]@12 [d3,a3,d4,f#4]@18 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@6 [g2,d3,g3,b3,g4]@6 [g2,d3,g3,b3,g4]@4]/7", // G D E E7 A G D A …
O: "[~@2 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@12 [c#3,e3,a3,c#4]@6 [c#3,e3,a3,c#4]@6 [c3,a3,d4,f#4]@12 [c3,a3,d4,f#4]@6 [c3,a3,d4,f#4]@6 [b2,g3,d4,g4]@12 [a#2,g3,d4,g4]@12 [d3,a3,d4,f#4]@25 ~@12]/3", // G D A D7 G Gm D
})).s("gm_overdriven_guitar").gain(0.2).pan(0)
// other · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel = note("<~@31 A@2 ~@8 B C@3 B D@2 E@3 ~@3 F@3 G H@2 ~@18>".pickRestart({
A: "[~@5 e3 d3 d3@9]/2", B: "f#4 e4", C: "[d4@24 e4@18 g4@2 g4 g4@3]/3", D: "[f#4 a4 g4 d4@3 c4 b3]/2",
E: "[c4@49 ~@23]/3",
F: "[~@4 c4@3 ~@3 d4@3 ~@3 d4@3 e4@3 c4@6 d4@6 ~ a3@3 ~@3 e4@6 d4@6 d4@12 d4@6 c4@12 ~@6 e4@6 d4@12 g3@18 ~@7 c4@6 b3@6]/3",
G: "a3@5 a3@2 f#3", H: "[f#3@6 ~ e3@49 ~@40]/2",
})).s("gm_acoustic_guitar_steel").gain(0.42).pan(0.6)
// chords · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel_2 = note("<~@15 A@4 B@6 ~@6 C@2 ~@8 D E F G D H I J@3 ~@11 K@8 L@3 M ~@4>".pickRestart({
A: "[~@26 [d3,a3,c4]@6 [d3,g3,b3]@55 ~ [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@24 [b2,g3,d4,g4]@24 ~ [d3,a3,d4,f#4]@24 [d3,a3,d4,f#4]@7]/4", // D7 G D A G D
B: "[~@11 [d3,a3,d4]@3 [d3,a3,d4,f#4]@3 [e2,b2,e3,g#3,b3,e4]@12 [e2,b2,e3,g#3,d4,e4]@12 [a2,e3,a3,c#4,e4]@36 ~ [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@9 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@24 ~ [c3,a3,d4,f#4]@24 [b2,g3,d4,g4]@12 [a#2,g3,d4,g4]@12 [d3,a3,d4,f#4]@24 ~ [c3,e3,g3,c4,e4]@12 [g2,d3,g3,b3,g4]@12 [d3,a3,d4,f#4]@49 ~@3]/6", // D5 D E E7 A G D A …
C: "[~@5 [c3,g3] [g2,d3] [d3,a3]@9]/2", D: "[d3,a3,d4,f#4] [c#3,e3,a3,c#4]", E: "[b2,g3,d4,g4] [d3,a3,d4,f#4]",
F: "[d3,a3,d4,f#4]@2 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,d4,e4]", // D E E7
G: "[a2,e3,a3,c#4,e4]@10 [g2,d3,g3,b3,g4]@2 [g2,d3,g3,b3,g4] [g2,d3,g3,b3,g4]@3", // A G
H: "[c3,a3,d4,f#4]@2 [b2,g3,d4,g4] [a#2,g3,d4,g4]", I: "[d3,a3,d4,f#4]@2 [e2,c3,e3,g3,c4,e4] [e2,g2,d3,g3,b3,g4]",
J: "[[a2,e3,a3,c4,e4]@49 ~@23]/3", // Am
K: "[~@9 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@24 [b2,g3,d4,g4]@24 ~ [d3,a3,d4,f#4]@24 [d3,a3,d4,f#4]@24 [e2,b2,e3,g#3,b3,e4]@12 ~ [e2,b2,e3,g#3,d4,e4]@12 [a2,e3,a3,c#4,e4]@36 [g2,d3,g3,b3,g4]@12 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@24 [c3,a3,d4,f#4]@24 [b2,g3,d4,g4]@12 [a#2,g3,d4,g4]@12 [d3,a3,d4,f#4]@24 [e2,c3,e3,g3,c4,e4]@12 [e2,g2,d3,g3,b3,g4]@12 [d3,a3,d4,f#4]@18 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@6 [g2,d3,g3,b3,g4]@6 [g2,d3,g3,b3,g4]@4]/8", // D A G D E E7 A G …
L: "[~@2 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@24 [c#3,e3,a3,c#4]@24 [c3,a3,d4,f#4]@24 [b2,g3,d4,g4]@12 [a#2,g3,d4,g4]@12 [d3,a3,d4,f#4]@25 [e2,c3,e3,g3,c4,e4]@12]/3", // G D A D7 G Gm D C
M: "~ [e2,g2,d3,g3,b3,g4]@13 ~ [d3,a3,d4,f#4]@28 ~@5", // Em7 D
})).s("gm_acoustic_guitar_steel").gain(0.34).pan(0.4)
// bass · electric bass finger · "Bass"
const bass = note(`<
~@8 A B C@4 D E@4 F@3 G@8 H I@2 J K L M N O@3 P Q R S T U V W X Y Z AA AB@4 AC AD@2 AE AF@2 AG@7 AH@3 AI ~@4
>`.pickRestart({
A: "~@11 a2@2 e3@2 a3", B: "e3 a2@4 e3 ~ g2@4 c3@2 g3@2 c4",
C: "[g3@3 c3@12 c3@6 ~@13 a2@18 a2@3 b2@3 c3@12 g2@12 d3@49 c3@25 d3@24 g2@6 d3@6]/4",
D: "g3@3 d3@3 ~ c3@18 c3@6 b2@12 g2@5", E: "[~@8 g2@6 c2@12 c2@6 g1@55 ~ d2@24 c#2@24 b1@24 ~ d2@24 d2@7]/4",
F: "[~@11 d2@6 e1@24 a1@36 ~ g1@3 g1@9 d2@24 c#2@24 ~ c2@5]/3",
G: "[~@13 d2@3 c2@3 b1@12 a#1@12 d2@24 ~ c2@12 b1@12 d2@49 g1@18 ~@6 f#1@18 ~@7 e1@18 ~@6 g1@18 ~@6 c2@24 ~ b1@24 a1@24 a2@24 c2@24 ~ d2@24]/8",
H: "g2@3 c2@5", I: "[g1@8 ~@2 c2@2 g2@2 d2@8 g2@2 d3@6 g2 e2]/2", J: "a2@2 e3@2 a3 e3 a2@4 e3 ~ g2@4",
K: "c3@2 g3@2 c4 g3 c3@4 c3@2 ~@4", L: "a2@6 a2 b2 c3@4 g2@4", M: "d3", N: "c3 d3",
O: "[g2@2 d3@2 g3 d3 c3@6 c3@2 b2@4 g2@4 g2@2 c2@4 c2@2 g1@18]/3", P: "d2@8 c#2@4 a2!2 e2 c#2", Q: "b1@2 g1 b1 d2@4",
R: "d2@3 d2 e1@4", S: "a1@10 g1@2 g1 g1@3", T: "d2 c#2", U: "c2@3 c3 b1@2 a#1!2", V: "d2!2 c3 b2",
W: "a2@37 a2@3 g2@3 e2@3 c2@2", X: "~ a1@12 a1@6 a1@6 a2@6 ~ a2@6 a2@6 a2@4", Y: "~ g1@6 g2@6 f#1@6 f#2@5",
Z: "~@2 e1@24 ~ g1@21", AA: "~ c2@8 b1@4 g1@3",
AB: "[~@4 a1@48 c2@24 d2@18 ~ d2@6 g1@12 d2@6 c2@18 c2@6 g1@12 g1@6 g1@6 ~ d2@6 ~@6 c2@6 g1@6]/4",
AC: "d2@8 a2 b2 d3@4 b2 a2", AD: "[f#2@3 d2@3 ~ c2@24 d3@24 g2@6 d3@6 g3@3 d3@3 c3@18 ~ c3@4]/2",
AE: "~ b2@6 g2@6 g2@3 c2@6 c2@2", AF: "[~@2 g1@55 d2@24 c#2@12 a1@3]/2",
AG: "[e2@3 c#2@6 b1@6 ~ g2@6 b1@3 d2@3 b1@6 d2@24 d2@12 d2@12 e1@24 ~ a1@36 g1@12 d2@24 c#2@12 a1@6 a2@3 b2@3 c3@12 c3@3 d3@3 c3@6 b2@12 a#2@12 d2@18 ~@6 c2@12 b1@12 d2@12 d3@3 a2@3 g1@3 g1@6 g1@6 g1@4]/7",
AH: "[~@2 g1@9 d2@24 c#2@12 a1@12 c2@24 b1@12 a#1@12 d2@25 c3@12]/3", AI: "~ b2@13 ~ d3@28 ~@5",
})).s("gm_electric_bass_finger").gain(0.42)
// other · electric guitar clean · "Solo - Electric Guitar"
const electric_guitar_clean = note("<~@62 A@2 B@5 C D ~@7>".pickRestart({
A: "[[a2,d3]@9 d3 c#4@11 d4@12 d4@6 d4@2 c#4@2 b3@2 a3@12 [d3,g3]@6 ~ f#4@9 f#4@3 e4@3 d4@3 c#4@3 e4@3 d4@8, ~@10 g3 ~@85]/2", // D5 G5
B: "[~ a3@3 d4@3 f#4@3 a4@3 ~@3 g4@3 f#4@3 g4@3 f#4@3 d4@3 ~@3 f#3 [b3,f#4]@2 g#4@6 g#4@12 ~@2 e4@2 b4@3 c#5@18 d5@5 c5@2 a4@2 g4@2 f#4@2 e4@2 d4@2 b3@2 d4@2 b3@2 ~ b3@2 ~ d4@9 d3@9 e3@3 d3@3 c4@6 d4@18 d4@15 a3@9 g3@24 ~@37, ~@56 f#4@2 ~@45 a3@2 ~ c4@2 ~@132]/5", // B5
C: "~@29 [g0,d1,g1,b1,g2]@3 [g0,d1,g1,b1,g2]@6 [g0,d1,g1,b1,g2]@6 [g0,d1,g1,b1,g2]@4", // G
D: "~@2 [g0,d1,g1,b1,g2]@3 [g0,d1,g1,b1,g2]@3 [g0,d1,g1,b1,g2]@3 ~@37", // G
})).s("gm_electric_guitar_clean").gain(0.57).pan(0.3)
// drums · kick
const kick = s("bd").struct(`<
~@16 A B C@2 D E F G H I J K@2 L M N O M@5 N P Q M@3 R M S M T ~ U V W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ@3 AK AJ@2
AL AM ~@4
>`.pickRestart({
A: "~@5 x", B: "~@2 x ~@2 x", C: "~@17 x ~@23 x ~@6", D: "~@6 x ~@3 x!2 ~@2 x ~", E: "~@18 x ~@24 x ~@4",
F: "~@19 x ~@23 x ~@4", G: "~@5 x ~@5 x", H: "~@15 x", I: "~@21 x ~@24 x ~", J: "~@11 x ~@11 x", K: "~@23 x ~@23 x",
L: "~ x", M: "x!2", N: "x ~@3 x ~@2 x", O: "~ x ~@2 x ~@3", P: "~ x ~@3 x!3", Q: "~ x ~ x ~@4",
R: "x ~@7 x ~ x ~ x!2 ~@2", S: "x ~@2 x!2 ~@2 x", T: "x ~@24 x ~@5 x ~@16", U: "~ x ~@11 x ~@10",
V: "~@2 x ~@24 x ~@20", W: "~ x ~@7 x ~@6", X: "~@2 x ~@11 x ~@8 x", Y: "~ x ~@5 x ~@4", Z: "~@5 x ~@23 x ~@17 x",
AA: "~@11 x ~@18 x ~@17", AB: "x ~ x ~@2 x ~@2", AC: "~@7 x ~@23 x ~@16", AD: "~ x ~@2 x ~@2 x ~@8 x ~@7",
AE: "~ x ~@5 x ~@16", AF: "~@3 x ~@7 x ~@4", AG: "~@9 x ~@24 x ~@13", AH: "~@5 x ~@11 x ~@6",
AI: "~@11 x ~@23 x ~@11 x", AJ: "~@11 x ~@23 x ~@12", AK: "~@11 x ~@36", AL: "~@11 x ~@24 x ~@11", AM: "~@5 x ~@10",
})).gain(0.43)
// drums · snare
const snare = s("sd").struct(`<
~@17 A B C D E F G ~ H I J K L@3 M L@6 N@2 L@3 N L@3 O ~ P Q@2 R S T U V W X Y Z AA AB AC AD AE@3 AD AE@2 ~@6
>`.pickRestart({
A: "~ x ~@5 x ~@4", B: "~@4 x ~@24 x ~@18", C: "~@5 x ~@23 x ~@18", D: "~ x ~@6", E: "~@6 x ~@24 x ~@16",
F: "~@7 x ~@23 x ~@16", G: "~@7 x ~@24 x ~@15", H: "~@3 x ~@7 x ~@4", I: "~@5 x ~@11 x ~@6", J: "~@10 x ~@24 x ~@12",
K: "~@11 x ~@23 x ~@12", L: "~ x ~ x", M: "~@4 x ~@6 x!2 ~@3", N: "~ x ~@2", O: "~@12 x ~@24 x ~@10",
P: "~@7 x ~@11 x ~@4", Q: "~@5 x ~@7 x ~@2", R: "~@2 x ~@2 x", S: "~@16 x ~@24 x ~@6", T: "~@17 x ~@23 x ~@6",
U: "~@17 x ~@24 x ~@5", V: "~@6 x ~@6 x!2 ~", W: "~@19 x ~@23 x ~@4", X: "~@19 x ~@24 x ~@3", Y: "~@5 x ~@5 x",
Z: "~@20 x ~@9 x ~@2 x ~@14", AA: "~@7 x ~@7 x", AB: "~@11 x ~@11 x", AC: "~@22 x ~@24 x", AD: "~@23 x ~@24",
AE: "~@23 x ~@23 x",
})).gain(0.36)
// drums · low tom
const low_tom = s("lt").struct(`<
~@40
[~@10 x!5 ~]
~@7
[~@43 x ~@4]
[~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@3]
~@28
>`).gain(0.43)
// drums · pedal hat
const pedal_hat = s("hh").struct(`<
~@17 A B C D E F G H I J K L M N O P Q@2 N@2 R O N S T R@2 U T V W ~@8 X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL AM
~@5
>`.pickRestart({
A: "~@5 x ~@5 x ~@5 x ~@5 x", B: "~@11 x ~@5 x ~@5 x ~@11 x ~@11 x", C: "~@11 x ~@11 x ~@11 x ~@12", D: "x ~ x!3 ~@3",
E: "~@12 x ~@11 x ~@12 x ~@10", F: "~ x ~@11 x ~@23 x ~@10", G: "~@13 x ~@24 x ~@9",
H: "~@8 x ~@11 x ~@12 x ~@11 x ~@2", I: "~@3 x ~@11 x ~@5 x ~@5 x ~@12 x ~@5 x ~",
J: "~@2 x ~@5 x ~@2 x ~@2 x ~@5 x ~@2 x", K: "~@4 x ~@11 x ~@6 x ~@5 x ~@11 x ~@5 x",
L: "~@5 x ~@11 x ~@5 x ~@5 x ~@11 x ~@5 x", M: "~@5 x ~@12 x ~@5 x ~@5 x ~@11 x ~@5", N: "x!2 ~ x!3 ~ x",
O: "x!2 ~ x!3 ~@2", P: "~ x ~ x!3 ~@2", Q: "~ x ~ x!3 ~ x", R: "~ x ~ x ~ x ~ x", S: "x!2 ~ x ~@4",
T: "~@3 x ~ x ~ x", U: "~ x ~ x!2 ~@3", V: "x!2 ~ x ~ x ~ x", W: "~@3 x ~@4", X: "~@11 x ~@12 x ~@5 x ~@17",
Y: "~ x!2 ~ x!3 ~", Z: "~@13 x ~@11 x ~@5 x ~@16", AA: "~@25 x ~@5 x ~@5 x ~@10", AB: "~@7 x ~@5 x ~@2 x ~@2 x ~@4",
AC: "~@14 x ~@12 x ~@20", AD: "~@9 x ~@3 x ~@2", AE: "~@3 x ~@24 x ~@11 x ~@7", AF: "~ x ~@2 x ~@2 x ~@2 x ~",
AG: "~@5 x ~@11 x ~@11 x ~@5 x ~@5 x ~@6", AH: "~@29 x ~@18", AI: "~@5 x ~@11 x ~@11 x ~@11 x ~@6",
AJ: "~@5 x ~@11 x ~@30", AK: "~@29 x ~@11 x ~@6", AL: "~@5 x ~@11 x ~@11 x ~@18", AM: "~@5 x ~@42",
})).gain(0.36)
// drums · mid tom
const mid_tom = s("mt").struct("<~@32 A ~@7 B ~@8 C ~@8 D ~@2 E F ~@15>".pickRestart({
A: "~@7 x", B: "~@8 x!2 ~@6", C: "~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@3", D: "~ x ~@14", E: "~@15 x",
F: "x!2 ~@14",
})).gain(0.43)
// drums · open hat
const open_hat = s("oh").struct(`<
~@17 A B C D E F G ~ H I J K L@3 M L@7 ~ L@7 ~@8 N O P Q R S T U V W X@3 W X@2 ~@6
>`.pickRestart({
A: "~ x ~@5 x ~@4", B: "~@4 x ~@24 x ~@18", C: "~@5 x ~@23 x ~@18", D: "~ x ~@3 x ~@2", E: "~@6 x ~@24 x ~@16",
F: "~@7 x ~@23 x ~@16", G: "~@7 x ~@24 x ~@15", H: "~@3 x ~@7 x ~@4", I: "~@5 x ~@11 x ~@6", J: "~@10 x ~@24 x ~@12",
K: "~@11 x ~@23 x ~@12", L: "~ x ~ x", M: "~ x ~@2", N: "~@17 x ~@24 x ~@5", O: "~@3 x ~@4", P: "~@19 x ~@23 x ~@4",
Q: "~@19 x ~@24 x ~@3", R: "~@5 x ~@5 x", S: "~@5 x ~@6", T: "~@7 x ~@7 x", U: "~@11 x ~@11 x", V: "~@22 x ~@24 x",
W: "~@23 x ~@24", X: "~@23 x ~@23 x",
})).gain(0.36)
// drums · high tom
const high_tom = s("ht").struct("<~@32 A ~@24 B C ~@2 A ~@7 D E ~@7>".pickRestart({
A: "~@13 x ~@2", B: "~@15 x", C: "x", D: "~@29 x ~@2 x ~@5 x ~@5 x ~@3", E: "~@2 x ~@2 x ~@2 x ~@39",
})).gain(0.43)
// drums · crash
const crash = s("cr").struct(`<
// … 21 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.