0:00/0:00
// Vivo morto o X — LIGABUE
// 122 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 134 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122/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
const bass = note(`<
~@11 A B C D C E C D C F ~@3 G H I@2 J K L K M H I@2 J H N O P Q R S T U V W X I@3 Y I@3 Z H I@2 AA AB AC AD AE U V W
AF AG AH AI AJ AK AL AM AN AO AL AP@2 AQ@2 I N I Y AR AS AT AU H I@2 AA AV AW W AX U V W AF AY AZ AI AJ AO AL AM AN BA
AL BB BC BD BE BF BG BH BI BF BG BH BJ BF BG BH BK BF BG BL BM BN
>`.pickRestart({
A: "~@3 a2", B: "~ d1 f#1 d1 a1 d1 c#2@2", C: "g1 a1 ~ a1 ~ d1 d2@2", D: "g1@2 a1@2 ~@2 a1@2 c2@2 a1@2 d2@3 ~",
E: "g1@6 c2 c#2 d2@2 c2 ~ b1@4", F: "g1@6 g1 c2 d2@2 c2 ~ b1@4", G: "~@12 c3@3 ~", H: "g1 a1 ~ a1 ~ a1 c3 ~",
I: "g1 a1 ~ a1 ~ a1 a2 ~", J: "g1@4 ~@2 c2 c#2 d2 ~ c2 ~ b1@3 ~", K: "g1@2 a1 ~ a1@2 a2@4 g2@2 e2 d2 c2@2",
L: "g1@2 a1 ~ a1@2 c2@4 b1@2 a1@2 g1@2", M: "g1@6 g1 c2 d2 ~ c2 ~ b1@3 ~", N: "g1@2 a1@2 ~@2 a1@2 ~@2 e3!2 e3@2 ~@2",
O: "g1 a1 ~ a1 ~ e1 a1 e1", P: "g1@4 d2 d1 d2 e1", Q: "a1@2 a1@2 a2@2 a1@2 a1@2 a1 ~ a1@2 a1@2",
R: "b1@2 b1 ~ b1@2 b1@2 b1 ~ b1@2 b1@2 b1@2", S: "d2 ~ d2@2 c#2@2 c#2@2 b1@2 b1@2 a1@2 a1@2",
T: "g1@2 g1@2 f#1@2 f#1@2 g1@2 g1@2 e1 ~ e1@2", U: "a1!8", V: "b1!8", W: "d2!2 c#2!2 b1!2 a1!2", X: "g1!2 f#1!2 g1!4",
Y: "a1 ~ d1@2 f#1@2 d1@2 a1@2 d1@2 c#2@4", Z: "g1 ~ g1@2 ~@2 c2 c#2 d2 ~ c2 ~ b1@4",
AA: "g1@4 ~@2 c2 c#2 d2@2 d1@2 d2@2 e1@2", AB: "a1@2 a1@2 a2@2 a1@2 a1 ~ a1@2 a1@2 a1@2",
AC: "b1@2 b1@2 b1@2 b1 ~ b1@2 b1@2 b1@2 b1@2", AD: "d2@2 d2@2 c#2@2 c#2@2 b1@2 b1@2 a1 ~ a1@2",
AE: "g1@2 g1 ~ f#1@2 f#1@2 g1@2 g1 ~ e1@2 e1@2", AF: "g1!2 f#1!2 g1!2 b1!2",
AG: "d2 ~ d2@2 d2@2 d2@2 d2@2 d2@2 d2@2 d2 ~", AH: "f2@2 f2@2 f2@2 f2@2 g2@2 g2@2 f2 ~ e2@2",
AI: "a1@5 ~ a2@4 g2@2 e2@2 d2@2", AJ: "a1@5 ~ c2@4 b1@2 a1@2 g1@2", AK: "d2 ~ d2@2 d2@2 d2 ~ d2@2 d2@2 d2@2 d2@2",
AL: "f2!2 e2 f2 g2!2 f2 e2", AM: "a1@3 a1 g2@2 a2@4 g2@2 e2 d2 c2@2", AN: "a1@3 a1@3 c2@4 b1@2 a1@2 g1@2",
AO: "d2@2 d2@2 d2@2 d2 ~ d2@2 d2@2 d2@2 d2@2", AP: "[g1@15 f1]/2", AQ: "[g1@31 ~]/2", AR: "g1 a1@7",
AS: "g2 a2@2 a2!2 g2 e2@2", AT: "g2 a2@2 a2!2 g2 d3@2", AU: "~@12 a2@3 ~",
AV: "a1 ~ a1@2 a2@2 a1@2 a1 ~ a1@2 a1@2 a1@2", AW: "b1@2 b1@2 b1@2 b1 ~ b1@2 b1@2 b1 ~ b1@2",
AX: "g1@2 g1 ~ f#1@2 f#1@2 g1@2 g1@2 e1@2 e1@2", AY: "d2 ~ d2@2 d2@2 d2 ~ d2@2 d2@2 d2@2 d2 ~",
AZ: "f2@2 f2@2 f2 ~ f2@2 g2@2 g2@2 f2 ~ e2@2", BA: "d2@2 d2@2 d2@2 d2 ~ d2@2 d2@2 d2 ~ d2@2",
BB: "g1@2 g2!2 f2!2 e2!2", BC: "d2 ~ d2@2 c2@2 c2@2 b1@2 b1@2 a1@2 a1@2", BD: "g1@15 ~",
BE: "g2 g2@2 g2!2 ~ g2 g2@2 g2!2 ~ g2 ~ g2 a2", BF: "a1!2 ~ a1!2 ~ a1!5 ~ a1 ~ a1 ~", BG: "b1!5 ~ b1!5 ~ b1 ~ b1 ~",
BH: "d2 d2@2 d2!2 ~ d2!2 ~ d2 d2@2 d2 ~ d2 ~", BI: "g1!2 ~ g1!2 ~ g1!10",
BJ: "g1!2 ~ g1!2 ~ g1 g1@2 e2 g2 e2 a2 a1 c3 c#3", BK: "g1!2 ~ g1!2 ~ g1 g2!3 f#2!2 e2!2 c2@2",
BL: "d2 d2@2 d2!2 ~ d2!2 ~ d2!2 ~ d2 ~ d2 ~", BM: "g1", BN: "g2 a2 ~@6",
})).s("gm_electric_bass_finger").gain(0.72)
// other · overdriven guitar
const overdriven_guitar = note(`<
~@41 A B C D A E C D ~@10 F G A E C H A E C I J K L@2 M N O P@2 K ~@12 Q@4 A E C D A E C R J K L@2 M N O S T K U@4 V W
X Y V W Z Y V AA AB AC AD AE@2 AF AG
>`.pickRestart({
A: "a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ d4@2 c#4@2", B: "a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ e3@2 g#3@2",
C: "a3 ~ a3 ~ a3 ~ a3@2 a3 ~ a3 ~ d4@2 c#4@2", D: "g3@2 f#3@2 g3 a3 c#4@2",
E: "a3 ~ a3@2 a3 ~ a3 ~ a3 ~ a3 ~ e3@2 g#3@2", F: "[a4,a5]", G: "g2 d3", H: "g3@4 f#3@4 g3@2 a3 ~ c#4@4",
I: "g3@2 f#3@2 g3 a3 c#4 g3", J: "[d3,a3]@3 [d3,a3]@5", K: "[f3,c4] [g3,d4]",
L: "[e5@3 g5 e5 g5 [e5,g5] e5 [e5,g5] g5 e5 [e5,g5] g5 e5@5 [e5,g5] g5 e5 [e5,g5] g5 e5@5 [d5,e5]@2 d5 c5, d#5 ~@31]/2", // Em Dsus2
M: "[d3,a3]@3 [d3,a3]@5, a4@15 ~", N: "[f3,a3]@8 [g3,b3]@7 ~",
O: "[d#5,e5]@2 g5 e5 g5 [e5,g5] e5 g5 [e5,g5] e5 g5 [e5,g5] e5 g5 [e5,g5] e5", // Emaj7 Em
P: "[g5 [e5,g5] e5 g5 [e5,g5] e5 g5 e5@3 d5 c5 ~@4 [d3,a3]@6 [d3,a3]@10, ~@12 a4@19 ~]/2", // Em D5
Q: "[~@4 a5@47 ~@13, ~@4 a4@43 ~@17]/4", R: "g3@4 f#3@4 g3 ~ a3@2 c#4@2 g3@2",
S: "g5 [e5,g5] e5 g5 [e5,g5] e5 g5 a5@8 ~", T: "a5!4, [a3,d4]",
U: "[~@18 b4@21 ~@11 b4@13 ~, ~@14 d4@22 ~@10 d4@17 ~]/4", V: "~@3 e4, e4@5 ~ e4@5 ~@5, ~@3 a3@5 ~ a3@7",
W: "~@3 f#4, f#4@5 ~ f#4@5 ~@5, ~@3 b3@5 ~ b3@7", X: "~@12 f#4@3 ~, f#4@5 ~ f#4@5 ~@5, ~@3 a3@5 ~ a3@7",
Y: "~@3 g4, g4@5 ~ g4@5 ~@5, ~@3 b3@5 ~ b3@7", Z: "~@3 a3@3 ~@6 f#4@4, f#4@5 ~ f#4@5 ~@5, ~@9 a3@7",
AA: "~@3 f#4, f#4@5 ~ f#4@5 ~@5, ~@3 b3@5 ~ b3@6 ~", AB: "~@3 f#4, f#4@5 ~ f#4@5 ~@5, ~@3 a3@5 ~ a3@6 ~",
AC: "g4 f#4", AD: "~ [a3,c#4,e4] ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4] ~@3 [a3,c#4,e4] ~",
AE: "~ [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@3 [a3,d4,f#4] ~", AF: "[g2,g3,g4]",
AG: "[g3,g4] [a3,a4] ~@6", // G A
})).s("gm_overdriven_guitar").gain(0.36).pan(0.3)
// chords · distortion guitar
const distortion_guitar = note(`<
~@13 A B C D A B C D ~@20 E@4 F@4 ~@4 G H I@2 G H J@2 K@4 L@6 M@4 N@2 O@2 P@4 ~@7 Q G H J@2 K@4 R@6 M@4 N@2 O@2 P@4
~@8 S@2 T U S@2 T V W
>`.pickRestart({
A: "g2@2 a2 ~@7 d2@2 d3@4", B: "g2@2 a2 ~@3 a2@2 c3@2 a2@2 d3@4", C: "g2 a2 ~@3 d2 d3@2", D: "g2@8 d3@7 ~",
E: "[~@5 e5@2 a4 ~@5 e5 f#4 a4 ~@15 e5, e4@6 e4@10 f#4@5 ~ f#4@5 ~@5 f#4@5 ~ f#4@5 ~ f#4@4 e4@6 e4@5 ~ e4@4, ~@2 a4@5 ~ a4@6 ~@4 a4@6 a4@6 ~@4 a4@6 a4@9 ~ a4@5 ~ a4@8, ~@4 e5@5 ~@5 e5@5 ~ e5@5 ~@5 e5@5 ~ e5@5 ~ e5@4 e5@4 ~@2 e5@5 ~ e5@4 ~@2]/4",
F: "[~@5 e5@2 a4 ~@5 e5 f#4 a4 ~@15 e5, e4@6 e4@10 f#4@5 ~ f#4@5 ~@5 f#4@6 f#4@5 ~ f#4@4 e4@6 e4@5 ~ e4@4, ~@2 a4@5 ~ a4@6 ~@4 a4@6 a4@6 ~@4 a4@6 a4@9 ~ a4@5 ~ a4@8, ~@4 e5@5 ~@5 e5@5 ~ e5@5 ~@5 e5@5 ~ e5@5 ~ e5@4 e5@5 ~ e5@5 ~ e5@4 ~@2]/4",
G: "[g2,g3] [a2,a3] ~@3 g4 f#4@2, ~@5 [a3,d4]@3", H: "[g2,g3] [a2,a3] ~@3 [e4,g4] [g3,d4]@2, ~@5 b3@3",
I: "[[g2,g3]@2 [a2,a3]@2 ~@8 b3@11 ~@3 [a3,d4,f#4] ~ [a3,d4,f#4]@4, ~@10 [d4,g4]@13 ~@9]/2", // G A D G5
J: "[[g2,g3]@2 [a2,a3]@2 ~@6 [b3,d4,g4]!2 [g3,b3,d4]@11 ~ [f#4,a4]@8, ~@23 d4@8 ~]/2", // G A G F#m
K: "[~@5 e5@2 a4 ~@5 e5 f#4 ~@6 e5 ~@9 e5, e4@6 e4@10 f#4@5 ~ f#4@5 ~@5 f#4@5 ~ f#4@5 ~ f#4@4 e4@6 e4@5 ~ e4@4, ~@2 a4@5 ~ a4@6 ~@4 a4@6 a4@6 [a4,e5]@5 ~ e5@5 ~@5 e5@5 ~ e5@6 e5@4 ~@2, ~@4 e5@5 ~@5 e5@5 ~ e5@5 ~@9 a4@6 a4@9 ~ a4@5 ~ a4@8]/4", // A5
L: "[~@10 e5@4 a4@2 ~@10 e5@2 f#4@2 ~@12 e5@2 ~@16 e4@2 ~@2 [d4,a4]@15 ~ e4@7 ~ [b3,e4]@8, e4@6 e4@10 f#4@5 ~ f#4@5 ~@5 f#4@5 ~ f#4@5 ~ f#4@4 e4@6 e4@5 ~@4 a3@15 ~ [f3,a3]@7 ~ g3@8 ~, ~@2 a4@5 ~ a4@6 ~@4 a4@6 a4@6 [a4,e5]@5 ~ e5@5 ~@5 e5@5 ~ e5@6 e5@4 ~@34, ~@4 e5@5 ~@5 e5@5 ~ e5@5 ~@9 a4@6 a4@9 ~ a4@5 ~ a4@7 ~@33]/6", // D5 E5 F A5
M: "[a3@31 ~ [d4,a4]@15 ~ e4@7 ~ [b3,e4]@8, ~@31 a3@15 ~ [f3,a3]@7 ~ g3@8 ~]/4", N: "[[a3,a4]@31 ~]/2",
O: "[a4@15 ~ e4@7 ~ [b3,e4]@8, ~@15 [f3,a3]@7 ~ g3@8 ~]/2", P: "[~@16 g5@15 ~, g4@61 ~@3]/4",
Q: "[g2,b3,d4]@7 ~ [d3,a3,d4]@8", // G D5
R: "[~@10 e5@4 a4@2 ~@10 e5@2 f#4@2 ~@12 e5@2 ~@16 e4@2 ~@2 [d4,a4]@15 ~ e4@7 ~ [b3,e4]@8, e4@6 e4@10 f#4@5 ~ f#4@5 ~@5 f#4@5 ~ f#4@5 ~ f#4@4 e4@6 e4@5 ~@4 a3@15 ~ [f3,a3]@7 ~ g3@8 ~, ~@2 a4@5 ~ a4@6 ~@4 a4@6 a4@6 [a4,e5]@5 ~ e5@5 ~@5 e5@4 ~@2 e5@5 ~ e5@4 ~@34, ~@4 e5@5 ~@5 e5@5 ~ e5@5 ~@9 a4@6 a4@9 ~ a4@5 ~ a4@7 ~@33]/6", // D5 E5 F A5
S: "a3!2 ~ a3!2 ~ a3!2 ~ a3!2 ~ a3 ~ a3!2", T: "a3!2 ~ a3!2 ~ a3!2 ~ a3!2 ~ a3 ~ a3 ~", U: "a4 b4@15, d5@15 ~",
V: "g3@8 a3@7 ~, d4@15 ~", W: "g3 a3 ~@6",
})).s("gm_distortion_guitar").gain(0.36).pan(0.8)
// other · harmonica
const harmonica = note(`<
~@17 A B A C D@2 ~@24 E F ~@18 E G@3 ~@8 H@2 I J ~@18 E G@3 ~@8 K L M N O@4 P@2 Q O P@2 Q ~ P@3 ~@2
>`.pickRestart({
A: "g4@2 a4 ~ a4@2 f#4 a4 ~ g4 e4 ~ e4@4", B: "g4@2 a4 ~ a4 ~ f#4 a4 ~ g4 e4 ~ g4@3 ~", C: "g4 f#4", D: "a4/2",
E: "c#5@2 a4@2 a4@2 g4@2 c#5@2 a4 ~ a4@2 g4@2", F: "c#5@2 a4 ~ a4@2 g4@2 a4@4 a4@4",
G: "[c#5@2 a4 ~ a4@2 g4@2 a4@4 a4@25 ~@11]/3", H: "g4@2 a4 ~ g4 ~ a4@8 ~@2", I: "g4@2 a4 ~ g4 ~ a4@9 ~",
J: "g4@2 a4 g4@2 a4 g4@2 a4 g4@2 a4 g4@2 ~@2", K: "g4 a4 ~@6", L: "g4@2 a4 ~@13", M: "c#5 d5 ~@6", N: "e5@9 e5!7",
O: "e5", P: "a4!2 ~ a4!2 ~ a4!2 ~ a4!2 ~@5", Q: "a4!2 ~ a4!2 ~ a4!2 ~ a4 a4@2 ~@4",
})).s("gm_harmonica").gain(0.58)
// other · guitar harmonics
const guitar_harmonics = note(`<
~@13 A ~ A ~ A ~ A ~ B C B ~ B C B ~ D@3 ~ E F@2 ~ G H B ~@13 B C B ~ B C B ~@29 I ~ B C B ~@40
>`.pickRestart({
A: "~@4 [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~@5", B: "~@4 a2 ~ a2 ~ a2 ~ a2 ~@5", C: "~@4 a2 ~@3 a2 ~ a2 ~@5",
D: "~@3 a3@5", E: "~@6 a#1 a2 [a2,e4]@8", F: "[g3@2 ~@2 a2 ~@3 a2 ~ a2 ~@9 a2 ~ a2 ~ a2 ~ a2 ~@5, ~@2 a3@29 ~]/2",
G: "~@6 a2 ~ a2 ~ a2 ~@5", H: "~@6 a2!3 ~ a2 ~@5", I: "~@10 a3!3 ~@3",
})).s("gm_guitar_harmonics").gain(0.35)
// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
~@4 A B C D E F@3 G H@3 I H@3 J ~@3 K H L@2 M N O N I P L@2 Q H L R@2 S T U V W X Y Z AA AB AC G H L@2 M H L@2 AD@2 T
U V AE X Y Z AF AG@2 AH AF AG@2 AH AF AI@3 AJ@2 AA AB AK AL AM@3 AN H L@2 AD@2 T U V AE X Y Z AF AG@2 AH AF AG@2 AH AF
AO@3 AP@2 AQ AR AS AT@8 AU AV AR AW AX AY
>`.pickRestart({
A: "~@11 [d3,d4] [d3,d4]@2 c3 [g2,a2,b2]", B: "a2@2 a3@3 ~ a2@2 a3@3 ~ d4@2 c#4@2",
C: "a2@2 a3@4 a2@2 a3@3 ~ d3@2 g#3 ~", D: "~@2 a3@4 a2 ~ a3@4 d4@2 c#4@2",
E: "a2@2 d3@2 f#3@2 d3@2 a3@2 d3@2 ~@2 [a2,e3,a3]!2, ~@3 c#4", F: "[a2,e3,a3]/3",
G: "a3@2 d3 ~ f#3 ~ d3 ~ a3 ~ d3 ~ c#4@4", H: "[g2,d3] [a2,e3] ~@6", I: "[g2,d3] [d3,a3]",
J: "g2@2 a#2 b2 [d3,a3]@4, d3 ~", K: "[b3,d4,g4] [a3,d4,f#4]", L: "[g2,g3] [a2,a3] ~@6",
M: "[g2,g3,d4,g4] [d3,a3,d4,f#4]", N: "[g2,d3]@2 [a2,e3]@2 a2@2 a3@4 g3@2 e3 d3 c3@2, ~@2 e3@3 ~@3",
O: "[g2,d3] [a2,e3] a2 c3@2 b2 a2 g2, ~ e3@2 ~", P: "[g2,d3]@2 [a2,e3]@2 ~@2 a2 a3 [a2,a3]@8",
Q: "~@2 g4@2 f#4 e4 d4@2, [g2,g3,d4]@8 [d3,a3]@7 ~", // G5 D5
R: "[[g2,g3]@2 [a2,a3]@2 ~@6 d4@4 ~@6 g4@4 f#4@4 f#4@3 ~, ~@7 g4@3 ~@6, ~@16 [g2,g3,d4]@8 [d3,a3,d4]@7 ~]/2", // G A G5 D5
S: "~ c#4@2 [a3,b3]@5, e3, a3@5 ~@11", T: "[b2,f#3,b3]@3 [b2,f#3,b3]@5", U: "[d3,d4]@6 [d3,d4]@9 ~, a3@15 ~",
V: "[g2,g3,d4]@6 [g2,g3,d4]@9 ~", W: "~@2 c#4@3 ~ [a3,b3]@10, e3, a3@3 ~@5", X: "[f#3,b3]@3 [f#3,b3]@5, b2",
Y: "d4@2 c#3 ~ b2 ~ a2 ~, a3@15 ~, d3 ~@5 d4@9 ~", Z: "g2 ~@3 f#2 ~@3 g2 ~@3 g2@2 ~@2, [g3,d4]@6 [g3,d4]@9 ~",
AA: "a2@2 a3@4 ~@2 a3@3 ~ d4@2 c#4@2, ~@3 a2@2 ~@3", AB: "a2 ~ a3@4 ~@2 a3@4 d3@2 g#3@2, ~@3 a2@2 ~@3",
AC: "a2 a3@2 a2 a3 ~ d4 c#4, ~@10 a2@5 ~",
AD: "[~@4 g4@4 f#4@2 e4@2 d4@3 ~@3 c#4@4 [a3,b3]@10, [g2,g3,d4]@8 [d3,a3]@7 e3@16 ~, ~@8 a3@3 ~@5]/2", // Asus2 G5 D5
AE: "~ c#4@2 [a3,b3]@5, e3, a3@3 ~@5", AF: "[d3,a3]",
AG: "[~@4 e4@4 ~@8 a2@5 ~ a3@4 g3@2 e3@2 d3@2, f3@6 ~@2 g3@4 e4@9 ~@11, ~@2 a3@5 ~@3 b3@5 ~@7 g3 ~@9]/2",
AH: "a2@5 ~ c3@4 b2@2 a2@2 g2 ~, ~@6 b2 ~@9",
AI: "[~@4 e4@4 ~@4 e4@2 ~@2 g3@29 ~ [f2,a#3]@2, f3@3 ~ g3@2 ~ g3 ~@16, ~@2 a3@5 ~@3 b3@4 ~ [g2,d3]@31 ~@2]/3", // A#5 G5
AJ: "[~ g4@14 ~, [g2,b3]@15 ~]/2", AK: "a2 a3@2 ~ a3 ~ d4 c#4, ~@6 a2@4 a2@5 ~",
AL: "~@2 d3@2 f#3@2 d3 ~ a3@2 d3 ~ c#4@4", AM: "[[g2,d3]@2 [a2,e3]@43 ~@3]/3",
AN: "[g2,d3,g4]@4 g4 f#4 e4@2, ~ [d3,a3]", // G5 D5
AO: "[~@4 e4@4 ~@4 e4@2 ~@2 g3@29 ~ [f2,a#3]@2, f3@3 ~ g3@2 ~ g3 ~@16, ~@2 a3@5 ~@3 b3@4 ~ [g2,d3]@30 ~@3]/3", // A#5 G5
AP: "[~ d5@14 ~, [g2,b3]@15 ~]/2", AQ: "[a2,e3,a3]@7 ~", AR: "[b2,f#3,b3]@7 ~", AS: "[d3,a3,d4]@15 ~",
AT: "[[g3,d4,g4]@7 ~ a3@7 ~ b3@7 ~ f#4@8, ~@15 [a2,e3]@15 ~ [b2,f#3]@15 ~ [a3,d4]@16 ~]/4", // G5 A5 B5 D5
AU: "[g3,d4,g4] [b3,d4,f#4]", AV: "[a2,a3,e4]@7 ~", AW: "[d3,a3,f#4]@15 ~", AX: "[g2,g3,d4]@15 ~",
AY: "[g2,g3,d4] [a2,a3,e4] ~@6", // G5 A5
})).s("gm_overdriven_guitar").gain(0.28).pan(0.7)
// chords · distortion guitar
const distortion_guitar_2 = note(`<
~@4 A B C D E D C D E F G H I F G H J K@4 L@4 M N O P Q@4 R@4 S T U V S T U W X Y Z AA AB@4 AC@3 AD S AE U V S T U AF
AG AH AI AJ AG AH AI AJ AG AK@5 X Y X AA AL@3 AM AN AO AP AD AQ AE U V S T U AF AG AH AI AJ AG AH AI AJ AG AR AS@4
AT@2 AU AV@2 AW@2 AV@2 AW@2 AX AY AW@2 AX AZ
>`.pickRestart({
A: "~@11 [d3,a3] [d3,a3]@2 ~ [g2,a2,b2]", B: "d3 ~@5 a2 ~ a2 ~@3 d4 ~ c#4@2, a2@5 ~@5 a2@5 ~, ~@2 a3@9 ~@5",
C: "~@6 a2 ~ a2 ~@3 d3 ~ g#3@2, a2@5 ~@5 a2@5 ~, ~@2 a3@9 ~@5",
D: "~@6 a2 ~ a2 ~@3 d4 ~ c#4@2, a2@5 ~@5 a2@5 ~, ~@2 a3@9 ~@5", E: "a2 d3 f#3 d3 a3 d3 c#4@2",
F: "g2 a2 ~@4 [d3,a3,d4,f#4]@2", G: "g2 a2 ~ a2 c3 a2 [d3,a3,d4,f#4]@2", H: "g2 a2 ~@4 [d3,d4,f#4]@2",
I: "[g2,b3,d4,g4] [d3,a3,d4,f#4]", J: "~@4 g4@4 g4@2 f#4@5 ~, [g2,g3,d4] [d3,a3,d4]",
K: "[[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@4 a2 ~ a2 ~ [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@2 a2 ~@5 [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 a2 ~@3 a2 ~ [a2,d4] ~ [e3,a3,d4]@2 b3@2 [g2,d3,b3]@7 ~ [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4, ~@12 d4@6 ~@10 b3@6 ~@12 g3@9 ~@9, ~@46 d3 ~@17]/4", // Asus4 A A5 A A5 A D5 Dsus2 …
L: "[[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@4 a2 ~ a2 ~ [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@2 a2 ~@5 [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 a2 ~@3 a2 ~ a2 ~ [e3,a3,d4]@2 b3@2 [g2,d3,b3]@7 ~ [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4, ~@12 d4@6 ~@10 b3@6 ~@12 g3@9 ~@9, ~@46 d3 ~@17]/4", // Asus4 A A5 A A5 A Dsus2 G …
M: "g2 ~ a2 ~ a2 ~ a3@4 g3@2 e3 d3 c3 ~", N: "g2@2 a2 ~ a2 ~ c3@4 b2@2 a2@2 g2@2",
O: "g2@2 a2 ~ a2 ~ a3@4 g3 ~ e3 d3 c3 ~", P: "[g2,b3,d4,g4]@2 [a3,d4,f#4]!2, ~ d3",
Q: "[[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@4 a2 ~ a2 ~ [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@2 a2 ~@5 [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 a2 ~@3 a2 ~ a2 ~ [e3,a3,d4]@2 b3@2 [g2,d3,b3]@8 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4, ~@12 d4@6 ~@10 b3@6 ~@12 g3@9 ~@9, ~@46 d3 ~@17]/4", // Asus4 A A5 A A5 A Dsus2 G …
R: "[[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@4 a2 ~ a2 ~ [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@2 e4 [a3,e4]!2 ~ [a3,e4] ~ [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4] ~ a2 ~@3 a2 ~ a2 ~ [e3,a3,d4]@2 b3@2 [g2,d3,b3]@7 ~ [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4, ~@12 d4@6 ~@10 b3@6 ~@12 g3@9 ~@9, ~@46 d3 ~@17]/4", // Asus4 A A5 A A5 A Dsus2 G …
S: "[a2,a3]@2 [e3,a3] ~ [e3,a3] ~ [a2,e3,a3]@2 [e3,a3] ~ [e3,a3] ~ [a2,e3,d4]@2 c#4@2", // A A5 Asus4
T: "[b2,f#3,a3]@2 f#3 ~ a3 ~ [b2,f#3,a3]@2 a3 ~ [f#3,a3] ~ [b2,e3]@2 g#3@2", // B7 F#m E5
U: "a3 ~ d3@2 ~@2 [c#3,a3]@2 a3 ~ [b2,a3]@2 d4@2 [a2,c#4]@2", // F#m B7 A
V: "d3@2 g2@2 a3 ~ [f#2,d3,a3] ~ a3 ~ [g2,d3] ~ [d3,a3]@2 e2@2, a3 ~@15", // D G5 D5
W: "d3@2 g2@2 a3 ~ [f#2,d3,a3] ~ a3 ~ [g2,d3] ~ a3@2 g2@2, a3 ~@11 d3 ~@3", // D G5
X: "a2 a3@2 ~ a3 ~ d4 c#4, ~@6 a2@4 a2@5 ~", Y: "a2 ~ a3@4 a2@2 ~@2 a2@2 d3@2 g#3@2, ~@2 a3 ~",
Z: "a2 a3@2 a2 a3 ~ d4 c#4, ~@10 a2@5 ~", AA: "a2 ~ d3@2 f#3@2 d3@2 a3@2 d3@2 c#4@4",
AB: "[[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@4 a2 ~ a2 ~ [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@2 a2 ~@5 [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 a2 ~@3 a2 ~ a2 ~ [e3,a3,d4]@2 b3@2 [g2,d3,b3]@7 ~ [d3,f#3,a3,d4]@8, ~@12 d4@6 ~@10 b3@6 ~@12 g3@9 ~@9, ~@46 d3 ~@17]/4", // Asus4 A A5 A A5 A Dsus2 G …
AC: "[[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@4 a2 ~ a2 ~ [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@2 a2 ~@5 [a3,e4,a4]@4 [a3,e4,a4]@2 [a3,c#4,e4,a4]@2 a2 ~@3 a2 ~ a2 ~ [e3,a3,d4]@2 [d3,g3,b3]@2, ~@6 d4@3 ~@5 b3@3 ~@7]/3", // Asus4 A A5 A A5 A Dsus2 G
AD: "[g2,d3,g3,b3]@7 ~ [d3,f#3,a3,d4]@8", // G D
AE: "[b2,a3]@2 f#3 ~ a3 ~ [b2,f#3,a3]@2 a3 ~ [f#3,a3] ~ [b2,e3]@2 g#3@2, f#3 ~@15", // B7 F#m E5
AF: "d3@2 g2@2 a3 ~ [f#2,d3,a3] ~ a3 ~ [g2,d3] ~ c#4@2 g2@2, a3 ~@11 d3 ~@3", // D G5
AG: "[d3,a3]@2 [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // D5
AH: "[f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~", // F5 G5
AI: "a2@5 ~ a3@4 g3@2 e3@2 d3@2, ~@6 g3 ~@9", AJ: "a2@5 ~ c3@4 b2@2 a2@2 g2@2, ~@6 b2 ~@9",
AK: "[[f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~@3 d4@29 ~ d4@4 b4@29 ~, ~@3 [g2,g3]@6 ~@7]/5", // F5 G5 G
AL: "[[g2,g3]@2 [a2,a3]@39 ~ [a2,a3]!2 ~@4]/3", AM: "[g2,g3,d4] [d2,d3,d4]",
AN: "[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@4 a2 ~ a2 ~ [a3,d4,e4,a4]@4", // Asus4 A Asus4
AO: "[a3,d4,e4,a4]@2 [a3,c#4,e4,a4]@2 ~@2 a2 ~@5 [a3,b3,e4,a4]@3 ~", // Asus4 A Asus2
AP: "[a3,b3,e4,a4]@2 [a3,c#4,e4,a4]@2 a2 ~@3 a2 ~ a2 ~ [e3,a3,d4]@2 [d3,g3,b3]@2", // Asus2 A Dsus2 G
AQ: "[a2,a3]@2 [e3,a3] ~ [e3,a3] ~ [a2,e3,a3]@2 [e3,a3] ~ [e3,a3] ~ [a2,e3,d4]@2 c#4 ~", // A A5 Asus4
AR: "[f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ a#3@2", // F5 G5
AS: "[~@2 g4@26 ~@2 b3@4 [g3,g4]@29 ~, g2@29 ~@35, b3@27 ~@37]/4", // G
AT: "[[a2,e3,a3]@13 ~ [b2,f#3,b3]@15 ~ [d3,a3,d4] d3]/2", AU: "[d3,a3,d4]@15 ~",
AV: "[[g2,d3,g3]@14 ~@2 a2@14 [b2,f#3,b3]!2, ~@7 [e3,a3]@8 ~]/2", AW: "[[b2,f#3,b3]@7 [d3,a3,d4]@9]/2",
AX: "[g2,d3,g3]@15 ~", AY: "[a2,e3,a3]@14 [b2,f#3,b3]!2", AZ: "[g2,d3,g3] [a2,e3,a3] ~@6",
})).s("gm_distortion_guitar").gain(0.28)
// chords · distortion guitar · soft notes
const distortion_guitar_soft = note(`<
~@4 A ~@10 B ~@3 B ~ C D@2 ~ C D@2 ~@5 C E F ~ C G F ~ H I J K H I J K ~@4 C D@2 ~ C E F ~ H I J K H I J K ~@20 L ~ C
E F ~ M I J K H I J K ~@15 N ~@15
>`.pickRestart({
A: "~@14 [c3,g3] [e3,f3]", B: "~@3 a3", C: "~@6 [a2,a3] ~ a3 ~ a3 ~@5",
D: "[~@4 [a2,a3] ~ a3 ~ [a2,a3] ~ [a2,a3] ~@9 a3 ~ [a2,a3] ~ a3 ~ a3 ~@5, ~@8 c#6@23 ~]/2", // A
E: "~@4 [a2,a3] ~ a3 ~ [a2,a3] ~ [a2,a3] ~@5", F: "~@4 a3 ~ [a2,a3] ~ a3 ~ a3 ~@5", G: "~@6 a3 ~@9", H: "~@7 e3",
I: "~@4 f#3 ~@3 f#3 ~@7", J: "~@2 a3@2 a3 ~@11", K: "~@2 a3@2 ~@4 d3 ~ a3 ~@5", L: "~@12 [a2,a3] ~@3", M: "~@14 e3 ~",
N: "~@15 [a3,d4]", // D5
})).s("gm_distortion_guitar").gain(0.16)
// drums · kick
// … 97 more lines
More by LIGABUE
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.