0:00/0:00
// L'Appuntamento — Ornella Vanoni
// 110 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 128 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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 E F G F G H@2 I@2 J I G@2 H@2 I@3 K H L H M I@2 J N O L H@2 I@3 K P Q R S T U V W X Y Z AA F G AB AC AD@2 AE
AF AG AH AB@2 AD@3 AF AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY@2 AZ BA BB BC AW@2 AY@3 BD BE BF BG BH BI BJ
BK BL BM BN BO BP BQ BR BS@2 BT@3 BU BS BV BS@2 BT@3 BU BS BW@2 ~
>`.pickRestart({
A: "g2@5 ~ g2@5 ~ g2@4", B: "c2@3 g2@3 c2@2", C: "a1@6 ~@6 a1 ~@3, ~@3 a2@5", D: "d2@6 ~@6 d2 ~@3, ~@3 d3@5",
E: "g2@7 ~ g2@3 f2@3 d2@2", F: "c2@4 ~@2 g2@4 ~@2 g2@3 ~", G: "c2@5 ~ g2@4 ~@2 g2@3 ~", H: "c2@5 ~ g2@5 ~ g2@3 ~",
I: "d2@5 ~ g2@5 ~ g2@3 ~", J: "d2@4 ~@2 g2@5 ~ g2@3 ~", K: "d2@5 ~ g2@4 d2@2 g2@2 b1@2",
L: "c2@5 ~ g2@3 ~ g2@2 g2@2 b1@2", M: "c2@5 ~ g2@3 ~ g2@2 c2@2 c#2@2", N: "d2@5 ~ g2@3 ~ d2@2 g2@2 b1@2",
O: "c2@5 ~ g2@3 ~ g2@2 g2@3 ~", P: "c2@5 ~ g2@4 g2@2 g2@2 b1@2", Q: "c2@5 ~ g2@3 ~ g2@2 c2@2 e2@2",
R: "f2@2 ~ c3@3 f2@2", S: "g2@3 d2@2 g2 d2 b1", T: "c2@6 g2@5 ~ g2@4", U: "c2@3 c3@2 g2 c2 e2", V: "f2@3 c3@3 f2 f#2",
W: "g2@6 d2@4 g2 ~ g2@3 ~", X: "c2@3 g2@3 c2 a#1", Y: "a1@3 e2@2 a2@2 e2", Z: "d2@6 d3@3 ~ a2@2 d2@3 ~",
AA: "g2@4 ~@4 g#2@2 ~ f#2@3 d#2@2", AB: "c#2@5 ~ g#2@5 ~ g#2@3 ~", AC: "c#2@5 ~ g#2@3 ~ g#2@2 c#2@2 d2@2",
AD: "d#2@5 ~ g#2@5 ~ g#2@3 ~", AE: "d#2@4 ~@2 g#2@5 ~ g#2@3 ~", AF: "d#2@5 ~ g#2@3 ~ d#2@2 g#2@2 c2@2",
AG: "c#2@5 ~ g#2@3 ~ g#2@2 g#2@3 ~", AH: "c#2@5 ~ g#2@3 ~ g#2@2 g#2@2 c2@2", AI: "c#2@5 ~ g#2@4 g#2@2 g#2@2 c2@2",
AJ: "c#2@5 ~ g#2@3 ~ g#2@2 c#2@2 f2@2", AK: "f#2@2 ~ c#3@3 f#2@2", AL: "g#2@3 d#2@2 g#2 d#2 c2",
AM: "c#2@6 g#2@5 ~ g#2@4", AN: "c#2@3 c#3@2 g#2 c#2 f2", AO: "f#2@3 c#3@3 f#2 g2", AP: "g#2@6 d#2@4 g#2 ~ g#2@3 ~",
AQ: "c#2@3 g#2@3 c#2 b1", AR: "a#1@3 f2@2 a#2@2 f2", AS: "d#2@6 d#3@3 ~ a#2@2 d#2@3 ~",
AT: "g#2@4 ~@4 a2@2 ~ g2@3 e2@2", AU: "d2@4 ~@2 a2@4 ~@2 a2@3 ~", AV: "d2@5 ~ a2@4 ~@2 a2@3 ~",
AW: "d2@5 ~ a2@5 ~ a2@3 ~", AX: "d2@5 ~ a2@3 ~ a2@2 d2@2 d#2@2", AY: "e2@5 ~ a2@5 ~ a2@3 ~",
AZ: "e2@4 ~@2 a2@5 ~ a2@3 ~", BA: "e2@5 ~ a2@3 ~ e2@2 a2@2 c#2@2", BB: "d2@5 ~ a2@3 ~ a2@2 a2@3 ~",
BC: "d2@5 ~ a2@3 ~ a2@2 a2@2 c#2@2", BD: "e2@5 ~ a2@4 e2@2 a2@2 c#2@2", BE: "d2@5 ~ a2@4 a2@2 a2@2 c#2@2",
BF: "d2@5 ~ a2@3 ~ a2@2 d2@2 f#2@2", BG: "g2@2 ~ d3@3 g2@2", BH: "a2@3 e2@2 a2 e2 c#2", BI: "d2@6 a2@5 ~ a2@4",
BJ: "d2@3 d3@2 a2 d2 f#2", BK: "g2@3 d3@3 g2 g#2", BL: "a2@6 e2@4 a2 ~ a2@3 ~", BM: "d2@3 a2@3 d2 c2",
BN: "b1@3 f#2@2 b2@2 f#2", BO: "e2@6 e3@3 ~ b2@2 e2@3 ~", BP: "a2@4 ~@4 a#2@2 ~ g#2@3 f2@2",
BQ: "d#2@4 ~@2 a#2@4 ~@2 a#2@3 ~", BR: "d#2@5 ~ a#2@4 ~@2 a#2@3 ~", BS: "d#2@5 ~ a#2@3 ~ a#2 ~ a#2@4",
BT: "f2@5 ~ a#2@3 ~ a#2 ~ a#2@4", BU: "f2@5 ~ a#2@3 ~ a#2 ~ a#2@2 d2@2", BV: "d#2@6 a#2@3 ~ a#2 ~ a#2@3 ~",
BW: "d#2/2",
})).s("gm_acoustic_bass").gain(0.35)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~@6 A B A B A B C D C D A B A B C D C D A B A B C D C D A B A B C D C D E@2 ~@10 A B F G H I H I F G F G H I H I J@2
~@10 K L K L M N M N K L K L M N M N O@2 ~@10 P Q P Q R S R S P Q P Q R S R S P T@2 ~
>`.pickRestart({
A: "~@7 e4, g4, ~ e4@3 e4@3 ~, ~@2 c4@3 c4@3, ~@3 a4@3 a4@2",
B: "~@10 c4@2 a4 ~@3, b4@13 ~@3, ~@2 e4@6 e4@5 ~@3, ~@2 c4@3 ~@3, ~@3 a4@3 ~@2",
C: "~@7 f4, a4, ~ f4@3 f4@3 ~, ~@2 d4@3 d4@3, ~@3 b4@3 b4@2",
D: "~@10 d4@2 b4 ~@3, c5@13 ~@3, ~@2 f4@6 f4@5 ~@3, ~@2 d4@3 ~@3, ~@3 b4@3 ~@2",
E: "[~@12 b4@3 ~ e3@4 [c3,e3]@2 [c3,e3]@4 [c3,e3]!2 [c3,e3,a#3,c4]@4, g4@15 ~@17, ~@2 e4@6 e4@7 ~ [a#3,c4]@6 [a#3,c4]@6 ~@4, ~@4 c4@6 c4@5 c3@4 ~@13, ~@6 a4@9 ~@17]/2", // C C7 A#sus2
F: "~@7 f4, g#4, ~ f4@3 f4@3 ~, ~@2 c#4@3 c#4@3, ~@3 a#4@3 a#4@2",
G: "~@10 c#4@2 a#4 ~@3, c5@13 ~@3, ~@2 f4@6 f4@5 ~@3, ~@2 c#4@3 ~@3, ~@3 a#4@3 ~@2",
H: "~@7 f#4, a#4, ~ f#4@3 f#4@3 ~, ~@2 d#4@3 d#4@3, ~@3 c5@3 c5@2",
I: "~@10 d#4@2 c5 ~@3, c#5@13 ~@3, ~@2 f#4@6 f#4@5 ~@3, ~@2 d#4@3 ~@3, ~@3 c5@3 ~@2",
J: "[~@12 c5@3 ~ f3@4 [c#3,f3]@2 [c#3,f3]@4 [c#3,f3]!2 [c#3,f3,b3,c#4]@4, g#4@15 ~@17, ~@2 f4@6 f4@7 ~ [b3,c#4]@6 [b3,c#4]@6 ~@4, ~@4 c#4@6 c#4@5 c#3@4 ~@13, ~@6 a#4@9 ~@17]/2", // C# C#7 Bsus2
K: "~@7 f#4, a4, ~ f#4@3 f#4@3 ~, ~@2 d4@3 d4@3, ~@3 b4@3 b4@2",
L: "~@10 d4@2 b4 ~@3, c#5@13 ~@3, ~@2 f#4@6 f#4@5 ~@3, ~@2 d4@3 ~@3, ~@3 b4@3 ~@2",
M: "~@7 g4, b4, ~ g4@3 g4@3 ~, ~@2 e4@3 e4@3, ~@3 c#5@3 c#5@2",
N: "~@10 e4@2 c#5 ~@3, d5@13 ~@3, ~@2 g4@6 g4@5 ~@3, ~@2 e4@3 ~@3, ~@3 c#5@3 ~@2",
O: "[~@12 c#5@3 ~ f#3@4 [d3,f#3]@2 [d3,f#3]@4 [d3,f#3]!2 [d3,f#3,c4,d4]@4, a4@15 ~@17, ~@2 f#4@6 f#4@7 ~ [c4,d4]@6 [c4,d4]@6 ~@4, ~@4 d4@6 d4@5 d3@4 ~@13, ~@6 b4@9 ~@17]/2", // D D7 Csus2
P: "~@7 g4, a#4, ~ g4@3 g4@3 ~, ~@2 d#4@3 d#4@3, ~@3 c5@3 c5@2",
Q: "~@10 d#4@2 c5 ~@3, d5@13 ~@3, ~@2 g4@6 g4@5 ~@3, ~@2 d#4@3 ~@3, ~@3 c5@3 ~@2",
R: "~@7 g#4, c5, ~ g#4@3 g#4@3 ~, ~@2 f4@3 f4@3, ~@3 d5@3 d5@2",
S: "~@10 f4@2 d5 ~@3, d#5@13 ~@3, ~@2 g#4@6 g#4@5 ~@3, ~@2 f4@3 ~@3, ~@3 d5@3 ~@2",
T: "[~@3 [a#3,g4,c5]@13, d5, ~ g4@2 ~@13, ~ d#4@7]/2", // C7
})).s("gm_acoustic_guitar_nylon").gain(0.27).pan(0.2)
// other · piccolo
const piccolo = note(`<
A@2 B C D E ~@12 F@6 G@2 ~@3 H ~@10 I J K L M N O P Q R D S ~@2 T U V W V W X Y T U V W V W Z AA AB AC AD AE AF AG AH
AI AJ AK ~@10 AL AM AN AO AN AO AP AQ AR AS AT AU AR AV AW AX AY AZ ~@2 BA BB BC BD BC BE BF BG BA BB BC BD BC BE BH@3
~
>`.pickRestart({
A: "[~@6 c5@2 a5@2 g5@2 f5@2 e5@4 d#5@2 d5@2 c#5@2 c5@4 b4@3 c5]/2", B: "d5@3 c5 g4@2 a4@2, c#5 ~@15", C: "a#4@15 ~",
D: "b4 a#4", E: "a4 ~@3", F: "[[g4,e5]@16 ~@8 c5@3 ~@5 g4@3 g4@5 ~@8, c5@47 ~@7 b4@42, ~ a4 ~, ~@19 d5@29]/6",
G: "[[c5,e5]@3 [c5,e5]@5 c5@3 ~@5, g4@31 ~]/2", H: "g4@2 ~@2 g5 ~@11", I: "g4@2 g4!2", J: "[g4,a#4,e5]",
K: "[a4,c5,f5]", L: "e5@2 d#5@2 d5@2 c#5@2 c5@4 b4@3 c5, g4, b4@3 ~@5", M: "d5@3 c5@5, c#5 ~@15", N: "[a#4,e5]",
O: "[a4,f5]", P: "e5@2 d#5@2 d5@2 c#5@2 c5@4 b4@3 [c5,c#5], g4, b4 ~@3", Q: "d5@3 ~ g4@2 a4@2, ~@3 c5@5",
R: "[a#4,c#5]", S: "a4@3 ~@5", T: "g#5@2 c#5 ~ f5 ~ a#5@2 ~@2 c#5@2 f5@2 a#5 ~",
U: "c6@2 g#5 ~ c6 ~ a#5@2 ~@2 f5 ~ a#5@2 ~@2", V: "a#5@2 d#5 ~ f#5 ~ c6@2 ~@2 g#5@2 ~@2 d#5 ~",
W: "c#6@2 a#5 ~ c#6@2 c6@2 ~@2 g#5@2 ~@2 d#5 ~", X: "g#5@2 c#5 ~ f5@2 a#5@2 ~@2 c#5 ~ f5@2 a#5 ~",
Y: "c6@2 g#5 ~ c6@2 a#5@2 ~@4 f5@2 ~@2", Z: "g#5@2 c#5 ~ f5@2 a#5@2 ~@4 f5@2 a#5@2", AA: "b5", AB: "[a#4,c#5,f#5]",
AC: "f5@2 e5@2 d#5@2 d5@2 c#5@4 c5@3 c#5, g#4, c5@3 ~@5", AD: "d#5@3 c#5@5, d5 ~@15", AE: "[g#4,b4,f5]",
AF: "[a#4,f#5]", AG: "f5@2 e5@2 d#5@2 d5@2 c#5@4 c5@3 [c#5,d5], g#4, c5 ~@3", AH: "d#5@3 ~ g#4@2 a#4@2, ~@3 c#5@5",
AI: "[b4,d5]", AJ: "c5 b4", AK: "a#4@3 ~@5", AL: "a4@3 b4@5", AM: "c#5@3 d5@5", AN: "b4@3 c#5@5", AO: "d5@3 e5@5",
AP: "e5@3 d5@3 c#5@2", AQ: "c5", AR: "[b4,d5,g5]", AS: "f#5@2 f5@2 e5@2 d#5@2 d5@4 c#5@3 d5, a4, c#5@3 ~@5",
AT: "e5@3 d5@5, d#5 ~@15", AU: "[a4,c5]", AV: "f#5@2 f5@2 e5@2 d#5@2 d5@4 c#5@3 [d5,d#5], a4, c#5 ~@3",
AW: "e5@3 ~ a4@2 b4@2, ~@3 d5@5", AX: "[c5,d#5]", AY: "c#5 c5", AZ: "b4@3 ~@5", BA: "a#4@3 c5@4 ~", BB: "d5@3 c5@4 ~",
BC: "c5@3 d5@4 ~", BD: "d#5@3 d5@4 ~", BE: "d#5@3 f5@4 ~", BF: "f5@3 d#5@4 ~", BG: "d5@3 d#5@4 ~", BH: "a#4/3",
})).s("gm_piccolo").gain(0.15).pan(0.7)
// other · piccolo · soft notes
const piccolo_soft = note("<~@20 A ~@2 B ~ C ~@3 D E@2 ~@13 F G ~@8 H ~@5 I ~ H ~@4 J ~@5 K ~@26 L ~@26>".pickRestart({
A: "f5@3 ~@5", B: "g4@3 g4@5", C: "e5@6 [c5,e5]@9 ~", D: "~ g5 ~@6", E: "g4@2 g5@2 g5 ~@11", F: "g4", G: "c5",
H: "~@14 f5 ~", I: "~@14 a#5 ~", J: "~@10 c#5 ~@5", K: "c#5", L: "f#5",
})).s("gm_piccolo").gain(0.1).pan(0.7)
// other · string ensemble 1
const string_ensemble_1 = note(`<
A@2 B C D@2 ~@35 E F@2 G@2 F@2 H I J@2 ~@17 K L@2 M@2 L@2 N O P@2 ~@17 Q R@2 S@2 R@2 T U V@2 ~ W X@2 Y@2 Z@2 AA@2 X@2
Y@2 Z@2 AB@3 ~
>`.pickRestart({
A: "[~@3 [c4,c5] [f4,f5] [g4,g5] [a4,a5] [a4,a5]@6 [g4,g5]!2 [f4,f5]]/2", // C F G A G F
B: "[f4,f5]@6 [e4,e5]@4 [f4,f5]@3 [e4,e5]@3", C: "[e4,e5]@10 [g4,g5]@3 [f4,f5]@3", D: "[[e4,e5]@3 [d4,d5]@7 ~@6]/2",
E: "~@8 c5 d5 e5 f5 g5 a5 a#5 c6", F: "[a5@3 c5 f5 g5 a5 a5@6 g5!2 d5]/2",
G: "[f5@6 e5@18 c5 d5 e5 f5 g5 a5 a#5 c6]/2", H: "f5@3 e5@3 f5 e5", I: "e5@10 g5@3 f5@3", J: "[e5@3 d5@8 ~@5]/2",
K: "~@8 c#5 d#5 f5 f#5 g#5 a#5 b5 c#6", L: "[a#5@3 c#5 f#5 g#5 a#5 a#5@6 g#5!2 d#5]/2",
M: "[f#5@6 f5@18 c#5 d#5 f5 f#5 g#5 a#5 b5 c#6]/2", N: "f#5@3 f5@3 f#5 f5", O: "f5@10 g#5@3 f#5@3",
P: "[f5@3 d#5@8 ~@5]/2", Q: "~@8 d5 e5 f#5 g5 a5 b5 c6 d6", R: "[b5@3 d5 g5 a5 b5 b5@6 a5!2 e5]/2",
S: "[g5@6 f#5@18 d5 e5 f#5 g5 a5 b5 c6 d6]/2", T: "g5@3 f#5@3 g5 f#5", U: "f#5@10 a5@3 g5@3", V: "[f#5@3 e5@8 ~@5]/2",
W: "~@6 [d#4,d#5] [f4,f5]", // D# F
X: "[[g4,g5] [f4,f5] [g4,g5] [f4,f5] [g4,g5] [f4,f5] [g4,g5]@7 [f4,f5] [g4,g5] [f4,f5]]/2", // G F G F G F G F …
Y: "[[g#4,g#5]@27 ~ [d4,d5]@2 [d#4,d#5]@2]/2", // G# D D#
Z: "[[f4,f5] [d#4,d#5] [f4,f5] [d#4,d#5] [f4,f5] [d#4,d#5] [f4,f5]@7 [d#4,d#5] [f4,f5] [d#4,d#5]]/2", // F D# F D# F D# F D# …
AA: "[[g4,g5]@13 ~ [d#4,d#5] [f4,f5]]/2", AB: "[g4,g5]/3",
})).s("gm_string_ensemble_1").gain(0.22)
// other · string ensemble 1 · soft notes
const string_ensemble_1_soft = note("<~@54 A@2 B@4 C@4 D@4 E@2 ~@12 F@6 G@8 H@2 ~@30>".pickRestart({
A: "[~@6 a#5@10 c6@6 a#5@9 ~, [c#5,g#5,c#6]]/2", // C#5
B: "[~@6 c6@9 ~ c#6@6 c6@10 ~@6 c6@10 c#6@6 c6@10, [d#5,d#6], a#5@31 ~ a#5@32]/4", // D#
C: "[~@6 a#5@10 c6@6 a#5@10 ~@6 a#5@10 c6@6 a#5@9 ~, [c#5,c#6], g#5@31 ~ g#5@32]/4", // C#
D: "[~@3 c6@5 c#6@3 c6@5 ~@3 c6@5 c#6@3 c6@5, [d#5,d#6], a#5@31 ~ a#5@32]/4", // D#
E: "[~@6 a#5@10 b5@7 ~@9, [c#5,g#5,c#6]@3 ~]/2", // C#5
F: "[a5@3 b5@5 c#6@3 ~@8 c#6@5 d6@3 c#6@5 b5@3 c#6@5 d6@3 e6@5, d5 e5@2, ~@22 b5@17 ~@57]/6",
G: "[~@3 d6@5 c#6@3 b5@5 a5@3 b5@5 c#6@3 ~@8 c#6@5 d6@3 c#6@5 b5@3 c#6@5 d6@3 e6@5, d5 e5, ~@27 b5@8 ~@29]/8",
H: "[~@3 d6@3 c#6@2 c6@4 ~@4, [d5,a5]@3 ~]/2", // D5
})).s("gm_string_ensemble_1").gain(0.1)
// other · string ensemble 1
const string_ensemble_1_2 = note(`<
~ A B C D@2 ~@35 E F@2 G@2 H@2 I J K L ~@17 M N@2 O@2 P@2 Q R S T ~@17 U V@2 W@2 X@2 Y Z AA AB ~@20
>`.pickRestart({
A: "b3 d3", B: "g#3@3 g3@3 a3@2", C: "~ g3 g4 e4 c#4@4, a#3", D: "[a3@4 [d3,g3] ~@3, c4@5 ~@3]/2",
E: "~@8 e5 f5 g5 a5 a#5 c6 ~ e6, ~@7 d6", F: "[f6@6 c6@2 a6@2 g6@2 f6@2 e6@4 d#6@2 d6@2 c#6@2 c6@4 b5@3 c6]/2",
G: "[d6@5 ~ c6@18 e5 f5 g5 a5 a#5 c6 ~ e6, c#6 ~@29 d6@2]/2", H: "[f6@3 c6 a6 g6 f6 e6@2 d#6 d6 c#6 c6@2 b5@2]/2",
I: "[c6,c#6] d6@4 c6@3 g5@4 a5@4", J: "a#5", K: "b5 a#5", L: "a5@3 ~@5", M: "~@8 f5 f#5 g#5 a#5 b5 c#6 ~ f6, ~@7 d#6",
N: "[f#6@6 c#6@2 a#6@2 g#6@2 f#6@2 f6@4 e6@2 d#6@2 d6@2 c#6@4 c6@3 c#6]/2",
O: "[d#6@5 ~ c#6@18 f5 f#5 g#5 a#5 b5 c#6 ~ f6, d6 ~@29 d#6@2]/2",
P: "[f#6@3 c#6 a#6 g#6 f#6 f6@2 e6 d#6 d6 c#6@2 c6@2]/2", Q: "[c#6,d6] d#6@4 c#6@3 g#5@4 a#5@4", R: "b5", S: "c6 b5",
T: "a#5@3 ~@5", U: "~@8 f#5 g5 a5 b5 c6 d6 ~ f#6, ~@7 e6",
V: "[g6@6 d6@2 b6@2 a6@2 g6@2 f#6@4 f6@2 e6@2 d#6@2 d6@4 c#6@3 d6]/2",
W: "[e6@5 ~ d6@18 f#5 g5 a5 b5 c6 d6 ~ f#6, d#6 ~@29 e6@2]/2", X: "[g6@3 d6 b6 a6 g6 f#6@2 f6 e6 d#6 d6@2 c#6@2]/2",
Y: "[d6,d#6] e6@4 d6@3 a5@4 b5@4", Z: "c6", AA: "c#6 c6", AB: "b5@3 ~@5",
})).s("gm_string_ensemble_1").gain(0.25).pan(0.2)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@5 A B C D C E F G H G H E C B F G H G H E I E F G H G H E C B F G H G H J@2 K@4 L@5 M B C N O P Q P Q N R S O P Q P
Q T@2 U@4 V@5 W X Y G Z AA AB AA AB G Y X Z AA AB AA AB AC@2 AD@4 AE@5 AF AG AH@2 AI@2 AJ@2 AK@2 AL@2 AI@2 AJ@2 AK@2
AM@2 ~
>`.pickRestart({
A: "~@7 g4@3 ~ f4@3 d4@2", B: "g4@6 a4@5 ~ a4@3 ~", C: "b4@6 a4@5 ~ a4@4", D: "g4@5 ~ a4@5 ~ a4@4",
E: "g4@6 a4@5 ~ a4@4", F: "b4@6 a4@5 ~ a4@3 ~", G: "a4@6 b4@5 ~ b4@4", H: "c5@6 b4@5 ~ b4@4",
I: "b4@6 a4@5 ~ a4@2 ~@2",
J: "[g4@6 a4@5 ~ b4@3 ~ e3@4 [c3,e3]@2 [c3,e3]@4 [c3,e3] ~ [c3,e3,a#3,e4]@3 ~, ~@15 c3@4 ~@13, ~@8 [a#3,e4]@3 [a#3,e4]@3 ~@2]/2", // C C7 A#dim
K: "[[f3,a3,c4]@4 f3@2 ~@2 c3@2 [f2,c3,f3,a3,c4]@4 ~@2 g3@4 [d3,g3]@2 [g2,d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [g2,d3,g3,b3,d4]@3 ~@5 g3@2 g3@4 g3@2 c3@3 ~ [e3,c4]@4 [c3,e3,c4]@2 c3@4 c3@2 [c3,e3,a#3,c4]@4, ~@4 [f2,a3,c4]@6 ~@5 g2@6 ~@3 g2@4 ~@10 c3@6 ~@3 g2@2 ~@15, ~@4 c3@4 ~@6 [c3,f3]@2 [b3,d4]@6 [b3,d4]@6 ~@3 g3@4 ~@9 [g3,c4]@5 ~@5 [e3,a#3,c4]@6 ~@4, ~@6 f3@4 ~@5 d3@4 ~@13 [g#4,d5]@6 [e4,g4,c5]@10 a#3@6 ~@10]/4", // F G5 G C C7 F F5 Bm …
L: "[[f3,a3,c4]@4 f3@2 ~@2 c3@2 [f2,c3,f3,a3,c4]@4 ~@2 g3@4 [d3,g3]@2 [g2,d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [g2,d3,g3,b3,d4]@3 ~@5 g3@2 g3@4 g3@2 [c3,g3,c4]@3 ~ [g3,c#4,a#4]@4 [e3,g3,c#4]@2 e3@4 e3@2 [e3,g3,a#3,c#4]@3 ~ f#3@4 [d3,f#3]@2 [d3,f#3]@2 [d3,f#3]@2 [d3,f#3]@2 [d3,f#3,a#3]@4, ~@4 [f2,a3,c4]@6 ~@5 g2@6 ~@3 g2@4 ~@10 c3@6 ~@3 a2@2 ~@14 d3@4 ~@13, ~@4 c3@4 ~@6 [c3,f3]@2 [b3,d4]@6 [b3,d4]@6 ~@3 g3@4 ~@13 a#3@6 [g3,a#3,c#4]@6 ~@4 [b3,d4]@16, ~@6 f3@4 ~@5 d3@4 ~@13 [g#4,d5]@6 [e4,g4,c5]@10 ~@22 a#3@6 ~@4]/5", // F G5 G C5 Gdim C#dim Edim D …
M: "[f3,a3]@6 ~ g#4@3 ~ f#4@3 d#4@2", N: "g#4@6 a#4@5 ~ a#4@4", O: "c5@6 a#4@5 ~ a#4@3 ~", P: "a#4@6 c5@5 ~ c5@4",
Q: "c#5@6 c5@5 ~ c5@4", R: "c5@6 a#4@5 ~ a#4@4", S: "g#4@6 a#4@5 ~ a#4@3 ~",
T: "[g#4@6 a#4@5 ~ c5@3 ~ f3@4 [c#3,f3]@2 [c#3,f3]@4 [c#3,f3] ~ [c#3,f3,b3,f4]@3 ~, ~@15 c#3@4 ~@13, ~@8 [b3,f4]@3 [b3,f4]@3 ~@2]/2", // C# C#7 Bdim
U: "[[f#3,a#3,c#4]@4 f#3@2 ~@2 c#3@2 [f#2,c#3,f#3,a#3,c#4]@4 ~@2 g#3@4 [d#3,g#3]@2 [g#2,d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [g#2,d#3,g#3,c4,d#4]@3 ~@5 g#3@2 g#3@4 g#3@2 c#3@3 ~ [f3,c#4]@4 [c#3,f3,c#4]@2 c#3@4 c#3@2 [c#3,f3,b3,c#4]@4, ~@4 [f#2,a#3,c#4]@6 ~@5 g#2@6 ~@3 g#2@4 ~@10 c#3@6 ~@3 g#2@2 ~@15, ~@4 c#3@4 ~@6 [c#3,f#3]@2 [c4,d#4]@6 [c4,d#4]@6 ~@3 g#3@4 ~@9 [g#3,c#4]@5 ~@5 [f3,b3,c#4]@6 ~@4, ~@6 f#3@4 ~@5 d#3@4 ~@13 [a4,d#5]@6 [f4,g#4,c#5]@10 b3@6 ~@10]/4", // F# G#5 G# C# C#7 F# F#5 Cm …
V: "[[f#3,a#3,c#4]@4 f#3@2 ~@2 c#3@2 [f#2,c#3,f#3,a#3,c#4]@4 ~@2 g#3@4 [d#3,g#3]@2 [g#2,d#3,g#3]@2 [d#3,g#3]@2 [d#3,g#3]@2 [g#2,d#3,g#3,c4,d#4]@3 ~@5 g#3@2 g#3@4 g#3@2 [c#3,g#3,c#4]@3 ~ [g#3,d4,b4]@4 [f3,g#3,d4]@2 f3@4 f3@2 [f3,g#3,b3,d4]@3 ~ g3@4 [d#3,g3]@2 [d#3,g3]@2 [d#3,g3]@2 [d#3,g3]@2 [d#3,g3,b3]@4, ~@4 [f#2,a#3,c#4]@6 ~@5 g#2@6 ~@3 g#2@4 ~@10 c#3@6 ~@3 a#2@2 ~@14 d#3@4 ~@13, ~@4 c#3@4 ~@6 [c#3,f#3]@2 [c4,d#4]@6 [c4,d#4]@6 ~@3 g#3@4 ~@13 b3@6 [g#3,b3,d4]@6 ~@4 [c4,d#4]@16, ~@6 f#3@4 ~@5 d#3@4 ~@13 [a4,d#5]@6 [f4,g#4,c#5]@10 ~@22 b3@6 ~@4]/5", // F# G#5 G# C#5 G#dim Ddim Fdim D# …
W: "[f#3,a#3]@6 ~ a4@3 ~ g4@3 e4@2", X: "a4@6 b4@5 ~ b4@3 ~", Y: "c#5@6 b4@5 ~ b4@4", Z: "c#5@6 b4@5 ~ b4@3 ~",
AA: "b4@6 c#5@5 ~ c#5@4", AB: "d5@6 c#5@5 ~ c#5@4",
AC: "[a4@6 b4@5 ~ c#5@3 ~ f#3@4 [d3,f#3]@2 [d3,f#3]@4 [d3,f#3] ~ [d3,f#3,c4,f#4]@3 ~, ~@15 d3@4 ~@13, ~@8 [c4,f#4]@3 [c4,f#4]@3 ~@2]/2", // D D7 Cdim
AD: "[[g3,b3,d4]@4 g3@2 ~@2 d3@2 [g2,d3,g3,b3,d4]@4 ~@2 a3@4 [e3,a3]@2 [a2,e3,a3]@2 [e3,a3]@2 [e3,a3]@2 [a2,e3,a3,c#4,e4]@3 ~@5 a3@2 a3@4 a3@2 d3@3 ~ [f#3,d4]@4 [d3,f#3,d4]@2 d3@4 d3@2 [d3,f#3,c4,d4]@4, ~@4 [g2,b3,d4]@6 ~@5 a2@6 ~@3 a2@4 ~@10 d3@6 ~@3 a2@2 ~@15, ~@4 d3@4 ~@6 [d3,g3]@2 [c#4,e4]@6 [c#4,e4]@6 ~@3 a3@4 ~@9 [a3,d4]@5 ~@5 [f#3,c4,d4]@6 ~@4, ~@6 g3@4 ~@5 e3@4 ~@13 [a#4,e5]@6 [f#4,a4,d5]@10 c4@6 ~@10]/4", // G A5 A D D7 G G5 C#m …
AE: "[[g3,b3,d4]@4 g3@2 ~@2 d3@2 [g2,d3,g3,b3,d4]@4 ~@2 a3@4 [e3,a3]@2 [a2,e3,a3]@2 [e3,a3]@2 [e3,a3]@2 [a2,e3,a3,c#4,e4]@3 ~@5 a3@2 a3@4 a3@2 [d3,a3,d4]@3 ~ [a3,d#4,c5]@4 [f#3,a3,d#4]@2 f#3@4 f#3@2 [f#3,a3,c4,d#4]@3 ~ g#3@4 [e3,g#3]@2 [e3,g#3]@2 [e3,g#3]@2 [e3,g#3]@2 [e3,g#3,c4]@4, ~@4 [g2,b3,d4]@6 ~@5 a2@6 ~@3 a2@4 ~@10 d3@6 ~@3 b2@2 ~@14 e3@4 ~@13, ~@4 d3@4 ~@6 [d3,g3]@2 [c#4,e4]@6 [c#4,e4]@6 ~@3 a3@4 ~@13 c4@6 [a3,c4,d#4]@6 ~@4 [c#4,e4]@16, ~@6 g3@4 ~@5 e3@4 ~@13 [a#4,e5]@6 [f#4,a4,d5]@10 ~@22 c4@6 ~@4]/5", // G A5 A D5 Adim D#dim F#dim E …
AF: "[g3,b3]@6 ~ a#4@3 ~ g#4@3 f4@2", AG: "a#4@6 c5@5 ~ c5@3 ~",
AH: "[d5@6 c5@5 ~ c5@3 ~@5 [a#2,d#3]@2 [d#3,g3,c4]@6 d#3@2 [c3,d#3]@2, ~@15 a#2@5 ~@2 c3@8 ~@2, ~@8 [g3,a#3]@3 ~@3 [g3,c4]@2]/2", // D#5 Cm Gm C5
AI: "[d#3@4 d#3@2 d#3@4 d#3@2 [d#3,g3,c4]@3 ~@5 [c3,f3]@2 f3@4 f3@2 ~@2 d3@2, [a#2,g3,d4]@6 c3@9 [c3,f3]@5 ~@2 d3@8 ~@2, ~@3 [g3,c4]@3 ~@2 [g#3,c4]@3 [g#3,d4]@3 [f3,g#3,d4]@2]/2", // Cm F5 Gm F5 C5 G# G#dim Ddim
AJ: "[f3@4 f3@2 f3@4 f3@2 [f3,g#3,d4]@3 ~ f3@4 [c3,f3]@2 f3@4 f3@2 ~@2 d3@2, [c3,g#3,d#4]@6 d3@9 c3@5 ~@2 d3@8 ~@2, ~@3 [g#3,d4]@3 ~@2 [g#3,c4]@3 [g#3,d4]@3 [f3,g#3,d4]@2]/2", // Ddim F5 G# G#dim G# G#dim Ddim
AK: "[f3@4 f3@2 f3@4 f3@2 [f3,g#3,d4]@3 ~ d#3@4 [a#2,d#3]@2 [g3,c4]@6 d#3@2 [c3,d#3]@2, [c3,g#3,d#4]@6 d3@9 a#2@5 ~@2 c3@8 ~@2, ~@3 [g#3,d4]@3 ~@2 [g3,a#3]@3 d#3@2 ~ [g3,c4]@2]/2", // Ddim D#5 C5 Cm G# G#dim Gm C5
AL: "[d#3@4 d#3@2 d#3@4 d#3@2 [d#3,g3,c4]@3 ~@5 [a#2,d#3]@2 [d#3,g3,c4]@6 d#3@2 [c3,d#3]@2, [a#2,g3,d4]@3 c3@5 [g3,a#3]@3 ~@3 [g3,c4]@2, ~@6 [g3,c4]@6 ~@3 a#2@5 ~@2 c3@8 ~@2]/2", // Cm D#5 Cm Gm C5
AM: "[d#3@2 d#3 [c3,d#3,g3,c4]@13, [a#2,g3,d4]@7 ~@25]/2", // Cm Gm
})).s("gm_acoustic_guitar_steel").gain(0.27).pan(0.8)
// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
~@41 A@2 B@4 C@3 D@2 ~@17 E@2 F@4 G@3 H@2 ~@17 I@2 J@4 K@3 L@2 ~ M@2 ~@5 N M@2 ~@5 N ~@3
>`.pickRestart({
A: "[~@11 [c3,e3] ~@3 [f2,c3]@5 ~@12]/2", B: "[~@16 f4@6 ~@9 c3@5 ~@11 [f2,c3]@5 ~@12, ~@15 c3@7 ~@42]/4",
C: "[~@16 f4@6 ~@9 e3@5 a#4@2 a#4@6 a#4@4, ~@15 c3@7 ~@26]/3", D: "[a4@6 a4@9 [g2,d3]@7 ~@10]/2",
E: "[~@11 [c#3,f3] ~@3 [f#2,c#3]@5 ~@12]/2", F: "[~@16 f#4@6 ~@9 c#3@5 ~@11 [f#2,c#3]@5 ~@12, ~@15 c#3@7 ~@42]/4",
G: "[~@16 f#4@6 ~@9 f3@5 b4@2 b4@6 b4@3 ~, ~@15 c#3@7 ~@26]/3", H: "[a#4@6 a#4@9 [g#2,d#3]@7 ~@10]/2",
I: "[~@11 [d3,f#3] ~@3 [g2,d3]@5 ~@12]/2", J: "[~@16 g4@6 ~@9 d3@5 ~@11 [g2,d3]@5 ~@12, ~@15 d3@7 ~@42]/4",
K: "[~@16 g4@6 ~@9 f#3@5 c5@2 c5@6 c5@3 ~, ~@15 d3@7 ~@26]/3", L: "[b4@6 b4@9 [a2,e3]@7 ~@10]/2",
M: "[~@15 d#3@5 ~@12]/2", N: "~@5 d#3 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.8)
// chords · string ensemble 1
const string_ensemble_1_3 = note(`<
~ A B C D E ~@20 F@8 G@6 H@2 ~@12 I@2 J@4 K@4 L@4 M@2 ~@12 N@6 O@8 P@2 ~@30
>`.pickRestart({
A: "g2", B: "c3", C: "c#3 c#2", D: "d2", E: "g2 ~@3", F: "[[c4,e4] [c4,d4,f4]@2 [c4,e4], g3@127 ~]/8",
G: "[[c3,e4] [g2,c4,d4,f4]@2, g3@95 ~]/6", H: "[c4 [a#3,g4], [c3,g3,e4]]/2",
I: "[~@6 a#4@10 c5@6 a#4@9 ~, [c#4,g#4,c#5]]/2", // C#5
J: "[~@6 c5@9 ~ c#5@6 c5@10 ~@6 c5@10 c#5@6 c5@10, [d#4,d#5], a#4@31 ~ a#4@32]/4", // D#
// … 70 more lines
More by Ornella Vanoni
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.