Page 1 of 1

Live Time Stretcher

Posted: Sun Nov 13, 2016 6:11 am
by martinvicanek
Hi gang. Here is a (hopefully) funny toy: a live time stretcher. You speak a phrase into the microphone and it will play it back at a different speed but same pitch and formants. Time strech ratios cover the range from -200% (reverse) to +200%. The buffer size is set to approximately 10 seconds, however it can be adjusted if necessary.

The inspiration came from BobF, thanks for that. My original implementation was for a continuous mode but that was sort of messy, so I changed it to the present, more organized mode (wait until the end of the phrase then play back).

Have fun!

Re: Live Time Stretcher

Posted: Sun Nov 13, 2016 11:16 pm
by BobF
Hello Martin,

Well you did it, many thanks!
I guess though I got my expectations up to high though. I thought it would be a lot better in my head. It's pretty choppy with long passages of sound but works fair with very short phrases, but of course you know all of this. Still in all, like you said it is still a very FUN toy to play around with. And with like all your stuff I and many others learn a great deal from them. Thanks again for all your hard work.

Later then, BobF.....


P.S., If you still have version one could you email me a copy, like I said I learn a lot from your work.

Re: Live Time Stretcher

Posted: Mon Nov 14, 2016 3:24 am
by martinvicanek
Okay here is the continuous version. It is really weird. For the speaker it is hard to keep speaking while hearing the output through earphones. Is this closer to what you had in mind, BobF?

Re: Live Time Stretcher

Posted: Mon Nov 14, 2016 2:26 pm
by BobF
Hi Martin,

WOW, at least 95 percent better. Excellent job! Thank you so much for taking on my crazy idea, but it did work. How long did these take, or did you just have the parts laying around again, ha ha.

Now for my next crazy idea, let's see. No really Martin I really appreciate all the time and hard work you spend on fixing and developing my ideas.

Have a great day, BobF.....

Re: Live Time Stretcher

Posted: Mon Nov 14, 2016 6:32 pm
by tester
Haven't checked yet, but I remember playing with "Paul's Extreme Sound Stretch".

Re: Live Time Stretcher

Posted: Sun Nov 20, 2016 1:01 pm
by Spogg
Well I finally got some time to play with these and I'm really impressed, so no surprises there!

I was interested in using the real-time one in a chorus system, with several modules all set to very slightly different stretch percentages based upon around 100%. I tried it with 4 of these modules and the results could be VERY impressive since there's no need to hear any frequency/pitch modulation. Panned out to a stereo field and mixed with the dry input it sounds great! Of course a small static pitch shift may enhance the effect further.

Here's what's stopping me at this point:

- The stretch percentage is in whole points but when I try fractions, like 100.5%, I get odd results. This may be due to the system relying on integer values but can this be changed?

- I sometimes get random clicks but I haven't found a way to make this predictable based on input (using a microphone). Something may need to be interpolated, smoothed or filtered but, being a frog, I've no idea how to modify the modules.

Cheers

Spogg

Re: Live Time Stretcher

Posted: Mon Nov 21, 2016 3:24 am
by martinvicanek
Spogg wrote:- The stretch percentage is in whole points but when I try fractions, like 100.5%, I get odd results. This may be due to the system relying on integer values but can this be changed?
Open the Stretch control properties and set Min=0.9, Max=1.1, and Digits=2 to have a finer control. Use the Shift modifier when adjusting the control to facilitate a more accurate setting.
Spogg wrote:- I sometimes get random clicks but I haven't found a way to make this predictable based on input (using a microphone). Something may need to be interpolated, smoothed or filtered but, being a frog, I've no idea how to modify the modules.
Hm, that should not happen. Delete the Onset Detector module and see if it helps.

Re: Live Time Stretcher

Posted: Mon Nov 21, 2016 9:42 am
by Spogg
YESSS!!!

I did what you said and it's now perfect Martin. I thought the onset detector was essential but it works great without it. Is there any trade-off by not having it?

I originally tried the knob range thing but the odd results I got I think were down to the buffer size. If I set it and wait a bit it's fine.

I have another project on the go at the moment, using your vector oscillator, but then I intend to experiment with this time stretch in a chorus, and maybe enhance my Vocoral with it.

You are so clever it takes my breath away and I love that you share this stuff so freely. You are a major asset to this forum my friend :D :D

Cheers

Spogg

Re: Live Time Stretcher

Posted: Mon Nov 21, 2016 8:07 pm
by martinvicanek
Spogg wrote:I thought the onset detector was essential but it works great without it. Is there any trade-off by not having it?
The onset detector was an attempt to sync the thing to the input signal. However, it does not do much in the continuous mode so you may just remove it without any harm.

Here is another gadget suggested by BobF:
20161120_091419.png
20161120_091419.png (606.06 KiB) Viewed 33617 times
The apparatus is briefly described in the DAFX book and is known as the Springer machine aka Laufzeitregler or Zeitdehner. Today we can use ring buffers instead of tape and vary parameters in a wider range. The result can be anything from a 4-tap pitched echo to a comb filter with a pitch shift. Quite vintage, but cool, if you fancy such stuff.
Zeitdehner.fsm
(137.84 KiB) Downloaded 1306 times

P.S. Below is also a code version (easier to read but higher CPU hit).