0:00/0:00
// Strani Amori — Laura Pausini
// 78 bpm, 4/4, key G 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 81 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(78/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 · fretless bass
const bass = note(`<
~ A@2 B C D E F G ~@7 H@2 I J K I L I M N O P Q R S O T N U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AH AN AO
AP AQ AR AS AT AU AV AW AX AO AY AZ BA BB BC BD BE ~@3 BF@5
>`.pickRestart({
A: "c2", B: "b1", C: "c2@3 b1", D: "a1@3 g1", E: "f1", F: "g1", G: "g1@13 ~@3", H: "[~@15 c3@17]/2", I: "f2",
J: "g2 b2", K: "c3@3 e2", L: "g2 a2", M: "g2@9 g3 g2@2 d3@2 g3@2", N: "c2@6 ~ c2 c2@7 ~", O: "d2@6 ~ d2 d2@7 ~",
P: "b1@6 ~ b1 g1@7 ~", Q: "c2@6 ~ c2 e1@4 e1@4", R: "f1@6 ~ f1 f1@7 ~", S: "g1@6 ~ g1 a1@7 ~",
T: "b1@6 ~ b1 g1@6 g1@2", U: "b1@7 ~ b1@7 ~", V: "g#1@6 ~ g#1 g#1@4 e1@4", W: "a1@5 ~ g2@2 g2@8",
X: "f1@6 ~ f1 b1@7 ~", Y: "e1@6 ~ e1 a1@7 ~", Z: "d2@6 ~ d2 d2@6 d2 c2", AA: "b1@7 ~ g1@7 ~", AB: "d1@5 ~@3 d1@7 ~",
AC: "g1@5 ~@2 g1 g1@7 ~", AD: "a1 c#2", AE: "d2@3 f#1", AF: "g1@7 ~ g1@2 g1@6", AG: "a1@5 ~@3 b1@4 b1 a1 f#1 d1",
AH: "g1@6 ~ g1 g1@7 ~", AI: "a1@4 ~ a2@4 e2 ~ a1 a1@2 c#2@2", AJ: "d1@3 ~ d1@2 d2@2", AK: "e1@6 ~ e1 e1@4 e2@4",
AL: "c#2@6 ~ c#2 a1@7 ~", AM: "d2@6 ~ d2 f#1@4 f#1@4", AN: "a1@6 ~ a1 b1@7 ~", AO: "e2@6 ~ e2 e2@7 ~",
AP: "c#2@6 ~ c#2 a1@4 c#2@2 e2@2", AQ: "e1@3 ~ e1@2 e2@2", AR: "e1@6 ~ e1 e2@8", AS: "d#2@6 ~ d#2 b1@7 ~",
AT: "e1@6 ~ e1 e1@2 e1@2 g#1@4", AU: "a1@8 a1@7 ~", AV: "b1@6 ~ b1 c#2@7 ~", AW: "f#2@7 ~ f#1@4 f#2@4",
AX: "d#2@6 ~ d#2 b1@2 b1@2 d#2@4", AY: "d#2@7 ~ d#2@7 ~", AZ: "c2@6 ~ c2 c2@4 g#1@4", BA: "c#2@5 ~ b1@2 b1@8",
BB: "a1@6 ~ a1 d#2@7 ~", BC: "g#1@6 ~ g#1 c#2@4 c#2@4", BD: "f#1@6 ~ f#1 f#1@8", BE: "d#2@6 b1 c#2 b1@8",
BF: "[~@2 d#2@2 c#2@6 b1@2 a1@8 b1@8 e2@5 ~@7]/5",
})).s("gm_fretless_bass").gain(0.24)
// bass · fretless bass · soft notes
const bass_soft = note("<~@30 [~@2 g4@3 f4@3 e4@3 d4@3 e4@2] ~@23 [~@2 a4@3 g4@3 f#4@3 e4@3 f#4@2] ~@26>")
.s("gm_fretless_bass").gain(0.16)
// chords · piano
const piano = note(`<
~ A B ~ C@4 D E F G H I J K L E F M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ@2 AK AL AM AN AO AP@4 AQ
~@2 AR@5 AS AT AU AV@2 AW@2 AX AY AZ BA BB BC BD BE BF BG@2 BH@2
>`.pickRestart({
A: "~@4 d4@2 d4@9 ~, c3@15 ~, ~@2 g3@13 ~, ~@4 g4@11 ~", B: "~@6 d4@5 ~@5, c3@11 ~@5, ~@2 a4@9 ~@5, ~@4 f4@7 ~@5",
C: "[~@5 e5 d5 c5@5 g5 f5 e5 d5@6 d5 c5 [g4,b4]@5 [a4,c5]@4]/4", D: "[b4,d5]@11 ~@4 d4", E: "d4!4 d4@2 ~@9 e4",
F: "e4!4 e4@2 ~@10", G: "c4!4 c4@2 b3 b3@6 ~ d4!2", H: "d4!4 d4@2 ~@6 f4@2 g4@2", I: "a4 a4@3 ~@2 a4 c5",
J: "c5@3 b4 a4@2 d4 e4", K: "f4@10 ~@2 e4 c4@3", L: "d4@8 ~@7 d4", M: "c4!4 c4@2 d4 b3@6 ~ d4!2",
N: "d4!4 d4@2 ~@6 e4@2 g4@2", O: "a4 ~@5 a4 c5, ~ f3@6 ~, ~ a4@3 ~@4, ~@2 c4@5 ~, ~@3 g3@4 ~",
P: "c5@3 b4 ~@2 e4!2, ~ [a2,a4], ~@5 e3@3, ~@3 d4", Q: "~@6 e4 c4, [f2,f4]@7 ~, ~ c3@6 ~, ~@2 c4@5 ~, ~@3 g3@4 ~",
R: "[g2,g3,d4]@4 ~ b3 c4 d4", S: "~@2 e4@3 d4@3 c4@3 b3@3 c4@2, c3", T: "~@2 f4@3 e4@3 d4@3 c4@3 d4@2, d3",
U: "~@2 d4@3 c4@3 b3@3 a3@3 b3@2, b2 g2", V: "~@2 e4@3 d4@3 c4@3 ~@3 e4@2, c4@8 ~@3 d4@3 ~@2, ~@3 b3",
W: "~@2 f4@3 e4@3 f4@3 e4@3 f4@2, a3", X: "g3 a3", Y: "f3", Z: "g3", AA: "~@2 e4@3 d4@3 c4@3 b3@3 c4@2, g6",
AB: "~@2 f4@3 e4@3 d4@3 c4@3 d4@2, a6", AC: "~@2 d4@3 c4@3 b3@3 g4@3 f4@2, g#6@3 ~",
AD: "f4@3 e4@3 d4@2 d4@3 e4@3 c4@2, c7", AE: "a6@2 d7 a6", AF: "g6@3 c7", AG: "~@2 f4@3 e4@3 d4@3 c4@3 d4@2, f6",
AH: "~@2 d4@3 c4@3 b3@3 ~@4 e4, g6@15 ~", AI: "e4!4 e4@2 ~@5 f#4@3 ~ f#4, d3, ~@3 a3@11 a3@2, ~ d4",
AJ: "[f#4!4 f#4@2 ~@10 d4!4 d4@2 e4 c#4 c#4@4 e4@2 e4!2, g2@13 ~ e3@5 ~@13, b3 e4 ~@2, ~@11 b3@7 ~@2 b3@8 ~@4]/2",
AK: "e4!4 e4@2 ~@6 f#4@2 [f#3,a4]@2, ~ d4, ~@11 a3@5", // F#m
AL: "b4 ~@2 a3@3 b4 d5, g2@13 ~@3, ~@2 d3@11 ~@3, ~ b4@3 ~@4, ~@4 d4@9 ~@3",
AM: "~@3 c#5 ~@3 f#4, [a2,d5] [b2,b4], ~@3 e4", AN: "~@3 a3@3 f#4 d4, [g2,g4]@13 ~@3, ~@2 d3@11 ~@3, ~@4 d4@9 ~@3",
AO: "~@4 d4@3 ~ c#4@2 ~@2 d4@2 e4@2, [a2,e4]@7 a2@7 ~@2, ~@2 e3@6 e3@7 ~, ~@5 c#4@2 ~", // A5
AP: "[~@2 f#4@3 e4@3 d4@2 ~@2 d4@2 a3@4 g4@3 ~@3 e4@3 ~ e4@2 ~@4 [e3,e4]@2 ~ d4@3 c#4@3 ~ c#4@2 a3 ~@6 e4@3 d4@3 e4@3 f#4@2, ~@10 d3@4 ~@8 g3@6 ~@4 a2@15 d3@8 ~@9, ~@11 c#4@3 d4@2 ~@5 f#4@3 ~@3 d4@3 [b3,e4]@4 ~@2 a3@10 c#4@2 e4@5 ~@11, ~@43 b3@4 ~ a3@8 ~@8, ~@50 f#4@5 ~@9]/4", // E E5
AQ: "~@2 g4@3 f#4@3 g4@3 f#4@3 g4@2",
AR: "[~@12 e4@2 g#4 ~@17 f#4@6 a3@6 ~@2 g#4@2 a4@2 f#3@2 ~@8 [d#4,b4]@2 b3 ~ [b3,f#4]@8 ~@4 a4@2 c#5@2, ~@15 g#4@9 ~@2 [e3,a4]@3 g#4@3 ~@12 f#4@5 ~ a4@12 a4@2 g#4@10 ~@6, ~ b5 b5 ~ b5, ~@28 e4@5 ~@15 [b2,b5]@16 ~@16, ~@30 b3@4 ~@12 c#4@4 ~@2 b3@10 ~ e3@8 ~@9]/5", // G#m B5 A5 B
AS: "c#5@2 c#5@7 ~@3 c#5@2 e5@2, c#6", AT: "e5@6 d#5@2 c#5@3 ~ f#4@2 g#4@2, b5 c#6", AU: "a4@11 g#4!2 e4@3, c#6",
AV: "[f#4@8 ~@4 c#5@2 g#4 ~@2 b4@9 ~@2 a4@2 g#4@2, b5@15 c#5@2 ~@15, ~ b5]/2",
AW: "[f#4@7 ~@5 f#4@2 g#4 ~@2 g#4@6 ~@3 d#5@3 g#4@3, c#6@15 a4@2 ~@15, ~@4 c6@3 ~]/2",
AX: "f#4@3 e4@4 ~@3 f#4@2 g#4@3 ~, e6", AY: "~@2 c#5@3 b4@3 [c#5,f#6]@3 ~@3 c#5@2, c#6@8 ~@3 f#4@3 ~@2, ~@3 c#6",
AZ: "c#5@3 d#5@3 b4@2 b4@3 ~@3 g#4@2, b5@11 a4@3 ~@2, ~@3 e6", BA: "~@2 a4@3 g#4@3 f#4@3 e4@3 f#4@2, a5",
BB: "~@2 f#4@3 e4@3 d#4@3 ~@3 f#4!2, b5@5 ~ b4@2",
BC: "f#4!4 ~@10 g#4!2, [b3,g#4]@7 b3@5 ~@4, e4@3 e4 e4@4, ~ f#4 ~@2", // E
BD: "g#4!4 ~@4 f#4@6 e4!2, a3@7 ~, c#4@3 f#4 ~@4, ~@2 g#4@5 ~, ~@7 c#4@7 ~@2", BE: "e4!4 e4@2 f#4 d#4 d#4@7 ~, b3 ~",
BF: "~ [g#4,g#5] [f#4,f#5] [e4,e5]@5", BG: "[b5 a5 g#5 f#5@6 f#5 e5 [b4,d#5]@5]/2",
BH: "[[c#5,e5]@2 [d#5,f#5]@2 [b4,e5]@5 ~@7]/2", // C#m D#m E5
})).s("gm_piano").gain(0.26)
// chords · piano · soft notes
const piano_soft = note("<~@8 A B C ~ D ~@3 A B C ~ D ~@19 E F G ~ H ~@4 I J K ~@5 L M N ~@15 O ~@5>".pickRestart({
A: "~@14 d4 ~", B: "~@6 c4 g3@5 ~@2 e4 ~", C: "~@6 d4 a3@6 ~ c4!2", D: "~@6 c4 c4@5 ~@4", E: "~@14 e4 ~",
F: "~@6 d4!2 ~@6 f#4 ~", G: "~@6 e4!2 ~@6 d4!2, ~@6 e3@7 ~@3", H: "~@6 d4!2 ~@8, d3@15 ~", I: "a2@9 ~@7",
J: "~ e3@2 ~, e2@3 ~, ~ b2@5 ~@2", K: "~@6 e3@4 e3@5 ~", L: "b2@9 ~@7", M: "~ f#3@2 ~, f#2@3 ~, ~ c#3@5 ~@2",
N: "~@6 f#3@4 f#3@5 ~", O: "~@10 b3@3 ~@3",
})).s("gm_piano").gain(0.15)
// chords · piano
const piano_2 = note(`<
A B@8 ~@8 C D E F G ~@2 H I J K L M N O P Q R S T U V W X Y Z Y@2 ~@4 AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP
AQ AR AS AT AU@2 AV AW ~@3 AX@5
>`.pickRestart({
A: "~@5 e5 d5 c5",
B: "[~@4 c4@2 ~@6 e5@2 ~@12 d5@2 c5@2 ~@6 g4@2 ~@14 g4@2 ~@4 [c5,e5]@2 [b4,d5]@2 ~@8 [a4,c5]@2 [e5,g5]@2 [d5,f5]@2 [c5,e5]@2 ~@12 d5@2 c5@2 ~@4 d3@2 ~@2 d3@2 ~@2 d3@2 ~@4 [g3,b3]@11 ~@5, c3@14 ~@2 c3@14 ~@2 b2@6 [d4,g4]@4 e5@2 d5@2 c5@8 [d4,e4,g4]@8 [a4,c5]@7 ~@9 [a4,d5]@8 d4@10 ~@14 d3@13 ~@5, ~@2 g3@12 ~@4 f3@11 ~@5 g3@14 c3@12 b2@4 a2@12 g2@4 f2@14 b4@10 c5@8 d5@8 ~@8, ~@6 [d4,e4,g4]@8 ~@6 a3@9 ~@7 b3@12 ~@2 g3@11 ~@5 e3@10 ~@6 c3@13 ~ g2@8 g2@19 ~@5, ~@10 f5@4 d5@9 ~@7 b4@18 ~@4 c4@9 ~@7 a3@12 ~@4 f3@12 ~@4 g3@6 ~@2 a3@4 ~@16]/8", // C Bm Am Em Dm C G G5 …
C: "d5 c5", D: "e5 d5", E: "c5 b4", F: "d5@2 ~ e2, ~ c5", G: "f2@3 ~",
H: "~@7 c4 ~@6 g2@2, g2 ~, ~ d3@3 ~@2 d3@2, ~@2 g3@2 ~ g3@3, ~@3 d4 b3@4", I: "g3@5 ~@2 g4, e4, c4@3 c4, ~@5 g3@3",
J: "a3@5 ~@2 g4, [c4,f4]@3 c4, ~@5 a3@3", K: "g3@5 ~@2 g4, [b3,d4]@3 b3, ~@5 g3@3", L: "[g3,c4,e4]", M: "[a3,c4,f4]",
N: "c4@5 ~@2 g4, d4, g4@7 ~, ~@5 b3@3, ~@3 c4", O: "f4@6 f4 c4, [a3,c4]@7 ~",
P: "[a3,b3,d4]@5 ~@2 g4, ~@5 g3@3, ~@3 d4", Q: "g3@5 ~@2 g4, [c4,e4]@3 c4, ~@5 g3@3",
R: "[b3,d4,f4]@9 ~@5 d4@2, ~@5 e3@3, ~@3 a3", S: "[e3,g#3,b3]@11 ~ [e3,g#3,b3,d4]@4",
T: "[a2,e3,a3,c4]@8 [d3,g3,b3]@7 ~", U: "~ d3, [c3,f3,a3]@11 ~@5", V: "g3@5 b3 ~ g4, ~@3 c4", W: "[a3,d4,f4]@15 ~",
X: "[b3,d4,g4]@15 ~", Y: "a4", Z: "b4", AA: "a3@5 a3@3, [d4,f#4]", AB: "[b3,d4,g4]@7 ~@9", AC: "[a3,c#4,e4]@3 a3",
AD: "[a3,d4,f#4]@3 [a3,d4,f#4]", AE: "[b3,d4,g4]", AF: "~ b4, e4, [d4,a4]@5 ~@3", AG: "g4@3 g4, [b3,d4]@7 ~",
AH: "[a3,c#4,e4]@9 ~@7", AI: "b3@5 b3@3, [e4,g#4]", AJ: "[c#4,e4,a4]@7 ~@9", AK: "[b3,d#4,f#4]@3 b3",
AL: "[b3,e4,g#4]@3 [b3,e4,g#4]", AM: "[c#4,e4,a4]", AN: "~ c#5, e4, [f#4,b4]@5 ~@3", AO: "a4@3 a4, [c#4,e4]@7 ~",
AP: "[b3,d#4,f#4]@9 ~@7", AQ: "b3@5 ~@2 b4, [e4,g#4]@3 e4, ~@5 b3@3",
AR: "[d#4,f#4,a4]@9 ~@5 f#4@2, ~@5 g#3@3, ~@3 c#4", AS: "[g#3,c4,d#4]@11 ~ [g#3,c4,d#4,f#4]@4",
AT: "[c#3,g#3,c#4,e4]@8 [f#3,b3,d#4]@7 ~", // C#m B
AU: "[~@16 b3 ~@9 d#4@2 ~@2 b4@2, [e3,a3,c#4]@11 ~@21, ~@4 f#3@9 ~ e4@2]/2", AV: "[c#4,f#4,a4]@15 ~",
AW: "[d#4,f#4,b4]@3 ~", // B
AX: "[~@2 [e5,g#5]@2 [d#5,f#5]@2 ~@8 [c#5,e5]@2 [g#5,b5]@2 [f#5,a5]@2 [e5,g#5]@2 ~@12 f#5@2 e5@2 ~@4 f#3@2 ~@2 f#3@2 ~@2 f#3@2 [d#4,f#5]@3 ~ e5@4 ~@20, ~@2 d#3@2 c#3@6 b2@2 a2@7 d#5@5 e5@2 ~@14, ~@6 [c#5,e5]@6 c#4@12 ~@2 e3@13 ~ b2@8 b2@18 ~@14, ~@5 g#3@5 ~ [c#5,f#5]@4 f#4@5 ~@20, ~@28 a3@12 ~@4 b3@6 ~@5 e3@4 ~@21]/5", // E D#m C#m G#m F#m E D#m C#m …
})).s("gm_piano").gain(0.22).pan(0.4)
// chords · electric guitar clean
const electric_guitar_clean = note("<~@53 A B C D ~@4 E F G H ~@16>".pickRestart({
A: "~@5 g3@3, ~ g2@6 ~, ~@6 d3@9 ~", B: "~ e3 a3@2 ~@2 b3@2, a2@7 ~ b2@8, ~@5 f#3@3",
C: "~@12 e3@2 d3 ~, g2@15 ~, ~ d3@4 ~@3, ~ g3@2 ~, ~@6 b3@9 ~",
D: "~@10 c#4@4 a3 ~, a2@7 ~, ~ e3@3 ~@4, ~@4 g3@5 ~@7, ~@3 d4@4 ~", E: "~@5 a3@3, ~ a2@6 ~, ~@6 e3@9 ~",
F: "~ f#3 b3@2 ~@2 c#4@2, b2@7 ~ c#3@8, ~@5 g#3@3", G: "~@12 f#3@2 e3 ~, a2@15 ~, ~ e3@4 ~@3, ~ a3@2 ~, ~@6 c#4@9 ~",
H: "~@10 d#4@4 b3 ~, b2@7 ~, ~ f#3@3 ~@4, ~@4 a3@5 ~@7, ~@3 e4@4 ~",
})).s("gm_electric_guitar_clean").gain(0.07).pan(0.7)
// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@54 A B C ~@5 D E F ~@16>".pickRestart({
A: "~@3 e3 ~@4", B: "~@5 d3 ~@2", C: "~@4 e3@2 e3 ~", D: "~@3 f#3 ~@4", E: "~@5 e3 ~@2", F: "~@4 f#3@2 f#3 ~",
})).s("gm_electric_guitar_clean").gain(0.05).pan(0.7)
// chords · kalimba
const kalimba = note(`<
~@25 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT
AU AV ~@8
>`.pickRestart({
A: "~ [c4,e4]!2 ~ [c4,e4] ~@2 [c4,e4] ~ [c4,e4]!2 ~ c4 [c4,e4]!3", // C
B: "~ [d4,f4]!2 ~ [d4,f4] ~@2 [d4,f4] ~ [d4,f4]!2 ~ [d4,f4]!4", // Dm
C: "~ [b3,d4]!2 ~ [b3,d4]!2 ~ [b3,d4] ~ [b3,d4]!2 ~ [b3,d4]!4", // Bm
D: "~ [c4,e4]!2 ~ [c4,e4] ~@2 [c4,e4] ~ [c4,e4]!2 ~ [c4,e4]!3 e4", // C
E: "~ [c4,f4]!2 ~ [c4,f4] ~@2 [c4,f4] ~ [c4,f4]!2 ~@2 [c4,f4] ~ [c4,f4]", // F5
F: "~ d4 [d4,g4] ~ [d4,g4] d4 ~ [d4,g4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4]!2 ~", // G5 A5
G: "~ [c4,f4]!2 ~ [c4,f4]!2 ~ [c4,f4] ~ [c4,f4]!2 ~@2 [c4,f4]!3", // F5
H: "~ d4 [d4,g4] ~ [d4,g4] ~@2 [d4,g4] ~@3 [d4,g4] ~ [d4,g4]!3", I: "~ e4!2 ~ e4 [c4,e4] ~ [c4,e4] ~ e4 ~ e4 ~ e4!3",
J: "~ [f4,a4]!2 ~ [f4,a4]!2 ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4]!3", // F
K: "~ [b3,e4]!2 ~ [b3,e4]!2 ~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~ [b3,e4]!3", // E5
L: "~ [e4,a4]!2 ~ [e4,a4]!2 ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4]!3", // A5
M: "~ [f4,a4]!2 ~ [f4,a4]!2 ~ [f4,a4] ~ [f4,a4] ~ a4 ~ [f4,a4] a4 [f4,a4]", // F
N: "~ [e4,g4] e4 ~ [e4,g4] ~@2 [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4]!3", // Em
O: "~ [d4,f4] f4 ~ [d4,f4] d4 ~ [d4,f4] ~ [d4,f4]!2 ~@2 [d4,f4] ~ [d4,f4]", // Dm
P: "~@2 [d4,g4] ~ d4 [d4,g4] ~ [d4,g4] ~ [d4,g4] ~ [d4,g4] ~ [d4,g4]!2 ~", // G5
Q: "~ [f#4,a4]!2 ~ [f#4,a4]!2 ~ [f#4,a4] ~ [f#4,a4]!2 ~ [f#4,a4]!2 a4 [f#4,a4]", // F#m
R: "~ [g4,b4]!2 ~ [g4,b4]!2 ~ [g4,b4] ~ [g4,b4] b4 ~ [g4,b4]!2 ~ [g4,b4]", // G
S: "~ [e4,a4]!2 ~ [e4,a4]!2 ~ [e4,a4] ~ [e4,a4]!2 ~ [e4,a4]!2 ~ [e4,a4]", // A5
T: "~ a4 [f#4,a4] ~ [f#4,a4]!2 ~ [f#4,a4] f#4 [f#4,a4]!2 ~@2 [f#4,a4] a4 [f#4,a4]", // F#m
U: "~ [g4,b4]!2 ~ [g4,b4]!2 ~ [g4,b4] ~ [g4,b4]!2 ~ [g4,b4]!4", // G
V: "~ a4 [e4,a4] ~ [e4,a4]!2 ~ [e4,a4] ~ b4 [f#4,b4] ~ [f#4,b4] f#4 [f#4,b4]!2", // A5 B5
W: "~ [d4,g4] g4 ~ [d4,g4] ~ [d4,g4]!2 ~ [d4,g4]!2 ~ [d4,g4]!4", // G5
X: "~ [e4,a4]!2 ~ [e4,a4]!4 ~ [e4,a4]!2 ~ a4 [e4,a4]!3", // A5
Y: "~ [d4,f#4]!2 ~ [d4,f#4] ~@2 [d4,f#4] ~ [d4,f#4]!2 ~ d4 [d4,f#4]!3", // D
Z: "~ [e4,g4]!2 ~ [e4,g4] ~@2 [e4,g4] ~ [e4,g4]!2 ~ [e4,g4]!4", // Em
AA: "~ [c#4,e4]!2 ~ [c#4,e4]!2 ~ [c#4,e4] ~ [c#4,e4]!2 ~ [c#4,e4]!4", // C#m
AB: "~ [d4,f#4]!2 ~ [d4,f#4] ~@2 [d4,f#4] ~ [d4,f#4]!2 ~ [d4,f#4]!3 f#4", // D
AC: "~ [d4,g4]!2 ~ [d4,g4] ~@2 [d4,g4] ~ [d4,g4]!2 ~@2 [d4,g4] ~ [d4,g4]", // G5
AD: "~ e4 [e4,a4] ~ [e4,a4] e4 ~ [e4,a4] ~ [f#4,b4] ~ [f#4,b4] ~ [f#4,b4]!2 ~", // A5 B5
AE: "~ [d4,g4]!2 ~ [d4,g4]!2 ~ [d4,g4] ~ [d4,g4]!2 ~@2 [d4,g4]!3", // G5
AF: "~ e4 [e4,a4] ~ [e4,a4] ~@2 [e4,a4] ~@3 [e4,a4] ~ [e4,a4]!3", // A5
AG: "~ [e4,g#4]!2 ~ [e4,g#4] ~@2 [e4,g#4] ~ [e4,g#4]!2 ~ e4 [e4,g#4]!3", // E
AH: "~ [f#4,a4]!2 ~ [f#4,a4] ~@2 [f#4,a4] ~ [f#4,a4]!2 ~ [f#4,a4]!4", // F#m
AI: "~ [d#4,f#4]!2 ~ [d#4,f#4]!2 ~ [d#4,f#4] ~ [d#4,f#4]!2 ~ [d#4,f#4]!4", // D#m
AJ: "~ [e4,g#4]!2 ~ [e4,g#4] ~@2 [e4,g#4] ~ [e4,g#4]!2 ~ [e4,g#4]!3 g#4", // E
AK: "~ [e4,a4]!2 ~ [e4,a4] ~@2 [e4,a4] ~ [e4,a4]!2 ~@2 [e4,a4] ~ [e4,a4]", // A5
AL: "~ f#4 [f#4,b4] ~ [f#4,b4] f#4 ~ [f#4,b4] ~ [g#4,c#5] ~ [g#4,c#5] ~ [g#4,c#5]!2 ~", // B5 C#5
AM: "~ [e4,a4]!2 ~ [e4,a4]!2 ~ [e4,a4] ~ [e4,a4]!2 ~@2 [e4,a4]!3", // A5
AN: "~ f#4 [f#4,b4] ~ [f#4,b4] ~@2 [f#4,b4] ~@3 [f#4,b4] ~ [f#4,b4]!3", // B5
AO: "~ [e4,g#4]!2 ~ [e4,g#4]!2 ~ [e4,g#4] ~ [e4,g#4] ~ [e4,g#4] ~ [e4,g#4]!3", // E
AP: "~ [a4,c#5]!2 ~ [a4,c#5]!2 ~ [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~ [a4,c#5]!3", // A
AQ: "~ [d#4,g#4]!2 ~ [d#4,g#4]!2 ~ [d#4,g#4] ~ [d#4,g#4] ~ [d#4,g#4] ~ [d#4,g#4]!3", // G#5
AR: "~ [g#4,c#5]!2 ~ [g#4,c#5]!2 ~ [g#4,c#5] ~ [g#4,c#5] ~ [g#4,c#5] ~ [g#4,c#5]!3", // C#5
AS: "~ [a4,c#5]!2 ~ [a4,c#5]!2 ~ [a4,c#5] ~ [a4,c#5] ~ c#5 ~ [a4,c#5] c#5 [a4,c#5]", // A
AT: "~ [g#4,b4] g#4 ~ [g#4,b4] ~@2 [g#4,b4] ~ [g#4,b4] ~ [g#4,b4] ~ [g#4,b4]!3", // G#m
AU: "~ [f#4,a4] a4 ~ [f#4,a4] f#4 ~ [f#4,a4] ~ [f#4,a4]!2 ~@2 [f#4,a4] ~ [f#4,a4]", // F#m
AV: "~ f#4 [f#4,b4] ~ f#4 [f#4,b4] ~ [f#4,b4] ~ [f#4,b4] ~ [f#4,b4] ~ [f#4,b4]!2 ~", // B5
})).s("gm_kalimba").gain(0.13)
// chords · kalimba · soft notes
const kalimba_soft = note(`<
~@25 A ~@2 B ~ C D E F ~@6 G H I J K L M N O P ~@2 Q ~ R S T U ~@2 V ~ W A X ~@16
>`.pickRestart({
A: "~@12 e4 ~@3", B: "~@6 e4 ~@8 c4", C: "~ g4 ~@14", D: "~@12 c4 ~@3", E: "~ g4 ~@3 g4 ~@3 [d4,g4] ~@6",
F: "~ c4!2 ~ c4 ~@4 c4 ~ c4 ~ c4!3", G: "~ d4 ~@14", H: "~@14 f#4 ~", I: "~@10 g4 ~@3 [g4,b4] ~",
J: "~@3 [e4,a4] ~@4 a4 ~@2 [e4,a4] ~@2 [e4,a4] ~", K: "~ f#4 ~ a4 ~@2 a4 ~ a4 ~@2 f#4 ~@2 f#4 ~",
L: "~@6 [g4,b4] ~@4 g4 ~@4", M: "~ e4 ~@4 [e4,a4] ~@2 f#4 ~ f#4 ~ b4 ~@2", N: "~@2 d4 [d4,g4] ~@12",
O: "~@3 a4 ~@4 e4 ~@2 e4!2 ~@3", P: "~@12 f#4 ~@3", Q: "~@6 f#4 ~@8 d4", R: "~ a4 ~@14", S: "~@12 d4 ~@3",
T: "~ a4 ~@3 a4 ~@3 [e4,a4] ~@6", U: "~@12 g#4 ~@3", V: "~@6 g#4 ~@8 e4", W: "~ b4 ~@14",
X: "~ b4 ~@3 b4 ~@3 [f#4,b4] ~@6", // B5
})).s("gm_kalimba").gain(0.05)
// other · overdriven guitar
const overdriven_guitar = note("<~@40 A ~@11 B C D E F ~ G H I F J K L E M N O P@2 Q R ~@8>".pickRestart({
A: "~@12 g2 g1 ~@2", B: "~@5 [d2,b2] f#2@2", C: "g2", D: "a2 b2", E: "e2", F: "a2", G: "~@3 e4@10 e5@3", H: "d#5",
I: "b4@9 ~ [e2,c#3]@2 g#2@4", J: "b2 c#3", K: "f#2", L: "b2", M: "d#2", N: "c3@3 g#2", O: "c#2 b2",
P: "[a2@7 f#4@17 e4@8]/2", Q: "a3", R: "d#3@3 b2@4 ~",
})).s("gm_overdriven_guitar").gain(0.15).pan(0.6)
// other · synth strings 1
const synth_strings_1 = note("<~@9 A B C D B E B F ~@56 G H I ~@5>".pickRestart({
A: "c3", B: "f2", C: "g2 b2", D: "c3@3 e2", E: "g2 a2", F: "g2", G: "e3", H: "a2", I: "b2 d#3",
})).s("gm_synth_strings_1").gain(0.04).pan(0.3)
// drums · kick
// … 70 more lines
More by Laura Pausini
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.