0:00/0:00
// Coma — Guns N' Roses
// 128 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 8 "Bass" named as a bass, played on electric bass finger (its electric guitar jazz patch is not one)
// note: Full arrangement: all 315 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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 · overdriven guitar · "Gtr. I"
const overdriven_guitar = note(`<
~@5 A@8 ~@3 B@2 C@2 D@2 E@2 F@2 G ~ G ~ H ~ H ~ I ~ I ~ J@4 K ~ L M L ~ N@4 G ~ H ~ H ~ O@2 P@7 Q C@2 D@2 E@2 R@2 G
S@8 T@6 U V@8 C@2 D@2 E@2 F@2 W@2 X@3 Y@2 Z@7 AA@7 ~@37 AB@4 AC AD@2 AE@2 AF@2 AG@2 B AH AI AJ C@2 D@2 E@2 AK@2 ~@3
AL@2 AM@2 AN@2 AO@2 AP@2 AQ@2 AR@6 AS@2 AT AU@3 AV ~@5 AW V@8 C@2 D@2 E@2 R@2 AX B AY B AZ BA BB BC@2 BD@4 BE@8 BF@8
BG@8 BH@8 BI@8 BJ@8 BK@2 BL BM BN@2 ~@7
>`.pickRestart({
A: "[~ [a3,e4,a4]@15]/8", B: "a3!8", C: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 [c#4,g#4]@2 [c#4,g#4] a3!2 [c4,g4]@2 a3@2]/2",
D: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 c#4@2 e4 c#4 a3 [c4,g4]@2 a3@2]/2", // C#5 C5
E: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 c#4@2 e4 c#4 a3 [c4,g4]!2 [b3,f#4] a3]/2", // C#5 C5 B5
F: "[[c#4,g#4]@4 a3@4 [c4,g4]@4 a3@2 [c#4,g#4]@4 [c4,g4]@2 [b3,f#4]@2 [a#3,f4]@2 [a3,e4]@2 [c4,g4]@2 [b3,f#4]@2 [a#3,f4] ~]/2", // C#5 C5 C#5 C5 B5 A#5 A5 C5 …
G: "[a3,e4,a4]!2 ~@6", H: "[g3,d4,g4]!2 ~@6", I: "[f3,c4,f4]!2 ~@6",
J: "[[g#3,d#4,g#4]@4 [g#3,d#4,g#4]@4 [g#3,d#4,g#4]@2 [g#3,d#4,g#4]@2 ~@2 [d#4,a#4,d#5]@6 [d#4,a#4,d#5]@4 [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 ~@2 [g3,d4,g4]@6 [g3,d4,g4]@4 [g3,d4,g4]@2 [g3,d4,g4]@2 ~@2 [d4,a4,d5]@6 [d4,a4,d5]@4 [d4,a4,d5]@2 [d4,a4,d5]@2 [d4,a4,d5]@2 [d4,a4,d5]!2]/4", // G#5 D#5 G5 D5
K: "[d4,a4,d5]!2 ~@6", L: "[c4,g4,c5]!2 ~@6", M: "~@14 [c4,g4,c5] ~",
N: "[[d#4,a#4,d#5]@4 [d#4,a#4,d#5]@4 [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 ~@2 [a#3,f4,a#4]@6 [a#3,f4,a#4]@4 [a#3,f4,a#4]@2 [a#3,f4,a#4]@2 ~@2 [d4,a4,d5]@6 [d4,a4,d5]@4 [d4,a4,d5]@2 [d4,a4,d5]@2 ~@2 [a3,e4,a4]@6 [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]!2]/4", // D#5 A#5 D5 A5
O: "[[b3,f#4,b4]@4 [b3,f#4,b4]@2 b3 ~ [b3,f#4,b4]@2 [b3,f#4,b4]@2 ~@2 [f#3,c#4,f#4]@6 [f#3,c#4,f#4]@4 [f#3,c#4,f#4]@2 [f#3,c#4,f#4]@2 [f#3,c#4,f#4]@2 f#3 ~]/2", // B5 F#5
P: "[[b3,f#4,b4]@4 [b3,f#4,b4]@4 [b3,f#4,b4]@2 [c#4,g4,c#5]@2 [c#4,g4,c#5]@2 [d4,a4,d5]@6 [d4,a4,d5]@4 [d4,a4,d5]@2 e3@2 c#4@2 [a3,e4,a4]@6 [a3,e4,a4]@4 [a3,e4,a4]@2 g3@2 f#3@2 [e3,b3,e4]@6 [e3,b3,e4]@2 e3 ~ [e3,b3,e4]@4 f#3@2 [g3,d4,g4]@6 [g3,d4,g4]@4 [g3,d4,g4]@2 f#3@2 e3@2 [d4,a4,d5]@6 [d4,a4,d5]@2 d4!2 [d4,a4,d5]@2 [c#4,g#4,c#5]@2 c#4 ~ [c4,g4,c5]@4 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2]/7", // B5 C#dim D5 A5 E5 G5 D5 C#5 …
Q: "[c4,g4,c5] [b3,f#4,b4] [c4,g4,c5] [b3,f#4,b4] [c4,g4,c5]!2 a3 b3", // C5 B5 C5 B5 C5
R: "[[c#4,g#4]@4 a3@4 [c4,g4]@4 a3@2 c#4@4 e4@2 c#4@2 a3@2 c4@2 c4@2 b3@2 a#3 ~]/2", // C#5 C5
S: "[~@7 [g4,c5]@16 [a4,d5]@16 [g3,d4,g4,d5]@16 [f4,a#4]@9]/8", // C5 D5 G5 A#5
T: "[[f4,a#4]@3 ~ [f4,a#4]@3 ~ [f4,a#4]@4 ~@2 [f3,c4,f4]@4 [f3,c4,f4]@2 f3@2 f3@2 [c4,f4]@2 f3@2 f3@2 [f3,c4,f4]@6 [f3,c4,f4]@4 a3@2 c4@2 d4@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4 ~ [c4,g4,c5]@2 [c4,g4,c5]@2 c4 ~ [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [b3,f#4,b4]@4 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2]/6", // A#5 F5 C5 B5 A#5 B5 A#5 B5 …
U: "[b3,f#4,b4] [a#3,f4,a#4] [b3,f#4,b4] [a#3,f4,a#4] [b3,f#4,b4]!2 g3 e3", // B5 A#5 B5 A#5 B5
V: "[[b3,f#4]@2 e3@2 [a#3,f4]@2 e3 [b3,f#4]@2 [b3,f#4] g3 e3 [a#3,f4]@2 e3@2]/2", W: "[a3 [d4,a4,d5]@15]/2",
X: "[a3@2 [a3,e4,a4,e5,a5]@26 [a3,e4,a4,e5,a5] ~ [b3,f#4,b4]@6 [b3,f#4,b4]@2 [b3,f#4,b4]!2 [b3,f#4,b4]@2 [b3,f#4,b4]@2 ~@2 [b3,f#4,b4]@2]/3", // A5 B5
Y: "[~@2 [b3,f#4,b4]@2 [b3,f#4,b4]@2 [b3,f#4,b4]!2 [b3,f#4,b4]@2 [b3,f#4,b4]@2 ~@2 [f#3,c#4,f#4]@6 [f#3,c#4,f#4]@2 [f#3,c#4,f#4]!2 [f#3,c#4,f#4]@2 [f#3,c#4,f#4]@2 ~@2 [f#3,c#4,f#4]@2]/2", // B5 F#5
Z: "[~@4 [f#3,c#4,f#4]@2 [f#3,c#4,f#4] ~ f#4@2 c#4@2 f#4@2 [g3,d4,g4,d5]@6 [g3,d4,g4,d5]@10 [d4,a4,d5,f#5]@16 [b4,e5]@28 [b4,e5]@3 ~ [b4,e5]@34]/7", // F#5 G5 D E5
AA: "[[a3,e4,a4,e5,a5]@13 ~]/7", AB: "[a3,e4,a4]/4", AC: "[a3,e4,a4]!2", AD: "[a3,e4,a4,e5]/2",
AE: "[a3,e4,a4,d#5]/2", AF: "[a3,e4,a4,c#5]/2", AG: "[c#5@7 a4]/2", AH: "f3!8", AI: "[f3,c4,f4]!8",
AJ: "[f3,c4,f4]!2 [f#3,c#4,f#4] [g3,d4,g4] [g#3,d#4,g#4]!2 [a3,e4,a4]!2", // F5 F#5 G5 G#5 A5
AK: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 c#4@2 c4 b3 a#3 a3 e3 f3 f#3]/2", AL: "[~@7 [a3,e4]@2 [a3,e4] a3!4 [a3,e4] a3]/2",
AM: "[a3!2 [a3,e4] a3!4 [a3,e4]@2 a4 a3!4 [a3,e4] a3]/2", // A5
AN: "[a3!2 [a3,e4] a3!4 [g3,d4]@2 [g3,d4] g3!4 [g3,d4] g3]/2", // A5 G5
AO: "[g3!2 [g3,d4] g3!4 [g3,d4]@2 [g3,d4] g3!4 [g3,d4] g3]/2", // G5
AP: "[g3!2 [g3,d4] g3!4 [f3,c4]@2 [f3,c4] f3!4 [f3,c4] f3]/2", // G5 F5
AQ: "[f3!2 [f3,c4] f3!4 [f3,c4]@2 [f3,c4] f3!4 [f3,c4] f3]/2", // F5
AR: "[f3@2 f3@2 [f3,c4]@2 f3@2 [f3,c4,f4]@2 [f3,c4,f4]@2 [f3,c4,f4]@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4 ~ [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [g3,d4,g4]@6 [g3,d4,g4]@2 g3 ~ [g3,d4,g4]@2 [g3,d4,g4]@2 ~@2 [d4,a4,d5]@6 [d4,a4,d5]@4 [d4,a4,d5]@2 [d4,a4,d5]@2 ~@2 [a3,e4,a4]@6 [a3,e4,a4]@2 a3 ~ [a3,e4,a4]@2 [a3,e4,a4]@2 a3 ~ [c4,g4,c5]@4 [c4,g4,c5]@2 c4@2 c4@2 [g4,c5]@2 c4@2 c4@2 [g4,c5]@2]/6", // F5 C5 G5 D5 A5 C5
AS: "c4@2 c4@2 [g4,c5]@2 c4!2 [g4,c5]@2 [g4,c5]@2 c4@2 [g4,c5]@2", // C5
AT: "c4@2 c4@2 [g4,c5]@2 c4!2 [g4,c5]@2 [g4,c5]@2 ~@2 [g3,d4,g4]@2", AU: "g3!2 [d4,g4] g3!2 [d4,g4] g3 [d4,g4]",
AV: "g3!2 [d4,g4] g3 [g3,d4,g4]!3 ~", AW: "~@6 g3 e3", AX: "[a3,e4,a4]!2 a3!6", AY: "[a3,e4,a4,c5]!2 a3!6",
AZ: "[g3,d4,g4,b4]!2 g3!6", BA: "g3!8", BB: "[g3,d4,g4,a#4]!2 g3!4 [d4,g4] g3",
BC: "[g3 [d4,g4] g3!2 [g3,d4,g4]!3 [f3,c4,f4]@3 [f3,c4,f4] f3!2 [f3,c4] f3 [f3,c4]]/2", // G5 F5
BD: "[f3@2 f3@2 [f3,c4]@2 e3@2 a3@2 c4@2 d4@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 c4 ~ [c4,g4,c5]@6 [c4,g4,c5]@4 [c4,g4,c5]@2 [c#4,g#4,c#5]@2 ~@2 d4@6 a3@4 c#4@4 a3@2 c4@2]/4", // F5 C5 C#5
BE: "[~@2 g3@2 a3@2 b3@2 d4@2 e4@2 a3@2 [b3,f#4,b4]@6 [b3,f#4,b4]@2 b3!2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [c#4,g#4,c#5]@2 [d4,a4,d5]@6 [d4,a4,d5]@2 d4!2 [d4,a4,d5]@2 e3@2 c#4@2 [a3,e4,a4]@6 [a3,e4,a4]@2 a3 ~ [a3,e4,a4]@2 g3@2 f#3@2 [e3,b3,e4]@6 [e3,b3,e4]@2 e3!2 [e3,b3,e4]@4 f#3@2 [g3,d4,g4]@6 [g3,d4,g4]@2 g3!2 [g3,d4,g4]@2 f#3@2 e3@2 [d4,a4,d5]@6 [d4,a4,d5]@4 [d4,a4,d5]@2 [c#4,g#4,c#5]@2 ~@2 [c4,g4,c5]@4 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2]/8", // B5 C5 C#5 D5 A5 E5 G5 D5 …
BF: "[[c4,g4,c5] [b3,f#4,b4] [c4,g4,c5] [b3,f#4,b4] [c4,g4,c5] g3 f#3 [e3,b3,e4]@3 [e3,b3,e4]@2 [e3,b3,e4]!2 ~ [g3,d4,g4]@3 [g3,d4,g4]@2 [g3,d4,g4]!2 ~ [d4,a4,d5]@3 [d4,a4,d5]@2 [d4,a4,d5]!2 ~ [a3,e4,a4]@3 [a3,e4,a4]@2 [a3,e4,a4]!2 ~ [c4,g4,c5]@3 [c4,g4,c5]@2 [c4,g4,c5] b3 a3 [g3,d4,g4]@3 [g3,d4,g4]@2 [g3,d4,g4] [f#3,c#4] ~ [f3,c4]@2 e3 [f3,c4] e3 [f3,c4] e3 [f3,c4] e3]/8", // C5 B5 C5 B5 C5 E5 G5 D5 …
BG: "[[f3,c4]@2 e3@2 [f3,c4]@2 e3@2 [f3,c4]@2 [g3,d4]@2 ~@2 [a3,e4,a4]@6 [a3,e4,a4]@2 a3!2 [a3,e4,a4]@2 [a3,e4,a4]@2 ~@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [g3,d4,g4]@6 [g3,d4,g4]@2 g3!2 [g3,d4,g4]@2 [g3,d4,g4]@2 g3 ~ [d4,a4,d5]@6 [d4,a4,d5]@2 [c#4,g#4,c#5]@2 [d4,a4,d5]@2 [d4,a4,d5]@2 ~@2 [f3,c4,f4]@6 [f3,c4,f4]@2 f3 ~ [f3,c4,f4]@2 [f3,c4,f4]@2 ~@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [b3,f4,b4]@2 ~@2 [a#3,f4,a#4]@4 a3@2 [a#3,f4,a#4]@2 a3@2 [a#3,f4,a#4]@2 a3@2 [a#3,f4,a#4]@2 a3@2]/8", // F5 G5 A5 C5 G5 D5 C#5 D5 …
BH: "[[a#3,f4,a#4]@2 a3@2 [a#3,f4,a#4]@2 a3@2 [a#3,f4,a#4]@2 [c4,g4,c5]@2 [c4,g4,c5]@2 [d4,a4,d5]@4 [d4,a4,d5]@2 [d4,a4,d5]@2 d4!2 [d4,a4,d5]@2 [d4,a4,d5]@2 ~@2 [f4,c5,f5]@6 [f4,c5,f5]@2 f4!2 [f4,c5,f5]@2 [f4,c5,f5]@2 ~@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [g3,d4,g4]@6 [g3,d4,g4]@2 g3!2 [g3,d4,g4]@2 [g3,d4,g4]@2 ~@2 [a#3,f4,a#4]@6 [a#3,f4,a#4]@2 a#3!2 [a#3,f4,a#4]@2 [a#3,f4,a#4]@2 ~@2 [f3,c4,f4]@6 [f3,c4,f4]@4 [f4,c5,f5]@2 [f4,c5,f5]@2 ~@2 [d#4,a#4,d#5]@4 [d4,a4,d5]@2 [d#4,a#4,d#5]@2 [d4,a4,d5]@2 [d#4,a#4,d#5]@2 [d4,a4,d5]@2 [d#4,a#4,d#5]@2 [d4,a4,d5]@2]/8", // A#5 C5 D5 F5 C5 G5 A#5 F5 …
BI: "[[d#4,a#4,d#5]@2 [d4,a4,d5]@2 [d#4,a#4,d#5]@2 [d4,a4,d5]@2 [d#4,a#4,d#5]@2 [f3,c4,f4]@2 [f3,c4,f4]@2 [g3,d4,g4]@6 [g3,d4,g4]@4 [g3,d4,g4]@2 [g3,d4,g4]@2 ~@2 [a#3,f4,a#4]@6 [a#3,f4,a#4]@2 a#3 ~ [a#3,f4,a#4]@2 [a#3,f4,a#4]@2 ~@2 [f3,c4,f4]@6 [f3,c4,f4]@4 [f3,c4,f4]@2 [f3,c4,f4]@2 ~@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [d#4,a#4,d#5]@6 [d#4,a#4,d#5]@2 d#4!2 [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 ~@2 [a#3,f4,a#4]@6 [a#3,f4,a#4]@2 a#3!2 [a#3,f4,a#4]@2 a3@2 ~@2 [g#3,d#4,g#4]@4 [g3,d4,g4]@2 [g#3,d#4,g#4]@2 [g3,d4,g4]@2 [g#3,d#4,g#4]@2 [g3,d4,g4]@2 [g#3,d#4,g#4]@2 [g3,d4,g4]@2]/8", // D#5 D5 D#5 D5 D#5 F5 G5 A#5 …
BJ: "[[g#3,d#4,g#4]@2 [g3,d4,g4]@2 [g#3,d#4,g#4]@2 [g3,d4,g4]@2 [g#3,d#4,g#4]@2 [a#3,f4,a#4]@2 ~@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [d#4,a#4,d#5]@4 [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 d#4 ~ [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 d#4 ~ [a#3,f4,a#4]@6 [a#3,f4,a#4]@2 a#3 ~ [a#3,f4,a#4]@2 [a#3,f4,a#4]@2 a#3 ~ [f3,c4,f4]@6 [f3,c4,f4]@2 f3 ~ [f3,c4,f4]@2 [f3,c4,f4]@2 ~@2 [g#3,d#4,g#4]@6 [g#3,d#4,g#4]@2 g#3 ~ [g#3,d#4,g#4]@2 [g#3,d#4,g#4]@2 ~@2 [d#4,a#4,d#5]@6 [d#4,a#4,d#5]@2 d#4!2 [d#4,a#4,d#5]@2 [d4,a4,d5]@2 ~@2 [c#4,g#4,c#5]@4 [c4,g4,c5]@2 [c#4,g#4,c#5]@2 [c4,g4,c5]@2 [c#4,g#4,c#5]@2 [c4,g4,c5]@2 [c#4,g#4,c#5]@2 [c4,g4,c5]@2]/8", // G#5 G5 G#5 G5 G#5 A#5 C5 D#5 …
BK: "[[c#4,g#4,c#5] [c4,g4,c5] [c#4,g#4,c#5] [c4,g4,c5] [c#4,g#4,c#5] [c4,g4,c5] ~ [c#4,g#4,c#5]@2 [c4,g4,c5] [c#4,g#4,c#5] [c4,g4,c5] [c#4,g#4,c#5] [c4,g4,c5] [c#4,g#4,c#5] [c4,g4,c5]]/2", // C#5 C5 C#5 C5 C#5 C5 C#5 C5 …
BL: "[c#4,g#4,c#5] [c4,g4,c5] [c#4,g#4,c#5] [c4,g4,c5] [c#4,g#4,c#5] [c4,g4,c5] ~ c#5", // C#5 C5 C#5 C5 C#5 C5
BM: "~ c#4!3 c#5@3 c#4!4 c#5@2 c#4!3", BN: "[c#4!2 c#5@2 c#4!4 [c#4,g#4,c#5]@2 [d#4,a#4,d#5]@2 ~@2 [f4,c5,f5]@18]/2",
})).s("gm_overdriven_guitar").gain(0.2)
// chords · overdriven guitar · "Gtr. II"
const overdriven_guitar_2 = note(`<
~@6 A@2 B@2 C@6 ~@2 D@2 E@2 F@2 G@2 H ~ I ~ J ~ K ~ L ~ M N O@4 P ~ Q ~ R ~ S@4 T ~ U ~ V ~ W@2 X@7 Y D@2 E@2 F@2 Z@2
AA ~ AB@8 AC@5 AD AE@8 D@2 E@2 F@2 AF@2 AG@2 AH AI@4 AJ@4 AK@7 ~@41 AL@4 A@2 B@2 AM@2 AN@2 ~ AO@3 D@2 E@2 F@2 AP@2
AQ@5 ~@10 AR AS@8 ~@3 AT@6 AD AE@8 D@2 E@2 F@2 Z@2 ~@7 AU@2 AV@4 AW@8 AX@8 AY@8 AZ@4 BA@4 BB@6 BC BD BE BF BG BH BI
BJ@7 BK@4 BL ~@4
>`.pickRestart({
A: "[a3,e4,a4,e5]/2", B: "[a3,e4,a4,d#5]/2", C: "[[e4,a4]@2 ~, a3, c5 ~@2]/6",
D: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 [c#4,g#4]@2 [c#4,g#4] a3!2 [c4,g4]@2 a3@2]/2", // C#5 C5 C#5 C5
E: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 c#4@2 e4 c#4 a3 [c4,g4]@2 a3@2]/2", // C#5 C5
F: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 c#4@2 e4 c#4 a3 [c4,g4]!2 [b3,f#4] a3]/2", // C#5 C5 B5
G: "[[c#4,g#4]@4 a3@4 [c4,g4]@4 a3@2 [c#4,g#4]@4 [d4,a4]@2 [d#4,a#4]@2 [e4,b4]@2 [f4,c5]@2 [f#4,c#5]@2 [g4,d5]@2 [g#4,d#5] ~]/2", // C#5 C5 C#5 D5 D#5 E5 F5 F#5 …
H: "[a4,e5]!2 ~@6", I: "[a4,e5,a5,c6]!2 ~@6", J: "[g4,d5,g5,b5]!2 ~@6", K: "[g4,d5,g5,a#5]!2 ~@6",
L: "[f4,c5,f5,a5]!2 ~@6", M: "[f4,c5,f5,g#5]!2 ~@6", N: "~@14 [g#4,d#5,g#5]!2",
O: "[[g#4,d#5,g#5]@4 [g#4,d#5,g#5]@4 [g#4,d#5,g#5]@2 [g#4,d#5,g#5]@2 ~@2 [d#4,a#4,d#5]@4 [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 d#4 ~ [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 ~@2 [g4,d5,g5]@4 [g4,d5,g5]@2 [g4,d5,g5]@4 [g4,d5,g5]@2 [g4,d5,g5]@2 ~@2 [d4,a4,d5,f#5]@6 [d4,a4,d5,f#5]@4 [d4,a4,d5,f#5]@2 [d4,a4,d5,f#5]@4 ~@2]/4", // G#5 D#5 G5 D
P: "[d4,a4,d5,f5]!2 ~@6", Q: "[c4,g4,c5,e5]!2 ~@6", R: "[c4,g4,c5,d#5]!2 ~@6",
S: "[[d#4,a#4,d#5]@4 [d#4,a#4,d#5]@2 d#4!2 [d#4,a#4,d#5]@2 [d#4,a#4,d#5]@2 ~@2 [a#3,f4,a#4]@6 [a#3,f4,a#4]@2 a#3 ~ [a#3,f4,a#4]@2 [a#3,f4,a#4]@2 ~@2 [d4,a4,d5]@4 [d4,a4,d5]@2 [d4,a4,d5]@2 d4!2 [d4,a4,d5]@2 [d4,a4,d5]@2 ~@2 [a3,e4,a4]@6 [a3,e4,a4]@2 a3!2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 a3!2]/4", // D#5 A#5 D5 A5
T: "[a3,e4,a4,c5]!2 ~@6", U: "[g3,d4,g4,b4,d5,g5]!2 ~@6", V: "[g3,d4,g4,a#4,d5,g5]!2 ~@6",
W: "[[b3,f#4,b4]@4 [b3,f#4,b4]@2 b3 ~ [b3,f#4,b4]@2 [b3,f#4,b4]@2 ~@2 [f#3,c#4,f#4]@6 [f#3,c#4,f#4]@4 [f#3,c#4,f#4]@2 [f#3,c#4,f#4]@2 [f#3,c#4,f#4]@2 f#3 ~]/2", // B5 F#5
X: "[[b3,f#4,b4]@4 [b3,f#4,b4]@4 [b3,f#4,b4]@2 [c#4,g4,c#5]@2 [c#4,g4,c#5]@2 [d4,a4,d5]@6 [d4,a4,d5]@4 [d4,a4,d5]@2 e3@2 c#4@2 [a3,e4,a4]@6 [a3,e4,a4]@4 [a3,e4,a4]@2 g3@2 f#3@2 [e3,b3,e4]@6 [e3,b3,e4]@2 e3 ~ [e3,b3,e4]@4 f#3@2 [g3,d4,g4]@6 [g3,d4,g4]@4 [g3,d4,g4]@2 f#3@2 e3@2 [d4,a4,d5]@6 [d4,a4,d5]@2 d4!2 [d4,a4,d5]@2 [c#4,g#4,c#5]@2 c#4 ~ [c4,g4,c5]@4 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2]/7", // B5 C#dim D5 A5 E5 G5 D5 C#5 …
Y: "[c4,g4,c5] [b3,f#4,b4] [c4,g4,c5] [b3,f#4,b4] [c4,g4,c5]!2 a3 b3", // C5 B5 C5 B5 C5
Z: "[[c#4,g#4]@4 a3@4 [c4,g4]@4 a3@2 c#4@4 e4@2 c#4@2 a3@2 g4@2 g4@2 f#4@2 f4 ~]/2", AA: "[a3,e4]!2 ~@6",
AB: "[~@2 a3@12 ~ [d5,f#5]@15 ~@12 d7@4 ~ [f5,a#5]@12 d#6@4 [f3,c4,f4], ~@31 [d5,g5]@15 ~@18]/8", // D A#5 F5 G5
AC: "[~@2 [f3,c4,f4]@2 f3@2 f3@2 [c4,f4]@2 f3@2 f3@2 [f3,c4,f4]@6 [f3,c4,f4]@4 a3@2 c4@2 d4@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4 ~ [c4,g4,c5]@2 [c4,g4,c5]@2 c4 ~ [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [b3,f#4,b4]@4 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2]/5", // F5 C5 B5 A#5 B5 A#5 B5 A#5 …
AD: "[b3,f#4,b4] [a#3,f4,a#4] [b3,f#4,b4] [a#3,f4,a#4] [b3,f#4,b4]!2 g3 e3", // B5 A#5 B5 A#5 B5
AE: "[[b3,f#4]@2 e3@2 [a#3,f4]@2 e3 [b3,f#4]@2 [b3,f#4] g3 e3 [a#3,f4]@2 e3@2]/2", // B5 A#5 B5 A#5
AF: "[[c#4,g#4]@4 a3@4 [c4,g4]@4 a3@2 [c#4,g#4]@4 [c4,g4]@2 [b3,f#4]@2 [a#3,f4]@2 [a3,e4]@2 [c4,g4]@2 [b3,f#4]@2 [a#3,f4] ~]/2", // C#5 C5 C#5 C5 B5 A#5 A5 C5 …
AG: "[f#5,a5,d6]/2", AH: "d6 c#6 a5 e5 [e5,a5,c#6]!3 [f#5,a5,d6]",
AI: "[[e5,a5,c#6]@14 [b4,f#5,b5]@6 [b4,f#5,b5]@2 b4!2 [b4,f#5,b5]@2 [b4,f#5,b5]@2 ~@2 [b4,f#5,b5]@6 [b4,f#5,b5]@4 [b4,f#5,b5]@2 [b4,f#5,b5]@2 ~@2 [f#4,c#5,f#5]@6 [f#4,c#5,f#5]@4 [f#4,c#5,f#5]@2 [f#4,c#5,f#5]@2 ~@2 [f#4,c#5,f#5]@2]/4", // A B5 F#5
AJ: "[[f#4,c#5,f#5]@2 [f#4,c#5,f#5]@2 f#4 c#4 f#4 g4@3 [d5,g5]@5 [d4,a4,d5,f#5]@8 [e4,b4,e5,g#5]@9]/4", // F#5 G5 D E
AK: "[a5 g#5 e5 b4 [b4,e5]@20 ~@32, ~ e4@13]/7", AL: "a3/4", AM: "[a3,e4,a4,c#5]/2", AN: "[a3,e4,a4,c5]/2",
AO: "[~ c4@5]/3", AP: "[[c#4,g#4]@2 a3@2 [c4,g4]@2 a3 c#4@2 c4 b3 a#3 a3 e3 f3 f#3]/2",
AQ: "[[g3,d4,g4]@31 [a4,e5,a5]@3 ~@6]/5", AR: "~@7 [c4,g4,c5]",
AS: "[~@2 [c4,g4,c5]@2 [c4,g4,c5]!2 ~ [g3,d4,g4]@8 [d4,a4,d5]@8 [a3,e4,a4]@8 [c4,g4,c5]@33]/8", // C5 G5 D5 A5 C5
AT: "[~@6 [g3,d4,g4]@8 [f3,c4,f4]@6 [f3,c4,f4]@2 f3@2 f3@2 [c4,f4]@2 f3@2 [g3,c4,f4]@6 [g3,c4,f4]@4 a3@2 c4@2 d4@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [b3,f#4,b4]@4 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2 [b3,f#4,b4]@2 [a#3,f4,a#4]@2]/6", // G5 F5 Csus4 C5 B5 A#5 B5 A#5 …
AU: "[~@7 [f3,c4,f4]@3 [f3,c4,f4] f3!2 [f3,c4] f3 [f3,c4]]/2", // F5
AV: "[f3@2 f3@2 [f3,c4]@2 e3@2 a3@2 c4@2 d4@2 [c4,g4,c5]@6 [c4,g4,c5]@2 c4!2 [c4,g4,c5]@2 [c4,g4,c5]@2 c4 ~ [c4,g4,c5]@6 [c4,g4,c5]@4 [c4,g4,c5]@2 [c#4,g#4,c#5]@2 ~@2 d4@6 a3@4 c#4@4 a3@2 c4@2]/4", // F5 C5 C#5
AW: "[~@2 g3@2 a3@2 b3@2 d4@2 e4@2 a3@2 [b3,f#4,b4]@6 [b3,f#4,b4]@2 b3!2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [c#4,g#4,c#5]@2 [d4,a4,d5]@6 [d4,a4,d5]@2 d4!2 [d4,a4,d5]@2 e3@2 c#4@2 [a3,e4,a4]@6 [a3,e4,a4]@2 a3 ~ [a3,e4,a4]@2 g3@2 f#3@2 [e3,b3,e4]@6 [e3,b3,e4]@2 e3!2 [e3,b3,e4]@4 f#3@2 [g3,d4,g4]@6 [g3,d4,g4]@2 g3!2 [g3,d4,g4]@2 f#3@2 e3@2 [d4,a4,d5]@6 [d4,a4,d5]@4 [d4,a4,d5]@2 [c#4,g#4,c#5]@2 ~@2 [c4,g4,c5]@4 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2 [c4,g4,c5]@2 [b3,f#4,b4]@2]/8", // B5 C5 C#5 D5 A5 E5 G5 D5 …
AX: "[[c4,g4,c5] [b3,f#4,b4] [c4,g4,c5] [b3,f#4,b4] [c4,g4,c5] g3 f#3 [e3,b3,e4]@3 [e3,b3,e4]@2 [e3,b3,e4]!2 ~ [g3,d4,g4]@3 [g3,d4,g4]@2 [g3,d4,g4]!2 ~ [d4,a4,d5]@3 [d4,a4,d5]@2 [d4,a4,d5]!2 ~ [a3,e4,a4]@3 [a3,e4,a4]@2 [a3,e4,a4]!2 ~ [c4,g4,c5]@3 [c4,g4,c5]@2 [c4,g4,c5] b3 a3 [g3,d4,g4]@3 [g3,d4,g4]@2 [g3,d4,g4] [f#3,c#4] ~ [f3,c4]@2 e3 [f3,c4] e3 [f3,c4] e3 [f3,c4] e3]/8", // C5 B5 C5 B5 C5 E5 G5 D5 …
AY: "[[f3,c4]@2 e3@2 [f3,c4]@2 e3@2 [f3,c4]@2 [g3,d4]@2 ~@2 [a3,a5]@6 a3 ~ a3!2 g3 ~ g3 ~ c4 ~ c4@6 a3 ~ a3!2 d4@4 c4@2 d4@6 c4@2 a3!2 d4@4 c4 d4 a4@10 a4@2 g4 e4 d4@2 c4@6 d4@2 c4!2 d4@4 d4@2 d4@6 c4@2 a3 ~ c4@2 b3@2 ~@2 a#3@4 a3@2 a#3@2 a3@2 d4@2 f4@2 c4@4]/8", // F5 G5 A
AZ: "[c4@2 a#3@2 d4@2 f4@2 g4@3 d4 f4@2 d4@6 f4@2 d4@2 f3@2 g3@2 d4@2 c4@6 d4@2 a3@2 a3@2 c4@2 d4@2 c4@4 c4 ~ d4@2 c4@2 f4@2 f#4@2 g4@2 f4@2]/4",
BA: "[g4@2 g4@2 g4@2 g4 f4@3 g4 f4 a4 c5 d5 d5@2 c5 g4@2 g4 f4 e4 d#4@2 d#4!2 d4 g4 a#4 a4 c5]/4",
BB: "[a#4 d5 c5 d#5 d5 f5 c5 a#4@3 c5 a#4 c5@2 g4 a#4@3 c5 a#4 c5@2 g4 c5@3 c5!2 c5@2 g4 d6@3 f4@2 g4@2 a#4 a#4@3 c5 a#4 c5 d5!2 c5]/6",
BC: "d5!3 c5 d5!2 c#5 c5", BD: "d5 c#5 c5@2 c5 g4 a#4 c5", BE: "c5!2 g#4 d5 c5 d5 c5 a#4",
BF: "c5@4 c5@2 g4!2 d#5@4 c5 a#4 ~ a#4", BG: "f5@4 d#5 c5 ~ c5 g5@4 f5 d5 ~ d5",
BH: "a#5@3 g5 a#5@3 g5 a#5@2 f#5 a#5 g5@2 f5 d#5", BI: "c6@2 a#5@2 c6 a#5 g5 f#5 f5 d#5 c5 f5 d#5@2 d#6@2",
BJ: "[~@4 d#6@8 d6 d#6 d6@16 f6@30 ~@2 g6@30 ~@2 c7@18]/7", BK: "[~@5 c7@2 c7@25]/4", BL: "f#7",
})).s("gm_overdriven_guitar").gain(0.2).pan(0)
// other · overdriven guitar · "Gtr. III"
const overdriven_guitar_3 = note(`<
~@26 A@4 B@4 C@4 ~@4 D@2 E@4 ~@4 F@2 G@4 ~@132 H I J K L@4 M@7 N@5 O@7 P Q@4 R@2 S ~@90
>`.pickRestart({
A: "a4!8", B: "g4!8", C: "f4!8", D: "d4!8", E: "c4!8", F: "a3!8", G: "g3!8", H: "~@7 e5",
I: "c5 d5 g5 f5 c5 d5 g5 f5 c5 d5 g5 f5 c5 d5 g5 f5", J: "c5 d5 g5 f5!2 g5 e5@2 f5 g5 f5 g5@2 a#5 g5 f5",
K: "g5 a5 f5 g5 a5 f5 g5 a5 f5 g5 a5 f5 g5 a5 f5 g5",
L: "[a5 ~ e5 a5 ~ e5 b5 ~ f5 b5 ~ f5 c6@2 b5@24 b5@7 f#5 b5@18]/4",
M: "[~@6 b5@7 f#5 b5@16 d6@10 b5@4 c6@2 a#5@10 ~@4 d6@2 c6@14 f5@2 a5@14 c6@9 a#5@6 a#5@2 a5@3]/7",
N: "[g#5@4 c6@2 f6 c6@7 a5 c6@6 g5 c6 d6@2 f6 d6@4 b5 d6@6 a5 d6 e6]/5",
O: "[~@2 g6@2 e6@6 d6@4 d6@24 d6@7 a5 d6@24 d6@6 c6@2 a5@12 g5@2 a5 e5 g5@6 a#4 b4 ~ d5 e5 d5 ~ e5 a5 e5 ~ g5]/7",
P: "a5@2 b5@2 d6 a5 ~ b5 a5 b5 a5@2 g5 e5 a5 e5",
Q: "[g5@2 [b5,d6]@8 a5 c6 f6 c6 f6 d#6@12 f6 d#6 c6 g#6@8 g6@2 f#6@2 f6@2 d#6@8 e6@2 f6@2 f#6@2 g6@2 d6@4, ~@2 a5 ~@61]/4", // Bm
R: "[c6 a#6@6 a6@5 a6@4]/2", S: "b6 a6",
})).s("gm_overdriven_guitar").gain(0.2)
// other · distortion guitar · "Gtr. III"
const distortion_guitar = note("<~@14 A@6 ~@295>".pickRestart({
A: "[~ d#7@11]/6",
})).s("gm_distortion_guitar").gain(0.1)
// other · overdriven guitar · "Gtr. IV"
const overdriven_guitar_4 = note(`<
~@126 A@2 ~@2 B@3 C D@2 E@2 F G@2 H@3 I@2 J K@3 L@3 M N O P Q@2 R S@2 T@2 U V@2 ~@148
>`.pickRestart({
A: "[a3,e4,a4]/2", B: "[~ e5 f#4 g4 b4 d5 g5@6 b4@8 ~@2 c#5@2, a3 ~@2]/3", C: "e5@3 f#4", D: "[a4@3 ~]/2",
E: "[~@2 a5 e5 b4@10 a5 e5]/2", F: "a3 e5 d#5 c#5 g5 g4 d5@2", G: "a4/2", H: "[a3 f#4 g4 f#5 a4 f#5@2 c#5@17]/3",
I: "[a3 e5 d#5 c#5 g5 g4 d5@10]/2", J: "e5@3 ~", K: "[a3 e5 g#4 f#5 a4 a5 a4 c#5@7 a4@8 ~@2]/3",
L: "[a3 e5 d#5 c#5 g5 f#4 g4 d5@17]/3", M: "a3 f#5 g4 a5 a4 e5 b4 a4", N: "c#5 e5@6 c#5", O: "a5@2 c#5 a5@5",
P: "a3 e5 d#5 c#5 g5 g4 d5 f#4", Q: "f#5/2", R: "a3 e5 g4 f#5 a4 a5 a4 d5", S: "[c#5@3 e5]/2",
T: "[a3 e5 d#5 c#5 g5 f#4 g4 d5@5 d5 g4@3]/2", U: "f#4 g4 d5 g5 a5@2 f#4@2", V: "[e4 [e4,a4,c#5]@3]/2",
})).s("gm_overdriven_guitar").gain(0.05)
// bass · electric bass finger · "Bass"
const bass = note(`<
~@2 A@22 B@2 C ~ C ~ D ~ D ~ E ~ E ~@5 F ~ G ~ G ~@5 C ~ D ~ D ~@11 A@8 C ~@15 H@8 I@2 J K J L M@2 ~@57 N O ~@148
>`.pickRestart({
A: "[c#3@2 a2@2 c3@2 a2 c#3@2 c#3 a2@2 c3@2 a2@2]/2", B: "[c#3@2 a2@2 c3@2 a2 c#3@2 d3 d#3 e3 f3 f#3 g3 g#3]/2",
C: "a2!2 ~@6", D: "g2!2 ~@6", E: "f2!2 ~@6", F: "d2!2 ~@6", G: "c2!2 ~@6",
H: "[b2@2 ~@2 a#2@2 ~ b2@3 ~@2 a#2@2 ~@2]/2", I: "[c#3@2 ~@2 c3@2 ~ c#3@3 ~@2 c3@2 ~@2]/2", J: "c#3 ~ c3 ~",
K: "~@2 c3 ~", L: "~@4 c3@2 b2 ~", M: "[c#3@2 ~@2 c3@2 ~ c#3@3 ~@6]/2", N: "[a2,a3]!2", O: "[a2,a3]",
})).s("gm_electric_bass_finger").gain(0.31)
// bass · electric bass finger · "Bass" · soft notes
const bass_soft = note("<~@37 A ~@9 B ~@9 C ~@64 D@3 E D@3 F D@5 E D E D@5 E D@5 G D@5 E D@5 E D@3 ~@150>".pickRestart({
A: "~@4 f2 f2@2 ~", B: "~@4 c2 c2@2 ~", C: "~@4 g2 g2@2 ~", D: "a2!2", E: "a2@4 a2 e2 f#2 e2",
F: "~ a2 c3 a2 c3 d3 d3@2", G: "a2@3 a2 c3@2 d3@2",
})).s("gm_electric_bass_finger").gain(0.2)
// drums · kick
const kick = s("bd").struct(`<
A@20 ~@8 B ~ B ~ B ~ B ~ B ~@5 B ~ B ~ B ~@5 B ~ B ~ B ~@19 A@10 ~@155 B ~ B ~ B ~ B ~@66 C
>`.pickRestart({
A: "~ x ~ x", B: "x", C: "x!2 ~@14",
})).gain(0.41)
// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
A@20 ~@6 B ~ B ~ B ~ B ~ B ~ B ~@5 B ~ B ~ B ~@5 B ~ B ~ B ~@19 A@10 ~@155 B ~ B ~ B ~ B ~@67
>`.pickRestart({
A: "~@3 x ~@3 x", B: "~ x ~@6",
})).gain(0.15)
// drums · snare
const snare = s("sd").struct("<~@314 [~ x ~@6]>").gain(0.41)
stack(
overdriven_guitar, overdriven_guitar_2, overdriven_guitar_3, distortion_guitar, overdriven_guitar_4, bass, bass_soft,
kick, kick_soft, snare
)
More by Guns N' Roses
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.