0:00/0:00
// Cosa ti fai — Rossi Vasco
// 145 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(145/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 · acoustic bass
const bass = note(`<
A B C D A E F@2 A B C D G H F@2 A B C D A E F@2 A B C D G H I J K@2 L M N O P M Q R S T U V W@2 A B C D X@6 Y Z AA AB
Y Z AC AD AE Z P AF AG V P M AH R P AI AJ@2 AK M AL Z P M AM AN AO AP Q Z AC AQ AE AR AS
>`.pickRestart({
A: "c2@3 g1@4 f1", B: "f1@15 ~", C: "f1@6 g1@8 c2 ~", D: "c2 ~@15", E: "f1@7 ~", F: "[f1@6 g1@6 c2@17 ~ c2@2]/2",
G: "c2@3 g1@4 g#1", H: "a1@2 ~@2 c2@2 f1@9 ~", I: "f1@3 g1@4 c2", J: "c2", K: "[c2@3 g1@4 f1@2 f1!7]/2",
L: "f1@2 f1@2 f1@2 g1@2 g1@2 g1@2 g1 ~ c2@2", M: "c2!8", N: "c2!3 g1!5", O: "f1@2 f1 ~ f1@2 f1@2 f1@2 f1@2 f1@2 f1 ~",
P: "f1!3 g1!4 c2", Q: "c2!3 g1!4 f1", R: "f1@2 f1@2 f1@2 f1@2 f1@2 f1@2 f1 ~ f1@2",
S: "f1@2 f1@2 f1@2 g1@2 g1 ~ g1@2 g1@2 c2@2", T: "c2@2 c2@2 c2@2 c2@2 c2 ~ c2@2 c2@2 c2@2",
U: "c2 ~ c2@2 c2@2 g1@2 g1 ~ g1@2 g1@2 f1@2", V: "f1 ~ f1@2 f1@2 f1@2 f1 ~ f1@2 f1@2 f1@2",
W: "[f1 ~ f1@2 f1 ~ g1@8 c2@14 a1@2 g1@2]/2", X: "[c2@6 g1@8 f1@75 ~ a#1@4 [g1,a1] [d#1,f1]]/6",
Y: "c2@2 c2 ~ c2 ~ g1@2 g1@2 g1 ~ g1 ~ f1@2", Z: "f1!8", AA: "f1@2 f1@2 f1@2 g1@2 g1@2 g1@2 g1@2 c2 ~",
AB: "c2 ~ c2@2 c2@2 c2@2 c2 ~ c2@2 c2@2 c2@2", AC: "f1@2 f1 ~ f1 ~ g1@2 g1@2 g1@2 g1@2 c2@2",
AD: "c2 ~ c2@2 c2@2 c2@2 c2@2 c2@2 a1 g1 e1 c1", AE: "c2 ~ c2@2 c2@2 g1@2 g1@2 g1@2 g1@2 f1@2",
AF: "c2@2 e1 ~ e1@2 f1 ~ f1 ~ f#1 ~ f#1 ~ g1@2", AG: "c2 ~ c2 ~ c2@2 g1 ~ g1 ~ g1@2 g1@2 f1 ~",
AH: "c2@2 c2@2 c2@2 g1 ~ g1 ~ g1 ~ g1 ~ f1@2", AI: "c2@2 c2@2 c2@2 c2 ~ c2 ~ c2@2 a1@2 g1@2",
AJ: "[c2@2 c2@2 c2@2 g1 ~ g1 ~ g1@2 g1@2 f1@4 f1@2 f1@2 f1@2 f1@2 f1@2 f1 ~ f1@2]/2",
AK: "f1 ~ f1@2 f1@2 g1@2 g1@2 g1@2 g1@2 c2@2", AL: "c2!3 g1@2 g1!2 f1", AM: "c2@2 c2@2 c2@2 g1@2 g1@2 g1 ~ g1 ~ f1@2",
AN: "f1@2 f1@2 f1@2 f1 ~ f1 ~ f1@2 f1@2 f1@2", AO: "f1@2 f1 ~ f1 ~ g1 ~ g1 ~ g1 ~ g1 ~ c2@2", AP: "c2!5 a1 g1 c1",
AQ: "c2@2 c2@2 c2@2 c2 ~ c2 ~ c2@2 c2@2 c2 ~", AR: "f1@2 f1@2 f1@2 f1@2 f1@2 f1@2 f1@2 f1 ~",
AS: "f1 ~ f1@2 f1@2 f1@2 f1@2 g1@2 c2@2 ~@2",
})).s("gm_acoustic_bass").gain(0.64)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
A@2 B C@3 D@2 A@2 B E@3 D@2 F@2 G@4 H@2 A@2 B I@3 J K ~@16 A@2 B L M@2 N@4 O P Q R S T U V W X Y Z AA AB AC AD AE AF
AG AH AI AJ AK@2 AL AM AN AO AP AQ AR AS AT AU AV AW AX@2 AY
>`.pickRestart({
A: "[[c3,e3,g3,c4,e4]@3 [g3,b3,d4,g4]@4 ~@2 [c4,f4]@7, ~@7 a3@9]/2", B: "~@2 [c4,f4] ~@2 [c4,f4] a3@2, a3@3 a3@3 ~@2",
C: "[~@2 [c4,e4]@12 ~@2 [e3,g3,c4,e4]@6 [g3,b3,d4,g4]@8 ~@4 [c4,f4]@2 ~@4 [c4,f4]@7 ~, g3@15 c3@6 ~@9 a3@6 a3@11 ~]/3", // C G F5
D: "[[f3,a3,c4,f4]@6 [g3,b3]@4 g3@2 [c3,e3,g3,c4]@19 ~, ~@3 [d4,g4]@3 ~@10]/2", // F G C G5
E: "[~@2 [c4,g4]@13 ~ [e3,g3,c4,e4]@6 [g3,b3,d4,g4]@8 ~@4 [c4,f4]@2 ~@4 [c4,f4]@7 ~, g3@15 c3@6 ~@9 a3@6 a3@11 ~]/3", // C5 C G F5
F: "[[e3,g3,c4]@3 [b3,d4,g4]@4 ~@2 [c4,f4] a3@2 [c4,f4] ~@2 [c4,f4], ~@6 g3@7 ~ a3@6 ~@6 a3@6]/2", // C G F5
G: "[a3@4 [c4,f4]@2 a3@4 [c4,f4]@2 a3@2 ~@4 g4@12 ~@2 [e3,g3,c4,e4]@6 [g3,b3,d4,g4]@8 a3@4 [c4,f4]@2 ~@4 [c4,f4]@7 ~, ~@14 g3@16 ~ c3@6 ~@15 a3@11 ~]/4", // F5 C G F5
H: "[[f3,a3,c4,f4]@6 [g3,b3]@4 g3 ~ [c3,e3,g3,c4]@19 ~, ~@3 [d4,g4]@3 ~@10]/2", // F G C G5
I: "[~@2 [c4,g4]@12 ~@2 [e3,g3,c4,e4]@6 [g3,b3,d4,g4]@8 a3@4 [c4,f4]@2 ~@4 [c4,f4]@7 ~, g3@15 c3@6 ~@15 a3@11 ~]/3", // C5 C G F5
J: "[f3,a3,c4,f4]@6 g3@4 g3@5 ~, ~@6 [b3,d4,g4]@9 ~", K: "[c3,e3,g3,c4]", L: "~@2 [c4,g4]@13 ~, g3@15 ~",
M: "[[e3,g3,c4]@3 [b3,d4,g4]@4 ~@2 [c4,f4] a3@2 [c4,f4] ~@2 [c4,f4], ~@6 g3@7 ~ a3@6 ~@12]/2", // C G F5
N: "[~@2 f4 [g3,c4]@29]/4", O: "[g3,c4]@2 [g3,c4]@2 ~@2 [g3,d4]@3 ~ [g3,d4]@2 ~@2 [f3,c4]@2",
P: "~@4 [f3,c4]@2 ~ f3 [f3,c4]@2 ~@2 c4@3 ~, ~@12 f3 ~@3", // F5
Q: "[f3,c4]@2 [f3,c4]@3 ~ [g3,d4]@2 ~@2 [g3,d4]@4 [g3,c4]@2", // F5 G5 C5
R: "~@2 [g3,c4] ~ [g3,c4]@2 ~@2 [g3,c4] ~@3 [g3,c4]@3 ~", S: "[g3,c4]@2 [g3,c4]@3 ~ [g3,d4]@3 ~ [g3,d4]@4 [f3,c4]@2",
T: "~@2 [f3,c4]@2 [f3,c4]@2 ~@2 [f3,c4]@2 [f3,c4] ~ [f3,c4]@3 ~", // F5
U: "[f3,c4]@2 c4@2 f3@2 [g3,d4]@2 ~@2 [g3,d4]@3 ~ [g3,c4]@2, ~@2 f3 ~@13", // F5 G5 C5
V: "~@4 [g3,c4]@2 ~@2 [g3,c4] ~ c4 ~ [g3,c4]@3 ~", W: "[g3,c4]!2 ~ [g3,d4] ~ [g3,d4]@2 [f3,c4]",
X: "~@2 [f3,c4]@2 [f3,c4]@3 ~ [f3,c4]@2 [f3,c4] ~ [f3,c4]@3 ~", // F5
Y: "[f3,c4] ~ [f3,c4]@2 ~@2 [g3,d4]@3 ~ [g3,d4]@3 ~ [g3,c4]@2", Z: "~@4 [g3,c4]@2 ~@2 [g3,c4] ~@3 [g3,c4] ~@3",
AA: "[g3,c4] ~ [g3,c4] ~ g3 ~ [g3,d4]@2 ~@2 [g3,d4]@3 ~ [f3,c4]@2, ~@14 g3 ~", // C5 G5 F5
AB: "~@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4] ~ [f3,d4]@2 f3 ~", // F5 Dm
AC: "[f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [g3,d4]@2 ~@2 [g3,d4]@2 ~@2 c4@2, ~@14 g3 ~", // F5 G5
AD: "g3 ~ [g3,c4] ~ [g3,c4]@2 g3 ~ [g3,c4] ~ c4 ~ c4@2 g3 ~, ~@12 g3 ~@3", // C5
AE: "[g3,c4] ~@3 [g3,c4] ~ [g3,d4]@2 ~@2 [g3,d4]@3 ~ [f3,c4]@2", // C5 G5 F5
AF: "~@2 [f3,c4] ~ [f3,d4]@2 f3 ~ [f3,c4]@2 f3 ~ [f3,d4]@2 f3 ~", // F5 Dm F5 Dm
AG: "[f3,c4]@2 c4@2 f3 ~ [g3,d4]@3 ~ [g3,d4]@2 g3 ~ [g3,c4]@2, ~@2 f3 ~@13", // F5 G5 C5
AH: "~@2 [g3,c4] ~ [g3,c4]@2 g3 ~ [g3,c4] ~ g3 ~ [g3,c4] ~ g3 ~", // C5
AI: "[g3,c4] ~ [g3,c4] ~ g3 ~ [g3,d4]@2 ~@2 [g3,d4]@2 g3 ~ [f3,c4]@2", // C5 G5 F5
AJ: "~@2 [f3,c4] ~ [g3,d4]@3 ~ [f3,c4] ~ f3 ~ [f3,d4]@2 f3 ~", // F5 G5 F5 Dm
AK: "[[f3,c4] ~ c4@2 f3 ~ [g3,d4]@3 ~ [g3,d4]@2 g3 ~ [g3,c4]@4 [g3,c4] ~ [g3,c4]@3 ~ [g3,c4] ~ [g3,c4] ~ [g3,c4] ~ g3 ~, ~@2 f3 ~@29]/2", // F5 G5 C5
AL: "[g3,c4]@2 ~@2 [g3,c4]@2 [g3,d4]@2 ~@2 [g3,d4]@2 g3 ~ [f3,c4]@2", // C5 G5 F5
AM: "~@2 [f3,c4] ~ [f3,c4]@2 f3 ~ [f3,c4]@2 f3 ~ [f3,d4]@2 f3 ~", // F5 Dm
AN: "[f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [g3,d4]@3 ~ d4@2 g3 ~ [g3,c4]@2, ~@10 g3 ~@5", // F5 G5 C5
AO: "~@2 [g3,c4]@2 [g3,d4]@2 g3 ~ [g3,c4]@2 g3@2 [g3,c4]@2 g3 ~", // C5 G5 C5
AP: "[g3,c4] ~ g3@2 g3 ~ [g3,d4]@3 ~ [g3,d4]@2 g3 ~ [f3,c4]@2", // C5 G5 F5
AQ: "~@2 f3 ~ [f3,d4]@2 f3 ~ [f3,c4]@2 f3 ~ [f3,d4]@2 f3 ~", // Dm F5 Dm
AR: "[f3,c4]@2 f3 ~ f3 ~ [g3,d4]@2 ~@2 [g3,d4]@3 ~ [g3,c4]@2", // F5 G5 C5
AS: "~@2 [g3,c4] ~ [g3,c4]@2 g3 ~ [g3,c4] ~@3 [g3,c4]@2 ~@2", // C5
AT: "[g3,c4] ~ [g3,c4]@2 g3 ~ [g3,d4]@2 ~@2 [g3,d4]@4 [f3,c4]@2", // C5 G5 F5
AU: "~@2 [f3,c4] ~ [f3,c4]@2 f3 ~ [f3,c4] ~@3 [f3,c4]@2 f3 ~", // F5
AV: "[f3,c4] ~@3 [f3,c4] ~ [g3,d4]@2 ~@2 [g3,d4]@2 g3 ~ [g3,c4]@2", // F5 G5 C5
AW: "~@2 [g3,c4]@2 [g3,c4]@2 g3 ~ [g3,c4] ~ [g3,c4] ~ [g3,c4]@2 g3 ~", // C5
AX: "[[g3,c4] ~ [g3,c4] ~ [g3,c4] ~ [g3,d4]@3 ~ [g3,d4]@2 ~@2 [f3,c4]@4 [f3,c4] ~ [f3,c4]@2 f3 ~ [f3,c4]@2 f3 ~ [f3,c4]@2 f3@2]/2", // C5 G5 F5
AY: "[f3,c4]@2 f3 ~ f3 ~ g3 ~ g3 ~ g3@2 [c3,g3,c4]@2 ~@2, ~@2 c4@4 d4@5 ~@5", // F5 C5
})).s("gm_electric_guitar_clean").gain(0.25).pan(0.7)
// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
~@16 A ~@35 A B C ~@4 D ~ E ~@3 F ~@2 G H I J ~ K L M ~ N O P ~ Q R S ~@2 T ~ U V ~ W X ~@2 Y ~
>`.pickRestart({
A: "~ e4@5 ~@10", B: "~@5 a3@3", C: "a3@5 ~@11", D: "~@2 [f3,c4] ~@7 f3 ~@3 f3 ~", E: "~@10 [g3,c4] ~@5",
F: "~@2 [g3,c4] ~@7 g3 ~@5", G: "~@4 f3 ~@11", H: "~@2 [g3,c4] ~@7 [g3,c4] ~@3 [g3,c4] ~", I: "~@4 c4 ~@11",
J: "~@2 [f3,c4] ~@4 f3 ~@8", K: "~@10 g3 ~@5", L: "~@2 [g3,c4] ~@13", M: "f3 ~@15", N: "~@6 c4 ~@3 c4 ~@5",
O: "~@8 g3 ~@4 d4 ~@2", P: "~@11 c4 ~@4", Q: "~@14 c4 ~", R: "~@2 [g3,c4] ~@6 g3 ~@6", S: "~@6 c4 ~@9",
T: "~@2 c4@2 c4 ~@11", U: "~@2 c4@3 ~@11", V: "~@10 [g3,c4] ~@3 g3 c4", W: "~@10 [f3,c4] ~@3 c4 ~",
X: "~@2 [f3,c4] ~@13", Y: "~@10 c4 ~@5",
})).s("gm_electric_guitar_clean").gain(0.13).pan(0.7)
// other · lead 5 charang
const lead_5_charang = note("<~@49 A B C D ~@13 E@3 F@3 G@2 ~@8 H@2 I J K L@3 M@2 N@2 O@2 P>".pickRestart({
A: "~@6 d5@7 c5 ~ g4", B: "~ a4@9 ~@6", C: "f5@3 e5@2 ~ c5@2 g4@2 ~@4 e4@2", D: "c4@15 ~",
E: "[c5@4 a4 ~ c5@6 a4 ~ d5@4 a4 ~ [c5,d5] ~ a4 ~ c5@4 ~@2 [g5,g#5] a5@3 c6 ~ a5@2 g5 ~ d5@2 a4@2 c5@4]/3", // Csus2 G#maj7
F: "[~@10 a5@2 ~@2 a5@6 g5@2 c5 ~ d#5@2 c5@2 ~@2 a4@6 g4@2 c4@2 d#4@2 c4@2 ~@2 c4@2]/3",
G: "[d#4@2 e4@2 f4@2 f#4@2 g4@2 d#4@3 ~ c4@6 c5@9 ~@3, ~@13 d4@2 ~@17]/2",
H: "[~ c6@3 g5 ~ a5@6 ~@2 d5@4 a4 ~ d5 ~ a4 ~ c5@4 a4 ~@3]/2", I: "g5@5 ~ d#5@3 c#5 a#4 ~@3 a#5 g5",
J: "a5 f5 g5 d#5 c5 d#5 c5 ~ d4 d#4 e4 g4 a4@2 c5@2", K: "~@4 [g4,g#4] ~ c5@3 b4 a4@2 c5 ~ e5@2, ~@5 a4@2 ~@7 f5 ~",
L: "[~@2 g5@2 a5@2 g5 ~ c6@2 a5@2 ~@2 g5@7 ~ d5@3 ~ c5@2 a4 ~ c5@6 d5@2 c5 ~ e5@2 a4@2 c5@2 ~@2, ~@22 d#5 ~@7 d5 ~@17]/3",
M: "[a#5@2 a5@2 g5 ~ d5@4 c5@2 a4@2 c5@5 ~@11 c5@2, ~@6 c5 ~@25]/2",
N: "[a4@2 c5@2 c5@2 a4@2 d5@3 ~ d5@2 c5@4 ~@14, ~@11 a4@2 ~@19, ~@12 c5 ~@19]/2",
O: "[~ a#5 a5 g5 d5@2 c5 c5@2 ~@6 c5, ~@12 d5 ~@19]/2", P: "a4@2 c5@2 c5@2 a4@2 d5@2 a4@2 c5@3 ~",
})).s("gm_lead_5_charang").gain(0.54).pan(0.2)
// chords · piano
const piano = note(`<
A B@2 C D@4 E F G H@2 I J@2 K L M N@2 O P@2 Q@2 R S T@2 U V W@2 X Y Z@2 AA AB AC AD AE@2 AF@2 AG AH E F G AI@7 AJ@2
AK@2 AL@4 AM@2 AK@2 AL@4 AN@2 AO@2 AP@4 AQ@2 AR@2 AS@4 AT@2 AU@2 AV@3
>`.pickRestart({
A: "[c2,c3,g4,c5,e5]@3 [g2,b4]@4 c3, ~@3 [d5,g5]@5", // C G G5
B: "[f2@5 ~ c3 ~ [f3,f4,a4,c5]@3 g2@4 c3, [a4,c5,f5]@14 f2@7 ~@11, ~@10 f3@5 ~@7 [g4,b4,d5]@10]/2", // F G
C: "[c3,g4,c5,e5]@7 ~@5 [a4,c5,f5] ~ c3 ~, ~@8 c3@5 ~@3, ~@5 c4@2 ~", // C F
D: "[[c3,g4,c5,e5]@6 g3@7 ~@3 [a4,c5,f5]@14 ~@2 f3@3 ~ f3@2 [g2,g4,b4,d5]@2 ~@2 g2@2 [g4,c5,e5]@14 ~@2 [a4,c5,f5] ~@3, ~@6 [b4,d5,g5]@10 f2@12 ~@2 f2@8 ~@6 c2@19 ~, ~@14 f3@16 ~@2 [f4,a4,c5]@6 ~@6 c3@13 ~ c3@5 ~]/4", // C F G C F G F
E: "[c3,g4,c5,e5]@3 [g3,b4,d5,g5]@4 g3", F: "f4@4 ~@8 c4@3 ~, [f3,a4,c5]@15 ~, ~@4 f4@6 f4@5 ~, ~@3 c4@3 ~@2",
G: "[f3,c4,a4,c5]@4 c4 ~ [g3,g4,b4,d5]@8 ~@2, f5 ~@15", // F G
H: "[~@2 [a4,d5,f5]@3 ~ [g4,c5,e5]@4 c4@2 [a4,d5,f5] ~@3 [g4,c5,e5]@4 ~@10 c4@2, c3@12 ~@2 c3@7 ~ [b4,d5,g5]@10]/2", // Dm C Dm C G
I: "[f3,a4,c5,f5]@15 ~", J: "[[f3,f4,a4,c5]@3 [g3,g4,b4,d5]@3 [c3,g4,c5,e5]@10]/2",
K: "[c4,g4,c5,e5]@3 [g3,g4,b4,d5]@4 [c4,g#4], ~@3 g5@3 ~@2", L: "~@2 g#4 ~ f5@3 ~, f3@7 ~, a4@2 ~ a4@4 ~, ~ f5@2 ~@5",
M: "~@2 [f4,a4] g4@2 ~ d4 d#5, [f3,c4,f5]@6 [g3,b4,g5]@8 g3 ~, [f4,a4]@2 ~ d4@3 ~@2, ~ c5@2 ~@2 g4@2 ~", // F F5 G F
N: "[~@5 g3 [c5,f5,a5] c3 [c4,e4]@3 [g4,b4,d5]@4 [c4,g#4], [c4,e5]@12 ~@2 [c5,e5,g5]@7 ~@11, ~ c6@5 ~@5 g5@3 ~@2, ~@3 [c3,c5]@3 ~@10]/2", // F C G Fm C
O: "~@2 f5@4 ~@2 [c5,f5]@7 ~, f3@15 ~, a4@2 ~ a4@5, ~@2 c5@3 ~@11", // F5
P: "[[f3,a4,c5]@3 [g3,g4,b4,d5,g5]@3 [c4,g4,c5,e5]@10, f4 ~@7]/2", // F G C
Q: "[[c2,c3,g4,c5,e5]@6 [g2,b4,d5,g5]@8 f2@2 ~@4 f3@7 ~ f3 ~ c3 ~, ~@14 [a4,c5]@17 ~, ~@14 f5@15 ~@3, ~@8 f2@7 ~]/2", // C G Am
R: "f3@2 ~@2 f3 ~ g4@3 ~ g4@3 ~ [c3,g4,c5,e5]@2, [f2,f4,a4,c5]@3 [g2,b4,d5]@4 ~", // C F G
S: "~@2 [c3,a4,d5,f5]@6 [g4,c5,e5] ~ c3@2 [a4,d5,f5] ~ c3@2", // Dm7 C Dm
T: "[~ c3@3 c3@2 b4@4 b4@2 g3 ~@15 f3 ~ c3 ~, [c2,g4,c5,e5]@5 ~ [g2,d5,g5]@8 [f2,a4]@18, ~@7 [c5,f5]@8 ~]/2", // C G5 F F5
U: "f3@4 f2@2 g2@3 ~ g2@6, [f4,a4,c5]@6 [g4,b4,d5]@9 ~, e3 ~@15", V: "[c2,c3,g4,c5,e5]",
W: "[[c2,g4]@2 c3@2 c2 ~ [g2,g3]@4 [g1,g3]@2 g2 ~ [f3,f4]@2 f2@2 f1@2 [f2,a#3,d4,f4]@2 ~@2 [f3,a3,c4,f4]@2 f2@2 [f1,f3,a#3,d4,f4]@2 f2@2, [g3,c4,e4]@5 ~ [b3,d4,g4]@6 ~@2 [f1,a3,c4]@4 f3@4 f1@4 ~@6]/2", // C5 G F A# F A# C G …
X: "[f3,g#3] ~ f2@2 f1@2 [b3,d4,g4]@4 [g2,g3]@2 [b3,d4,g4] ~ [c4,e4,g4,c5]@2, [c4,f4]@4 f3 ~ g3@3 ~@7, f1@2 ~@4 g1 ~@5 g1@2 c2 ~, ~ a3@4 ~@11", // Fm G C F5
Y: "c2 [c4,e4] [c2,a3,c4,f4,a4] ~ [g3,c4,e4,g4] c2 [a3,c4,f4,a4] ~, ~@2 [g4,c5] ~@3 c3@4 ~@2 c3@4", // C F C F C5
Z: "[[c2,g3,e4]@2 c3@2 c2@2 [g2,g3]@2 g2@2 [g3,g4]@2 g2 ~ [f2,f3]@2 f2@2 [f1,f3]@2 [f3,a#3,d4,f4]@2 f1@2 [f3,a3,c4,f4]@2 f1@2 [f2,f3,a#3,d4,f4]@2 [f1,f3]@2, c4@5 ~ [b3,d4]@7 ~ [a3,c4,f4]@5 ~@13, ~@2 d#2 ~ g3 ~@15 f2@4 ~@8]/2", // C G F A# F A# F Bm …
AA: "f2 f1 f2 [g1,g3,g4] g2 ~ [g2,d4]@2, [a3,c4,f4]@5 ~ [b3,d4]@5 ~ a#1 ~@3, g#3 ~@3 f3 ~@5 [g1,g3]@6", // G G5 F Bm G
AB: "[g4,c5] ~ [g4,c5]@2 [c3,f4,a4]@2 [c2,c4,d#4]@2 e4 ~@3 [c3,a3]@2 [c2,c4]@2, c2@2 ~@2 [c3,g4] c2 ~@2, ~@9 e4@2 c4@2 ~@3", // C5 F Cm F C C5
AC: "[c3,g3]@2 c2@2 [c3,g3]@2 [c2,g3] ~ g1@2 g2@2 g1@2 [f2,f3,a3,c4]@2, [c4,e4]@7 ~ [g3,b3,d4]@4 g3 ~@3", // C5 F C G
AD: "f1 [f2,f3,a3,c4] [f1,f3,a#3,d4] f2 [f1,f3,a3,c4] f2 [f1,f3,a#3,d4] f2, ~@6 f3 ~@9", // F A# F A#
AE: "[[f1,f3]@2 f2@2 [f1,f3] ~ g1@2 g2@2 [g1,g3]@2 [g2,b3]@2 d4@2 [c4,e4]@2 c3@2 [c2,a3,c4,f4]@2 c3@2 [c2,g3,c4,e4]@2 c3@2 [c2,a3,c4,f4]@2 c3@2, [a3,c4]@5 ~ d4@6 ~@2 b3 ~@3 g3 ~@7 g3 ~@5, ~@6 [g3,b3]@4 ~@2 [a#1,d#2] ~ [c2,g3]@4 ~@14]/2", // F G C F C F Am G …
AF: "[[c2,g3,c4,e4]@2 [c3,g3,c4,e4]@2 c2 ~ [g2,g3,b3,d4]@2 g2 ~ g1@2 [g1,g2] ~ f3@2 f1@2 f2@2 [f1,f3,a#3,d4]@2 f2@2 [f1,a3,c4]@2 f2@2 [f1,f3,a#3,d4]@2 f2@2, ~@10 [g3,b3,d4]@4 [a3,c4]@5 ~@13, ~@14 f2 ~ f2 ~ f3 ~@5 f3 ~@7]/2", // C G A# F A# G Am
AG: "[f1,f3,a3]@2 [f2,f3]@2 [f1,a3] ~ g1@2 g2@2 [g1,g3]@2 ~@2 g3 ~, c4@3 d4@5, ~@3 [g3,b3]@2 ~ [g2,b3]@2", // F G
AH: "[c2,g3,c4,e4]", // C
AI: "[~@2 [a4,d5,f5]@3 ~ [g4,c5,e5]@4 c4@2 [a4,d5,f5] ~@3 [g4,c5,e5]@4 ~@2 [b4,d5,g5]@8 [f3,a4,c5,f5]@78 ~@4, c3@12 ~@2 c3@7 ~@91]/7", // Dm C Dm C G F
AJ: "[[c4,e4] ~@3 c3@2 [g2,g3]@4 ~@2 g2@2 [a3,c4]@4 f3@2 [f3,a#3,d4]@2 f2@2 [f3,a3,c4]@2 ~@2 [a#3,d4]@2 f3@2, g3@2 [g3,c4,e4]@4 [b3,d4]@3 ~ [g3,b3,d4]@4 f2@7 ~@5 f2@4 ~@2, ~@14 f3@3 ~@11 f3 ~@3]/2", // C G Am A# F A# C Bm …
AK: "[[f2,f3,a3,c4]@2 [f3,a3,c4]@2 f2@2 g2 ~ g2@2 ~@2 g2@2 g3@2 c3 ~ c3@2 [a3,c4,f4]@2 c3@2 [g3,c4,e4]@2 c3@2 [a3,c4,f4]@2 c3@2, ~@6 [g3,b3,d4]@4 [g3,b3,d4]@4 [c4,e4]@5 ~@13, ~@14 c3 ~@3 g3 ~@13]/2", // F C F G C
AL: "[[g3,c4,e4]@2 ~@2 c3@2 [g2,g3,d4]@4 ~@2 g2 ~ [f3,a3,c4]@3 ~ [f3,a3,c4]@2 [f3,a#3,d4]@2 f2@2 [f3,a3,c4]@2 f2@2 [f3,a#3,d4]@2 ~@2 [f3,a3,c4]@2 [f3,a3,c4]@2 f2@2 [g3,b3,d4]@2 g2@2 [g3,b3,d4]@2 g2@2 g3@2 c3 ~ c3@2 [a3,c4,f4]@2 c3@2 [g3,c4,e4]@2 c3@2 [a3,c4,f4]@2 c3@2, c2@4 ~@10 f2@6 ~@10 f2@5 ~@3 g2 ~@7 c3 ~@3 g3 ~@13, ~@2 [g3,c4,e4]@4 b3@3 ~ [g3,b3,d4]@4 ~@30 g3 ~ [c4,e4]@5 ~@13]/4", // C G5 F A# F A# F G …
AM: "[[g3,c4] ~ c3 [g2,g3]@2 ~ g2 [a3,c4]@2 f3 [f3,a#3,d4] f2 [f3,a3,c4] f2 [a#3,d4] f3, e4 ~ [g3,c4,e4]@4 [b3,d4]@3 ~ [g3,b3,d4]@4 f2@7 ~@11, ~@14 f3@3 ~@11 f3 ~@3]/2", // C5 G Am A# F A# C Bm …
AN: "[[g3,g4] g4 c3 [g2,g3,g4]@2 g4 g2 [a3,c4]@2 [f3,f4] [f3,a#3,d4] f2 [f3,a3,c4,f4] f2 [a#3,d4] f3, [c4,e4] ~ [g3,c4,e4]@4 [b3,d4]@3 ~ [g3,b3,d4]@4 f2@7 ~@7 [f3,f4] ~@3, ~@14 [f3,f4]@3 ~@3 f4 ~@11]/2", // G Am F A# F A# C Bm …
AO: "[[f2,f3,a3,c4]@2 [f3,a3,c4,f4]@2 f2@2 f4@2 ~ g4 g4@2 g2@2 [g3,g4]@2 c3 ~ [c3,g4]@2 [a3,c4,f4]@2 c3@2 [g3,c4,e4]@2 c3@2 [a3,c4,f4]@2 c3@2, f4 ~@5 [g3,b3,d4]@4 [g3,b3,d4]@4 [c4,e4]@5 ~ g4 ~@3 g4 ~@3 g4 ~@3, ~@6 g2 ~ g2@3 ~@3 c3 ~@3 g3 ~@13]/2", // F G C5 F C F G C
AP: "[[g3,c4,e4]@2 g4 ~ c3@2 [g2,g3,d4]@4 g4 ~ g2 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4]@2 [f3,a#3,d4]@2 f2@2 [f3,a3,c4]@2 f2@2 [f3,a#3,d4]@2 ~@2 [f3,a3,c4]@2 [f3,a3,c4,f4]@2 f2@2 [g3,b3,d4,g4]@2 g2@2 [g3,b3,d4,g4]@2 g2@2 [g3,g4]@2 c3 ~ [g3,g4] ~ [a3,c4,f4]@2 c3@2 [g3,c4,e4]@2 c3@2 [a3,c4,f4]@2 c3@2, c2@4 g4 ~@13 f4 ~ f4 ~@3 f4 ~@3 f4 ~@3 f4 ~@11 g3 ~ [c4,e4]@5 ~ g4 ~@3 g4 ~@3 g4 ~@3, g4 ~ [g3,c4,e4]@4 [b3,g4]@3 ~ [g3,b3,d4]@4 f2@6 ~@10 f2@5 ~@3 g2 ~@7 c3 ~@3 c3@2 ~@12]/4", // C G5 F A# F A# F G …
AQ: "[[c4,e4,g4] ~ g4@2 c3@2 [g2,g3,d4]@4 g4@2 g2@2 [a3,c4]@4 f3@2 [f3,a#3,d4]@2 f2@2 [f3,a3,c4]@2 f2@2 [a#3,d4]@2 f3@2, g3@2 [g3,c4,e4]@4 [b3,g4]@3 ~ [g3,b3,d4]@4 f2@7 ~@7 [f3,f4] ~@3, ~@14 [f3,f4]@3 ~ f4 ~ f4 ~@3 f4 ~ f4 ~@5]/2", // C G5 Am A# F A# C Em …
AR: "[[f2,f3,a3,c4]@2 [f3,a3,c4]@2 f2@2 [g2,f4] g4 g2@2 g4@2 g2@2 [g3,g4]@2 c3 ~ [c3,g4]@2 [a3,c4,f4,g4]@2 c3@2 [g3,c4,e4]@2 c3@2 [a3,c4,f4]@2 c3@2, f4 ~ f4 ~@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [c4,e4]@5 ~@5 g4 ~@3 g4 ~@3, ~@12 g4 ~ c3 ~@3 g3 ~@13]/2", // F G7 G C5 F C F G …
AS: "[[g3,c4,e4]@2 g4 ~ c3@2 [g2,g3,d4]@4 g4@2 g2 ~ g4 f4 ~@2 [f3,a3,c4]@2 [f3,a#3,d4]@2 f2@2 [f3,a3,c4]@2 f2@2 [f3,a#3,d4]@2 ~@2 [f3,a3,c4]@2 [f3,a3,c4,f4]@2 f2@2 [g3,b3,d4,g4]@2 g2@2 [g3,b3,d4]@2 [g3,g4] ~ [g3,g4]@2 c3 ~ [g3,g4] ~ [a3,c4,f4]@2 c3@2 [g3,c4,e4]@2 c3@2 [a3,c4,f4]@2 c3@2, c2@4 ~@10 f2@6 ~@10 f2@5 ~@3 g2 ~@5 g2@2 c3 ~@3 c3@2 ~@12, g4 ~ [g3,c4,e4]@4 [b3,g4]@3 ~ [g3,b3,d4]@4 [f3,a3,c4]@3 ~ f4 ~ f4 ~@3 f4 ~@3 f4 ~@3 f4 ~@9 g4 ~@3 [c4,e4]@5 ~ g4 ~@3 g4 ~@3 g4 ~@3]/4", // C G5 F A# F A# F G …
AT: "[[c4,e4,g4] ~ g4 ~ c3@2 [g2,g3,d4]@4 g4@2 g2@2 [a3,c4]@4 f3@2 [f3,a#3,d4]@2 f2@2 [f3,a3,c4]@2 f2@2 [a#3,d4]@2 f3@2, g3@2 [g3,c4,e4]@4 [b3,g4]@3 ~ [g3,b3,d4]@4 f2@7 ~@7 [f3,f4] ~@3, ~@12 g4 ~ [f3,f4]@3 ~ f4 ~ f4 ~@3 f4 ~@7]/2", // C G5 Am A# F A# C Em …
AU: "[[f2,f3,a3,c4]@2 [f3,a3,c4]@2 f2@2 [g2,g4] ~ g2@2 [g3,b3,d4]@2 g2@2 [g3,g4]@2 c3 ~ [g3,g4] ~ [a3,c4,f4]@2 c3@2 [g3,c4,e4]@2 c3@2 [a3,c4,f4]@2 c3@2, f4 ~ f4 ~@3 [g3,b3,d4]@4 g4 ~ g4 ~ [c4,e4]@5 ~ g4 ~@3 g4 ~ g4 ~ g4 ~@3, ~@14 c3 ~@3 c3@2 ~@12]/2", // F G F C F G C
AV: "[[g3,c4,e4]@2 g4 ~ c3@2 [g2,g3,d4]@4 g4 ~ g2 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4]@2 [f3,a#3,d4]@2 f2@2 [f3,a3,c4]@2 f2@2 [f3,a#3,d4]@2 ~@2 [f3,a3,c4]@2 [f3,a3,c4]@2 f2@2 [g3,b3,d4]@2 g2@2 [b3,d4,g4] ~ [c3,g3,c4,e4]@3 ~, c2@4 ~@2 f4 ~@11 f4 ~ f4 ~@3 f4 ~@3 f4 ~@3 f4 ~ f4 ~@5 g4 ~ g3@2 g4 ~@3, g4 ~ [g3,c4,e4]@4 b3@3 ~ [g3,b3,d4]@4 f2@6 ~@10 f2@5 ~@3 [g2,f4] ~@9]/3", // C G5 F A# F A# F G …
})).s("gm_piano").gain(0.52).pan(0.4)
// chords · rock organ
const rock_organ = note("<~@32 A@8 B@8 C@4 D@6 A@32 E@7>".pickRestart({
A: "[[c5,e5]@6 [b4,d5]@8 [a4,c5,f5]@24 [b4,d5]@8 [c5,e5]@24 [b4,d5]@7 ~ [a4,c5,f5]@24 [b4,d5]@8 [c5,e5]@18, g5@14 ~@24 g5@39 ~@25 g5@26]/8", // C Bm F Bm C Bm F Bm …
B: "[~@6 [b4,d5,g5]@8 [a4,c5,f5]@24 [b4,d5]@8 e5@17 ~ e5@6 [b4,d5]@8 [a4,c5,f5]@24 [b4,d5]@10 [c5,e5]@16, ~@19 g5@13 g5@7 ~@12 g5@13, ~@23 c5@12 ~@29]/8", // G F Bm F Bm C
C: "[[e5,c6]@5 ~ [d5,b5]@8 [c5,f5,a5]@24 [d5,b5]@8 [e5,c6]@17 ~, g5@14 ~@24 g5@25 ~]/4", // C G F G C
D: "[[e5,g5,c6]@6 [d5,g5,b5]@7 ~ [f5,a5,c6]@81 ~]/6", // C G F
E: "[[c5,e5]@6 [b4,d5]@8 [a4,c5,f5]@24 [b4,d5]@8 [c5,e5]@24 [b4,d5]@7 ~ [a4,c5,f5]@24 [b4,d5,g5]@6 [c5,e5,g5]@4, g5@14 ~@24 g5@39 ~@35]/7", // C Bm F Bm C Bm F G …
})).s("gm_rock_organ").gain(0.16)
// drums · kick
const kick = s("bd").struct(`<
A B A B A B C ~ A B A B A B C ~ A B A B A B C ~ A B A B A B D A@2 E@2 F E G E H E G E G E G I J A B A B D ~@4 K E@3 F
E G E L E@3 F E G E L E@3 F E G E L E@3 F E G E L E@3 F E M N
>`.pickRestart({
A: "x ~@2 x ~@4", B: "x!2", C: "x ~@2 x ~@2 x ~", D: "x ~@2 x ~@3 x", E: "x!2 ~@2 x!2 ~@2", F: "x!2 ~@2 x!2 ~ x",
G: "x!2 ~ x!3 ~ x", H: "x!2 ~@2 x ~@3", I: "x!2 ~ x ~ x ~@2", J: "x ~@6 x", K: "~@5 x ~@2", L: "x!4",
M: "x!2 ~ x!2 ~@3", N: "~ x!2 ~ x!2 ~@2",
})).gain(0.72)
// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
A ~ A ~ A ~@3 A ~ A ~ A ~@3 A ~ A ~ A ~@3 A ~ A ~ A ~@5 B ~@3 C ~@7 A ~ A ~ A ~@9 B ~@3 C ~@3 B ~@3 C ~@3 B ~@3 C ~@3
B ~@3 C ~@3 B ~@4
>`.pickRestart({
A: "~@7 x", B: "~@3 x ~@3 x", C: "~@3 x ~@4",
})).gain(0.32)
// drums · rim
const rim = s("rim").struct("<[~ x ~ x]!30 ~@17 [~ x!3] [~ x ~ x]!4 [~ x ~@2] ~@44>").gain(0.8)
// drums · snare
const snare = s("sd").struct("<~@30 A B C@7 D C@7 ~@11 C@7 E C@7 F C@7 D C@7 E C@5 G H>".pickRestart({
A: "~ x ~@2", B: "~ x", C: "~ x ~ x", D: "~@4 x ~@5 x ~ x!4", E: "~@2 x ~ x!2 ~@10", F: "~ x!2 ~@5", G: "~@2 x ~@4 x",
H: "x ~@2 x ~@2 x ~",
})).gain(0.72)
// drums · snare · soft notes
// … 68 more lines
More by Rossi Vasco
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.