Is this what you need, meaning specifying not duration but the start and end of time interval of a note?
Sound[{SoundNote["C", {0, 2}, "Trumpet"], SoundNote["G", {1, 3}, "Piano"]}]
That was an example from the docs: SoundNote >> Scope >> Timing
http://reference.wolfram.com/language/ref/SoundNote.html
Experimenting with random specs, here are a few ideas:
inst={"Trumpet","Piano","Organ","Violin","Voice"};
Sound[
Table[
SoundNote[3RandomInteger[{-5,5}],
Sort[RandomInteger[{0,9},2]],
RandomChoice[inst]],
15]
~Join~
Table[
SoundNote[3RandomInteger[{-5,5}],
{#,#+.5}&@RandomReal[{0,9}],
RandomChoice[inst]],
15]
]