Is there a more elegant way to do this:
Sound[With[{li = {{-12, -5, 0}, {-8, -3, 4}, {-5, -13, 2}, {-3, 0, -8},
{-2, -12, -8}, {-3, 0, -8}, {-5, -1, 2}, {-8, -3, -20}},
c = 1.5, v = {0, .4}, b = .2},
Join[
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li)
& /@Range@1,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li + 5)
& /@ Range@1,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li) & /@
Range@2,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li + 5)
& /@ Range@2,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li)
& /@ Range@2,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li + 7)
& /@ Range@1,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li + 5)
& /@ Range@1,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li)
& /@ Range@1,
Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] & /@ (li + 7)
& /@ Range@1] & /@ Range@4]]
?
I went for @eldo 's in the end:
v = {0, 1/2}; c = 5/4; b = 1/4;
li1 = {{-12, -5, 0}, {-8, -3, 4}, {-5, -13, 2}, {-3, 0, -8}};
li2 = {{-12, -5, 0}, {-8, -3, 4}, {-5, -13, 2}, {-3, 0, -8},
{-2, -12, -8}, {-3, 0, -8}, {-5, -1, 2}, {-8, -3, -20}};
tab = Table[SoundNote[#, {p, p + b}/c, "Piano"], {p, v/c}] &;
Sound[Join[tab /@ (li2) & /@ Range@2, tab /@ (li2 + 5), tab /@ (li2),
tab /@ (li1 + 7), tab /@ (li1 + 5), tab /@ (li2)] & /@ Range@2]