0:00/0:00
// Il giorno di dolore che uno ha — LIGABUE
// 93 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 20, 4/4 at bar 21, 2/4 at bar 41, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 104 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(93/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(`<
~@3 A B C D E F G D H I J K L M N O P Q R S T U V W X Y V W X Z AA AB AC AD AE AF@2 AG AH AI AJ AK AL AM AJ AN AO AP
AQ AR AS AT AU@2 AV AW AX AY AZ AW BA BB BC BD@2 BE@3 BF@3 BG BH BI BJ AJ AK AH BK AJ AN BL BM BN BO BP BQ BR BS BP BT
BU BV BP BM BW BX BY BZ@3
>`.pickRestart({
A: "~@11 d2 d2@4", B: "g1", C: "f#1", D: "c2@15 ~", E: "a1", F: "g1@14 ~ f#1", G: "f#1@15 g1", H: "a1@15 a1",
I: "d2@7 d1 ~@2 d1@6", J: "c2@6 ~ c2 ~@2 c2@5 c2", K: "g1@7 g1 ~@2 g1@5 ~", L: "f#1@7 f#1 ~ f#1 f#1@5 g1",
M: "c2@7 c2 ~ c2 c2@4 ~ c2", N: "c2@6 d2!2 d2@5 ~@2 d1", O: "~ d1 d1@6 ~@8", P: "~@4 c2!4",
Q: "d2@2 d2@2 d2@2 d2@2 g1 ~ g1 ~ g1 ~ g1 ~", R: "g1@2 g1 ~ g1@2 g1@2 f#1 ~ f#1@2 f#1@2 f#1@2",
S: "f#1 ~ f#1@2 f#1@2 f#1 g1 c2 ~ c2 ~ c2 ~ c2 ~", T: "c2 ~ c2 ~ c2 ~ b1@2 a1 ~ a1 ~ a1 ~ a1 ~",
U: "a1 ~ d2 e2 g2 d2!2 e2 g1@6 ~ g1", V: "~@2 g1@5 ~ f#1@6 ~ f#1", W: "~ f#1 f#1@5 ~ c2@7 c2",
X: "~@2 c2@5 ~ a1@7 a1", Y: "~ a1 a1@4 g2 a2 g1@6 ~ g1", Z: "~ a1 a1@4 a1@2 d2@7 d1", AA: "~@2 d1@6 c2@6 ~ c2",
AB: "~@2 c2@5 c2 g1 ~ g1 ~ g1 ~ g1 ~", AC: "g1 ~ g1 ~ g1 ~ g1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~",
AD: "f#1 ~ f#1 ~ f#1 ~ f#1@2 c2@7 c2", AE: "~ c2 c2@6 c2@6 d2 d1", AF: "[d2@7 d1 ~ d1 d1@8 ~@7 d2!2 ~ d2@4]/2",
AG: "c2!2 d2!2", AH: "g1 ~ g1 ~ g1 ~ g1@2 g1 ~ g1 ~ g1@2 g1@2",
AI: "f#1 ~ f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1 g1", AJ: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ b1@2",
AK: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ d2 e2 g2 d2!2 e2", AL: "g1 ~ g1 ~ g1 ~ g1 ~ g1@2 g1 ~ g1@2 g1 ~",
AM: "f#1 ~ f#1@2 f#1@2 f#1@2 f#1 ~ f#1@2 f#1@2 f#1 g1", AN: "a1 ~ a1 ~ a1 ~ a1 e2 a2!5 g2 e2@2",
AO: "d2@4 d2@3 d1 ~ d1 d1@2 b1@2 c2@2", AP: "~@2 c2@2 c2@2 c2!2 ~ c2 c2@4 b1@2",
AQ: "g1@2 g1 ~ g1@2 g1!2 ~ g1!2 ~ g1 ~ g1 ~", AR: "g1 ~ g1 ~ g1 ~ g1!2 ~ g1!2 ~ g1 ~ g1@2",
AS: "c2 ~ c2 ~ c2 ~ c2!2 ~ c2!2 ~ c2@3 ~", AT: "c2@2 b1 ~ c2@2 b1 ~ d2@4 d2@2 ~ d1",
AU: "[~ d1 d1@4 ~ d1!2 d1@2 ~ d1@2 ~ d1@2 e2 g2 e2 g2 a2 g2 e2 c2@2 c2@2 c2 ~ c2 ~]/2",
AV: "d2 ~ d2 ~ d2 ~ d2 ~ g1@2 g1 ~ g1@2 g1!2", AW: "~ g1!2 ~ g1 ~ g1 ~ f#1@2 f#1 ~ f#1@2 f#1!2",
AX: "~ f#1 g1 ~ a1@2 b1@2 c2@2 c2 ~ c2 ~ c2!2", AY: "~ c2!2 ~ c2 ~ b1@2 a1@2 a1 ~ a1@2 a1!2",
AZ: "~ a1 g2 a2 g2 d2 g2 d2 g1@2 g1 ~ g1@2 g1!2", BA: "~ f#1 g1 ~ a1@2 b1@2 c2@2 c2 ~ c2@2 c2!2",
BB: "~ c2!2 ~ c2 ~ b1@2 a1@2 a1 ~ a1 ~ a1!2", BC: "~ a1!2 ~ a1@2 c2 ~ d2 ~ d2 ~ d2 ~ d2 d1",
BD: "[~ d1 d1@2 b1@2 c2@3 ~ c2 ~ c2@2 c2 c2@2 c2 c2@2 b1@2 a1@2 g1@2 g1 ~ g1 ~ g1!2]/2",
BE: "[~ g1 g1@2 a1@2 g1@2 f#1@2 f#1 ~ f#1 ~ f#1 f#1@2 f#1 f#1@2 g1@2 f#1@2 c2 ~ c2 ~ c2 ~ c2 c2@2 c2!2 ~ c2@2 c2 g1 c2@5 ~ c2 c1]/3",
BF: "[d2@7 d1 ~ d1 d1@38]/3", BG: "~@9 f#2@2 b2 d2@4", BH: "c2@4 c2@2 c2 ~ d2@2 d2 ~ d2@2 d2@2",
BI: "g1 ~ g1 ~ g1 ~ g1@2 g1@2 g1 ~ g1@2 g1@2", BJ: "f#1 ~ f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1 ~ f#1 g1",
BK: "f#1 ~ f#1@2 f#1@2 f#1@2 f#1@2 f#1 ~ f#1@2 f#1 g1", BL: "g1@2 g1 ~ g1 ~ g1!2 ~ g1!2 ~ a1@2 g1@2",
BM: "f#1@2 f#1 ~ f#1@2 f#1!2 ~ f#1 g1 ~ a1@2 b1@2", BN: "c2@2 c2 ~ c2@2 c2!2 ~ c2!2 ~ c2@2 b1@2",
BO: "a1@2 a1 ~ a1@2 a1!2 ~ e2 g2 e2 g2 a2 g2 e2", BP: "g1@2 g1 ~ g1@2 g1!2 ~ g1!2 ~ a1@2 g1@2",
BQ: "f#1@2 f#1 ~ f#1 ~ f#1!2 ~ f#1 g1 ~ a1@2 b1@2", BR: "c2@2 c2 ~ c2@2 c2!2 ~ c2!2 ~ c2 ~ b1@2",
BS: "a1@2 a1 ~ a1@2 a1!2 ~ a2 g2 e2 g2 a2 g2 e2", BT: "f#1@2 f#1 ~ f#1@2 f#1!2 ~ f#1!2 ~ g1@2 f#1@2",
BU: "c2@2 c2 ~ c2 ~ c2!2 ~ c2!2 ~ c2 ~ b1@2", BV: "a1!4 a1@2 a1!5 ~ a1 c2@2 ~",
BW: "c2@2 c2 ~ c2@2 c2!2 ~ c2!2 ~ c2@2 b1 a1", BX: "a1!5 ~ a1!5 ~ a1 b1@2 ~", BY: "c2!4 c2@2 c2!5 ~ c2 d2@2 ~",
BZ: "g1/3",
})).s("gm_electric_bass_finger").gain(0.56)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
A@2 B C D@3 C E@3 F@4 G H I@2 J@2 K L M N@8 O@6 P@2 Q R S T U@2 S T V W@2 X Y@2 Z@3 AA AB AC AD AE AB AC AD AF@6 AG@3
~ AH R S T U@2 S T V R S T U@2 S T V R S T U@2 S T AI AJ AK@2 ~
>`.pickRestart({
A: "[[d3,b3,d4]@2 [c4,d4]@4 d4@4 [g3,d4]@5 ~ [b3,d4]@15 ~, g3@9 ~@23, ~@2 d3@10 ~@3 [d3,f#3]@15 ~@2, ~@3 b3@4 ~@9]/2", // G Csus2 G5 Bm D
B: "[d3,b3] c4 b3 ~ d4 [d3,g3]@3, [g3,d4] d4 ~@2, ~ d3@2 [d3,g3]@2 ~@3", // G G5
C: "~@6 d3 d4, a2 b2 c3 ~, ~ c4@2 c4@2 c4@2 ~",
D: "[[d3,b3,d4]@2 [c4,d4]@4 d4@4 [g3,d4]@5 ~ [b3,d4]@15 ~ b3@2 c4@2 b3@2 ~@4 d3@6, ~@2 d3@10 ~@3 [d3,f#3]@15 ~ c3@2 ~ c3@4 [c3,g3]@4 ~@6, ~@3 b3@4 ~@9 g3@3 ~@5, ~@32 d4@4 d4@4 d4@5 ~@3]/3", // G Csus2 G5 Bm D C5
E: "[[d3,b3,d4]@2 [c4,d4]@4 d4@4 [g3,d4]@5 ~ [b3,d4]@15 ~ b3@2 c4@2 b3@2 ~@4 d3@6, g3@5 ~@11 [g3,d4]@2 ~@6, ~@2 d3@10 ~@3 [d3,f#3]@15 ~ c3@2 ~ c3@4 [c3,g3]@4 ~@6, ~@3 b3@4 ~@11 d4@2 d4@2 ~@2]/3", // G Csus2 G5 Bm G5 D C5
F: "[~@12 d3@2 ~@2 [a3,d4]@15 ~ g4@2 f#4@4 d4@9 ~ d4@2 d4@4 d4@9 g2, a2@4 b2@4 c3@4 ~@3 d3@17 ~@15 g2@15 ~@2, ~@2 c4@4 c4@4 c4@4 d4@2 ~@15 d4@6 ~@11 g3@15 ~]/4", // D5
G: "~@12 b2@2 ~ c3, f#2 g2 a2 ~, ~ d4@2 d4@2 d4@2 d4", H: "[c3,g3,c4]@14 ~ c4",
I: "[[c4,g4]@6 ~ [d4,a4] [d4,a4]@16 ~@8]/2", // C5 D5
J: "[~@8 d4@7 ~ [a3,d4]@8 ~@4 [g3,d4]@2 ~ [g3,d4], ~@7 [c3,g3]@8 d3@8 ~@9]/2", // D5 G5 C5
K: "~ [g3,d4] ~@2 [g3,d4]@2 ~ [g3,d4] f#3 ~ [f#3,d4] ~ [f#3,d4] ~@2 [f#3,d4]", // G5 D
L: "~ [f#3,d4] ~@2 [f#3,d4]@2 ~ [f#3,d4] [g3,c4] ~ [g3,c4] ~ [g3,c4]@2 ~ [g3,c4]", // D C5
M: "~ [g3,c4] ~@2 c4@3 [g3,c4] [a2,a3]@2 [a2,a3] ~ [a2,a3] ~ a3 [a2,a3], ~@4 g3 ~@11", // C5 A
N: "[~ a3 [a2,a3] ~ a3 a2 ~@2 [b3,d4]@2 [c4,d4]@4 d4@4 [g3,d4]@5 ~ [b3,d4]@15 ~ b3@2 c4@2 b3@2 ~@2 d4@2 d3@6 ~@14 d4@2 [d3,b3,d4]@2 [c4,d4]@4 d4@4 [g3,d4]@5 ~ [b3,d4]@15 ~ b3@2 c4@2 b3@2 ~@2 d4@2 d3@6 ~@6 c4@2, ~@7 d3@2 ~ d3@10 ~@3 [d3,f#3]@15 ~ c3@2 ~ c3@4 [c3,g3]@4 ~@6 a2@4 b2@4 c3@4 d3@4 ~@2 d3@10 ~@3 [d3,f#3]@15 ~ c3@2 ~ c3@4 [c3,g3]@4 ~@6 a2@4 b2@4, ~@7 b3@4 ~@9 d4@2 d4@2 ~@5 c4@2 c4@2 c4@2 ~@4 b3@4 ~@9 d4@2 d4@2 ~@5 c4@2 ~]/8", // A Bm Csus2 G5 Bm G Csus2 G5 …
O: "[~@4 d3@2 d4@2 [d3,a3,d4]@15 ~ [c4,e4]@14 ~@8 g4@2 ~@6 f#4 ~@7 g4 ~@5 g3@2 f#4@2 [g3,c4,g4]@14 g4!2 [c4,g4]@6 a4 [d4,a4], c3@4 ~@38 d4@8 d4@7 ~ d4@7 ~ d4@5 ~@25, ~@2 c4@4 ~@17 g3@15 ~@2 g4@6 ~@2 f#4@6 ~@2 g4@6 ~@2 f#4@5 ~@27, ~@22 g3@3 ~ g3@3 ~ g3@3 ~@15]/6", // D5 C C5 D5
P: "[[d4,a4]@15 ~]/2", Q: "~ e3 ~ c3 ~ f#3 g3@2, c3@3 ~ d3@4, ~ g3 ~@2",
R: "~@4 [g3,d4]@2 ~ [g3,d4] ~ [g3,d4] ~@2 [g3,d4]@2 ~ [g3,d4]", // G5
S: "f#3 ~ [f#3,d4] ~ [f#3,d4] ~@2 [f#3,d4] ~ [f#3,d4] ~@2 [f#3,d4]@2 ~ [f#3,d4]", // D
T: "[g3,c4] ~ [g3,c4] ~ [g3,c4]@2 ~ [g3,c4] ~ [g3,c4] ~@2 c4@3 [g3,c4], ~@12 g3 ~@3", // C5
U: "[[a2,a3]@2 [a2,a3] ~ [a2,a3] ~ a3 [a2,a3] ~ a3 [a2,a3] ~ a3 a2 ~@2 [b3,d4]@2 ~@2 [g3,d4]@2 ~ [g3,d4] ~ [g3,d4] ~@2 [g3,d4]@2 ~ [g3,d4], ~@15 d3@2 ~@15]/2", // A Bm G5
V: "[a2,a3]@2 [a2,a3] ~ [a2,a3] ~ a3 [a2,a3] ~ a3 [a2,a3] ~ a3 a2 ~@2", // A
W: "[~@6 e4@4 ~@6 c3@2 ~@4 d4@9 ~, ~@2 d3@14 ~@4 e3@11 ~, ~@4 a3@12 ~@2 g3@13 ~, ~@5 d4@4 ~@7]/2",
X: "~@5 g3@3, g3@2 g3@3 ~@3, ~ d3@7, ~@3 d4@5",
Y: "[~@2 g3@2 ~@6 g3@5 ~ c4@7 c4@3 c4@4 [g3,c4,e4] [c4,e4], ~@4 g3@5 ~@6 g3@14 ~@3, ~@3 d4@5 e4@7 ~]/2", // C
Z: "[[g3,c4,e4]@7 ~ [a3,d4,f#4]@7 [a3,d4,f#4]@2 ~ [a3,d4,f#4]@5 [a3,d4,f#4]@7 [a3,d4,f#4] [a3,d4,f#4]@9 ~@4 g3@4, ~@5 c3, ~@7 e3]/3", // C D
AA: "~ a3 g2@2, d3@7 ~@9, ~@2 f#3@5 ~@9", AB: "c3@2 b2@2 a2@2 g2@2 f#2@6 g2!2", AC: "c3@2 b2@2 a2@2 g2@2 c3@7 g3",
AD: "c4 b3 a3 e3 a2@2 b2@2", AE: "c3 d3 g2@2",
AF: "[c3@4 d3 e3 ~@2 a3@2 ~@4 f#3@3 ~@3 d4@2 ~@10 c4@8 ~@6 g4@2 ~@6 f#4 ~@7 g4 ~@5 g3@2 f#4@2 [g3,c4,g4]@14 g4!2 [c4,g4]@6 a4 [d4,a4], ~@6 d3@15 ~ c3@17 ~@5 g3@6 ~@2 g3@6 ~@2 g3@6 ~@30, ~@10 f#3@4 ~@4 f#3@4 ~@6 g3@4 ~@8 g4@6 ~@2 f#4@6 ~@2 g4@6 ~@2 f#4@5 ~@27, ~@12 d4@8 ~@6 c4@4 e3@9 ~@3 d4@8 d4@7 ~ d4@7 ~ d4@5 ~@25]/6", // C5 D5
AG: "[a4@35 ~@13, d4@11 ~@5]/3", AH: "~@3 e3 ~ f#3 g3@2, c3@6 ~@2 d3@7 ~, ~ e3@2 ~@5, ~ g3 ~@2",
AI: "a3 ~ a3!3 ~ a3!2 ~ a3!2 ~ a3 b3@2 ~", AJ: "c4 ~ c4!3 ~ c4!5 ~ c4 d4@3", AK: "[g3,d4]/2",
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.7)
// chords · electric guitar clean
const electric_guitar_clean_2 = note(`<
~@11 A@3 B C@2 D@2 E@2 F G H I ~@2 J K@2 L@2 M@3 ~@2 N O@2 ~ P Q R S P Q R T U V W X Y Z@2 AA AB AC AD AE AF AC AD AE
AG@6 AH@3 ~@2 AI Q R S AI AJ R AK@2 AL AM S AI AL AN AO AP AL AM S AI AL AN AQ AR AS@2 ~
>`.pickRestart({
A: "[~@16 f#4@14 ~@2 g4@2 ~@8 a3@5 ~, ~@15 [a4,d5]@15 ~ a3@11 ~@6, ~@31 d4@6 ~ d4@10, ~@17 f#4@7]/3", // D5
B: "[g3,b3]@2 [g3,c4]@4 [g3,b3]@9 ~, d3@3 ~", // G C5 G
C: "[[g3,b3]@2 [g3,c4]@4 [g3,b3]@4 g3@5 ~ [g3,d4]@14 ~ [g4,c5], d3@15 c3@14 ~@3]/2", // G C5 G G5 C5
D: "[[g4,c5]@5 ~ a4 [a4,d5] [a4,d5]@16 ~@8]/2", // C5 D5
E: "[~@8 [g4,c5]@7 ~ d5@8 g3 ~ g3 ~ g3 ~@2 g3, ~@7 e4@8 [f#4,a4]@8 ~@9]/2", // C5 F#m
F: "~@2 g3 ~ g3 ~ g3!2 f#3 ~ f#3 ~ f#3 ~@2 f#3", G: "~@2 f#3 ~ f#3 ~ f#3 ~ g3 ~ g3 ~ [g3,c4] ~ g3 [g3,c4]",
H: "~ [g3,c4] g3 ~ [g3,c4]@2 g3 [g3,c4] a3 ~ a3 ~ a3 ~ a3 [c4,a4]", I: "~ [c4,a4] ~@14", J: "~@2 a3 b3",
K: "[c4@4 [d3,g3] [e3,a3] g3@2 ~@2 d4@3 ~@5 d4@6 ~@6 e4 ~, ~@3 d3@2 ~@2 g4@5 ~@4, ~@2 g2@3 ~@3]/2", // G5 A5
L: "[[e4,f#4] ~ e4@2 d4@5 ~@5 d4@8 ~@10, ~@6 g3@5 ~@5]/2", // Esus2
M: "[~@4 [d3,g3] [e3,a3] g3@2 d4@4 f#3@10 ~@5 e4@9 ~@12, ~@3 d3@4 ~@4 c3@7 ~@6, ~@8 f#4@15 ~ c5@12 ~@12, ~@25 g4@11 ~@12]/3", // G5 A5
N: "~@6 [g3,c4]!2 [g3,c4]@6 [a3,d4]!2", O: "[[a3,d4]@31 ~]/2", P: "g3 ~ g3 ~ g3 ~@2 g3 ~@2 g3 ~ g3 ~ g3!2",
Q: "f#3 ~ f#3 ~ f#3 ~@2 f#3 ~@2 f#3 ~ f#3 ~ f#3 ~",
R: "g3 ~ g3 ~ [g3,c4] ~ g3 [g3,c4] ~ [g3,c4] g3 ~ [g3,c4]@2 g3 [g3,c4]", S: "a3 ~ a3 ~ a3 ~ [c4,g4]@5 ~@5",
T: "[a2,g3]@3 [b2,c4]@2 b2 [a2,c3]@2", U: "[a3,f#4]@13 ~@3", V: "[g3,e4]@7 [g3,e4] ~@2 [g3,e4]@5 ~",
W: "[g3,d4]@15 ~", X: "[g3,d4]@7 ~", Y: "[g3,e4]@15 ~", Z: "[[g3,e4]@8 [a3,f#4]@14 ~ [a3,f#4]@8 [a3,f#4]]/2",
AA: "~ [a3,f#4]@5 ~@2 [g3,e4]@4 [g3,e4]@4", AB: "[a3,f#4]@4 [a3,f#4]@3 ~ [g3,b3,d4]@8",
AC: "~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~ [a3,d4]@7 [f#3,a3,d4], ~@7 f#3@7 ~@2", // G D5 D
AD: "~@2 [f#3,a3,d4]@5 ~ [e3,g3,d4]@6 ~@2", AE: "~ [e3,g3,c4]@2 [g3,c4] [g3,e4]@4", AF: "[g3,e4] [a3,f#4] d4@2",
AG: "[[g3,e4]@4 a3 b3 a3@2 ~@4 d5@6 ~@2 d5@5 ~@7 c5@6 ~@2 [g3,d4]@2 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@2 f#3@2 [f#3,d4]@4 [f#3,d4]@4 d4@4 [f#3,d4]@2 g3@7 g4@6 ~ [g3,c4]!2 [g3,c4]@6 [a3,d4]!2, ~@2 f#4@2 a4@2 ~@7 c5@3 ~@32, ~@10 f#4@7 ~ f#4@6 ~@4 g4@4 ~@64, ~@30 e4@8 ~@34 c4@13 ~@11]/6", // C G5 D C5 D5
AH: "[a3@43 ~@5, d4@5 ~]/3", AI: "g3 ~ g3 ~ g3 ~ g3!2 ~@2 g3 ~ g3 ~ g3!2",
AJ: "f#3 ~ f#3 ~ f#3 ~@2 f#3 ~@2 f#3 ~ f#3 ~@3",
AK: "[[a2,g3]@6 [b2,c4]@4 b2@2 c4@2 ~@4 g3 ~ g3 ~ g3!2 ~@2 g3 ~ g3 ~ g3!2, ~@7 g2@5 ~@4]/2", // A7 Cmaj7
AL: "f#3 ~ f#3 ~ f#3 ~@2 f#3 ~ f#3!2 ~ f#3 ~ f#3 ~",
AM: "g3 ~ [g3,c4] ~ [g3,c4] ~ [g3,c4]!2 ~ [g3,c4] g3 ~ [g3,c4]@2 g3 [g3,c4]", // C5
AN: "g3 ~ [g3,c4] ~ [g3,c4] ~ g3 [g3,c4] ~ [g3,c4] g3 ~ [g3,c4]@2 g3 [g3,c4]", AO: "g3@5 ~ c4@4 ~@6, a2@11 ~@5",
AP: "g3 ~ g3 ~ g3 ~ g3!2 ~@2 g3 ~ g3 ~ g3!2, a3@13 ~@3", AQ: "a2@6 a2@6 a2 b2@3", AR: "c3@6 c3@5 ~ c3 d3@2 ~",
AS: "[g2,d3,g3]/2", // G5
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.4)
// chords · electric guitar clean · soft notes
const electric_guitar_clean_3 = note(`<
~@16 A B ~@2 C D E ~@6 F ~@11 G H I ~ G H I ~@12 J ~@3 J ~@3 K L ~@6 M H I ~ M N I ~ M O ~@2 M O P ~ M O ~@2 M O P ~@5
>`.pickRestart({
A: "~@14 [g4,c5] ~", B: "~@6 d5 ~@9", C: "~@14 g3 ~", D: "~ g3 ~@12 f#3 ~", E: "~ f#3 ~@5 g3 ~@2 c4 ~@3 c4 ~",
F: "~@10 e4 ~ e4 ~@3", G: "~@6 g3 ~@2 g3 ~@6", H: "~@6 f#3 ~@2 f#3 ~@5 g3", I: "~@2 c4 ~@3 c4 ~@9", J: "~@3 e3 ~@4",
K: "~@4 d4 ~@3", L: "~ f#3@2 ~@5", M: "~@9 g3 ~@6", N: "~@6 f#3 ~@2 f#3 ~@4 f#3 g3", O: "~@6 f#3 ~@8 g3",
P: "~@6 c4 ~@9",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.4)
// other · overdriven guitar
const overdriven_guitar = note("<~@48 A B C@2 D E F@3 G@2 ~@25 H I J K L M N O P@2 Q@2 R@2 S T U V@3>".pickRestart({
A: "~@14 a4 [b4,d5]", B: "f#5@4 g5 ~ d5@8 ~@2",
C: "[b4 ~ d5 ~ b4@2 a4@6 ~ e4 g4@4 d4 e4 g4 g4@3 e4 g4 a4 b4 ~ e5 ~ e5, ~@14 b4!2]/2", D: "d5@2 d5 g5@4 g3",
E: "d5 b4 a4 b4!2 a4 g4 e4 g4 [a4,b4] ~ g4@5", // Asus2
F: "[d5@4 [b4,c5] ~ b4@3 ~ f#4@9 ~ f#4 g4 d5 f#4@5 f#4 g4 d5 f#4@4 ~@3 d5@2 a5@6 d5@2]/3", G: "[b5 g5@2 ~]/2",
H: "a2@2 b2 ~ d3 ~@5 e4@4 b3@2, ~@6 b3@7 ~@3", I: "c4 b3 a3 b3 a3 g3 e3 g3 e3 d3 c3@4 b2@2",
J: "d3@3 e3@3 g3@2 ~ g3 d3 e3 g3@2 a3@2", K: "e3@3 g3@3 a3@4 e3@2 g3@2 a3@2",
L: "~@7 g4, b3@3 b3@3 b3@2, ~ g4@3 g4@3 ~", M: "~@8 a4@4 b3@2 a4 ~, b3@3 b3@3 ~@2, ~ f#4@3 ~@4",
N: "c5@2 g4@2 g4 f4 d#4 c4 f4 c4 d#4 e4 c4 a#3 g3@2", O: "a3@3 a3 ~ a3 a2 a3 ~ a3 ~ a3 ~ a3 a2 a3",
P: "[b3@2 g3@2 a3@2 b3@3 ~ g4@2 a4@2 b4@4 g3@2 a3@2 b3@4 a3@2 g3@4]/2",
Q: "[~ g3 a3 b3@2 g4 a4 a4@2 g4 a4 b4@2 b4@3]/2", R: "[~@2 g3@2 a3@2 b3@3 ~ g4@4 a4@4 b4@9 ~ d4 e4 g4 e4]/2",
S: "[g4,b4]@3 ~ a4@2 g4 e4 a4 e4 g4 a4 b3 a3 g3 e3", T: "a2@3 e3@3 ~@4 e3@5 ~, ~@6 a3@9 ~", U: "d4@3 e4@3 g4@2 a4@8",
V: "[g4@11 ~]/3",
})).s("gm_overdriven_guitar").gain(0.64).pan(0.7)
// chords · percussive organ
const percussive_organ = note(`<
~@12 A ~ B@2 C@2 ~ D E@5 ~ F ~@2 G@2 H@3 I@4 J@2 K L@4 M@4 N@4 O@4 P@8 Q@4 R@2 S T@2 ~ U V W@3 X@2 Y@2 Z@4 AA@2 AB@2
Z@4 AC@2 AD@3 AE ~@2
>`.pickRestart({
A: "a4 a5, [d5,f#5]", B: "d5/2", C: "[c5@3 ~]/2", D: "~ [c5,e5,g5]",
E: "[[d5,f#5,a5] [g5,b5]@2 [f#5,a5]@2 [c5,e5,g5]@4 ~, ~ d5@4 ~@5]/5", F: "~ a5 ~@2",
G: "[~@4 a5@5 b3 [a5,d6]@2 ~@4]/2", H: "[~ e6 c6@3 [e5,g5] a4@2 a5@2 ~@2, ~@3 [d5,f#5]@2 ~]/3",
I: "[~ g5 f#5 g5 [a4,f#5] [c5,e5,g5]@3, ~ d5@4 ~@3, ~ g4@2 ~@5]/4", J: "[d5,f#5,a5]/2",
K: "e5@4 e5@4 [f#5,a5,d6]@4 g3 [a3,b3] [c4,d4,e4,f4,g4,a4] [b4,c5,d5,e5,f5], [g5,c6] ~", // D Asus2 Dm7 Bdim C5
L: "[[g5,b5] ~ c6 c6, d5 [e5,g5], a5 ~@15 [f#5,a5]@16 ~@32, ~@7 d6@5 ~@4]/4", // G Em F#m
M: "[[g5,b5]@16 ~@16 c6@16 c6@12 [d4,e4] [f#4,a4] [b4,c5,d5,e5] [f#5,a5,b5], d5@32 [e5,g5]@29 ~@3, ~ [f#5,a5] ~@2, ~@7 d6@5 ~@4]/4", // G Dsus2 F#m Cmaj7 B7 Em F#m
N: "[[f#5,a5]@4 e5@4 ~@2 f#5 e5 ~@2 g5@2, d6 [d5,b5], c6 ~@15 g5@24 ~@24]/4", // F#m G
O: "[[e5,g5,c6]@24 [f#5,a5,d6]@32 [e5,g5,c6]@7 ~]/4", // C D C
P: "[[f#5,a5,d6]@8 [g5,b5]@16 [f#5,a5]@16 [e5,g5,c6]@16 [e5,g5,c6]@12 [f#5,a5,d6]@4 [g5,b5]@16 [f#5,a5]@14 [d#6,e6] ~@2 a#5 a5 ~@4 d6@9 [e5,g5,c6]@8, ~@8 d5@32 ~@32 d5@31 g6@2 ~@2 g5@10 ~@11, ~@13 e5@2 ~]/8", // D G F#m C D G F#m Emaj7 …
Q: "[~@4 [f#5,a5,d6]@20 g5@5 ~ g5 ~ a5@4 ~@4 g4@6 a5@2 g5@2 ~@6 f#4@8, ~@24 [e5,c6]@16 d5@10 d5@13 ~, ~@32 g5 ~@3 g5@10 ~@18]/4", // D C
R: "[[a5,e6]@2 g6 ~ a5@2 ~@2 [c6,e6]@16 [c5,e5,g5]@7 ~, d#6 ~@3 a#5 ~ g5@18 ~@8]/2", S: "[d5,f#5,a5]",
T: "[[a5,d6]@26 [f#5,g5,a5,b5,c6] [b4,c5,d5,e5] [e4,f#4,g4,a4] [b3,c4,d4] ~@2]/2", // D5 F#dim Cmaj7 F#m7 Bm
U: "[g5,c6,e6]@8 [a5,d6,f#6]@5 [g4,a4,b4] [c5,d5,e5,f5,g5] [a5,b5,c6,d6]", V: "[g5,b5,g6], [e6,f6] ~@15",
W: "[d6@3 ~@5 c6@4, [a5,f#6] [e5,g5]@2, ~@3 d6@5 ~@4]/3", // D Em
X: "[a5 g5 a5 g5 b5@2 g5@2 ~@5 e6 g6@2, d5, d6@12 d6@13 ~ d#6 ~@5, ~ [f#5,a5]]/2", // F#m
Y: "[a#5 a5 ~@14 c6@16, e5@31 ~, d6 ~, ~@2 g5@29 ~]/2",
Z: "[[g5,b5] ~ c6 c6, d5 [e5,g5], ~ [f#5,a5] ~@2, ~@7 d6@5 ~@4]/4", AA: "[[g5,b5]@4 ~@3 d6, d5@7 ~, ~ [f#5,a5]]/2",
AB: "[e5,g5,c6]/2", AC: "[[g5,b5] [f#5,a5], d5]/2",
AD: "[e5@16 e6@13 [b5,d6]@16 [g5,c6,e6]@3, g5@15 ~, c6@29 ~@19]/3", AE: "[g5,b5,d6]",
})).s("gm_percussive_organ").gain(0.32)
// chords · percussive organ · soft notes
const percussive_organ_soft = note("<~@13 A@7 ~@4 B@8 ~ C@2 D ~@36 E@2 ~@28 F@2>".pickRestart({
A: "[~@16 g4@16 b4@16 g4@23 ~ [a4,d5,a5]@16 [a5,d6,f#6]@12 ~@12, [c5,e5] ~@6, ~ g5@8 ~@5]/7", // D5 D C
B: "[~@4 g4@8 f#4@6 ~@2 g5@8 ~@16 f#5@5 ~@3 g5@6 f#5@2 g5@4, ~ [b4,d5]@4 [c5,e5]@4 d5@4 e5@3, ~@7 g4@4 ~@5, ~@36 b4@13 ~@3 c5@8 ~@4]/8", // Bm C
C: "[~@2 g5 ~, ~ [c5,e5]@2 ~]/2", D: "~ b4", E: "[d5@25 ~@7]/2", F: "[[b5,d6,g6]@29 ~@3]/2",
})).s("gm_percussive_organ").gain(0.16)
// chords · distortion guitar
const distortion_guitar = note(`<
~@16 A B@2 C D E F G H ~@4 I J@2 K@3 L M@2 N@2 O P Q R S P Q T S U V W@2 X Y@2 Z AA@4 AB@4 AC ~ AD@4 AE@4 AF AG AH AI
AJ AG AH AI AJ AG AH AI AJ AG AH AI AK AG AH AI AL AG AH AI AM AN AO@3
>`.pickRestart({
A: "~@15 [c3,g3]", B: "[[c3,g3]@6 d3 [d3,a3] [d3,a3]@16 ~@8]/2", C: "~ [g3,c4]",
D: "[a3,d4]@8 g2 ~ g2 ~ [g2,d4]@2 [g2,g4] ~", E: "g2 d4 g2 ~ [g2,d4]@2 g2 d4 f#2 ~ f#2 ~ [f#2,d4]@2 f#2 d4",
F: "f#2 d4 f#2 ~ [f#2,d4]@2 f#2 d4 c3 ~ c3 ~ [c3,c4]@2 [c3,g4] ~", // D C C5
G: "c3 c4 c3 ~ [c3,c4]@2 b2 c4 a2 ~ a2 ~ [a2,c4]@2 a2 [a3,e4,a4]", // C Am A5
H: "a2 [a3,e4,a4] a2 ~@2 a2!2 c4 ~@8, ~@2 [a3,c4] ~@5", I: "~@12 [e4,a4] ~ [e4,a4] ~",
J: "[[e4,f#4,a4] ~ [e4,a4] ~ d4 e4 d4@2 c3@14 ~@10]/2", // F#m7 A5
K: "[~@4 [d3,g3] [e3,a3] g3@2 f#3@14 ~@2 [e3,g3]@15 ~ g4@2 d4@2 g3@2 g4@2, ~@3 d3@7 ~@14]/3", // G5 A5 Em
L: "f#4@2 d4@2 g3@2 f#4@2 g4@2 d4@2 g3 ~ g4 ~", M: "[f#4@2 d4@2 g3 ~ f#4 ~ g4@12 ~@3 [c3,g3] [c3,g3]@6 ~ [d3,a3]]/2",
N: "[d3@27 ~@5, a3@3 ~]/2", O: "c3 e3 g3 e3 d3 f#3 g3 f#3",
P: "g2 ~ g2 ~ [g2,d4]@2 [g2,g4] ~ g2 d4 g2 ~ [g2,d4]@2 g2 d4", // G5 G G5
Q: "f#2 ~ f#2 ~ [f#2,d4]@2 g4@2 f#2 ~ [f#2,f#4]@2 [f#2,d4]@2 [f#2,g3]@2, ~@6 f#2 ~@9", // D F# D Gmaj7
R: "c3 ~ c3 ~ [c3,c4]@2 [c3,g4]@2 c3 c4 c3 ~ [c3,c4]@2 b2 c4", // C C5 C
S: "a2 ~ a2 ~ [a2,c4]@2 a2 ~ a2 ~ a4@2 ~ a2 [a2,e4] ~, ~@10 c4@5 ~, ~@10 a2 ~ g4@2 ~@2", // Am A5
// … 128 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.