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]
]