GC - Thanks so much for the detailed reply.
I do understand your description. I like your runner metaphor.
I am again worried that I am trying to do the impossible.
I need to be able to constantly stretch a stream of incoming audio with no gaps or latency. I ultimately want to use this as an overall effect applied to the stereo mix of a live band playing. I want them to start playing vvvvvvveeeeeerrrrrryyyyyy sssssllllooowwwllllyyy wwwwiiiitttthhhh aaaaaa llllloooonnnnnggg sssstttttrrretchhh,,,,,,, ttthheeennn ggrraadduuaalllyy ddeeccrreeaassee tthhee ssttrreettcchh aammoouunntt aass tthey sspeed uup, uuntil aafter ssome ttime tthey aare jjust playing clean and tight.
To reiterate - the band would start by physically playing their instruments slowly, whilst there is a long stretch amount applied. Then as they start to physically play faster, we lower the stretch amount in accordance..
EG, if the source was a snare drum being hit once every 4 seconds, and each resulting hit sound was stretched to 3 seconds long you would end up with a nice one second gap. With a constant sound as an input (say a bass tone) we would end up with a massive noisy pile up of audio (which would be fine by me). If the snare hit and the bass tone were played together you would end up with a big noisey mess of bass tone over a nice 3 second long snare hiss...
Do you see?
To follow your runner metaphor I would need the runner to be constantly spawning hundreds of new runners who would slow down and fade away I suppose...
Its almost like to get rid of the delay in the patch below I would need very many versions of the patch taking an input once after each other in turn, all delayed by the same amount as the grain size?
i.e - So instead of 'turning off' the input whilst the stretch is done, its constantly 'on' and the stretched output is layered over itself...
Does this make any sense?
Its almost like I need the effect to function in the way a reverb does, rather than a time based thing...
Sorry, hope that makes sense. I am making my own head hurt trying to explain this
twogan