0:00/0:00
// Cosi presto no — Biagio Antonacci
// 107 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 132 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(107/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(`<
~@20 A@2 B@2 A@2 C D A@2 C D E F C G H@2 I@2 J K D L J K M N O P D L Q K R S T U V W@2 U D X Y@4 Z@7 AA@7 AB@8 AC@4
AD@4 AE@5 AF@8 AG@7 AH@2 AI AJ@3 AK@8
>`.pickRestart({
A: "a1/2", B: "[f2@47 ~ g2@15 ~]/2", C: "f1", D: "g1", E: "c2", F: "a1", G: "g1@27 ~@5",
H: "[a1@9 ~@3 a1@12 g2@34 ~@6]/2", I: "[f1@12 c2@12 d#2@22 ~@2 g2@13 ~@3]/2", J: "a1@28 d1 ~@3", K: "d1",
L: "c2@15 ~ b1@16", M: "g1@3 b1", N: "c2@16 b1@15 ~", O: "a1@23 ~ b1@4 c2@4", P: "d2", Q: "a1@23 ~ a1@4 c1@4",
R: "g1@31 ~", S: "a1@27 ~@5", T: "a1@12 ~@4 a1@15 ~", U: "f1@21 ~@3 f1@7 ~", V: "g1@17 ~@3 d2@4 g2@8",
W: "[a1@46 ~@2 a1@15 ~]/2", X: "b1@25 ~@3 f#1 ~@3",
Y: "[b1@23 f#1@3 ~@5 g1@23 ~@5 g1@3 ~ a1@22 ~@2 e2@6 ~@2 b1@20 ~@8 f#1@3 ~ b1]/4",
Z: "[~@2 f#1 ~@3 b1@15 ~ f#1@4 ~@4 g1@21 ~@3 d2@7 ~ a1@31 ~ d1@31 b1@20 d1@4 e1@4 f#1@4 g1@32 a1@22 ~@2 e2@3 c2@3 ~ b1@4]/7",
AA: "[~@8 b1@12 a2@34 ~@6 g1@12 d2@12 f2@22 ~ a2@13 ~@3 b1@28 e1 ~@3 e1@31 a1@31 d2@7]/7",
AB: "[~@9 c#2@16 b1@27 e1 ~@3 e1@31 ~ a1@23 c#2@8 d2@16 c#2@14 ~ b1@22 ~@2 c#2@4 d2@4 e2@31 a1@32 d2@11]/8",
AC: "[~@4 c#2@16 b1@22 ~@2 b1@4 d1@3 e1@31 ~ a1@26 ~ a1@3 ~ d2@14]/4",
AD: "[~@2 c#2@12 e2@4 d3@4 b2@4 f#2@4 d2@3 b1@8 c#2@4 d2@4 e2@31 ~ a1@31 d2@15 ~]/4",
AE: "[c#2@15 b1@22 ~@2 b1@4 d1@4 e1@31 a1@30 ~@2 b1@27 ~@4 b1@19]/5",
AF: "[~@5 b1@4 d1@3 e1@31 ~ a1@27 a1@3 ~ d2@11 ~ d2@4 c#2@11 ~ c#2@3 ~ b1@8 c#2@3 ~@4 d2@4 f#2@4 ~@4 e2@19 ~ e1@15 a1@28 ~@4 a1@3 ~ a1@3 ~ a1@2 ~@2 a1@3 ~@5 a#1@5 ~@2 b1@8 f#1@4 b1@2 ~@2 f#1@2 ~@2 a1@7 ~]/8",
AG: "[b1@3 ~@5 e2@31 a1@32 d2@15 c#2@16 b1@22 ~@2 b1@3 d1@4 e1@31 ~ a1@30 ~ d2@5 ~ a2@4 d3@5 ~ c#3@6 a1@6]/7",
AH: "[~@4 b1@22 ~ b1@4 d1@4 e1@29]/2", AI: "~ a1@15", AJ: "[~@2 a1@60 ~ g1@33]/3",
AK: "[~@4 a1@76 ~@2 b0@143 ~@31]/8",
})).s("gm_electric_bass_finger").gain(0.47)
// chords · string ensemble 1
const string_ensemble_1 = note(`<
~@63 A ~@2 B@2 C@2 D@5 E@4 F@5 G@4 H@3 I J@3 K L@7 M@4 N@3 O P@4 Q@8 ~ R@8
>`.pickRestart({
A: "~@3 d4@4 ~", B: "[~@15 d4@4 c#4@8 a3@8 e4@12 ~@17]/2", C: "[~@21 c#4@7 ~@2 e4@10 c#4@3 ~@21]/2",
D: "[~@4 d4@8 c#4@8 e3@8 ~ [d3,f#3]@64 [g3,b3]@31 [a3,c#4]@29 ~@3 [f#3,d4]@4]/5", // D G A D
E: "[~@8 c#4@12 d3@39 ~ d4@11 e4@12 f#4@36 ~@9, ~@20 b3@101 ~@7, ~@59 g3@62 ~@7]/4",
F: "[~@11 c#4@4 a3@3 f#3@4 ~@4 d3@4 f#3@4 d4@3 ~@5 g3@15 ~ d4@47 c#4@14 ~ b3@12 ~@4 c#4@4 a3@3 f#3@4 ~@5 d3@4 f#3@4, ~@58 a3@61 f#3@16 ~@25]/5",
G: "[d4@3 ~@5 g3@15 [a3,d4]@47 [a3,c#4]@15 [f#3,b3]@17 c#4@4 a3@3 f#3@4 ~@4 d3@4 f#3@4 d4@3]/4", // D5 A B5
H: "[~@5 g3@15 ~ d4@47 c#4@14 [f#3,b3]@14, ~@21 a3@62 ~@13]/3", I: "~@3 c#4@4 a3@3 f#3@4 ~@5 d3@4 f#3@3 d4@3 ~@3",
J: "[~@3 g3@14 d4@48 ~ c#4@15 [f#3,b3]@11 ~@4, ~@17 a3@62 ~@17]/3", K: "~ c#5@4 a4@3 f#4@4 ~@5 d4@4 f#4@4 d5@3 ~@4",
L: "[~ g4@15 d5@39 d5@9 e5@7 f#5@6 ~ b4@12 ~@5 c#5@4 a4@2 f#4@4 ~@5 d4@4 f#4@4 d5@3 ~@5 g4@15 ~ d5@39 d5@9 e5@7 f#5@6 f#4@16 ~@2 c#5@3, ~@16 a4@61 f#4@16 ~@49 a4@61 b4@12 ~@9]/7",
M: "[a4@3 f#4@4 ~@5 d4@4 f#4@4 d5@3 ~@5 g4@15 d5@39 ~ d5@8 e5@7 ~ f#5@6 f#4@16 ~ c#5@4 a4@2, ~@43 a4@62 b4@12 ~@11]/4",
N: "[~ f#4@4 ~@5 d4@4 f#4@4 d5@3 ~@4 g4@15 ~ [a4,d5]@30 ~@2 [a4,d5]@3 ~ [a4,d5]@2 ~@2 a4@3 ~ [a4,e5]@3 ~@4 [f#4,f#5]@3 ~, ~@80 d5@3 ~@13]/3", // D5 A5 F#
O: "~@10 d5@4 c#5@4 a4@4 f#4@3 ~@7",
P: "[~@7 d5@4 f#4@4 d5@3 ~@5 g4@15 ~ d5@39 d5@9 e5@7 f#5@6 f#4@16 ~ c#5@4 a4@3 f#4@4, ~@39 a4@61 b4@12 ~@16]/4",
Q: "[~@5 d4@4 f#4@4 d5@3 ~@5 g4@15 d5@39 ~ d5@8 e5@7 ~ f#5@6 f#4@16 ~ c#5@4 a4@3 f#4@4 ~@5 d4@4 f#4@4 d5@3 ~@4 g4@15 ~ [d4,a4]@32 f#4@43 ~@19, ~@36 a4@62 b4@12 ~@5 b3@79 d4 ~@61]/8", // D5
R: "[~@2 a2@37 ~ [b2,e5]@73 ~@15, ~@78 a3@147 ~@31]/8", // E5
})).s("gm_string_ensemble_1").gain(0.2).pan(0.3)
// chords · distortion guitar
const distortion_guitar = note("<~@93 A@2 B@7 C@2 ~@2 D@2 ~ E F@3 ~ G@2 ~@2 H@2 ~@12>".pickRestart({
A: "[~@18 d3@26 ~@2 e3@4 d3@3 b2@4 f#2@7]/2",
B: "[~ b2@12 [b3,d4,g4]@2 ~ b3 [d4,g4]@32 ~@78 [d4,a4]@32 ~@65, ~@15 [d4,g4]@2 b3@207]/7", C: "[~@7 [d4,a4]@8 ~]/2",
D: "[~@13 [d4,a4]@16 ~@3]/2", E: "d4 c4 [a3,b3] g3 f3 [g2,e3] [a2,b2] [c3,d3] ~ d3@3 d3@2 ~@2 d3@3 ~ e3@4 ~@4 c#3@4",
F: "[~@4 b2@8 f#2@2 ~@2 b2@2 ~@2 f#2@2 ~@2 a2@7 b2@2 ~@3 [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@31 ~@25, ~@6 e3@5 ~@5]/3", // G
G: "[~@21 [d4,a4]@32 ~@11]/2", H: "[~@19 [d4,a4]@32 ~@13]/2",
})).s("gm_distortion_guitar").gain(0.34).pan(0.6)
// chords · distortion guitar
const distortion_guitar_2 = note("<~@39 A@8 B@8 ~@23 C@8 D@8 E@6 F@8 G@2 H I@7 J K@3 ~@10>".pickRestart({
A: "[~@32 g4@23 ~ g4@7 ~ f4@15 ~ f4@5 ~@11 c4@30 ~@2 e4@15 ~ g4@14 ~@2 g4@23 ~ g4@7 ~ f4@15 ~ f4@5 ~@3 f4@6 ~@2 c4@30 ~ g3, ~@30 g3@32 ~ a3@30 ~@2 a3@30 ~@2 g3@15 ~ [g3,d4]@15 ~ [g3,c4]@32 a3@30 ~@2 a3@30 ~@3, ~@31 c4@31 ~@2 c4@30 ~@98 c4@30 ~@34, ~@44 f4@19 ~@65]/8", // G5 C5
B: "[e4@15 ~ g4@14 ~@2 g4@23 ~ g4@7 ~ f4@15 ~ f4@5 ~@11 c4@30 ~@2 e4@15 ~ g4@14 ~@2 g4@23 ~ g4@7 ~ f4@15 ~ f4@5 ~@11 c4@30 ~@2, ~@15 [g3,d4]@15 ~ [g3,c4]@32 a3@31 ~ a3@30 ~@2 g3@15 ~ [g3,d4]@15 ~ [g3,c4]@32 a3@30 ~@2 a3@30 ~@3, ~@64 c4@31 ~@97 c4@30 ~@34, ~@88 f4@38 ~@90 f4@37 ~@3]/8", // G5 C5 G5 C5
C: "[~@28 a4@22 ~ a4@7 ~ g4@15 g4@5 ~@11 d4@29 ~@2 [a3,f#4]@15 ~ [e4,a4]@14 ~@2 a4@23 a4@7 ~@2 g4@14 ~ g4@5 ~@3 g4@6 ~@2 d4@29 ~@2 [a3,f#4]@9, ~@26 a3@31 ~ [b3,d4]@29 ~@2 b3@29 ~@18 a3@15 ~ [a3,d4]@31 b3@29 ~@3 b3@29 ~@12, ~@27 d4@31 ~@24 g4@37 ~@65 d4@29 ~@43]/8", // D A5 D Bm D5
D: "[~@7 a4@13 ~@2 a4@23 ~ a4@7 ~ g4@15 ~ g4@5 ~@10 [b3,d4]@29 ~@3 f#4@14 ~ [e4,a4]@14 ~@2 a4@23 ~ a4@7 ~ g4@15 ~ g4@5 ~@10 d4@29 ~@2 [a3,f#4]@14, ~@6 [a3,e4]@15 a3@31 ~ b3@31 ~@32 a3@15 a3@15 ~ a3@31 ~ [b3,d4]@29 ~@2 b3@29 ~@17, ~@22 d4@31 ~ d4@31 ~@63 d4@31 ~@77, ~@77 g4@37 ~@89 g4@37 ~@16]/8", // Bm A5 D A5 Bm
E: "[~@2 [e4,a4]@14 ~@2 a4@23 a4@7 ~ g4@15 ~ g4@5 ~@11 d4@29 ~@2 f#4@14 ~@2 a4@13 ~@2 a4@23 ~ a4@7 ~ [d4,g4]@16 g4, ~ a3@15 ~ [a3,d4]@31 b3@31 ~ b3@29 ~@2 a3@15 ~ [a3,e4]@15 a3@31 ~ b3@18, ~@49 d4@31 ~@63 d4@31 ~@18, ~@73 g4@37 ~@82]/6", // A5 G5 D5 A5
F: "[~@14 [b3,d4]@29 ~@3 f#4@14 ~ [e4,a4]@14 ~@2 a4@23 a4@7 ~@2 g4@15 g4@5 ~@11 d4@29 ~@2 [a3,f#4]@15 ~ a4@13 ~@3 a4@23 a4@7 ~ g4@15 ~ g4@5 ~, ~@7 g4@37 ~ a3@15 a3@15 ~ a3@31 ~ [b3,d4]@31 b3@29 ~@18 [a3,e4]@15 ~ [a3,d4]@31 b3@23, ~@77 d4@31 ~@24 g4@37 ~@65 d4@22]/8", // Bm A5 D Bm A5 D5
G: "[~@9 [b3,d4]@29 ~@3 f#4@12 ~@11, ~@2 g4@37 ~ a3@12 ~@12]/2", H: "~@8 a4@23 ~",
I: "[a4@7 ~ g4@15 ~ g4@5 ~@10 [b3,d4]@29 ~@3 f#4@14 ~ [e4,a4]@14 ~@2 a4@23 a4@7 ~@2 g4@15 g4@5 ~@11 d4@29 ~@2 [a3,f#4]@15 ~ a4@12, ~@7 b3@31 ~@32 a3@15 a3@15 ~ [a3,d4]@31 ~ [b3,d4]@29 ~@2 b3@29 ~@18 [a3,e4]@13, ~@8 d4@31 ~@185, ~@31 g4@37 ~@89 g4@37 ~@30]/7", // Bm A5 D D5 Bm A5
J: "~@4 a4@23 a4@5, ~@3 [a3,d4]@29", // D5
K: "[~@3 g4@15 ~ g4@5 ~@10 [b3,d4]@30 ~@32, ~@2 b3@31 ~@63, ~@3 d4@31 ~@62, ~@27 g4@38 ~@31]/3", // Bm
})).s("gm_distortion_guitar").gain(0.15).pan(0.9)
// other · string ensemble 1
const string_ensemble_1_2 = note("<~@86 A@5 B@4 C@8 D@3 ~ E@3 F G@4 H@4 I J K@3 L@8>".pickRestart({
A: "[~@22 f#4@35 ~ a4@4 b4@53 a4@25 c#5@8 d5@7 ~@5]/5",
B: "[~@4 c#5@3 a4@3 f#4@4 ~@5 d4@4 f#4@3 b4@56 ~@16 c#5@16 d5@8 d6@2 ~@4, ~@41 a4@20 ~@3]/4",
C: "[~ c#6@4 a5@2 f#5@4 ~@8 f#5@4 ~@73 c#6@15 d6@5 ~@3 d6@2 ~@6 c#6@4 a5@2 f#5@4 ~@8 f#5@4 b5@55 ~@17 c#6@16 d6@5 ~@14, ~@17 d5@4 ~@4 b5@56 ~@123 a5@37 ~@15, ~@78 a5@37 ~@28 d5@4 ~@109]/8",
D: "[~@12 d5@63 a5@4 e5@4 f#5@4 d5@5 ~@4]/3", E: "[~@10 d5@62 ~ f#5@3 ~ f#5@2 ~@2 f#5@3 ~ e5@3 ~@4 c#5@3 ~]/3",
F: "~@10 d6@4 c#6@4 a5@4 f#5@3 ~@7",
G: "[~@10 f#5@4 ~ b5@54 ~@17 c#6@16 d6@5 ~@3 d6@2 ~@6 c#6@3 a5@3 f#5@4, ~@8 d5@4 ~@57 a5@37 ~@22]/4",
H: "[~@7 f#5@4 b5@55 ~@18 c#6@16 d6@5 ~@2 d6@2 ~@6 c#6@3 ~ a5@2 f#5@4 ~@3, ~@5 d5@4 ~@57 a5@37 ~@25]/4",
I: "~@5 f#5@4 b5@23, ~@3 d5@4 ~@25", J: "~ d5@15", K: "[~ b5@26 f#5@4 d5@17]/3",
L: "[~@39 [e4,a4]@74 ~@15, ~@2 c#5@111 ~@15]/8", // A5
})).s("gm_string_ensemble_1").gain(0.26).pan(0.2)
// other · pad warm
const pad_warm = note("<~@94 A@8 B@8 C@8 D E@4 F@2 ~ G@4 ~@2>".pickRestart({
A: "[~@16 f#3@31 e3@63 f#3@16 e3@15 f#3@32 e3@62 ~@14 e3@7, ~@59 f#3@4 ~]/8",
B: "[~@11 f#3@31 e3@63 f#3@16 e3@16 f#3@31 e3@62 ~ f#3@12 ~@13]/8",
C: "[~@2 f#3@34 ~@2 e3@63 f#3@15 e3@16 f#3@31 e3@62 ~ f#3@14 e3@15 ~]/8", D: "~ f#3@15",
E: "[~ f#3, ~ e3@64 ~@63, ~@14 b3@17 ~]/4", F: "[g3@35 ~@29]/2", G: "[~@7 b3@46 ~@11]/4",
})).s("gm_pad_warm").gain(0.17)
// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
A@2 B C@3 D@4 E F G@2 E F H I@2 J K@4 L@2 E F G@2 E F H I@2 J K@4 M N O P M N O P M N O P M N Q@3 B F A@2 B F R@4 S@8
T@2 U@5 V@8 W@8 X@8 Y@4 Z@8 AA AB AC AD AE@7 ~@3
>`.pickRestart({
A: "[a2@56 g3@7 ~]/2", B: "f3@31 ~", C: "[g3@8 g3@4 b3@8 a3@4 ~@8 b2@11 ~ b2@23 ~ a2@28, ~@24 e3@23 ~@49]/3",
D: "[f3@3 g3@5 a2@8]/4", E: "f3", F: "g2", G: "[a2@7 a2@9]/2", H: "c3",
I: "[~@20 e3@3 ~@29 c4@12, a2 f3, ~@24 b3@35 ~@5, ~@7 c4@6 ~@3]/2", J: "g2@7 ~",
K: "[~@48 a4@4 ~@4 a4@7 ~@17 e4@4 ~@6 a4@20 ~@3 b4@15, a4@8 c4@8 e4@11 ~ e4@11 ~ e4@25 ~@3 e4@10 ~@10 c4@23 d4@17, ~@4 e4@8 a4@8 c4@10 ~@2 c4@10 ~@2 c4@7 ~ c4@17 ~@3 c4@11 ~@4 f3@23 g3@18, ~@24 a4@10 ~@2 a4@10 ~@18 a4@11 ~ a4@7 ~@6 f4@22 ~ g4@16]/4",
L: "a2/2", M: "[g3,c4]@15 ~", N: "[a3,c4,f4]@15 ~", O: "[a3,c4]@15 ~", P: "[c4,e4]@8 [b3,d4]@7 ~",
Q: "[[a3,c4]@30 ~@2 a2@56 g3@7 ~, ~@10 a3@9 ~@13, ~@31 [c4,e4]@26 ~@39]/3", R: "[b2@63 g3@32 a2@32 b2]/4",
S: "[~@27 b2@35 g3@32 a2@32 d3@31 ~@20 f#3@3 ~@29 d4@12 a2@28 ~@3 b4@4, ~@157 b2@32 g3@32 ~@35, ~@181 c#4@35 ~@40, ~@185 d4@24 ~@47]/8",
T: "[~@44 b4@4 ~@4 b4@7 ~ b4@4, f#4@8 b4@8 d4@10 ~@2 d4@10 ~@2 d4@7 ~ d4@16, ~@4 d4@8 f#4@11 ~ f#4@11 ~ f#4@25 ~@3, ~@10 b4@5 ~ b4@5 ~@11]/2",
U: "[~@12 f#4@4 ~@6 b4@20 ~@3 c#5@14 [a3,d4]@30 ~@2 [b3,d4,g4]@30 ~ [b3,d4]@30 ~ [d4,f#4]@7, f#4@8 b4@7 ~@5 d4@23 [e4,a4]@17 ~@100, ~@4 d4@11 ~@4 g3@23 a3@17 ~@101, ~@21 g4@22 ~@117]/5", // D5 G Bm D A5
V: "[~@9 [c#4,e4]@14 ~@2 [a3,d4]@30 ~ [b3,d4,g4]@30 ~@2 [b3,d4]@30 ~ [d4,f#4]@16 [c#4,e4]@14 ~@2 [a3,d4]@30 ~ [b3,d4,g4]@30 ~ [b3,d4]@30 ~@2 [d4,f#4]@11]/8", // C#m D5 G Bm D C#m D5 G …
W: "[~@4 [c#4,e4]@14 ~@2 [a3,d4]@30 ~@2 [b3,d4,g4]@30 ~ [b3,d4]@30 ~@2 f#4@15 [c#4,e4]@14 ~@2 [a3,d4]@30 ~ [b3,d4,g4]@30 ~ [b3,d4]@30 ~@2 [d4,f#4]@16, ~@57 d4@8 ~@63]/8", // C#m D5 G Bm C#m D5 G Bm …
X: "[[c#4,e4]@14 ~ [a3,d4]@30 ~@2 [b3,d4,g4]@30 ~ [b3,d4]@30 ~@2 [d4,f#4]@16 [c#4,e4]@14 ~ [a3,d4]@30 ~@2 [b3,d4,g4]@30 ~ [b3,d4]@30 ~ [d4,f#4]@16 [c#4,e4]@5]/8", // C#m D5 G Bm D C#m D5 G …
Y: "[~@11 [a3,d4]@30 ~ [b3,d4,g4]@30 ~ [b3,d4]@30 ~@2 [d4,f#4]@11 ~@12]/4", // D5 G Bm D
Z: "[~@5 [a3,d4]@32 ~@3 [b3,d4,g4]@30 ~ [b3,d4]@30 ~@2 f#4@15 [c#4,e4]@14 ~@2 [a3,d4]@30 ~@2 [b3,d4,g4]@30 ~ [b3,d4]@30 ~ [d4,f#4]@16 [c#4,e4]@12, ~@51 d4@8 ~@69]/8", // D5 G Bm C#m D5 G Bm D …
AA: "~ [a3,d4]@7", AB: "~@3 [b3,d4,g4]@29", AC: "~ [b3,d4]@15", AD: "~ [d4,f#4]@15",
AE: "[~@3 [f#4,c#5]@3 ~ [f#4,d5]@3 ~ [f#4,c#5]@3 ~ [f#4,d5]@2 ~@5 a3@3 ~@18 d4@4 c#4@8 d4@13 ~@17 a3@3 ~@16 e3@33 ~@11 e4@46 ~@30, b2@30 ~ g3@38 ~@19 b3@13 ~@44 b3@50 ~@29, ~ d4@21 f#4 ~@15 a3@30 a2@68 ~@6 b2@52 ~@30, ~@91 c#4@47 ~@9 d4@48 ~@29, ~@97 a3@41 ~@6 f#3@51 ~@29]/7", // F#5 D F#5 D
})).s("gm_electric_guitar_jazz").gain(0.34)
// chords · electric guitar jazz
const electric_guitar_jazz_2 = note(`<
A@2 B@2 C@2 D E F@4 G@4 H I J@2 K@2 L@5 M@5 N I J@2 K@2 O@2 ~@15 P@2 Q@3 R S@5 T@4 U V W X@6 ~@53
>`.pickRestart({
A: "[~@4 [e4,b4]@4 [e4,c5]@3 ~ [e4,b4]@4 [e4,c5]@19 ~ [e4,b4]@3 ~ [e4,c5]@3 ~ [e4,b4]@4 [e4,c5]@2 ~@6 [e4,b4]@3 ~@5]/2", // E5 C E5 C E5 C E5 C …
B: "[~@12 c4@4 b3@8 ~@12 g2@27 ~, ~ a3@3 ~@4, ~@3 c4@2 ~@3]/2",
C: "[~@16 b3@4 c4@4 b3@4 c4@4 b3@4 c4@2 ~@2 [e4,b4]@4 [e4,c5]@4 [e4,b4]@4 [e4,c5]@4 b4 [g4,a4] f4 e4 d4 [b3,c4] a3 ~, ~@8 e4@11 ~@13]/2", // E5 C E5 C Gsus2 Cmaj7
D: "~@2 c4 b3@2 c4@3, ~ a3@6 ~", E: "~@3 d4@29, g2, ~ d3@30 ~, ~ c4@15",
F: "[~@2 b3@5 c4@4 b3@4 c4@17 b3@4 c4@4 b3@4 c4@9 b3@9 ~@10 c4@4 b3@8 c4@16 ~@24 e4@4, e3@15 ~@7 g4@26 ~@4 g3@12, ~ a3@62 ~@5 a3@28 ~@4 d3@28, ~@27 b3@5]/4",
G: "[~ b3@4 c4@4 b3@4 c4@17 ~@2 b3@4 c4@4 b3@4 c4@9 b3@9 ~@10 c4@4 b3@8 c4@16 ~@9 b3@19, a3@31 ~@3 a3@14 ~@2 d3@14, e3@8 ~@3 g4@13 ~@2 g3@6]/4",
H: "~@25 c4@7, ~ e4@7, ~ g3@3, ~@3 g4@5", I: "~@3 g4@3 ~@2, ~ e4@5 ~@2, ~@8 c4@15 ~@9",
J: "[~@8 g3@3 ~@11 b3@10, ~@24 g3@15 ~ g3@24, ~ d4, ~@9 d3@7]/2", K: "[c5@12 b4@11 ~ a4@19 ~@13 a4@4 b4@4]/2",
L: "[c5@12 b4@12 ~ a4@23 g4@15 ~@2 b3@4 c4@4 b3@5 c4@17 ~ b3@4 c4@4 b3@4 c4@8 b3@9 ~@11 c4@4 b3@8 c4@12, ~@63 e3@30 ~@15 g4@52, ~@32 a3@31 ~@3 a3@14]/5",
M: "[~@28 e4@3 ~@2 b3@4 c4@4 b3@4 c4@17 ~@2 b3@4 c4@4 b3@4 c4@8 b3@9 ~@11 c4@4 b3@8 c4@16 ~@8 b3@20, ~@4 d3@27 e3@32 ~@69 d3@28, ~@4 g3@12 a3@31 ~@3 a3@14 ~@4 g3@12, ~@3 b3@5 ~@11 g4@13 ~@8]/5",
N: "~@3 c4, ~ e4@7, ~ g3@3, ~@3 g4@5", O: "[c5@12 b4@12 a4@24 g4@15 ~]/2",
P: "[c5@28 ~@4 b4@4 c5@3 ~ b4@4 c5@3 ~@5 [e4,b4]@3 ~@9, ~@31 e4@15 ~@18, ~@32 g4@15 ~@17]/2", // E5
Q: "[~@8 c4@4 b3@8 c4@10 ~@2 d4@29 ~@3 b4@4 c5@3 ~ b4@4 c5@18 ~@2, ~@2 a3@12 ~ g3@15 ~@2 e4@15 ~, ~@31 b3@29 ~@3 c4@31 ~@2]/3",
R: "[e4,b4]@4 [e4,c5]@4 [e4,b4]@4 [e4,c5]@2 ~@6 [e4,b4]@3 ~@9", // E5 C E5 C E5
S: "[~@8 c4@4 b3@8 c4@8 ~@3 d4@29 ~@4 c#4@4 d4@4 c#4@5 d4@17 ~@2 c#4@4 d4@4 c#4@4 d4@8 c#4@9 ~@10 d4@4 ~ c#4@7 d4@13, ~ a3@6 g2@8 ~@25, ~@29 d3@30 ~@3 f#3@30 ~@16 a4@51 ~, ~@30 c4@30 ~@3 b3@62 ~@7 b3@27 ~]/5",
T: "[~@27 f#4@3 ~ c#4@4 d4@4 c#4@4 d4@17 ~@6 d4@5 c#4@4 d4@8 c#4@9 ~@10 d4@4 c#4@8 d4@14, ~@3 e3@28 ~@97, ~@7 a3@24 b3@62 ~@5 b3@28 ~@2, ~@11 c#4@19 f#3@32 ~ c#4@5 ~@7 a4@51 ~@2]/4",
U: "~@10 c#4@19 ~@3, ~ e3@14 ~, ~@3 a3@12 ~", V: "~@22 d4@7 ~@3, ~ f#4@14 ~, ~@3 a3@12 ~, ~@5 a4@10 ~",
W: "~@5 a4@6 ~@5, ~ f#4@20 ~@11, ~@6 d4@15 ~@11",
X: "[~@13 a3@6 ~@22 c#4@19 d5@11 ~ c#5@11 ~ b4@19 ~@13 b4@4 c#5@4 d5@12 c#5@12 b4@24 a4@14 ~@6, ~@21 a3@15 ~ a3@24 ~@131, ~@29 e4@32 ~@131, ~@33 e3@28 ~@131]/6",
})).s("gm_electric_guitar_jazz").gain(0.34)
// chords · overdriven guitar
const overdriven_guitar = note(`<
~@24 A ~ B C A ~ B C A D@2 C E F G@2 ~@23 H I J K L M N O P Q@2 R@5 ~@53
>`.pickRestart({
A: "~@12 [e4,g4]@3 ~@5 [e4,g4]@3 ~@5 [e4,g4]@3 ~", B: "~@12 [g4,c5]@3 ~@5 [g4,c5]@3 ~@5 [g4,c5]@3 ~",
C: "~@12 [d4,g4]@3 ~@5 [d4,g4]@3 ~@5 [d4,g4]@3 ~", // G5
D: "[~@20 b3@3 ~ b3@4 c4@11 ~@5 [c4,g4]@3 ~@5 [c4,g4]@3 ~@5 [c4,g4]@3 ~]/2", E: "c5@7 ~ c5@4 b4@6 ~@2 b4@4 a4@8",
F: "a4@3 e5 ~ e5 ~ e5", G: "[c5@7 ~ c5@4 b4@6 ~@2 b4@4 a4@20 e5@4 ~@4 e5@4 ~@4 e5@4]/2",
H: "~@12 [f#4,a4]@3 ~@5 [f#4,a4]@3 ~@5 [f#4,a4]@3 ~", I: "~@4 [f#4,a4]@3 ~@25",
J: "~@11 [a4,d5]@3 ~@5 [a4,d5]@3 ~@5 [a4,d5]@3 ~@2", K: "~@3 [a4,d5]@3 ~@5 [e4,a4]@3 ~@5 [e4,a4]@3 ~@5 [e4,a4]@3 ~@2",
L: "~@11 [f#4,a4]@3 ~@5 [f#4,a4]@3 ~@5 [f#4,a4]@3 ~@2", M: "~@2 [f#4,a4]@3 ~@27",
N: "~@10 [a4,d5]@3 ~@5 [a4,d5]@3 ~@5 [a4,d5]@3 ~@3", O: "~@2 [a4,d5]@3 ~@5 [e4,a4]@3 ~@5 [e4,a4]@3 ~@5 [e4,a4]@3 ~@3",
P: "~@10 [f#4,a4]@3 ~@4 [f#4,a4]@3 ~@5 [f#4,a4]@3 ~@4", // F#m
Q: "[~ [f#4,a4]@3 ~@13 c#4@3 ~ c#4@4 d4@11 ~@5 [d4,a4]@3 ~@5 [d4,a4]@3 ~@5 [d4,a4]@3 ~@4]/2", // F#m D5
R: "[~@9 [e4,a4]@3 ~@5 [e4,a4]@3 ~@4 [e4,a4]@3 ~ d5@7 ~ d5@4 c#5@6 ~@2 c#5@4 b4@8 b4@12 f#5@4 ~@4 f#5@4 ~@4 f#5@4 d5@7 ~ d5@4 c#5@6 ~ c#5@4 ~ b4@19 f#5@4 ~@4 f#5@4 ~@4 f#5@4 ~@5]/5", // A5
})).s("gm_overdriven_guitar").gain(0.06).pan(0.3)
// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
~@25 A ~ B C A ~ B C A ~ D C ~ C ~@25 E ~@2 F G ~@2 H I ~ J K ~ K ~@54
>`.pickRestart({
A: "~@4 [e4,g4]@3 ~@5 [e4,g4]@3 ~@17", B: "~@4 [g4,c5]@3 ~@25", C: "~@4 [d4,g4]@3 ~@25", D: "~@4 [c4,g4]@3 ~@25",
E: "~@12 [f#4,a4]@3 ~@17", F: "~@3 [e4,a4]@3 ~@26", G: "~@10 [f#4,a4]@3 ~@19", H: "~@2 [e4,a4]@3 ~@27",
I: "~@9 [f#4,a4]@3 ~@20", J: "~ [d4,a4]@3 ~@28", K: "[e4,a4]@3 ~@29",
})).s("gm_overdriven_guitar").gain(0.03).pan(0.3)
// chords · piano
const piano = note(`<
~@35 A B@2 C@2 D@2 E F G@2 E H D@2 E F G@2 I J@2 K L M@2 K L ~@7 N@6 O@6 P@8 Q@8 R@8 S@4 T@7 U@2 V W X@2 ~@4 Y ~@4
>`.pickRestart({
A: "~@6 a4 b4", B: "[c5@12 b4@12 a4@17 ~@7 a4@8 a4@4 b4@4, e4@41 ~@3 c4@19 ~]/2",
C: "[c5@3 b4@3 a4@4 ~@6, e4@41 ~@23]/2", D: "[g4@31 ~ f4@28 ~@4, c4@61 ~@3]/2", E: "[a3,c4]@29 ~@3",
F: "[c4,e4]@8 ~@4 g4@3 ~, ~@16 d4@15 ~", G: "[~@8 f4@7 ~, c4@61 ~@3]/2", H: "[c4,e4]@16 d4@15 ~", I: "[a3,c4]@31 ~",
J: "[~@32 g4@3 ~ a4@3 ~ g4@3 ~ a4@2 ~@6 g4@10 ~@2, [g3,c4]@31 ~]/2", K: "[a3,c4]", L: "[b3,d4]@31 ~",
M: "[~@32 [g4,b4]@3 ~ [a4,c5]@3 ~ [g4,b4]@3 ~ [a4,c5]@2 ~@6 [g4,b4]@10 ~@2, [g3,c4]@31 ~]/2", // G Am G Am G C5
N: "[~@29 [d3,f#3]@30 ~@2 [b2,d3,f#3]@29 ~@3 [b2,d3]@29 ~@27 b4@3 c#5@4 d5@12 ~ c#5@11 b4@12, ~@125 [c#3,e3]@27 ~@4 f#4@36]/6", // D Bm C#m
O: "[~@12 b4@8 b4@4 c#5@4 d5@12 c#5@12 ~@24 [e3,a3]@7 [e3,a3]@6 ~@3 b3@30 ~ [d3,g3,b3,d4]@29 ~@2 d3@16 g4@14 ~ [a3,d4,f#4]@7, ~@8 d4@19 ~ f#4@62 ~ [d4,f#4]@30 ~@33 [a3,b3,d4]@29 ~@9, ~@52 b4@37 ~@103]/6", // A5 G D Bm7
P: "[~@5 f#4@2 ~@10 a4@7 ~ [b3,d4,f#4]@30 ~ [d3,g3,b3,d4]@29 ~@3 d3@15 g4@14 ~@2 f#4@10 ~@2 f#4@2 ~@10 a4@7 ~ [b3,d4,f#4]@30 ~ [d3,g3,b3,d4]@29 ~@2 d3@16 g4@14 ~ [a3,d4,f#4]@12, ~@10 [c#4,e4]@14 ~@63 d4@29 ~@3 d4@15 ~ [c#4,e4]@14 ~@107, ~@88 [a3,b3]@29 ~@2 a3@31 ~@63 [a3,b3,d4]@29 ~@14]/8", // Bm G Bm G D C#m Asus2 Bm7
Q: "[~ f#4@2 ~@9 a4@7 ~ [b3,d4,f#4]@30 ~@2 [d3,g3,b3,d4]@29 ~@2 d3@16 g4@14 ~ f#4@10 ~@2 f#4@2 ~@10 a4@7 ~ [b3,d4,f#4]@30 ~ [d3,g3,b3,d4]@29 ~@3 d3@15 g4@14 ~@2 f#4@10 ~@2 f#4@2 ~@2, ~@5 [c#4,e4]@14 ~@64 [a3,b3,d4]@29 ~@2 a3@31 ~@63 [a3,b3,d4]@29 ~@3 [a3,d4]@16, ~@114 d4@15 ~@2 [c#4,e4]@14 ~@111]/8", // Bm G Bm G C#m Bm7 D5 C#m
R: "[~@8 a4@7 ~ [b3,d4,f#4]@30 ~ [d3,g3,b3,d4]@29 ~@2 d3@16 g4@14 ~ d4@13 f#4@2 ~@9 a4@7 ~ [b3,d4,f#4]@30 ~@2 [d3,g3,b3,d4]@29 ~@2 d3@15 g4@14 ~@2 f#4@10 ~@2 f#4@2 ~@3 [c#4,e4]@4, [c#4,e4]@14 ~@64 [a3,b3,d4]@29 ~@2 a3@31 ~@64 [a3,b3,d4]@29 ~@2 a3@21, ~@109 f#4@10 ~@7 [c#4,e4]@14 ~@95 d4@15 ~@6]/8", // Bm G Bm G C#m Bm7 C#m
S: "[~@3 a4@7 ~ [b3,d4,f#4]@30 ~ [d3,g3,b3,d4]@29 ~@2 d3@16 g4@14 ~@2 [f#4,a4]@2 ~@2 [f#4,a4]@2 ~ [f#4,a4]@2 ~@3 [e4,a4]@2 ~@5 [c#4,a4]@3 ~, ~@73 [a3,b3,d4]@29 ~@26]/4", // Bm G F#m A5 F#m Bm7
T: "[~@5 [b3,d4,f#4]@33 ~@2 [d3,g3,b3,d4]@29 ~@2 d3@16 g4@14 ~ d4@13 f#4@2 ~@9 a4@7 ~ [b3,d4,f#4]@30 ~@2 [d3,g3,b3,d4]@29 ~@2 d3@15 g4@12, ~@71 [a3,b3,d4]@29 ~@2 a3@31 ~@64 [a3,b3,d4]@27, ~@102 f#4@10 ~@7 [c#4,e4]@14 ~@91]/7", // Bm G Bm G Bm7 C#m
U: "[~@4 f#4@10 ~@2 f#4@2 ~@10 a4@7 ~ [b3,d4,f#4]@28, ~@4 a3@31 ~@29, ~@4 d4@15 ~ [c#4,e4]@14 ~@30]/2", // Bm C#m
V: "~@3 [d3,g3,b3,d4]@29", W: "~ d3@8 g4@7, ~ [a3,b3,d4]@15", X: "[~ [a3,d4,f#4]@25 ~@6]/2",
Y: "~@4 d6@2 ~ e6 ~@2 a6 ~@5 c#7 ~@6 d7 ~@6 e7 ~",
})).s("gm_piano").gain(0.23).pan(0.8)
// drums · kick
const kick = s("bd").struct(`<
~@24 A B A B A B A B A B A@2 C D C ~ A@5 B A B A@5 B A@2 B A@3 B A B A E F G F H I H J K J D L M L N O P Q@2 R@2 S T U
V@2 W X Y Z AA AB@2 AC AD@2 AE@2 AF AG AH AI@2 AJ AK ~ AL AM AN@2 AO AP@2 AQ AR AS AT ~@11
>`.pickRestart({
A: "x ~@6 x", B: "x", C: "x ~@2 x ~@2 x ~", D: "~@7 x", E: "x ~@30 x", F: "~@27 x ~@3 x", G: "~@31 x", H: "~@15 x",
I: "~@13 x ~ x", J: "~@25 x ~@3 x ~@2", K: "~@29 x ~@2", L: "~@2 x ~@2 x ~@2", M: "~@2 x ~@3 x!2", N: "~@27 x ~@4",
O: "~@23 x ~@3 x ~@4", P: "~@11 x ~ x ~@2", Q: "~@21 x ~@3 x ~@6", R: "~@5 x!2 ~", S: "~@19 x ~@3 x ~@8",
// … 90 more lines
More by Biagio Antonacci
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.