0:00/0:00
// Diamante — Zucchero
// 108 bpm, 4/4, key F 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 160 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(108/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.
// chords · epiano2 · "ElettPno"
const epiano2 = note("<A@8 ~@60 B C ~@21 D E F G ~@65>".pickRestart({
A: "[~@119 c4@2 ~@7, ~ a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 c4@2 a3@2 c4@2 bb3@2 f3@2 bb3@2 ~@9, ~ d3 d4 g3!2 d4 d3!2 d4 g3!2 d4 d3!2 d4 g3 g3 d4 d3!2 d4 g3!2 d4 d3!2 d4 g3!2 d4 d3!2 d4 g3!2 d4 d3!2 d4 g3 g3 d4 d3!2 d4 g3!2 d4 d3!2 d4 g3!2 d4 d3!2 d4 g3!2 d4 ~@4]/8",
B: "~@6 c6 c5@2 g5 c5@2 f5 c5 c4 g4", C: "c5 g4 c4 g4@5 ~@8", D: "~@3 a4 a4@2 g4 bb4",
E: "~@6 g5@3 ~@3 e5 c5@2 ~, ~@4 c5@3 ~@9, ~@5 d5@3 ~@8", F: "d5@4 ~@11 e5", G: "f5 e5 c5@2 d5 ~ d5 ~ d5@6 ~@2",
})).s("gm_epiano2").gain(0.18)
// bass · electric bass finger · "Bass"
const bass = note(`<
~@7 A@8 B@8 C@3 D@8 E@7 F@8 G@4 H@7 I@8 J@5 K@8 L@8 M@5 ~@2 N O@4 P@8 Q@3 R@7 S@8 T@6 U@8 V@8 W X Y@8 ~
>`.pickRestart({
A: "[~@8 g1@6 d2@6 d1@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 c2@6 c1@2 d1@2 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 d2@2]/8",
B: "[c2@2 bb1@2 a1@2 f1@2 g1@6 d2@6 d1@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 c2@6 c1@2 d1@2 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@3 ~ c2@5 ~ c2@2]/8",
C: "[~@4 c2@4 f1@6 c2@5 ~ c2@4 f1@6 c2@4 ~@2 c2@4 f1@6 c2@2]/3",
D: "[~@4 c2@4 f1@6 c2@5 ~ c2@3 ~ bb1@6 f2@6 f1@4 bb1@6 f2@5 ~ c2@4 f1@6 c2@6 f1@4 c2@5 ~ c2@5 ~ c2@4 f1@5 ~ c2@5 ~ c2@4 f1@6 c2@6 f2@2 c2@2 f1@6 c2@2]/8",
E: "[~@4 c2@4 f1@6 c2@5 ~ c2 ~ c2@2 bb1@6 f2@5 ~ f2@4 bb1@6 f2@5 ~ f2@4 f1@6 c2@5 ~ c2@4 f1@5 ~ c2@5 ~ c2@4 c2@5 ~ c2@6 g1@4 c2@5 ~ c2@2]/7",
F: "[~@4 g1@4 bb1@6 f1@7 ~ f1 ~ f1@6 c2@6 f1@4 c2@5 ~ c2@6 g1@4 c2@5 ~ c2@6 g1@4 bb1@6 f1@5 ~ f1@4 f1@5 ~ f1@5 ~ f1@2 c2 ~ bb1@5 ~ bb1@6 f1@4 bb1@8]/8",
G: "[c2@8 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 d2@2]/4",
H: "[c2@2 bb1@2 a1@2 f1@2 g1@5 ~ d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@3 ~ c2@5 ~ c2@5 ~ c2@4 f1@6 c2@5 ~ c2@4 f1@6 c2@6 f2@4 f1@6 c2@2]/7",
I: "[~@4 c2@4 f1@6 c2@6 f1@2 c2@2 bb1@5 ~ bb1@5 ~ bb1@2 f1@2 bb1@6 bb1@6 g1@2 c2@2 f1@6 c2@5 ~ c2@3 ~ c2@5 ~ c2@5 ~ c2@4 f1@6 c2@5 ~ c2@3 ~ f1@6 c2@5 ~ c2@2 d2@2 f1@5 ~ c2@2]/8",
J: "[~@4 c2@4 f1@5 ~ c2@6 f1@2 c2@2 bb1@5 ~ bb1@5 ~ bb1@2 f1@2 bb1@5 ~ bb1@5 ~ bb1@2 c2@2 f1@6 c2@5 ~ c2@4 f1@6 c2@2]/5",
K: "[~@4 c2@4 c2@5 ~ c2@6 g1@3 ~ c2@5 ~ c2@6 g1@2 c2@2 bb1@6 f1@9 ~ f1@5 ~ f1@6 a1@2 bb1@2 c2@5 ~ c2@6 g1@4 c2@5 ~ c2@6 g1@2 c2@2 bb1@6 f1@7 ~ f1@2 f1@5 ~ f1@2]/8",
L: "[~@4 a1@2 bb1@2 c2@5 ~ c2@6 g1@3 ~ c2@5 ~ c2@6 g1@2 c2@2 bb1@6 f1@9 ~ f1@5 ~ f1@6 a1@2 bb1@2 c2@5 ~ c2@6 g1@4 c2@5 ~ c2@6 g1@2 c2@2 bb1@6 f1@9 ~ f1@5 ~ f1@2]/8",
M: "[~@4 f2@2 f1@2 bb1@15 ~ bb1@15 ~ bb1@16 bb1@16 ~@8]/5", N: "~ c2",
O: "[d2@8 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 c2@6 d2@2]/4",
P: "[c2@2 bb1@2 a1@2 f1@2 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@5 ~ f1@6 f1@2 gb1@2 g1@6 d2@5 ~ d2@4 g1@6 d2@5 d2 d2@3 ~ f1@6 c2@5 ~ c2@4 f1@6 c2@2]/8",
Q: "[~@4 f1@2 gb1@2 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@2]/3",
R: "[~@4 c2@4 f1@6 c1@6 f1@2 bb1@2 c2@5 ~ c2@6 g1@3 ~ c2@5 ~ c2@6 g1@2 c2@2 bb1@6 f1@9 ~ f1@5 ~ f1@6 a1@2 bb1@2 c2@5 ~ c2@6 g1@4 c2@5 ~ c2@2]/7",
S: "[~@4 g1@2 c2@2 bb1@6 f1@7 ~ f1@2 f1@5 ~ f1@6 a1@2 bb1@2 c2@5 ~ c2@6 g1@3 ~ c2@5 ~ c2@6 g1@2 c2@2 bb1@6 f1@9 ~ f1@5 ~ f1@6 a1@2 bb1@2 c2@5 ~ c2@6 g1@4 c2@5 ~ c2@2]/8",
T: "[~@4 g1@2 c2@2 bb1@6 f1@9 ~ f1@5 ~ f1@6 f2@2 f1@2 bb1@28 c2@4 d2@24]/6",
U: "[c2@7 ~ g1@6 d2@6 d1@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 c2@6 c1@2 d1@2 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 d2@2]/8",
V: "[c2@2 bb1@2 a1@2 f1@2 g1@6 d2@6 d1@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 c2@6 c1@2 d1@2 g1@6 d2@5 ~ d2@4 g1@6 d1@5 ~ d1@4 f1@6 c2@5 ~ c2@4 f1@6 d2@2]/8",
W: "c2 bb1 a1 f1 g1@3 d2", X: "~@2 d2@2 g1@3 d1",
Y: "[~@4 g1@4 f1@13 ~ f1 ~ f1@14 f1 ~ f1@14 ~ f1@2 f1@17 ~ f1@2 ~ f1@42 ~@8]/8",
})).s("gm_electric_bass_finger").gain(0.56)
// chords · acoustic guitar steel · "AcusGtr1"
const acoustic_guitar_steel = note(`<
~@7 A@8 B@7 C@8 D@8 E@8 F@3 G@7 C@8 D@8 E@16 H@2 ~@7 I J K L M J K L M J K L M J K L N@8 O@8 P@3 ~ A@8 Q@8 R@3 ~@8
>`.pickRestart({
A: "[~@4 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@5 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@4]/8", // Gm F Gm F
B: "[~@2 [a3,c4,f4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@5 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]]/7", // F Gm F Gm F
C: "[~@4 [a3,c4,f4]@3 ~ [f4,bb4]@15 ~ [a3,c4,f4]@6 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@6 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [c4,f4]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [a3,c4,f4]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [bb3,d4,f4]@6 [bb3,d4]@4 [bb3,d4]@2 [bb3,d4,f4]@4 [bb3,d4,f4]@6 [bb3,d4,f4]@4 [bb3,d4,f4]@2 [bb3,d4,f4]@4 [a3,c4,f4]@6 [a3,c4,f4]@2, ~@7 d4@15 ~@34 a3@16 ~@22 f4@6 ~@28]/8", // F Bb5 F F5 Csus4 F Csus4 Bb …
D: "[~@2 [a3,c4,f4]@2 [a3,c4,f4]@4 ~@2 [d4,f4]@4 [f4,bb4]@4 [f4,bb4,d5]@5 ~ [a3,c4,f4]@6 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@6 [a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [c4,f4]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [a3,c4,f4]@6 [g3,c4,f4]@4 [g3,c4,f4]@2 [g3,c4,f4]@4 [bb3,d4,f4]@6 [bb3,d4,f4]@4 [bb3,d4,f4]@2 [bb3,d4,f4]@4 [bb3,d4,f4]@6 [bb3,d4,f4]@4 [bb3,d4,f4]@2 [bb3,d4,f4]@4 [a3,c4,f4]@6 [a3,c4,f4]@2, ~@10 bb3@13 ~@33 a3@16 ~@56, ~@14 d4@9 ~@105]/8", // F Dm Bb5 Bb F F5 Csus4 F …
E: "[~ [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [bb3,d4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,f4] [a3,f4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [bb3,d4,f4]@3 [a3,c4,f4], ~@41 c4@3 ~@20]/8", // F C Bb F Dm C Bb F
F: "[~ [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [bb3,d4,f4]@3 [bb3,d4,f4]@2 [bb3,d4,f4] [bb3,d4,f4]@2 [bb3,d4,f4]@4]/3", // F Bb
G: "[[g3,c4,e4]@4 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@5 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]]/7", // C Gm F Gm F
H: "[~ [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 ~@4]/2", I: "~@6 [bb3,d4,f4]!2",
J: "[bb3,d4,f4]!3 [bb3,d4,f4]@3 [bb3,d4,f4]!2", // Bb
K: "[bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@3 ~@3 [a3,c4,f4]@2 [a3,c4,f4]@2", // Bb F
L: "[a3,c4,f4]!3 [a3,c4,f4]@2 ~ [a3,c4,f4]!2", M: "[a3,c4,f4]!4 ~@2 [bb3,d4,f4]!2",
N: "[[a3,c4,f4]!4 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [bb3,d4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,f4] [a3,f4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [bb3,d4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4], ~@33 c4@3 ~@28]/8", // F C Bb F Dm C Bb F
O: "[~ [a3,c4,f4] [a3,c4,f4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [bb3,d4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,f4] [a3,f4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@2 [bb3,d4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4], ~@33 c4@3 ~@28]/8", // F C Bb F Dm C Bb F
P: "[~ [a3,c4,f4] [a3,c4,f4]@16 ~@6]/3", // F
Q: "[~@2 [a3,c4,f4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@3 [a3,c4,f4]@5 [bb3,d4,g4]@3 [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@3 [bb3,d4,g4]@5 [a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@4]/8", // F Gm F Gm F
R: "[~ [a3,c4,f4]@8 ~@3]/3", // F
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.2)
// other · pad warm · "SynthSolo"
const pad_warm = note("<~@96 A B@2 C D@3 E F@2 G H I@2 J@2 K@3 ~@45>".pickRestart({
A: "~@9 g3 a3 bb3 c4 [d4,e4] f4 g4", B: "[a4 bb4 c5 d5 e5 f5 g5 a5 bb5 c6 d6 ~ d6@2 ~ d6@3 c6@13 ~]/2",
C: "a5@2 c6@2 d6@2 ~ d6@3 c6@6", D: "[a5@6 g5 f5 d5@2 ~ d5@3 c5@9 ~@7 a5@6 g5@6 f5@6]/3",
E: "e5@5 ~ [e5,f5] d5 e5@6 d5 g4", F: "[d5 c5 a4@6 g4 f4 c4 d4 c4@11 ~@9]/2",
G: "~ a5 d6 [g5,c6] [g5,a5] [e5,a5] g5 [d5,e5] [c5,e5] [a4,d5] d5 [e5,g5] [c5,d5] a4 [g4,d5] [g4,a4]", // C5 Gsus2 A5 Dsus2 C D5 Em Csus2 …
H: "[d4,e4] g4 [e4,c5] a4 [e4,g4] d4 [a3,c4] [e3,g3] d3 [a2,d3] e3 [g3,a3] g3 [d3,e3] [e3,g3] d4", // Dsus2 C Em Am Em D5 Gsus2 Dsus2 …
I: "[a3@5 g3 a3@8 g3@5 ~@5 a5@2 bb5@2 a5@2 bb5@2, ~@6 e3 ~@25]/2", J: "[c6@3 ~ c6@4 c6@12 e6@4 e6@6 f6 d6]/2",
K: "[c6@6 a5 g5@2 c5@13 ~ a4@2 c5@15 ~@8, ~@22 d5@3 ~@23]/3",
})).s("gm_pad_warm").gain(0.72)
// chords · orchestral harp · "Harp1"
const orchestral_harp = note("<~@101 A ~@2 B@2 ~@25 C D ~@27>".pickRestart({
A: "~@3 [a3,d4]@2 g3 ~@2 [a4,d5]@5 ~@3, ~@5 d3@7 ~@4, ~@6 [g3,a3]@7 ~@3, ~@7 [d4,g4]@6 ~@3", // D5 Gsus2 G5
B: "[~@13 f3 ~@2 g4 ~ g4 ~@2 [g5,c6]@5 ~@6, ~@13 g3@2 [g3,c4]@11 ~@6, ~@7 [c3,f3]@6 ~@3, ~@16 f4@2 f4@2 f5@5 ~@7, ~@17 c5@2 [g4,c5]@6 ~@7]/2", // C5 F5 C5
C: "~ g2 a2 bb2 c3 d3 e3 f3 [g3,a3] bb3 c4 [d4,e4] g4@2 e4@2, ~@12 f4 ~@3", D: "c4 ~ d4@2 ~@12",
})).s("gm_orchestral_harp").gain(0.31).pan(1)
// chords · orchestral harp · "Harp1" · soft notes
const orchestral_harp_soft = note(`<
~@101
[~@2 g3@3 ~@11, ~ d3@4 ~@11]
~@2
[~@11 g3 c4@3 ~, ~@9 c3@4 ~@3, ~@10 f3@3 ~@3]
~@55
>`).s("gm_orchestral_harp").gain(0.18).pan(1)
// chords · orchestral harp · "Harp2"
const orchestral_harp_2 = note(`<
~@7 A@2 B@4 C@2 D@6 E@3 ~@2 F@3 ~ G@2 ~@2 H@4 ~@4 I@2 ~@3 J@2 K@6 L@3 ~@2 M@2 ~ N@4 ~@14 O ~@3 P@2 ~@3 Q@4 R@2 ~@16 S
T ~@3 U@2 ~ V W@2 ~@4 X@2 Y@2 ~@2 Z@4 AA@2 AB@6 AC@2 AD@4 AE@7 ~@2
>`.pickRestart({
A: "[~@9 f4@7, ~@4 g3@11 ~, ~@5 bb3@10 ~, ~@6 d4@9 ~, ~@7 a4@8 ~]/2",
B: "[~@14 c4@12 ~@4 g3@4 a3@6 ~@10 a4@11 ~@3, ~@2 d3@8 c3@4 ~@12 c3@5 ~@15 c5@10 ~@8, ~@2 bb3@4 a3@2 ~@6 f3@3 ~@3 g3@8 ~@4, ~@6 f4@7 ~@31 d4@12 ~@8, ~@8 e4@5 ~@29 bb3@14 ~@8]/4",
C: "[~@5 c3 ~ c4@8 d3, c5@5 ~@11, ~@3 bb4@2 ~ a3@2 ~@8, ~@4 a4@3 ~@9]/2",
D: "[~@2 f3@2 g3@2 a3@2 ~@10 f4@8 ~@2 a3@2 ~@9 e4 f4 ~@21 g3@4 ~@16 a4@10 ~@4, c3@4 ~@4 g3@14 ~@4 d3@4 ~@12 c3@10 ~@6 c3@8 ~@4 d3@8 c5@7 ~@11, ~@10 bb3@12 ~@8 bb3@10 ~@4 a3@6 ~@10 f3@6 ~@6 g3@13 ~@11, ~@12 d4@10 ~@16 f4@2 e4@7 ~@29 d4@9 ~@11, ~@14 a4@8 ~@24 c4@20 a3@6 ~@2 bb3@11 ~@11]/6",
E: "[~@7 a4 bb4@2 ~@4 c4@11 ~@5 d4@8 ~@10, c5@10 c3@7 ~@11 bb3@10 ~@10, ~@3 bb4 a4@4 ~@16, ~@6 a3@2 ~@5 f3@6 ~@5]/3",
F: "[~@11 a4@7 ~@6, ~@7 c4@5 ~@12, ~@5 f4@3 ~@8, ~@8 a4@3 ~@13, ~@5 g4 ~@6]/3",
G: "[~@7 d4@5 ~@4, ~@5 f3@7 ~@4, ~@3 bb3@3 ~@2]/2",
H: "[~@4 a4@2 ~@4 f4 ~@4 f4@10 ~@7, ~@7 c4@15 ~@6 bb3@22 ~@14, ~@7 f4@13 ~@2 g4@11 ~@31, ~@6 a4@3 a4@2 ~@21, ~@7 c5@4 ~@21]/4",
I: "[~@14 g3@4 a3@2 f3@7 ~@5, ~@10 c3@5 ~@17, ~@3 f3 ~@4]/2",
J: "[~@6 a4 ~@5 g4@2 bb4@7 f4 g4@2 f4@8, ~@4 a4@3 ~@9]/2",
K: "[e4@8 ~@10 f4@17 ~ bb3@2 f4@2 ~@6 c4@12 ~@4 g3@4 ~@8 bb3@2 ~@6 a4@14, ~@8 g3@22 ~@12 c3@10 ~@6 c3@7 ~@5 d3@20 ~@6, ~@5 bb3@10 ~@7 g3@5 ~@3 f3@2 ~ a3@3 g3@9 ~@3, ~@12 d4@18 ~@10 e4@9 ~@27 d4@14 ~@6, ~@14 a4@17 ~@47 c5@12 ~@6]/6",
L: "[c5@6 bb4@2 ~@6 c4@11 ~@5 d4@10 ~@8, ~@8 a4@7 ~@33, ~@5 c3@7 ~@2 bb3@6 ~@4, ~@12 a3@12 ~@2 f3@13 ~@9]/3",
M: "[~@6 c5 bb4 a4@6 ~@2, ~@9 [c4,f4]@19 ~@4, ~@10 a4@5 ~@17]/2", // F5
N: "[~@19 bb4 a4@6 ~@6, ~@14 g3@18 g4 bb4 d5@2 c5@5 ~@23, ~@29 bb3@15 ~@20, ~@30 d4@13 ~@21, ~@31 f4@12 ~@21]/4",
O: "a4@2 c5@3 ~ c5@9 ~, ab4 ~@15", P: "[a4 c5@2 c5@7 ~@6, ab4 ~@31]/2",
Q: "[~@12 f4@10 a4 ~ a4@4 g4@2 ~@8 g5@4 ~@3 c5@3 d5@14 ~@2, ~@11 a4@11 ~@8 bb4@19 ~@15, ~@36 c5@8 e5@5 ~@15, ~@37 d5@11 ~@16, ~@42 g5@7 ~@15]/4",
R: "[e5 ~ c5@2 d5 ~ d5@2 d5@16 ~@8, f5@5 ~@27, ~ e5@4 ~@27]/2", S: "~@7 a3, ~@3 g3", T: "~ c4 d4 f4 ~@4, bb3 ~@3",
U: "[~@4 a4@4 e4@6 g4@15 ~@3]/2", V: "~@10 a4 ~ [a4,bb4] a4 g4 ~",
W: "[[g4,a4] g4 f4 ~ f4 g4 e4@13 ~@13, ~@6 f4 ~@25]/2", X: "[~@8 d4@6 c4@8 ~@2 c6 g5 f5 c5 c6 g5 f5 c5]/2",
Y: "[~ g4 f4 c4 f4 c4 a4 ~ a4@4 g4@2 bb4@8 ~@10]/2",
Z: "[~@18 f4@7 ~@3 a3@2 bb3@7 ~ f4@2 e4@2 c3@2 a3@2 c4@10 ~@6 d4@2, ~@8 g3@17 ~ d3@6 ~@32, ~@10 bb3@15 ~@37 c4 ~, ~@12 d4@13 ~@39, ~@14 a4@11 ~@39]/4",
AA: "[c4 bb3 a3 f3 ~ bb3 d4 c5@2 a4@5 ~@2, ~@2 g3 ~@5]/2",
AB: "[c5@6 bb4@2 ~@4 a3@2 c4@10 ~@4 [c4,d4] c4 ~@2 c4 ~@3 c4!2 a3@2 ~@10 f4@19 ~ f4@2 f4 ~@5 c4@12 ~@4 c5 f5, ~@8 a4@5 ~@19 d4@4 d4@2 ~@6 d4@11 ~@17 e4@5 ~@19, ~@10 c3@5 ~@15 a3@3 c4@3 ~@6 bb3@13 ~@21 a3@5 ~@15, ~@34 a3@4 ~@2 g3@15 ~@19 c3@5 ~@17, ~@46 a4@9 ~@41]/6", // Csus2
AC: "[a4 d5 c5@2 a4@2 g4@2 ~@6 c5@4 a4@9 ~@2 c4 [g4,d5]@2, ~@8 g3@13 ~@11, ~@10 bb3@11 ~@11, ~@6 d4@5 ~@5]/2", // G5
AD: "[c5@5 ~ bb4@2 a4@6 f4@8 ~@4 c3@2 d4@2 c4@8 ~@24 bb3@2, ~@11 c4@3 ~@6 g3@5 a4@7, ~@21 bb3@8 d3@3, ~@44 d4@15 ~ a3@4, ~@46 c5@13 ~@5]/4",
AE: "[c5@6 bb4@2 ~@6 g3@4 a3@7 ~@3 f3@2 g3@6 a3@2 ~@8 g3@5 a3@8 ~@5 g3@8 a3@3 ~@5 a4@19 ~@13, ~@8 a4@4 f3@4 ~@28 f3@4 ~@14 f3@5 ~@10 c4@22 ~@13, ~@10 c3@15 ~ c3@11 ~@5 c3@15 ~@2 c3@16 ~@3 f4@21 ~@13, ~@79 g4@20 ~@13]/7",
})).s("gm_orchestral_harp").gain(0.64)
// other · flute
const flute = note("<~@68 A B@3 ~@88>".pickRestart({
A: "~@3 f4", B: "[e4 d4@4 ~]/3",
})).s("gm_flute").gain(0.37).pan(0.8)
// other · pad metallic · "Fantasy"
const pad_metallic = note("<~@2 A@6 ~@85 B@4 ~@63>".pickRestart({
A: "[~@10 d5@19 f5@17 g5@17 [a5,d6]@25 ~@8]/6", B: "[~@8 c6@12 ~@4 d6@14 ~@3 f6@15 ~@8]/4",
})).s("gm_pad_metallic").gain(0.06).pan(0.3)
// chords · string ensemble 2 · "Strings2"
const string_ensemble_2 = note("<~@2 A@6 ~@75 B@7 ~@25 C@6 D@6 E@6 F@8 G@8 H@2 I@7 ~@2>".pickRestart({
A: "[~@5 [c2,g2,c3]@39 ~@4]/6", // C5
B: "[~@4 [d4,bb4]@3 a4@13 [g4,c5]@16 [bb3,bb4]@3 [a3,a4]@12 ~@5, ~@8 f4@33 ~@31 f4@30 ~@10, ~@7 c4@29 ~@20]/7", // Gm C5 Bb A
C: "[~@4 [bb3,d4]@3 a3@13 [e4,g4,c5]@16 [bb3,d4,d5]@3 [a3,c4,c5]@9, ~ f4@4 ~@4 f4@3, ~@7 c4@29 ~@12]/6", // Bb C Bb Am
D: "[~@4 [c4,e4,g4,c5]@16 [bb3,d4,d5]@3 a3@13 [e4,g4]@12, ~@5 f4@4 ~@3, ~@23 [c4,c5]@25]/6", // C Bb Em C
E: "[d5@4 e5@4 ~ d5@5 [a3,c4,c5]@26 [bb3,d4,bb4]@28 [c4,e4,g4]@4 [d4,f4,a4]@24, ~@4 [bb3,d4]@3 ~@41, ~@9 f4@31 f4@26 ~@30]/6", // Am Bb C Dm Bb
F: "[[c4,e4,g4]@7 ~ g4@32 f4@32 g4@32 f4@24]/8", G: "[~ g4@4 f4@4 g4@4 f4@3]/8", H: "[~ g4@3]/2",
I: "[~@8 f4@99 ~@5]/7",
})).s("gm_string_ensemble_2").gain(0.23).pan(0.3)
// chords · string ensemble 2 · "Strings2" · soft notes
const string_ensemble_2_soft = note("<~@3 A@5 ~@152>".pickRestart({
A: "[~@13 f5@17 g5@17 [a5,d6]@24 ~@9]/5", // D5
})).s("gm_string_ensemble_2").gain(0.11).pan(0.3)
// chords · synth strings 1 · "SynPad"
const synth_strings_1 = note(`<
~@2 A@6 ~@8 B@7 ~@16 C@6 D@4 E@6 F@2 G@8 H@8 I@2 J@8 K@4 L@2 M@8 N@8 O@8 I@2 J@8 P@8 Q@2 R@8 S@8 T@8 ~@3
>`.pickRestart({
A: "[~@10 d5@19 f5@17 g5@17 [a5,d6]@25 ~@8]/6", B: "[~@3 f4@20 g4@3 f4@26 ~@4]/7",
C: "[~@8 [g3,c4,e4]@32 [bb3,d4]@7 a3@25 [g3,e4]@24, ~@5 f3@4 ~@3, ~@47 c4@49]/6", // C Bb C
D: "[~@4 [bb3,d4]@3 ~@13 [bb3,d4]@12, ~ f3@7, ~@7 [a3,c4]@13 ~@12, ~@11 f4@21]/4", // Bb Am
E: "[[g3,c4,e4] [g3,bb3,d4]@4 [f3,a3,c4]@4 d4@2 e4, ~@3 [g3,bb3]]/6", // C Gm F Gm
F: "[~ [a3,c4]@2 [bb3,d4], f4@13 ~@3, ~ f3@3]/2", // Am Bb
G: "[~@5 g3@4 [bb3,d4]@4 [a3,c4]@2 [g3,bb3,d4], ~ f3@14 ~, ~ [a3,c4]@8 f4@6 ~]/8", // Bb Am Gm Am
H: "[~@2 a3@8 ~@5 f4 e4@2 [bb3,d4]@8 [a3,c4]@6, ~ f3@15, ~@8 c4@63 ~@57, ~@5 g3@4 ~@7]/8", I: "[~ [g3,c4,e4]@3]/2",
J: "[~@4 [bb3,d4]@3 ~@7 f4@6 [g3,e4]@16 [bb3,d4]@3 ~@7 f4@6 [g3,c4,e4]@12, ~ f3@4 ~@4 f3@4 ~@3, ~@7 c4@29 ~@28, ~@14 a3@25 ~@39 [a3,c4]@26 ~@24]/8", // Bb C Bb C Am
K: "[~@4 [bb3,d4]@3 ~@7 f4@6 [g3,e4]@12, ~ f3@4 ~@3, ~@7 c4@25, ~@14 a3@25 ~@25]/4", // Bb C
L: "[~@4 [bb3,d4]@3 ~@7 f4@2, ~ f3@3, ~@7 [a3,c4]@9]/2", M: "[~@8 [bb3,d4,f4]@109 ~@3 [g3,c4,e4]@8]/8",
N: "[[a3,d4,f4]@8 ~@18 a4@7 g4@7 [f3,a3,c4]@32 ~ g3@31 [f3,a3,c4]@24, ~ f4@15, ~@8 [g3,bb3,d4]@33 ~@31 [bb3,d4]@33 ~@23]/8", // Dm F Gm Bb
O: "[~ [g3,bb3,d4]@4 [f3,a3,c4]@4 [g3,bb3,d4]@4 [f3,a3,c4]@3]/8", // Gm F Gm F
P: "[~@4 [bb3,d4]@3 ~@7 f4@6 [g3,e4]@16 [bb3,d4]@3 ~@7 f4@6 [bb3,d4,f4]@12, ~ f3@4 ~@4 f3@4 ~@3, ~@7 c4@29 ~@28, ~@14 a3@25 ~@39 [a3,c4]@26 ~@24]/8", // Bb C Bb Am
Q: "[~ [g3,c4,e4] [a3,d4,f4]@6]/2", R: "[[g3,c4,e4]@3 ~ [bb3,d4,g4]@16 [a3,c4,f4]@16 [bb3,d4,g4]@16 [a3,c4,f4]@12]/8",
S: "[~ [bb3,d4,g4]@4 [a3,c4,f4]@4 [bb3,d4,g4]@4 [a3,c4,f4]@3]/8", T: "[~ [bb3,d4]@4 [f3,c4]@11, ~ g3@15]/8",
})).s("gm_synth_strings_1").gain(0.17).pan(0.4)
// chords · percussive organ · "Organ"
const percussive_organ = note(`<
~@7 A@8 B@8 C@8 D@8 E@6 F@4 G@8 C@8 D@8 H@16 ~@2 I@6 J@8 A@8 H@16 K@4 L@8 A@8 M@2 N@8 ~
>`.pickRestart({
A: "[~ [g4,bb4,d5]@4 [f4,a4,c5]@4 [g4,bb4,d5]@4 [f4,a4,c5]@3]/8", // Gm F Gm F
B: "[~@31 g5@3 ~@2 [g4,bb4,d5]@16 [f4,a4,c5]@8 [g4,bb4,d5]@4, ~@8 [g4,bb4,d5]@32 [f4,a4,c5]@33 ~@55, ~@22 f5@39 ~@7 f5@52 ~@8]/8", // Gm F Gm F
C: "[~@18 [bb4,d5]@8 [a4,c5]@5 [g4,bb4,d5], ~ f4@15, ~@8 [a4,c5]@65 ~@55, ~@40 g4@35 ~@53]/8", // Bb Am Gm Am
D: "[~ a4@4 ~@4 [bb4,d5]@4 [a4,c5]@3, ~ f4@15, ~@8 c5@65 ~@55, ~@10 g4@9 ~@13]/8", // Bb Am
E: "[~@4 [g4,c5,e5]@16 [bb4,d5]@3 [a4,c5]@13 [g4,c5,e5]@12, ~@5 f4@4 ~@3]/6", // C Bb Am C
F: "[~@4 [bb4,d5]@3 [a4,c5]@13 [bb4,d5]@12, ~ f4@7]/4", // Bb Am Bb
G: "[[g4,e5] [g4,bb4,d5]@4 [f4,a4,c5]@4 [g4,bb4,d5]@4 [a4,c5]@2 [bb4,d5], ~@13 f4@3]/8", // C Gm F Gm Am Bb
H: "[~@4 [g4,c5,e5]@16 [bb4,d5]@3 [a4,c5]@13 [g4,c5,e5]@16 [bb4,d5]@3 [a4,c5]@9, ~@5 f4@4 ~@4 f4@3]/8", // C Bb Am C Bb Am
I: "[~ [bb4,d5,f5]@43 [g4,c5,e5]@4]/6", // Bb C
J: "[[a4,d5,f5] [g4,bb4,d5]@4 [f4,a4,c5]@4 [g4,bb4,d5]@4 [f4,a4,c5]@3, ~ f5@15]/8", // Dm Gm F Gm F
K: "[~@2 [bb4,d5,f5]@7 [c5,e5] [a4,d5,f5]@6]/4", // Bb C Dm
L: "[[g4,c5,e5]@7 ~ [g4,bb4,d5]@32 [f4,a4,c5]@32 [g4,bb4,d5]@32 [f4,a4,c5]@24]/8", M: "[~ [g4,bb4,d5]@3]/2",
N: "[~ [f4,a4,c5]@15]/8", // F
})).s("gm_percussive_organ").gain(0.26).pan(0.7)
// chords · acoustic guitar steel · "AcusGtr2"
const acoustic_guitar_steel_2 = note(`<
~@8 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@15 C@8 ~@3 A@2 B@2 A@2 B@2 ~@40 A@2 B@2 A@2 B@2 D@8 ~@18 E@2 A@2 B@2 A@2 B@2 A@2
B@2 A@2 F@3 G@4 H@2 ~@3
>`.pickRestart({
// … 66 more lines
More by Zucchero
Senza Una DonnaC major · 80 bpmDiavolo in meE major · 126 bpmCome il sole all'improvvisoA major · 55 bpmDonneA major · 83 bpmBluA major · 78 bpmCon le maniE major · 113 bpmIl mare impetuoso al tramonto sali sulla luna e dietro una tendina di stelle...A major · 90 bpmOverdose (d'amore)C major · 90 bpm
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.