0:00/0:00
// I Was Born to Love You — Queen
// 130 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 161 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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.
// bass · fretless bass
const bass = note(`<
A B C D E F@3 G B C H I J@2 ~@4 K L M N O@2 P Q K L M N O R S T U@2 V@2 W X Y@2 R@2 L@2 Z R AA@2 R AB K L M N O@2 P Q
K L M N O R AC AD AE AF AG AH AI AG AJ AK AL AM@2 AA@2 R AB R AN K L M N O@2 P Q L@2 Z AO AA AP R AQ K L M N O@2 P Q K
L M N O R K AR O R AS K O AT ~@2 AU ~ AV K@8 M@2 AW@2 K@4 O@4 M@2 AW@2 K L M N O@2 P AX
>`.pickRestart({
A: "bb3", B: "c4", C: "db4@7 ab3", D: "db3@10 ab3 ~@3 ab3@2", E: "bb3@7 f3", F: "[bb2@5 f3@17 ~ c4]/3",
G: "ab3@5 g3@2 bb3", H: "db3", I: "bb2@3 f3 c4@4", J: "eb3", K: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1@2 ab1 ~ ab1 ~",
L: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", M: "db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~",
N: "c2@3 db2@3 c2@2", O: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1@2 bb1 ~ bb1 ~",
P: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ db2 ~ db2 ~ db2 ~ db2 ~", Q: "c2 ~ c2 ~ c2 ~ c2 ~ bb1 ~ bb1@2 bb1 ~ bb1 ~",
R: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", S: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ eb2 ~",
T: "ab1 ~ ab1@2 c2@2 eb2@2 ab2@2 eb2@2 c2@2 ab1@2", U: "ab1@5 ~ ab1@9 ~", V: "c2@5 ~ c2@9 ~", W: "db2@5 ~ db2@9 ~",
X: "db2@5 ~ db2@4 ab2@2 db2@2 c2@2", Y: "bb1@5 ~ bb1@9 ~", Z: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~",
AA: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", AB: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~",
AC: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ eb2 ~ ab2 ~ eb2 ~", AD: "ab1 ~ ab1@2 c2@2 eb2@2 ab2@2 eb2@2 c2@2 bb1@2",
AE: "ab1@3 ab1", AF: "db2@7 db2", AG: "db2", AH: "ab1", AI: "g1@3 ab1@5", AJ: "d2@3 bb2",
AK: "ab1@2 ~@2 ab1@2 ~@2 ab1@3 ~ ab1@3 ~", AL: "g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~", AM: "f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~",
AN: "eb2 ~ eb2 ~ eb3@2 eb3 ~ eb3@2 eb3 ~ eb3@2 eb3@2", AO: "f2 ~ f2 ~ eb2 ~ eb2 ~ db2 ~ db2@2 c2 ~ c2 ~",
AP: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ db2 ~", AQ: "eb3 ~ eb3 ~ eb3 ~ eb3@2 eb3 ~ c3 ~ bb2 ~ g2 ~",
AR: "eb2 ~ c2@2 bb1@2 ab1@2 ab2@2 ab2 ~ ab2@2 ab2 ~", AS: "ab2@2 ab2 ~ f2 ~ eb2 ~ ab2@3 ~ f2 ~ eb2 ~", AT: "eb2",
AU: "e2@2 ~ e2@2 ~ e2@2", AV: "~@2 eb2 ~ ab2@2 eb2@2 ab2@2 ~ eb2 ~@4",
AW: "[eb2@6 db2@6 c2@6 bb1@4 bb1 ~ eb2@2 eb2 ~ eb2 ~ eb2@2]/2", AX: "c2 ~ c2 ~ c2 ~ c2 ~ bb1 ~ bb1@2 ~@4",
})).s("gm_fretless_bass").gain(0.42)
// bass · electric bass pick
const bass_2 = note("<~@15 A@4 ~@57 A B C@2 D@2 E@4 ~@39 A@4 ~@32>".pickRestart({
A: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~", B: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
C: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", D: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
E: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~",
})).s("gm_electric_bass_pick").gain(0.38)
// chords · synth strings 1
const synth_strings_1 = note("<A@2 B@2 C@2 D@2 A@2 B@2 E F@3 ~@145>".pickRestart({
A: "[ab4 g4, [eb4,c5]]/2", B: "[f4,ab4,db5]/2", C: "[f4,bb4,db5]/2", D: "[g4,bb4,eb5]/2", E: "[f4,bb4,db5]",
F: "[g4,bb4,eb5]/3", // Eb
})).s("gm_synth_strings_1").gain(0.25).pan(0.4)
// chords · overdriven guitar
const overdriven_guitar = note(`<
~@7 A@4 ~@4 B@2 C@2 D E F G H@2 I@2 D E F G J K D L M@2 ~@4 N O ~@10 D E F G H@2 I@2 P@2 F Q R K D L D S T@2 ~@13 D E
F G H@2 I@2 U V W X Y@2 Z AA AB E F G H@2 AC AD AE E F Q R K M@2 R AF D AG AH ~@4 C@2 AI AJ AK AJ AL AJ AI AM AN@2
AO@2 AK AJ AK AJ AP AQ AR AQ AN@2 AO@2 AB E F G H@2 AC AS
>`.pickRestart({
A: "[eb5@55 ~@9]/4", B: "[~@3 ab5@5]/2", C: "[ab2, ab3 ~@31]/2", D: "[ab2,eb3,ab3]", E: "[c3,g3,c4]",
F: "[db3,ab3,db4]", G: "[c3,g3,c4]@3 [db3,ab3,db4]@3 [c3,g3,c4]@2", H: "[bb2,f3,bb3]/2", I: "[bb2,eb3,bb3]/2",
J: "[bb2,f3,bb3]", K: "[db3,ab3,db4]@3 [eb3,bb3,eb4]@5", L: "ab2, a5 ~@15", M: "[ab2,eb3,ab3]/2",
N: "~ bb4@2 ab4@2 f4 db4 bb3", O: "ab3 c5@2 bb4@2 f4 db4 c4", P: "[[ab2,eb3,ab3] [c3,g3,c4], c5]/2",
Q: "[c3,g3,c5]@3 [db3,ab3,db5]@3 [c3,g3,c5]@2", R: "[bb2,f3,bb4]", S: "~@10 eb5 f5 ab5 f5 eb5 f5", T: "[ab5@15 ~]/2",
U: "eb5 c5 g4 c5 eb5 c5 eb5 c5 g4 c5 eb5 c5 eb5 c5 g4 c5",
V: "f5 c5 g4 c5 eb5 c5 ~ c5 d5 c5 g4 c5 eb5 c5 g4 c5, ~@3 g4 ~@4",
W: "ab5 f5 c5 f5 ab5 f5 ab5 f5 c5 f5 ab5 f5 ab5 f5 c5 f5",
X: "bb5 f5 c5 f5 ab5 f5 ~ f5 g5 f5 c5 f5 ab5 f5 c5 f5, ~@3 c5 ~@4", Y: "c6 bb5", Z: "c6",
AA: "c6@2 ab5 g5 bb5 ab5 g5 f5 ab5 g5 f5 eb5 f5@2 c5@2", AB: "[ab2,eb3,ab3], ab4@7 ~", AC: "[bb2,eb3,bb3] eb4",
AD: "f4 g4", AE: "[ab2,eb3,ab3,ab4]", AF: "[eb3,bb3,eb4]@3 [eb3,bb3,eb4]@5", AG: "ab5@3 ab5@3 ab5@2", AH: "f5",
AI: "~@2 [eb4,g4,bb4]@2 ~@2 [eb4,ab4,c5]@9 ~", // Eb Ab
AJ: "[eb4,g4,bb4] ~ [eb4,g4,bb4]@3 ~ [eb4,ab4,c5]@3 ~ [eb4,g4,bb4] ~ [eb4,ab4,c5]@3 ~", // Eb Ab Eb Ab
AK: "~@4 [eb4,g4,bb4]@2 ~@2 [eb4,ab4,c5]@7 ~", AL: "~@2 [eb4,g4,bb4]@2 ~@2 [eb4,ab4,c5]@2 [eb4,ab4,c5]@7 ~",
AM: "~@2 [eb4,g4,bb4]@3 ~ [eb4,ab4,c5]@3 ~ [eb4,g4,bb4]@2 [eb4,ab4,c5]@2 [eb4,g4,bb4]@2", // Eb Ab Eb Ab Eb
AN: "[[ab3,db4,f4]@3 [ab3,db4,eb4]@3 [ab3,db4]@3 [ab3,c4]@3 bb3 ab3 g3 f3]/2", // Db Absus4 Db5 Ab
AO: "[g3@3 f3@3 eb3@3 db3@3 c3@2 bb2@2]/2", AP: "~@2 [d4,f4,bb4]@2 ~@2 [eb4,g4,bb4]@9 ~",
AQ: "[d4,f4,bb4] ~ [d4,f4,bb4]@3 ~ [eb4,g4,bb4]@3 ~ [d4,f4,bb4] ~ [eb4,g4,bb4]@3 ~", // Bb Eb Bb Eb
AR: "~@4 [d4,f4,bb4]@2 ~@2 [eb4,g4,bb4]@7 ~", AS: "f4@2 g4 ~",
})).s("gm_overdriven_guitar").gain(0.25).pan(0.3)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@19 A B C D E F G H I B C J E K L@2 ~@18 M N O@2 P Q R S I B C J E K L@2 ~@17 A B C D E F G H ~@8 M N O@2 P Q R S I B
C J E K L@2 E T L@2 ~@7 U@8 V W X@2 Y@2 Z@2 AA@2 AB@2 AC AD AE AF M N O@2 P Q R AG
>`.pickRestart({
A: "~@3 [eb4,ab4]@5, ab2@3 ~, ~@2 eb3@11 ~@3, ~@4 ab3@11 ~", B: "~@3 [eb4,g4]@5, c3@13 ~@3, ~@2 g3@13 ~, ~ c4@3",
C: "~@3 f4@5, db3@15 ~, ~@2 ab3@13 ~, ~ db4@3", D: "[c4,eb4]@3 [db4,f4]@3 [c4,eb4]@2",
E: "~@3 db4@5, bb2@7 ~, ~ f3@7, ~ bb3@3", F: "~@3 db4@5, bb2@7 ~, ~@2 f3@13 ~, ~ ab3@3",
G: "~@3 f4 ~@3 db4, eb3 db3, ~ bb3@3 ~ bb3@3, ~ eb4 ~ eb4", H: "~@7 eb4, c3 bb2, ~@2 g3@7 ~ g3@6, ~@4 c4@7 ~ bb3@4",
I: "~@3 ab4@5, ab2@3 ~, ~@2 eb3@11 ~@3, ~@4 ab3@11 ~", J: "eb4@3 f4@3 eb4@2",
K: "~@2 db4 eb4@5, db3@5 ~@11, ~ ab3@2 ~@5", L: "[~@3 c4@13, ab2@31 ~, ~@2 eb3@29 ~, ~@4 ab3@27 ~]/2",
M: "~@8 ab3@7 ~, ab2@3 ~, ~@2 eb3@11 ~@3, ~@4 ab4@11 ~, ~@3 eb4@5",
N: "~ c4, c3@13 ~@3, ~@2 g3@13 ~, ~@2 g4@5 ~, ~@3 eb4@5",
O: "[~@8 [c4,eb4]@3 [db4,f4]@3 [c4,eb4]@2, db3@4 f4@5 ~@7, ~@2 ab3@13 ~@17, ~@4 db5@13 ~@15, ~@3 ab4@5 ~@8]/2", // Cm Db Cm
P: "~@8 db4@7 ~, bb2@7 ~, ~ f3@7, ~ bb4@3, ~@3 f4@5", Q: "~ db4, bb2@7 ~, ~@2 f3@13 ~, ~ ab4@3",
R: "~@3 eb4 ~@3 eb4, eb3 db3, ~ bb3@3 ~ bb3@3, ~@4 g4@5 ~@3 g4@4",
S: "~@7 eb4, ab4 bb4, ~@2 g3@7 ~ g3@6, ~@4 c4@7 ~ bb3@4", T: "~@2 eb4 g4@5, eb3@5 ~@11, ~ bb3@2 ~@5",
U: "[~@3 ab3 ~@6 ab3 ~@3 ab2 ~ ab2@2 ~@4 ab3 ~@3 ab3 ~@2 ab3 ~ eb3 ~@6 eb3 ~@3 ab3 ~@3 ab3 ~@6 eb3 ~@2 eb3 ~@2 eb3 ~ ab3 c4 eb3, ~@2 ab2@12 eb4@6 ~@2 c4@4 ab3@4 eb4@6 ~@4 c4@4 ~@2 eb4@6 ~@2 c4@4 ~@2 eb4@6 ~@2 eb3@4 ~@10 eb3@5 ~@3 eb3@5 ~@3 eb3@4 ~@26, ~@4 eb3@4 c4@4 ab3@4 ~@2 eb3@5 ~ eb3@4 ~@8 ab3@4 ~@2 eb3@4 ~@4 eb3@5 ~ eb3@4 ~@6 ab3@4 c4@4 ab3@4 eb4@6 ~@2 c4@6 ~@2 eb4@6 ab3@4 c4@6 ab3@6 eb4@6 ~@6, ~@10 eb3@5 ~ ab2@10 ~@12 ab2@9 ~ ab2@15 ~ ab2@7 ~ ab2@6 ~@2 ab2@7 ~ ab2@7 ~ ab2@5 ~ ab2@5 ~ ab2@4 ~@2 ab2@5 ~ ab2@6 ~@2]/8",
V: "~@4 f3 ~@2 f3, db3@4 ab3@6 db4@5 ~, ~@2 f3@4 db3@5 ~ db3@4",
W: "~@4 f3@2 ~@8 db3 ~, ab3@3 db4@3 f3@2, ~@2 db3@5 ~ db3@5 ~@3, ~@5 ab3@3",
X: "[~ g3 ~@2 g3 ~@2 g3 bb3 ~@2 g3 ~ eb3 ab3 g3, eb3@2 bb3@2 ~ db4@2 ~@2 c4@2 ~ bb3@2 ~@2, ~@6 eb3@5 ~ eb3@6 ~@2 eb3@4 ~@8]/2",
Y: "[~ eb3 ~ eb3 ~@2 eb3 ~@2 eb3 ~@4 ab2 ab3, ab2@9 ~ ab2@5 ~ ab2@4 ~@2 ab2@5 ~@5, ~@2 ab3@2 c4@3 ab3@2 ~ ab3@3 c4@2 ~, ~@6 eb3 ~]/2",
Z: "[~@5 eb3 ~@2 eb3 ~ eb3 ~@3 eb3 ab2, ab2@2 ab3@2 c4@3 ab3@3 ~ c4@2 ab3@3, ~@2 eb3@4 ab2@5 ~ ab2@4 ~@2 ab2@5 ~ ab2@4 ~@4]/2",
AA: "[~@5 f3 ~@2 f3 ~@5 f3 bb2, bb2@2 bb3@2 f4@3 bb3@4 f4@2 ~@3, ~@2 f3@4 bb2@4 ~@2 bb2@4 ~@2 bb2@4 ~@2 bb2@5 ~@3, ~@10 f3@2 ~ bb3@2 ~]/2",
AB: "[f3 ~@2 f3 ~@6 bb3 ~ f3 ~ bb3 f3, ~@2 bb2@5 ~@3 bb2@4 f3@4 bb2@7 ~ bb2@5 ~, ~@2 bb3@2 f4@2 bb3@2 f4@2 ~ f4@3 ~@2]/2",
AC: "~ f3 ~@2 f3 ~@2 f3, db3@2 ab3@2 ~ db4@2 ~, ~@3 db3@2 ~ db3@2",
AD: "~@2 f3 ~@2 f3 ~ db3, ab3@2 ~ db4@2 ~ ab3@2, ~@2 db3@4 ~@2 db3@5 ~@3",
AE: "~ g3 bb3 ~ eb3 ~@2 g3, eb3@3 eb4@2 db4@2 ~, ~@3 eb3",
AF: "~@2 g3 ~ eb3 ab3 g3 eb3, c4@2 ~ bb3@2 ~@3, ~ eb3@2 ~@5",
AG: "~@5 g3 ~@2, ab4@2 bb4 ~, ~@2 g3@7 ~@7, ~@4 c4@7 ~@5",
})).s("gm_electric_guitar_clean").gain(0.25).pan(0.9)
// chords · piano
const piano = note(`<
~@15 A@2 ~@13 B C ~@3 D@2 E@2 F G H I ~@21 B C ~@4 J@2 K@2 L M N O P Q R O S T@3 ~@27 B C ~@3 C ~@9 U ~@32
>`.pickRestart({
A: "[[ab1,bb1,eb2]@29 ~@3]/2", B: "[c5,f5,ab5,c6]@3 [db5,f5,ab5,db6]@3 [c5,f5,ab5,c6]@2", C: "[bb4,f5,bb5]@15 ~",
D: "[ab2,eb3,ab3]@5 ~ [ab2,eb3,ab3]@9 ~", E: "[c3,g3,c4]@5 ~ [c3,g3,c4]@9 ~",
F: "[db3,ab3,db4]@5 ~ [db3,ab3,db4]@9 ~", G: "[db3,ab3,db4]@5 ~ [db3,ab3,db4]@10",
H: "[bb2,f3,bb3]@5 ~ [bb2,f3,bb3]@9 ~", I: "[bb2,f3,bb3]@3 [bb2,f3,bb3]@4 ~",
J: "f4@2 f4 [f4,ab4,db5]@5, [ab4,db5]@3 ~@5", // Db Db5
K: "[~@10 ab3@2 ~@2 ab3@2 bb3@3 ~@9 [c4,eb4,ab4]@4, [c4,eb4,ab4]@3 [c4,eb4,ab4]@3 eb4@8 ~@2, ~@2 ab3@3 ~ [c4,ab4]@2 g4@3 [c4,ab4]@3 ~@2, ~@10 ab3@3 ab3@3]/2", // Ab Fm
L: "~@3 [f4,ab4,db5]@2 [f4,ab4,db5]@3, [f4,ab4,db5]@3 ~@5, ~@4 db4@9 ~@3", // Db
M: "d4@2 ~ [f4,bb4,d5]@5, [f4,bb4,d5]@3 ~@5, ~ d4@3", N: "[ab3,c4]@3 [c4,eb4]@2 ab3@2 ab3, ~@6 ab3 ~@3 [c4,eb4]@6",
O: "[g3,bb3,eb4]@2 g3 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 g3", P: "[ab3,c4,eb4]@2 f3 [ab3,c4,eb4]@2 [ab3,c4,eb4]@2 f3",
Q: "[f3,ab3,c4,eb4]@2 f3 [f3,ab3,c4,eb4]@2 [f3,ab3,c4,eb4]@2 f3", // Fm7
R: "[f3,ab3,bb3,d4]@2 f3 [f3,bb3,d4]@2 f3@2 f3, ~@5 [bb3,d4]@3", // Bb7 Bb
S: "[ab3,bb3,db4,eb4]@2 ab3 [ab3,bb3,db4,eb4]@2 [ab3,bb3,db4,eb4]@2 ab3", T: "[ab3,bb3,eb4]!4",
U: "[ab6,eb7,ab7]!4 ~ [ab6,eb7,ab7]!2 [ab6,eb7] [ab6,eb7,ab7]!4 ~ [ab6,eb7,ab7]!2 eb7", // Ab5
})).s("gm_piano").gain(0.29).pan(0.8)
// chords · distortion guitar
const distortion_guitar = note(`<
~@17 A@2 B C D E F@2 G H B C D E F I B@2 ~@8 J@2 K L M N O P Q R B C D E F@2 G H B C D S T I U@3 ~@3 V W X ~@4 F@2 Y Z
N AA B C D E F@2 G H AB AC AD AE F@2 AF AG B C D E F@2 G H B C D S T I B@2 AH AI AJ AK AL ~@4 A@2 AM AN AO AN AP AN AM
AQ AR@2 N@2 AO AN AO AN AS AT AU AT AR@2 N@2 B C D E F@2 G AV
>`.pickRestart({
A: "[ab3, ab1 ~@31]/2", B: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~",
C: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~", D: "db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~",
E: "c3@3 db3@3 c3@2", F: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~",
G: "eb3@2 eb3@2 eb3@2 eb3@2 db3@2 db3 ~ db3@2 db3@2", H: "c3!4 bb2!4", I: "[ab2,db3]@3 [bb2,eb3]@5",
J: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", K: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
L: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ [c2,g2,c3]@2 c2 ~ [c2,g2,c3]@2", // C5
M: "[f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~", // F5
N: "[eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~", // Eb5
O: "eb4@2 d4 ~, [bb2,f3,bb3]@3 ~", P: "eb4@2 d4 ~, [bb2,f3,bb3]@13 ~@3",
Q: "[eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~", // Ebsus4
R: "[g3,bb3] ~ [g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3]@2, eb3 ~@2 eb4@5", // Gm Eb
S: "eb5@3 f5@3 eb5@2", T: "bb2@2 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~, db5",
U: "[ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2@24, ~@6 ab5@17 ~ a5 ~@23]/3",
V: "[g3,bb3,eb4]@3 [c4,eb4,ab4]@5", W: "[ab3,db4,f4]", X: "[bb3,d4,f4]",
Y: "bb2 ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~", // Eb5
Z: "[eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~", // Eb5
AA: "[eb2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3]@2 [ab2,bb2,eb3] ~", // Eb5 Absus2
AB: "[g2,c3] ~ [g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,c3] ~", // C5 C
AC: "[c2,g2,c3] ~ c3 ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [g2,c3] ~", // C5
AD: "[f2,c3,f3] ~ c3 ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~", // F5
AE: "[f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3]@2 [f2,c3,f3] ~ [f2,c3,f3]@2 [f2,c3,f3] ~ [f2,c3,f3]@2 [f2,c3,f3] ~", // F5
AF: "[bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~", // Eb5
AG: "[bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~", // Eb5
AH: "bb2@2 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~, ~@6 [f3,bb3]@9 ~", AI: "[bb2,eb3]@3 [eb3,bb3]@5",
AJ: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~, ~@3 [ab3,eb4,ab4]@5", // Ab5
AK: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~, [eb4,ab4,c5]@3 [f4,ab4,db5]@3 [eb4,ab4,c5]@2", // Ab Db Ab
AL: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~, [f3,bb3,f4,bb4]", AM: "~@2 [bb3,eb4,g4]@2 ~@2 [c4,eb4,ab4]@9 ~",
AN: "[bb3,eb4,g4] ~ [bb3,eb4,g4]@3 ~ [c4,eb4,ab4]@3 ~ [bb3,eb4,g4] ~ [c4,eb4,ab4]@3 ~", // Eb Ab Eb Ab
AO: "~@4 [bb3,eb4,g4]@2 ~@2 [c4,eb4,ab4]@7 ~", AP: "~@2 [bb3,eb4,g4]@2 ~@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@7 ~",
AQ: "~@2 [bb3,eb4,g4]@3 ~ [c4,eb4,ab4]@3 ~ [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [bb3,eb4,g4]@2", // Eb Ab Eb Ab Eb
AR: "[[ab3,db4,f4]@3 [ab3,db4,eb4]@3 [ab3,db4,f4]@3 [ab3,db4,eb4]@3 [ab3,db4,f4]@4]/2", // Db Absus4 Db Absus4 Db
AS: "~@2 [bb3,d4,f4]@2 ~@2 [bb3,eb4,g4]@9 ~", // Bb Eb
AT: "[bb3,d4,f4] ~ [bb3,d4,f4]@3 ~ [bb3,eb4,g4]@3 ~ [bb3,d4,f4] ~ [bb3,eb4,g4]@3 ~", // Bb Eb Bb Eb
AU: "~@4 [bb3,d4,f4]@2 ~@2 [bb3,eb4,g4]@7 ~", AV: "c3!4 bb2!2 ~@2",
})).s("gm_distortion_guitar").gain(0.29).pan(0.9)
// other · xylophone
const xylophone = note(`<
~@41
[~@9 g3 ~ ab3 a3 bb3 ~ b3]
[c4 db4 ~ d4 eb4 e4 ~ f4 gb4 g4 ~ ab4 a4 bb4 ~ b4]
[c5 db5 ~ d5 eb5 e5 ~ f5 gb5 g5 ~ ab5 a5 bb5 ~ b5]
[c6 db6 ~ d6 eb6 e6 ~ f6 gb6 g6 ~ ab6 a6 bb6 ~@2]
~@116
>`).s("gm_xylophone").gain(0.38)
// other · xylophone · soft notes
const xylophone_soft = note(`<
~@44
[~@15 b6]
[c7 db7 ~ d7 eb7 e7 ~ f7 gb7 g7 ~ ab7 a7 bb7 ~ b7]
[c8 db8 ~ d8 ~@12]
~@114
>`).s("gm_xylophone").gain(0.13)
// other · overdriven guitar
const overdriven_guitar_2 = note(`<
~@84 A@4 B@4 C D E F G H I@2 J@2 K@4 L M N O P Q R S T@2 U V ~@3 W L ~@18 X@4 Y Z@2 AA ~@10 N AB
>`.pickRestart({
A: "[~@15 ab5@16 [ab4,c5]@12 ~ eb4 ab4 c5@14 ab4 g4 ~ ab4]/4", // Ab
B: "[f4@10 f5@9 eb5@2 ~ db5 ~ eb5 db5 ~ c5 db5 ~ bb4@4 bb5@6 ab5@4 ~@2 c6@6 bb5@3 ~ c6@8]/4",
C: "~ c6@2 ~ c6 ~ bb5@2 ab5 bb5 ~ ab5@3 g5 ab5, ~@3 bb5@2 ~@11", D: "g5@3 f5 g5 f5 g5 f5 eb5 f5 eb5 db5@2 c5 bb4 ~",
E: "~ eb5 c5 eb5 g5 eb5 g5 eb5 c5 eb5 g5 eb5 g5 eb5 c5 eb5, [c5,g5] ~@7", // C5
F: "ab5 eb5 c5 eb5 g5 eb5 ~ eb5 gb5 eb5 c5 eb5 g5 eb5 c5 eb5, ~@3 c5 ~@4",
G: "c6 ab5 f5 ab5 c6 ab5 c6 ab5 f5 ab5 c6 ab5 c6 ab5 f5 ab5",
H: "db6 ab5 f5 ab5 c6 ab5 ~ ab5 b5 ab5 f5 ab5 c6 ab5 f5 ab5, ~@3 f5 ~@4", I: "eb6 d6", J: "eb6/2",
K: "[~@6 ab5@13 ~@3 ab5@14 ~@8 db6@8 c6 ab5 ~ c6 bb5 f5 ab5 bb5 c6@2 bb5 ab5]/4", L: "bb5@15 ~", M: "~@3 ab5@4 ~",
N: "~ g4", O: "ab4 bb4", P: "c5@3 [ab4,c5]", Q: "[g4,bb4]@10 [ab4,c5]@3 [g4,bb4]@3", R: "[f4,ab4]@5 db6@3",
// … 102 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.