If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
phase vocoder to time stretch
8 posts
• Page 1 of 1
phase vocoder to time stretch
Hello gang,
Ok I have been hoping for this for a while now but no one has posted one. It is way over my head, but I have been reading that TIME STRETCHING can be done with the same or modified algorithm of a phase vocoder. Now I know there is at least one phase vocoder or maybe 2 around the forum. I will post the one I found, osm.
Is it possible one of you VERY smart ones out there could make a time stretch module from the phase vocoder that is posted or is it just not possible.
ok, many thanks! later then, BobF......
- BobF
- Posts: 598
- Joined: Mon Apr 20, 2015 9:54 pm
Re: phase vocoder to time stretch
I don't know how phase vocoding works, and I know that there are some fine algorithms out there for time stretching (for example élastique Pro), but I would probably use a simpler approach, if I were to do it in Flowstone:
1. Buffer a certain amount of audio.
2. Divide the buffer into slices. Each slice needs to have an overlay towards the previous and next slice.
3. Play the slices delayed by whatever factor you want.
Should work ok down to half speed (no limit upwards). Just the overlay needs to be finetuned. Example:
A slice is 0.2 s long. Additional overlay: 0.2s towards the previous slice, 0.2s towards next slice (total length 0.6s). First of those slices plays (starting at 0.2s). As soon as the main 0.2s are played, crossfade between this slice and the next one. After 0.2s the start of the next 0.2s block is at full volume and everything repeats.
I know that isn't working all too well, but at least it is stretching time. Of course if wou want to play faster, you have to condense the slices (playing only a part of the slice).
EDIT: Also, it is proven to be very efficient for drums. It is exactly what .rex files do.
1. Buffer a certain amount of audio.
2. Divide the buffer into slices. Each slice needs to have an overlay towards the previous and next slice.
3. Play the slices delayed by whatever factor you want.
Should work ok down to half speed (no limit upwards). Just the overlay needs to be finetuned. Example:
A slice is 0.2 s long. Additional overlay: 0.2s towards the previous slice, 0.2s towards next slice (total length 0.6s). First of those slices plays (starting at 0.2s). As soon as the main 0.2s are played, crossfade between this slice and the next one. After 0.2s the start of the next 0.2s block is at full volume and everything repeats.
I know that isn't working all too well, but at least it is stretching time. Of course if wou want to play faster, you have to condense the slices (playing only a part of the slice).
EDIT: Also, it is proven to be very efficient for drums. It is exactly what .rex files do.
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: phase vocoder to time stretch
Bob, that's actually one of my early attempts at a phase vocoder. I have spent considerable effort since, however I never posted an update because there was still somthing that could be improved. Well, there always is.
Anyway, since you broght up this thing I might just as well share with you guys what I have. The two schematics below are for pitch shifting and time stretching, respectively. Right now I am just throwing this at you without explanation, sorry. If you have questions don't hesitate to ask. If you find glitches please report. Enjoy!
Anyway, since you broght up this thing I might just as well share with you guys what I have. The two schematics below are for pitch shifting and time stretching, respectively. Right now I am just throwing this at you without explanation, sorry. If you have questions don't hesitate to ask. If you find glitches please report. Enjoy!
- Attachments
-
- PhaseVocoderTimeStretch.fsm
- (434.58 KiB) Downloaded 871 times
-
- PhaseVocoderPitchShift.fsm
- (320.89 KiB) Downloaded 875 times
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: phase vocoder to time stretch
I love those moments, when my head turns red and I feel like an idiot
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: phase vocoder to time stretch
Hello martin,
Thanks a bunch! They both are nice, a few clicks and pops now and then. At least on my pc. I was hoping for something that could be put in the feedback loop of a delay though, so on each pass the sound would get faster and faster or of course slower and slower. Any ideas!
Thanks again though, they both will come in handy.
Later then, BobF.....
Thanks a bunch! They both are nice, a few clicks and pops now and then. At least on my pc. I was hoping for something that could be put in the feedback loop of a delay though, so on each pass the sound would get faster and faster or of course slower and slower. Any ideas!
Thanks again though, they both will come in handy.
Later then, BobF.....
- BobF
- Posts: 598
- Joined: Mon Apr 20, 2015 9:54 pm
Re: phase vocoder to time stretch
martinvicanek the pitch shifter looks great. Is there a way to manipulate the timbre as well?
- Father
- Posts: 177
- Joined: Thu Jan 09, 2014 5:48 pm
Re: phase vocoder to time stretch
tulamide wrote:I love those moments, when my head turns red and I feel like an idiot
Sorry, tulamide, it was not my intention to hurt. Your proposed method may work well, however if you use such long grains you might run into problems with doublets or misses, depending on the stretch factor. Haen't tried though.
BobF wrote:I was hoping for something that could be put in the feedback loop of a delay though, so on each pass the sound would get faster and faster or of course slower and slower. Any ideas!
Hmm, how do you want to do time stretching in real time? Maybe some sort of audio triggered delay? It can't be continuous because if you playback faster than you put sound in, then at some point your delayed signal would actually be ahead of the source! . Or in the other case you would need infinite amount of memory because your lag would increase forever. Hmmm....
Father wrote:martinvicanek the pitch shifter looks great. Is there a way to manipulate the timbre as well?
Thanks. What exactly do you mean by "manipulate the timbre"? Of course you can apply any amount of filtering. If you mean format shifting, that's not so easy with this technique.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: phase vocoder to time stretch
martinvicanek wrote:What exactly do you mean by "manipulate the timbre"? Of course you can apply any amount of filtering. If you mean format shifting, that's not so easy with this technique.
So the timbre or formant has nothing to do with pitch shifting and its a separate subject?
I was blown away when i tried a pitch shifter plugin on my master track and setting it -4 semi tone and increasing the formant/timbre. Its like instantly your track is mastered by an expert and everything is glued together and sounds like its coming from an expensive hardware with such punch and warmth and organic at the same time. its really magical. except the artifacts.
Im really interested on knowing whats happening to the signal that automatically opens up room clears the mid bass mud and adds punch and true warmth. Any ideas?
- Father
- Posts: 177
- Joined: Thu Jan 09, 2014 5:48 pm
8 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 58 guests