lol IOhannes.
do this in signal domain that is faster than audio domain:
[metro 125] | [random 5000] | [/ 100] | [+ 40] | [mtof] | [phasor~] | [*~ 2] | [-~ 1]
of course, running control signals at anywhere near audio rate is going to be silly, but in the sample and hold case, you only need to run one calculation every click of an audio beat, so about 125ms at generic 120bpm.