0:00/0:00
// I Can't Live With You — Queen
// 184 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 203 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(184/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 · distortion guitar · "Electric Guitar"
const distortion_guitar = note(`<
A B C D C E F G C E F G H@2 I@2 C E C J K L K L M N O@2 P Q R@4 S@2 T@2 U@2 T@2 V@2 W@2 X@2 C E F G C E F G H@2 I@2 C
E K L K L M N O@2 P Q R@4 S@2 T@2 U@2 T@2 V@2 W@2 X@2 Y Z AA@2 AB@2 AC@2 AD@2 AE@2 AF AG@2 AF AH@2 AG AF AH@2 AG AI
AH@2 AG AF AJ AK AL AM C E F G C E F G AN AO AP AQ AR ~ F G C AS F G AT@4 AU@4 C AS F G C E F G AV AW AX AY AV AW AX
AY AV AW AX AY C E F G ~ AV AW AZ BA AW AX AY C E AV BB BC BD BE BF BC BD BE BF BC BD BE BF BC BD BE BF ~
>`.pickRestart({
A: "[e3,b3,e4,g#4]!2 ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4] ~@2", B: "[e3,b3,e4,g#4] ~",
C: "[e3,b3,e4,g#4]!2 ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4]", D: "e3 ~ e3@2", E: "[e3,b3,e4,g#4]",
F: "[a2,e3,a3,c#4]", G: "[b2,f#3,b3,e4] [b2,f#3,b3,d#4]", H: "[d3,a3,d4,f#4]/2", I: "[a2,e3,a3,c#4,e4]/2",
J: "[e3,b3,e4,g#4]@4 ~@2 [e2,b2,e3] [f2,c3,f3]", K: "[f#2,c#3,f#3] ~@3", L: "~@6 [e2,b2,e3] [f2,c3,f3]",
M: "[f#2,c#3,f#3]@3 ~", N: "~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~@2", O: "[a#3@6 b3@6 c4@6 c#4@6 e4@3 c#4 g#3@4]/2",
P: "[a3,e4,a4,d5]@2 [a3,e4,a4,d5]@2 ~ [a3,e4,a4,d5] ~ [a3,e4,a4,d5]", Q: "[a3,e4,a4,d5]@3 ~",
R: "[a3@2 a3@2 ~ [d4,a4,d5] ~ [e4,g4,d5]@9]/2", S: "[c#4@6 d4@6 d#4@6 e4@6 g4@3 e4 a4@3 g4]/2", T: "[g4,c5,e5]/2",
U: "[[a4,d5,f#5]@3 [a4,d5,f#5]@3 [a4,d5,f#5]@2]/2", // D
V: "[[a4,d5,f#5]@2 [a4,d5,g5] [a4,d5,f#5]@2 [a4,d5,f#5] [a4,d5,f#5]@2]/2", // D Dsus4 D
W: "[[g3,c4,e4]@3 [g3,b3,d4]@3 [g3,c4,e4]@3 [g3,b3,d4]@3 [g3,c4,e4]@2 [g3,b3,d4]@2]/2", // C G C G C G
X: "[[a3,d4,f#4]@3 [a3,c#4,e4]@3 [a3,d4,f#4]@3 [a3,c#4,e4]@3 [a3,d4,f#4]@2 [a3,c#4,e4]@2]/2", Y: "[b4,e5,f#5]",
Z: "[b4,d#5,f#5]", AA: "[b4,d#5,f#5]!4", AB: "[d4,g#4,b4,e5]/2", AC: "[c#4,e4,a4,e5]/2", AD: "[c4,e4,a4,e5]/2",
AE: "[[b3,d4,g4,d5], g5@11 ~@5]/2", AF: "[f#4,b4,d#5]", AG: "[e4,a4,c#5]", AH: "[[b4,e5], g#5@11 ~@5]/2",
AI: "[b4,e5,g#5] [a4,d#5,f#5]", AJ: "[b4,e5,g#5]", AK: "[a4,d5,f#5]@3 [b4,d5,g5,b5]",
AL: "[a4,b4,d5,g5,b5]@3 [b4,d#5,f#5,b5]", AM: "[b4,d#5,f#5,b5]!2", AN: "a3!2", AO: "d4 e4", AP: "e4!2", AQ: "a4!2",
AR: "b4", AS: "[e3,b3,e4,g#4] g#4@3", AT: "[a3,d4,e4]/4", AU: "[a2,e3,a3,c#4]/4", AV: "e4 d#4", AW: "c#4 b3",
AX: "a3 g#3", AY: "f#3 b3", AZ: "a3@2 g#3 f#3", BA: "e3 d#4", BB: "c#4@4 b3@2 g#3 a3", BC: "b3 a3 g#3 a3 b3@4",
BD: "e3 d#3", BE: "c#3 b2", BF: "b2 f#3",
})).s("gm_distortion_guitar").gain(0.48).pan(0.1)
// chords · overdriven guitar · "Electric Guitar"
const overdriven_guitar = note(`<
A ~ B@2 A C D E A C D E F@2 G@2 A C A H I J I J I ~ K@2 L M L M L ~ N@2 O@2 P@2 O@2 Q R O@2 S@2 A C D E A C D E F@2
G@2 A C I J I J I ~ K@2 L M L M L ~ N@2 O@2 P@2 O@2 Q R O@2 S@2 T U V@2 ~@28 A C D E A W D E X Y Z AA AB ~ D E A AC D
E AD@4 AE@4 A C D E A C D E AF@2 AG AH A C AG AH A AI AG AH A AI AG AH A AI AG AH A AI AG AH A C AG AH A C AG AH A C
AG AH A C AG AH A C AG AH ~
>`.pickRestart({
A: "[e3,b3,e4,g#4]!2 ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4]", // E
B: "[[e3,b3,e4,g#4]!2 ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4]@5 e3@4]/2", C: "[e3,b3,e4,g#4] ~",
D: "[a2,e3,a3]", E: "[b2,f#3,b3]", F: "[d3,a3,d4]/2", G: "[a2,e3,a3]/2",
H: "[e3,b3,e4,g#4]@4 ~@2 [e2,b2,e3] [f2,c3,f3]", I: "[f#2,c#3,f#3] ~@3", J: "~@6 [e2,b2,e3] [f2,c3,f3]",
K: "[a#2@6 b2@6 c3@6 c#3@6 e3@3 c#3 g#2@4]/2", L: "[a1,e2,a2]!2 ~@2", M: "~@11 e1 g1@3 e1",
N: "[c#3@6 d3@6 d#3@6 e3@6 g3@3 e3 a3@3 g3]/2", O: "[[c3,e3]@3 [b2,g3]@3 [c3,e3]@3 [b2,g3]@3 [c3,e3]@2 [b2,g3]@2]/2",
P: "[d3,a3,d4,g4]@3 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@3 [d3,a3,d4,f#4]", Q: "[a2,d3,a3]@3 [a2,d3,a3]@5",
R: "e4 d#4 ~ d4 c4 b3 ~ a3 f3 e3 ~ d3 c3 b2 ~ a2",
S: "[[f#3,a3,d4]@3 [e3,a3,c#4]@3 [f#3,a3,d4]@3 [e3,a3,c#4]@3 [f#3,a3,d4]@2 [e3,a3,c#4]@2]/2", T: "[f#3,b3,e4]",
U: "[f#3,b3,d#4]", V: "[f#3,b3,d#4]!4", W: "[e3,b3,e4,g#4]", X: "d4 e4", Y: "f#4 g#4", Z: "a4 b4", AA: "c5 c#5",
AB: "e5", AC: "[e3,b3,e4,g#4] b4@3", AD: "[d4,f#4,a4,d5]/4", AE: "[[c#4,e4,a4,c#5]@7 a3]/4",
AF: "[[e3,b3,e4,g#4]!2 ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4]@5 a3@4]/2", AG: "[a2,e3,a3,c#4]",
AH: "[b2,f#3,b3,e4] [b2,f#3,b3,d#4]", AI: "~ [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4] [e3,b3,e4,g#4]@4",
})).s("gm_overdriven_guitar").gain(0.48).pan(0.9)
// bass · synth bass 2 · "Bass"
const bass = note(`<
~@4 A B C D E F G H I J K L A M A N O P O P O ~ Q@2 R S R S R@2 T@2 U@2 V@2 W@2 X Y Z@2 AA@2 A B C D E F G H I J K L A
M O P O P O ~ Q@2 R S R S R@2 T@2 U@2 V@2 W@2 X Y Z@2 AA@2 AB AC AD AE AF@2 AG@2 AH AI AJ AE AK AL AM AN AO AP AQ@10
AP AR AS AE A B AT AJ A B AT AJ AU AV AW AX A B AY AZ A F AY BA BB@2 BC@2 BD@4 A B AT BE A B AT AE BF BG BH BI A BJ BK
BL BM BN BO BP BQ B BR AZ BM BN BS BT BU BV AT AZ BM BN BW BX A B K BY A B K BY A B K BY A B K BY ~
>`.pickRestart({
A: "e2 e2@2 e2@2 e2@2 e2", B: "e2 ~", C: "a1@5 a1@2 a1", D: "b1@4 b1 f#2 d#2 b1", E: "e2 e2@2 e2@2 e2@2 b1",
F: "e2 ~ e2@2", G: "a1@2 c#2 e2", H: "b1@2 d#2 f#2", I: "d2@3 d2!5", J: "d2@3 d2@2 d2!3", K: "a1@3 a1 a1@2 ~@2",
L: "a1 c#2 ~ d2 ~ c#2 d2 d#2", M: "e2 ~@3", N: "e2@2 ~@2 e2@2 e1 f1", O: "f#1 ~@3", P: "~@6 e1 f1",
Q: "[a#1@3 b1@3 c2@3 c#2@3 e2@2 e2@2]/2", R: "a1!2 ~@2", S: "a1@4 a1@4 ~@3 e1 g1@3 e1",
T: "[c#2@3 d2@3 d#2@3 e2@3 g2@2 e2@2]/2", U: "[c2@4 c2@2 c2@3 c2@3 c2@2 c2@2]/2",
V: "[d2@3 d2 d2@2 d2@6 d2@2 d2@2]/2", W: "c2!4", X: "d2!4", Y: "d2@3 f#2 a2@4 d2@4 d2@4",
Z: "[c2@3 g1@3 c2@3 g1@3 c2@2 g1@2]/2", AA: "[d2@3 a1@3 d2@3 a1@3 d2@2 a1@2]/2", AB: "b1 b1@2 b1@2 b1@2 b1",
AC: "b1!2 b1@2", AD: "b2 b2@2 b2@2 b2@2 b2", AE: "b1!2", AF: "[d2@3 d2]/2", AG: "[c#2@3 c#2]/2", AH: "c2", AI: "c2!2",
AJ: "b1", AK: "b1@6 b1!2", AL: "b1@2 b1!2 b1@2 b1!2", AM: "c#2@4 c#2@2 c#2!2", AN: "d#2@3 d#2", AO: "e2 e2@2 e2",
AP: "e2@3 e2 e2@2 e2@2", AQ: "e2!4", AR: "f#1@3 f#1 b1@4", AS: "g1!4", AT: "a1", AU: "d2!2", AV: "d2@4 d2@2 g#2 a2",
AW: "a1!2", AX: "a1 c#2 ~ d2 ~ d#2 ~@2", AY: "a1@3 a1", AZ: "b1@3 b1 b1@2 b1@2", BA: "b1@5 b1 c2 c#2",
BB: "[d2@7 a2]/2", BC: "[d3@3 a2]/2", BD: "a1/4", BE: "b1 d#2@2 f#2@2 b2 b1@2", BF: "e2 d#2", BG: "c#2 b1",
BH: "a1@3 a1 c#2 a1@3", BI: "b1@3 b1 d#2 b1 d2 d#2", BJ: "e2@2 e2!2 e2@2 e2!2", BK: "a1@4 a1@3 a#1",
BL: "b1@4 b1@3 b1", BM: "e2@3 e2 d#2 d#2@2 d#2", BN: "c#2@3 c#2 b1 b1@2 b1", BO: "a1@3 a1!2 a1@2 a1",
BP: "b1@3 b1!2 b1@2 b1", BQ: "e2@2 e2@4 e2@4 e2@4 e2 ~", BR: "a1@2 a1!2", BS: "a1@3 a1 c#2 c#2@2 c#2",
BT: "b1@3 b1 c#2 d2 d#2@2", BU: "e3 d#3", BV: "c#3 b2", BW: "a1@3 a1 g#1 g#1@2 g#1", BX: "b1 b1@2 b1 b1@2 b1@2",
BY: "b1@3 b1 b1@2 ~@2",
})).s("gm_synth_bass_2").gain(0.8)
// drums · kick
const kick = s("bd").struct(`<
A B C D E F C@4 G B@5 H ~ H B E I E J E B E J E B E J E B E J E B E J E B E J E B E J E F C@4 G B@5 H ~ E I E J E B E
J E B E J E B E J E B E J E B E J E B E J K L B ~ B F B C G F G C E G E I B M C B I C B@2 C G@2 B@5 N C B C N C E O B
C B P B C Q R S C I R B I B@2 H ~ B@2 N C B C@3 I C B C@2 I N C B C B C B C N C@3 B C B R T U C R C@2 V W X U C R X U
C R X U C R X U C R ~
>`.pickRestart({
A: "x!2 ~ x ~ x ~@2", B: "x", C: "x ~@2 x ~ x ~@2", D: "x ~@10 x!3 ~ x", E: "x ~@6 x", F: "x ~@2 x ~ x ~ x",
G: "x ~@2 x ~@4", H: "x!2 ~ x ~ x ~ x", I: "x ~@2 x", J: "x!2 ~@2", K: "x ~@4 x ~ x", L: "x ~ x ~@2 x ~ x",
M: "x ~@2 x ~@2 x ~", N: "x!2", O: "x ~@4 x ~@2", P: "x ~@10 x ~@4", Q: "x ~ x!2", R: "x ~@2 x ~ x!2 ~",
S: "x ~@2 x!2 ~@3", T: "~ x!2 ~ x!2 ~ x", U: "x ~ x!2 ~ x!2 ~", V: "x ~@2 x ~@3 x", W: "x!2 ~ x ~ x!2 ~",
X: "~ x!2 ~ x!2 ~@2",
})).gain(0.48)
// drums · snare
const snare = s("sd").struct(`<
~ A ~ B A@7 B A@4 ~ A ~ A@4 C A@5 C A@25 B A@4 ~ A@4 C A@5 C A@20 ~@2 A@15 D A@3 E A@7 F A@11 G A@12 ~ A ~ A@4 C A@19
C A@4 H A@7 I J A@2 I J A@2 I J A@2 I J A@2 ~
>`.pickRestart({
A: "~ x", B: "~@3 x!3 ~ x ~@8", C: "~@2 x!2", D: "x!2", E: "~@3 x!2 ~@11", F: "x!2 ~@2 x ~@3",
G: "~@3 x ~@4 x ~@3 x ~@3", H: "~@3 x ~@2 x ~", I: "x ~@2 x ~@2 x ~", J: "~ x ~@2 x ~@3",
})).gain(0.54)
// drums · low tom
const low_tom = s("lt").struct("<~@11 A ~@43 A ~@37 B ~@15 A ~@3 A ~@15 C ~@3 D ~@31 C ~@37>".pickRestart({
A: "~@12 x!2 ~ x", B: "~@8 x!2 ~ x!3 ~ x", C: "~@3 x", D: "~@4 x!2 ~ x ~@8",
})).gain(0.54)
// drums · pedal hat
const pedal_hat = s("hh").struct(`<
A B A ~ A@17 C A C A@5 C A C A C A@5 C A C A C B C A@17 C A C A@5 C A C A C A@5 C A C A C B C A@54 ~@8 A@52 ~
>`.pickRestart({
A: "x!4", B: "x!2 ~ x", C: "x!3 ~",
})).gain(0.54)
// drums · mid tom
const mid_tom = s("mt").struct("<~@3 A ~@7 B ~@43 B ~@36 C D ~@15 E ~@3 B ~@7 F ~@26 G H ~@53>".pickRestart({
A: "~@8 x!2 ~@6", B: "~@8 x!2 ~ x ~@4", C: "~@6 x ~@4 x ~@4", D: "~@4 x!2 ~ x ~@8", E: "~@4 x!2 ~ x ~ x ~ x ~@4",
F: "~@2 x!2 ~@2 x!2", G: "x ~@2 x ~ x ~@2", H: "x",
})).gain(0.54)
// drums · open hat
const open_hat = s("oh").struct(`<
~@21 A ~ A ~@5 A ~ A ~ A ~@5 A ~ A ~ A B A ~@17 A ~ A ~@5 A ~ A ~ A ~@5 A ~ A ~ A B A ~@18 C@2 ~@95
>`.pickRestart({
A: "~@3 x", B: "~ x", C: "x!2",
})).gain(0.48)
// drums · high tom
const high_tom = s("ht").struct(`<
~@92
[~@2 x ~@5 x ~@3 x!2 ~ x]
[x!2 ~ x ~@12]
~@15
[~ x ~ x ~@12]
~@3
[~@5 x ~ x ~@8]
~@89
>`).gain(0.54)
// drums · crash
const crash = s("cr").struct(`<
~ A ~ B@5 ~ B@2 C@2 ~ C ~@2 A ~@9 A ~@7 A ~@12 B@4 ~ B@2 C@2 ~ C ~@2 A ~@7 A ~@7 A ~@16 B@8 C ~ C ~@3 B@34 C ~ C ~@2 A
~ A B D B@50 ~
>`.pickRestart({
A: "~ x", B: "x!2", C: "x", D: "x ~@3 x!2 ~@2",
})).gain(0.36)
// drums · cabasa
const cabasa = s("cabasa:4").struct("<[x!4 ~ x ~ x] x [x!4 ~ x ~ x] x [x!4 ~ x ~ x]!198 ~>").gain(2.13)
stack(
distortion_guitar, overdriven_guitar, bass, kick, snare, low_tom, pedal_hat, mid_tom, open_hat, high_tom, crash,
cabasa
)
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.