0:00/0:00
// Un mondo d'amore — Morandi
// 87 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 61 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(87/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@2 D@7 E F G H@3 I J@5 K@8 L M N O P Q@3 R S T U V W X Y Z AA@5 AB AC AD AE AF AG AH@2
>`.pickRestart({
A: "~@7 g2@17", B: "~@5 g2@2 ~ g2@16", C: "[~@12 g2@3 ~@4 f2@41 ~@3 f2@4 ~@2 f2@27]/2",
D: "[~@17 f2@4 ~@3 g2@40 ~@4 g2@4 ~@2 g2@39 ~@5 g2@3 ~@3 f2@41 ~@3 f2@3 ~@3 f2@40 ~@4 f2@3 ~@4 g2@43 ~@7 g2@46 ~@4 g2@5 ~@6]/7",
E: "~@2 d2@7 ~@6 g2@6 ~@6 d2@7 ~@6 a2@6 ~@2", F: "~@4 d2@6 ~@7 g2@3 ~@3 a2@4 ~@2 bb2@4 ~@3 d2@4 ~@2 g2@5 ~",
G: "~@7 d2@7 ~@5 g2@6 ~@7 d2@7 ~@5 a2@4",
H: "[~@9 d2@6 ~@6 g2@3 ~@4 a2@4 ~@2 bb2@4 ~@2 d2@4 ~@2 g2@5 ~@8 d2@7 ~@5 g2@6 ~@6 d2@7 ~@5 a2@6 ~@7 d2@6 ~@6 g2@3 ~@3 bb2@4 ~@2 c3@3 ~@3 d3@4 ~@2]/3",
I: "g2@5 ~@7 d2@6 ~@6 g2@6 ~@6 d2@7 ~@5",
J: "[a2@6 ~@6 d2@6 ~@6 g2@3 ~@6 g2@3 f2@3 ~@3 f2@4 ~ bb2@7 ~@5 f2@7 ~@5 bb2@7 ~@5 bb2@6 ~@6 f2@6 ~@3 f2@2 ~ g2@3 ~@3 a2@4 ~@2 bb2@7 ~@4 bb2@7 ~@5 eb2@7 ~@5 eb2@8 ~@4 f2@8 ~@4 f2@4 ~@2 eb2@5 ~ d2@8 ~@4 e2@4 ~@2 gb2@4 ~@2 g2@7 ~@4 g2@7 ~@5 c2@3]/5",
K: "[~@9 c2@8 ~@4 d2@7 ~@5 d2@6 ~@6 g2@36 ~@5 g2@3 ~@3 g2@36 ~@6 g2@3 ~@3 f2@38 ~@3 f2@3 ~@3 f2@37 ~@5 f2@4 ~@2 g2@39 ~@4 g2@4 ~@2 g2@38 ~@6 g2@3 ~@3 f2@40 ~@3 f2@3 ~@4]/8",
L: "f2@39 ~@4 f2@3 ~@2", M: "~ g2@43 ~@4", N: "~ g2@15", O: "~@5 g2@5 ~@7 d2@7 ~@6 g2@6 ~@6 d2@6",
P: "~@7 a2@6 ~@6 d2@6 ~@7 g2@3 ~@3 a2@4 ~@2 bb2@4",
Q: "[~@2 d2@4 ~@2 g2@5 ~@8 d2@7 ~@5 g2@6 ~@7 d2@7 ~@5 a2@6 ~@7 d2@6 ~@6 g2@3 ~@3 a2@4 ~@2 bb2@4 ~@3 d2@4 ~@2 g2@5 ~@7 d2@7 ~@5 g2@6 ~@6]/3",
R: "~ d2@7 ~@5 a2@6 ~@6 d2@6 ~@6 g2@3 ~@4 bb2@4", S: "~@2 c3@4 ~@2 d3@4 ~@2 g2@5 ~@7 d2@6 ~@6 g2@6 ~@4",
T: "~@2 d2@7 ~@6 a2@6 ~@6 d2@6 ~@6 g2@3 ~@6", U: "g2@3 f2@3 ~@3 f2@4 ~@2 bb2@7 ~@5 f2@7 ~@5 bb2@7 ~@2",
V: "~@3 bb2@6 ~@6 f2@6 ~@3 f2@2 g2@3 ~@3 a2@4 ~@2 bb2@7 ~@3", W: "~@2 bb2@7 ~@5 eb2@7 ~@5 eb2@8 ~@4 f2@8 ~@2",
X: "~@2 f2@4 ~@2 eb2@5 ~ d2@8 ~@3 e2@4 ~@2 gb2@4 ~@2 g2@7 ~@4", Y: "~ g2@7 ~@5 d2@7 ~@5 d2@8 ~@4 d2@7 ~@4",
Z: "~ d2@6 ~@5 g2@7 ~@5 d2@8 ~@4 g2@8 ~@4",
AA: "[d2@4 ~@2 f2@4 ~@2 g2@7 ~@5 d2@8 ~@4 g2@8 ~@3 d2@4 ~@2 g2@3 ~@3 f2@8 ~@4 c2@7 ~@5 f2@8 ~@4 c2@4 ~@2 eb2@4 ~@2 f2@8 ~@4 c2@7 ~@5 f2@8 ~@3 c2@4 ~@2 f2@4 ~@2 g2@7 ~@5 d2@8 ~@4 g2@8 ~@4 d2@4 ~@2 f2@4 ~@2 g2@7 ~@5 d2@8 ~@3 g2@8 ~@4 d2@3]/5",
AB: "~@3 g2@3 ~@3 f2@8 ~@4 c2@7 ~@5 f2@8 ~@4 c2@3", AC: "~@3 eb2@4 ~@2 f2@8 ~@3 c2@7 ~@5 f2@8 ~@4 c2@4",
AD: "~@2 f2@4 ~@2 g2@7 ~@5 d2@8 ~@4 g2@8 ~@4 d2@4", AE: "~@2 f2@4 ~@2 g2@7 ~@4 d2@8 ~@4 g2@8 ~@4 d2@4 ~",
AF: "~ g2@3 ~@3 f2@8 ~@4 c2@7 ~@5 f2@8 ~@4 c2@4 ~", AG: "eb2@4 ~@2 f2@8 ~@4 c2@7 ~@5 f2@8 ~@4 c2@4 ~@2",
AH: "[f2@4 ~@2 g2@47 ~@43]/2",
})).s("gm_acoustic_bass").gain(0.31)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<A@2 B C@8 D@6 E F@5 G@8 H I J K@3 L@2 M@3 N O@4 P Q@8 R@5>".pickRestart({
A: "[~@52 a3@6 g3@5 ~@2 d4@5 ~@20 b3 ~@5, ~@12 g2@50 ~ g2@33, ~@13 d3@49 ~@2 [d3,g3]@32, ~@14 g3@7 d4@6 c4@6 d4@6 b3@7 d4@17 ~ b3@7 d4@6 c4@6 d4@12 ~, ~@14 b3 d4 g4@48 ~ g4@31]/2", // G5
B: "~@6 a3@6 ~ g3 ~@6 c4@5 ~@13 c4@7 a3@3, d4@12 ~@5 f2@9 c4@6 bb3@12 ~@4, ~@3 c3@5, ~@19 f3@29, ~@19 a3 f4@28",
C: "[~@9 g3@6 f3@5 ~@2 c4@5 ~@20 a3 ~@11 g3@6 ~ f3 ~@6 g4@47 ~@3 g4@48 ~@2 [c4,f4]@48 ~@3 f4@48 ~ [g2,d3,g3,b3,d4,g4]@42 ~@2 [c3,e3,g3,c4]@3 ~@3 [g2,d3,g3,b3,d4,g4]@45 ~@12 [bb3,d4,g4]@4, ~@3 c4@17 f2@50 ~@2 d4@49 ~ [b3,d4]@48 ~@53 [a3,c4]@49 ~@44 e4@3 ~@65, ~@21 c3@49 d3@49 ~@2 d3@49 ~@214, ~@21 f3 a3@6 c4@6 bb3@7 c4@12 c4@12 ~@4 g2@50 ~ g2@50 ~ [f2,c3]@50 ~ [f2,c3,f3]@50 ~@101 g2@11, ~@22 f4@48 ~ [g3,b3]@50 g3@45 ~@6 [f3,a3]@49 ~@163]/8", // F5 G C G Gm Bm Am F5 …
D: "[~@2 c3@3 ~@16 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@4 ~@3 [d3,d4,gb4]@9 ~@9 [a3,gb4]@7 ~@6 [bb3,d4,g4]@6 c3@3 ~@4 [bb3,d4,g4]@6 ~@13 c3@3 ~@15 [bb3,d4,g4]@7 c3@3 ~@3 [bb3,d4,g4]@4 ~@2 [d3,d4,gb4]@10 ~@9 [a3,gb4]@6 ~@7 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@6 ~@13 c3@3 ~@15 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@4 ~@2 [d4,gb4]@8 ~@11 [a3,gb4]@6 ~@6 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@6, ~@5 d3@9 ~ g2@12 ~@3 d3@9 ~@10 [d4,gb4]@6 d4@14 ~@27 [bb3,d4,g4]@12 ~ [bb3,d4,g4]@12 ~@19 a3@16 d4@14 ~@27 [bb3,d4,g4]@12 [bb3,d4,g4]@12 ~@18 a3@17 ~@23 d3@9, ~@8 [bb3,d4,g4]@12 ~@20 a3@18 ~@22 d3@9 ~@17 d3@9 ~@16 d3@9 ~@10 [d4,gb4]@9 ~@6 g2@12 ~@13 g2@12 ~@13 g2@12 ~@22 gb4@8 ~@31, ~@52 a2@13 g2@13 ~@12 g2@12 ~@13 g2@12 ~@26 a2@13 ~@15 d3@9 ~@16 d3@9 ~@15 d3@9 d3@9 d4@6 ~ d4@14 ~@19, ~@251 a2@12 ~ g2@12 ~@12]/6", // Gm D Gm D Gm D Gm D …
E: "~@12 c3@3 ~@15 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@4 ~@2, g2@12 ~@3 d3@9 g2@12 ~@3 d3@8 ~, ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~@3", // Gm
F: "[[d4,gb4]@8 ~@10 [a3,gb4]@6 g3@5 ~@4 f4@3 [c4,f4]@6 [c4,f4]@5 bb2@6 ~@3 f4@3 f4@3 ~@6 f4@3 [bb2,f3,bb3,d4,f4]@6 bb3@3 ~@6 bb3@3 ~@3 f4@3 c3@6 ~@3 f4@3 f4@3 ~@6 f4@3 [bb2,f3,bb3,d4,f4]@6 bb3@3 ~@5 bb3@3 ~@3 f4 ~@2 eb3@6 ~@3 g4@3 g4@3 ~@6 g4@3 [c3,f3,a3,c4,f4]@6 a3@3 ~@6 a3@3 ~@3 f4@3 d3@6 ~@3 gb4@3 gb4@3 ~@6 gb4@3 [d3,g3,bb3]@5 bb3@3 ~@6 bb3@3 ~@3 g4@3 [c3,g3,c4,eb4,g4]@3, a3@17 ~@13 g3@6 ~@11 [f3,bb3,d4,f4]@12 [f3,bb3]@6 ~@12 f3@6 f3@6 ~@6 [f3,a3,c4,f4]@12 [f3,a3]@6 ~@12 f3@5 f3@6 ~@6 [g3,bb3,eb4,g4]@12 [g3,bb3]@6 ~@12 f3@6 f3@6 ~@6 [gb3,a3,d4,gb4]@12 [gb3,a3]@6 ~@11 g3@6 g3@6 ~@9, d3@9 gb4@8 ~@45 f4@6 ~@18 [d4,f4]@9 ~@12 c4@12 ~@9 [bb3,d4]@5 d4@9 ~@12 eb4@12 ~@9 [a3,c4,f4]@6 [c4,f4]@9 ~@12 d4@12 [d4,g4]@8 [bb3,d4,g4]@6 [d4,g4]@9 ~@3, ~@9 d4@5 ~ d4@9 ~@35 d4@12 ~@9 [bb3,d4,f4]@6 ~@24 f4@6 ~@12 f4@11 ~@18 g4@6 ~@42 gb4@6 ~@29, ~@12 a2@12 [g2,bb3,d4,g4]@11 ~ [f2,f3,a3]@12 ~@5 bb2@11 ~ [bb2,f3,bb3]@6 ~@6 bb2@11 ~ [bb2,f3,bb3]@6 ~@6 c3@11 ~ [c3,f3,a3]@6 ~@6 bb2@11 [bb2,f3,bb3]@6 ~@6 eb3@11 ~ [eb3,g3,bb3]@6 ~@6 c3@11 ~ [c3,f3,a3]@6 ~@6 d3@11 ~ [d3,gb3,a3]@6 ~@5 d3@11 ~ [d3,g3,bb3]@6 ~@3]/5", // D F5 Bb F Gm Cm Bb Bb5 …
G: "[~@6 g4@3 g4@3 ~@6 g4@3 [d3,gb3,a3,d4,gb4]@6 a3@3 ~@6 a3@3 ~@4 d3 ~@36 a3@6 g3@5 ~@25 b3 ~@11 a3@6 g3 ~@41 g3@6 f3@4 ~@2 c4@5 ~@19 a3 ~@11 g3@6 f3 ~@6 g4@46 ~@2 [d4,g4]@48 ~@2 [c4,f4]@47 ~ f2, ~@3 c3@9 g4@6 ~@12 [a3,d4,gb4]@6 [d4,gb4]@7 g2@47 ~ [g2,d3]@47 f2@47 ~ f2@48 ~@2 d4@48 ~@100, ~@9 eb4@12 ~@6 gb3@6 gb3@6 ~@3 gb4@2 g3@42 ~@6 g3@42 ~@5 c3@47 ~ c3@47 d3@48 ~@2 [d3,b3]@48 ~@52, ~@9 [g3,c4]@6 [c3,g3,c4]@6 ~@6 d3@11 ~ [d3,gb3,a3]@5 b3@7 d4@6 c4@6 d4@5 b3@6 d4@16 ~@2 b3@6 d4@6 c4@6 d4@12 d4@12 ~@6 f3@6 c4@6 bb3@6 c4@6 a3@6 c4@16 ~ f3 a3@6 c4@6 bb3@6 c4@12 c4@12 ~@3 g2@49 ~ g2@49 ~ [f2,c3]@49 ~@2, ~@45 d4 g4@45 ~ d4 g4@45 ~@2 [a3,c4] f4@45 ~@2 f4@46 ~ [g3,b3]@49 g3@44 ~@6 [f3,a3]@48 ~@2]/8", // D G5 F5 D G5 G C5 D …
H: "~ [c4,f4]@47, [c3,f3,a3]", I: "~@2 [g2,d3,g3,b3,d4,g4]@42 ~ [c3,e3,g3,c4,e4]@3",
J: "~ g4@11, ~@3 [g2,d3,g3,b3,d4]@44 ~", // G
K: "[~@17 c3@4 ~@15 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@4 ~@3 [d4,gb4]@8 ~@10 [a3,gb4]@6 ~@7 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@6 ~@13 c3@3 ~@15 [bb3,d4,g4]@7 c3@2, ~@5 g2@12 ~@4 d3@9 g2@12 ~@3 d3@9 ~ d3@9 [d4,gb4]@6 d4@14 ~@27 [bb3,d4,g4]@12 [bb3,d4,g4]@12 ~@9, ~@11 [bb3,d4,g4]@12 ~ [bb3,d4,g4]@12 ~@19 a3@18 ~@22 d3@9 ~@16 d3@9 ~@15, ~@67 a2@12 g2@12 ~@13 g2@12 ~@13 g2@12 ~@3]/3", // Gm D Gm D Gm
L: "[~@4 [bb3,d4,g4]@4 ~@2 [d4,gb4]@8 ~@11 [a3,gb4]@6 ~@6 [bb3,d4,g4]@6 c3@3 ~@4 [bb3,g4]@6 ~@12 c3@3 ~@15 [bb3,d4,g4]@6, ~ d3@9 a3@16 d4@14 ~@13 d4@6 ~@7 [bb3,d4,g4]@12 [bb3,d4,g4]@12 ~@6, ~@10 d3@9 [d4,gb4]@9 ~@68, ~@22 a2@12 ~ g2@12 ~@3 d3@9 ~ g2@12 ~@3 d3@9 g2@12]/2", // Gm D Gm Eb Gm D
M: "[~ c3@3 ~@3 [bb3,d4,g4]@4 ~@2 [d4,gb4]@8 ~@10 [a3,gb4]@6 ~@6 [bb3,d4,g4]@7 c3@3 ~@3 [bb3,d4,g4]@6 ~@12 c3@3 ~@15 [bb3,d4,g4]@6 c3@3 ~@3 [bb3,d4,g4]@4 ~@3 [d4,gb4]@8 ~@10 [a3,gb4]@6 [g2,bb3,d4,g4]@6 g3@3, ~@4 d3@9 a3@15 d4@14 ~@26 [bb3,d4,g4]@12 [bb3,d4,g4]@12 ~@18 a3@16 d4@9 g3@5 ~@4, ~@13 d3@9 [d4,gb4]@9 ~@89 [d4,gb4]@8 ~@16, ~@25 a2@12 g2@12 ~@4 d3@9 g2@12 ~@3 d3@9 g2@12 ~@3 d3@8 ~@2 d3@9 ~@3 a2@12 ~@9]/3", // Gm D Gm D Gm D
N: "f4 [c4,f4]@2 [c4,f4]@2 bb2@2 ~ f4!2 ~@2 f4 [bb2,f3,bb3,d4,f4]@2 [bb2,f3,bb3], ~ [f2,f3,a3]@4 [f3,bb3,d4,f4]@4 d4@4 ~@3, ~@7 bb2@3 f4@2 ~@4, ~@9 [f3,bb3]@2 [bb2,f3,bb3]@2 ~@3", // F5 Bb Bb5 F Bb Bb5
O: "[~@6 bb3@3 ~@3 f4@3 c3@6 ~@3 f4@2 f4@3 ~@6 f4@3 [bb2,f3,bb3,d4,f4]@6 bb3@3 ~@6 bb3@3 ~@3 f4 ~@2 eb3@6 ~@3 g4@3 g4@3 ~@6 g4@3 [c3,f3,a3,c4,f4]@6 a3@3 ~@6 a3@3 ~@3 f4@3 d3@5 ~@3 gb4@3 gb4@3 ~@6 gb4@3 [d3,g3,bb3,d4,g4]@6 bb3@3 ~@6 bb3@3 ~@3 g4@3 d3@6 ~@3 gb4@3 gb4@3 ~@6 gb4@3 [d3,gb3,a3,d4,gb4]@6 a3@3 [a3,d4,gb4]@2, [bb3,d4,f4]@6 [d4,f4]@9 ~@6 c3@8 f4@6 ~@12 f4@12 ~@18 g4@6 ~@41 gb4@6 ~@18 [d4,g4]@9 ~@12 d4@12 ~@11, ~@3 f3@6 [bb2,f3,bb3]@6 [f3,a3,c4,f4]@11 c4@12 ~@6 f3@6 f3@6 ~@6 [g3,bb3,eb4,g4]@12 [g3,bb3]@6 ~@12 f3@6 f3@6 ~@6 [gb3,a3,d4,gb4]@11 [gb3,a3]@6 ~@12 g3@6 g3@6 ~@6 [gb3,a3,d4,gb4]@12 [gb3,a3]@6 ~@17, ~@26 [f3,a3]@6 [c3,f3,a3]@6 ~@6 bb2@11 ~ [bb2,f3,bb3]@6 ~@6 eb3@11 ~ [eb3,g3,bb3]@6 ~@6 c3@11 ~ [c3,f3,a3]@6 ~@5 d3@11 ~ [d3,gb3,a3]@6 ~@6 d3@11 ~ [d3,g3,bb3]@6 ~@6 d3@11 ~ [d3,gb3,a3]@6 ~@6 [d3,gb3]@5, ~@47 [bb3,d4]@6 d4@9 ~@12 eb4@12 ~@9 [a3,c4,f4]@6 [c4,f4]@9 ~@11 d4@12 ~@9 [bb3,d4,g4]@6 ~@24 gb4@6 ~@14]/4", // Bb F Gm D Bb Dm G5 Bb5 …
P: "~@4 a3@2 ~@3 gb4@3 ~@30 d4@6, ~ gb3@5 [d3,gb3,a3]@6 ~@12 c4@12 b3@12, ~@4 d4@9 d4@5 ~ d4@11 d4@12 ~@6, ~@4 gb4@5 ~@5 g4@34", // D
Q: "[a3@6 g3@4 ~@26 b3 ~@10 a3@6 g3 ~@6 c4@5 ~@30 g3@6 f3@5 ~@2 c4@5 ~@18 a3 ~@11 g3@6 f3 ~@40 a3@6 g3@4 ~@2 d4@5 ~@18 b3 ~@11 a3@6 g3 ~@6 c4@5 ~@30 g3@6 f3@5 ~@25 a3 ~@11 g3@6 f3 ~@5 d4@5 ~@30 a3@4, ~@10 g2@47 ~ [f2,c3]@47 ~ f2@47 ~ b3 d4 g4@45 ~ g4@45 ~@3 f4@45 ~@2 c4 f4@45 ~@2 g4@39, ~@11 d3@46 ~@2 f3@42 ~@6 c3@46 d3@47 ~ d3@46 ~@2 f3@42 ~@6 f3@42 ~@3 g2@42, ~@11 g3@7 d4@6 c4@6 d4@12 d4@12 ~@6 a3@6 c4@6 bb3@6 c4@6 a3@6 c4@16 ~ f3@6 c4@6 bb3@6 c4@12 c4@12 ~@3 g2@47 ~ g2@47 ~ [f2,c3]@47 ~ [f2,c3]@47 [d3,g3]@41, ~@12 [b3,d4] g4@45 ~@2 f4@45 ~@2 a3 f4@45 ~ g3@6 d4@6 c4@6 d4@6 b3@6 d4@16 ~ g3 b3@6 d4@6 c4@5 d4@12 d4@12 ~@6 a3@7 c4@6 bb3@6 c4@5 a3@6 c4@16 ~@2 a3@6 c4@6 bb3@6 c4@12 c4@12 ~@5 b3@6 d4@6 c4@6 d4@6 b3@6 d4@10]/8", // F5 G5 Bm
R: "[~@2 g3@4 ~@2 d4@5 ~@18 b3 ~@11 a3@6 g3 ~@6 c4@5 ~@30 g3@6 f3@5 ~@25 a3 ~@11 g3@6 f3 ~@5 g4@47 ~@42, ~@6 g2@47 f2@47 ~@2 [f2,c3]@47 ~@91, ~@7 d3@46 ~ c3@47 ~ f3@42 ~@4 [g2,d3]@47 ~@45, ~@7 g3@7 d4@5 c4@6 d4@12 d4@12 ~@6 f3@7 c4@5 bb3@6 c4@6 a3@6 c4@16 ~@2 a3@6 c4@6 bb3@6 c4@12 c4@12 ~@4 g3@47 ~@44, ~@7 b3 g4@45 ~@2 a3 f4@45 ~@2 c4 f4@45 ~ [b3,d4]@47 ~@43]/5", // F5 G5 Bm
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.4)
// other · vibraphone
const vibraphone = note("<A@2 B C@6 ~@14 D@2 E F G@4 H ~@15 I J@7 K L M N O@2>".pickRestart({
A: "[~@14 g5@6 d6@7 c6@6 d6@6 b5@6 ~ d6@6 a5@6 g5@4 ~@3 g5@6 d6@6 c6@6 d6@7 b5@6]/2",
B: "d6@6 a5@6 g5@3 ~@4 f5@6 c6@7 bb5@6 c6@6 a5@4",
C: "[~@2 c6@6 g5@6 ~ f5@4 ~@2 f5@7 c6@6 bb5@6 c6@6 a5@7 c6@6 g5@6 f5@6 ~ g5@46 ~@3 g5@47 ~@4 f5@46 ~@4 f5@43 ~@23]/6",
D: "[~@45 g5@5 ~ d6@6 c6@6 d6@5 b5@6 d6@6 a5@6 g5@3 ~@3 g5@4]/2",
E: "~@2 d6@6 c6@6 d6@6 b5@6 d6@6 a5@5 g5@3 ~@3 f5@5", F: "~@2 c6@6 bb5@5 c6@6 a5@6 c6@6 g5@6 f5@3 ~@3 f5@5",
G: "[~ c6@6 bb5@6 c6@6 a5@6 c6@6 g5@6 f5@6 g5@45 ~@4 g5@47 ~@3 f5@45 ~@5]/4", H: "f5@43 ~@5",
I: "~@12 g5@5 ~ d6@6 c6@6 d6@6 b5@6 d6@6",
J: "[a5@6 g5@3 ~@3 g5@6 d6@6 c6@6 d6@6 b5@6 d6@5 a5@6 g5@3 ~@3 f5@6 c6@6 bb5@6 c6@6 a5@6 c6@6 g5@6 f5@3 ~@3 f5@6 c6@6 bb5@6 c6@5 a5@6 ~ c6@5 g5@6 f5@6 g5@5 ~ d6@6 c6@6 d6@6 b5@6 d6@6 a5@6 g5@3 ~@3 g5@6 d6@6 c6@5 d6@6 b5@6 d6@6 a5@6 g5@3 ~@3 f5@6 c6@6 bb5@6 c6@6 a5@6 c6@6 g5@5 f5@3 ~@4 f5@6 c6@6 bb5@6 c6@5 a5@6 c6@6 g5@4]/7",
K: "~@2 f5@6 g5@5 ~ d6@6 c6@6 d6@6 b5@6 d6@5 a5@5", L: "~@2 g5@3 ~@3 g5@6 d6@5 c6@6 d6@6 b5@6 d6@6 a5@5",
M: "~ g5@3 ~@3 f5@6 c6@6 bb5@6 c6@6 a5@6 c6@5 g5@6", N: "f5@3 ~@3 f5@7 c6@6 bb5@5 c6@6 a5@6 c6@6 g5@6",
O: "[f5@6 g5@47 ~@43]/2",
})).s("gm_vibraphone").gain(0.19).pan(0.7)
// chords · bandoneon
const bandoneon = note("<~@12 A@5 B C@6 ~@12 D@3 E@2 F G@4 H@7 I@7 ~>".pickRestart({
A: "[~@42 [bb5,d6]@25 [c6,eb6]@12 [bb5,d6]@13 c6@13 d6@6 c6@6 [g5,bb5]@19 ~@6 [bb5,d6]@25 [c6,eb6]@12 [bb5,d6]@12 gb6@12 e6@6 gb6@7 [bb5,g6]@18 ~@6, ~@92 a5@20 ~@79 a5@24 ~@25]/5", // Bb Cm Bb Gm Bb Cm Bb Eb
B: "[bb5,d6]@2 [c6,eb6] [bb5,d6]", // Bb Cm Bb
C: "[gb6@12 e6@5 gb6@5 ~ [bb5,g6]@12 [a5,f6]@9 ~@3 [f5,bb5,d6]@45 ~@3 [f5,a5,c6]@22 ~@2 [f5,bb5,d6]@22 ~ [g5,bb5,eb6]@24 [f5,a5,c6]@24 [gb5,a5]@23 [g5,bb5]@23 ~ [eb5,g5,c6]@24 [gb5,a5,c6]@24 ~@3, a5@23 ~@167 d6@46 ~@52]/6", // Eb Dm Bb F Bb Eb F Gbm …
D: "[~@8 [bb5,d6]@25 [c6,eb6]@12 [bb5,d6]@13 c6@12 d6@6 c6@6 [g5,bb5]@19 ~@7 [bb5,d6]@24 [c6,eb6]@12, ~@58 a5@19 ~@67]/3", // Bb Cm Bb Gm Bb Cm
E: "[~ [bb5,d6]@12 gb6@12 e6@6 gb6@6 [bb5,g6]@18 ~@7 [bb5,d6]@24 [c6,eb6]@10, ~@13 a5@25 ~@58]/2", // Bb Eb Bb Cm
F: "~@2 [bb5,d6]@12 gb6@13 e6@5 gb6@6 [bb5,g6]@10, ~@14 a5@23 ~@11", // Bb Eb
G: "[~@3 [a5,f6]@10 ~@2 [f5,bb5,d6]@46 ~ [f5,a5,c6]@22 ~@2 [f5,bb5,d6]@22 ~@2 [g5,bb5,eb6]@24 [f5,a5,c6]@23 [gb5,a5]@23 ~ [g5,bb5]@11, ~@157 d6@35]/4", // Dm Bb F Bb Eb F Gbm Gm
H: "[~@13 [d5,gb5,a5]@24 [gb5,a5,c6]@23 [g5,b5,d6]@95 [f5,a5,c6]@95 [g5,b5,d6]@86]/7", // D Gbdim G F G
I: "[~@9 [f5,a5,c6]@95 [g5,b5,d6]@95 [f5,a5,c6]@95 ~@42]/7", // F G F
})).s("gm_bandoneon").gain(0.11).pan(0.6)
// drums · tambourine
const tambourine = s("tb").struct(`<
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 N AJ AK Q AL AM AN AO AP T AQ V AR AS T
AT V W AU AV T AW V AU AX ~
>`.pickRestart({
A: "~@9 x!11 ~ x!20 ~@7", B: "~@11 x!5 ~ x!20 ~ x!10", C: "~@15 x!18 ~ x!12 ~@2", D: "~@15 x!13 ~ x!15 ~@4",
E: "~@23 x ~ x!12 ~@11", F: "~@26 x!6 ~@2 x!3 ~@11", G: "~@28 x!9 ~ x!4 ~@6", H: "~@30 x!2 ~ x!4 ~@2 x!3 ~@6",
I: "~@13 x ~ x", J: "~@4 x ~@5 x ~@5 x ~@6 x ~@5 x ~@11 x ~@6", K: "x ~@5 x ~@5 x ~@5 x ~@6 x ~@18 x ~@3",
L: "~@8 x ~@12 x ~@11 x ~@12 x ~", M: "~@10 x ~@12 x ~@12 x ~@11", N: "x ~@12 x ~@11 x ~@12 x ~@9",
O: "~@3 x ~@11 x ~@12 x ~@11 x ~@7", P: "~@4 x ~@12 x ~@11 x ~@11 x ~@6", Q: "~@5 x ~@12 x ~@11 x ~@11 x ~@5",
R: "~ x ~ x ~ x ~ x", S: "~@6 x ~@11 x ~@8 x ~@2 x ~@5 x ~@4 x ~@5 x",
T: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
U: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~",
V: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
W: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2",
X: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x!9", Y: "x!22 ~@17 x!9",
Z: "x!26 ~@14 x!8", AA: "x!21 ~@16 x!11", AB: "x!17 ~@26 x!5", AC: "x!7 ~ x ~@35 x!4", AD: "~ x!2 ~@2 x!3 ~@38 x!2",
AE: "x!10 ~ x ~@36", AF: "x!6 ~@2 x!3 ~@37", AG: "~@8 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@2",
AH: "~@9 x ~@6 x ~@5 x ~@5 x ~@5 x ~@5 x ~@7", AI: "~@11 x ~@12 x ~@11 x ~@11", AJ: "~@2 x ~@12 x ~@11 x ~@11 x ~@8",
AK: "~@4 x ~@11 x ~@12 x ~@11 x ~@6", AL: "~@7 x ~@11 x ~@11 x ~@12 x ~@3", AM: "~@2 x ~@2 x ~@2 x ~@2 x",
AN: "~@3 x ~@3 x ~@3 x ~@2 x!2", AO: "~ x ~ x ~ x!11",
AP: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
AQ: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
AR: "~ x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2",
AS: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x",
AT: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~", AU: "x!16",
AV: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
AW: "~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", AX: "x!7 ~@9",
})).gain(0.17)
// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct("<A B C D E F G H I J K ~@13 L M N O P Q R S T U ~@25 V ~>".pickRestart({
A: "~@8 x ~@32 x ~ x!5", B: "x!6 ~@4 x ~@37", C: "x!8 ~@38 x!2", D: "x!7 ~ x!3 ~@33 x!4",
E: "x!2 ~ x!10 ~@24 x!9 ~ x", F: "x!19 ~ x!6 ~@6 x!2 ~@3 x!4 ~ x!6", G: "x!15 ~ x!12 ~@14 x!6",
H: "x!10 ~ x!19 ~@7 x!2 ~@3 x!6", I: "x!6 ~ x!21 ~ x!4 ~@9 x ~@5", J: "x ~@6 x ~@5 x ~@5 x ~@6 x ~@11 x ~@5 x ~@3",
K: "~@3 x ~@5 x ~@5 x ~@6 x ~@5 x ~@2 x ~@16", L: "~@22 x!12 ~@4 x ~@9", M: "~@26 x!8 ~@14", N: "~@21 x!12 ~@15",
O: "~@17 x!16 ~@15", P: "~@9 x!35 ~@4", Q: "~@3 x!2 ~@3 x!21 ~ x!16 ~@2", R: "~@12 x!27 ~ x!8",
S: "~@6 x!2 ~@3 x!9 ~ x!27", T: "x ~@10 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5",
U: "~@6 x ~@6 x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@2 x", V: "~@7 x!4 ~@5",
})).gain(0.08)
stack(bass, acoustic_guitar_steel, vibraphone, bandoneon, tambourine, tambourine_soft)
More by Morandi
Andavo a cento all'oraC minor · 170 bpmBanane e lamponiD minor · 93 bpmC'era un ragazzoF major · 124 bpmC'era un ragazzo che come me amava i Beatles e i Rolling StonesF major · 124 bpmDove va a finire il mio affettoF♯ minor · 122 bpmIn ginocchio da teE♭ major · 108 bpmOcchi di ragazzaE♭ major · 120 bpmBanane e lamponeD minor · 92 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.