Spectral Unfreeze

Post your bug reports/problems here

Spectral Unfreeze

Postby dts350z » Sat Nov 19, 2011 7:57 pm

In the attached layout, in which an FFT feeds a Spectral Freeze and then an iFFT, If I freeze the signal, by clicking the Force Gate box, the audio freezes as expected.

However when I uncheck to unfreeze the audio does not go back to normal. It has a hollowed out sound, until you turn processing of and on again. Then the cycle starts over.

This behaviour has been there as long as I've been using spectral bidules but it still seems like a bug?

In fact, almost any manipulation of the frequency side of things gets you in this state where things are "wrong" until you stop and start processing again.

Thanks
Attachments
Freeze.bidule
(11.45 KiB) Downloaded 23 times
dts350z
 
Posts: 942
Joined: Thu Jan 15, 2009 1:18 pm

Re: Spectral Unfreeze

Postby seb@plogue » Tue Nov 22, 2011 2:36 pm

The phase is always accumulated inside the iFFT by the phase vocoder algorithm, so in the case of Freeze, when you get back to the "real signal" the phase is already out of sync with the original material.

While it almost doesn't show at some buffer size/FFT size/overlap settings, for others it goes very wrong at the first sign of troubles.
Not sure there is much to do besides either straight FFT or trying to do all the pvoc processing inside a single module instead of the graph (just speculating in the latter scenario, not sure that would change anything).
seb@plogue
Site Admin
 
Posts: 7912
Joined: Tue Mar 02, 2004 7:23 pm
Location: Montreal

Re: Spectral Unfreeze

Postby dts350z » Tue Nov 22, 2011 2:51 pm

What about a trigger input, on an iFFT2, bidule, that would start the inverse PVOC algorithm over again?

Also, can you help me understand how the freq. values relate to phase? I'm working on visualization that will show spectrum plus phase so need an algorithm to convert freq. to phase, given the bin.

Thanks.
dts350z
 
Posts: 942
Joined: Thu Jan 15, 2009 1:18 pm

Re: Spectral Unfreeze

Postby seb@plogue » Tue Nov 22, 2011 3:25 pm

I suggest taking a look at the pitch shifting code using the phase vocoder:
http://www.dspdimension.com/admin/pitch-shifting-using-the-ft/
seb@plogue
Site Admin
 
Posts: 7912
Joined: Tue Mar 02, 2004 7:23 pm
Location: Montreal

Re: Spectral Unfreeze

Postby dts350z » Wed Nov 23, 2011 2:49 pm

So phase = 2PI(F*FFTSIZE/SampleRate-bin)/Overlap

Where F is the frequency value and bin is the bin number.

Phase will be in the range of -PI to +PI.

The current bin number is only exposed in the SDK, right?
dts350z
 
Posts: 942
Joined: Thu Jan 15, 2009 1:18 pm

Re: Spectral Unfreeze

Postby dts350z » Sun Jan 15, 2012 12:29 am

Just FYI I have windows sdk plugins for converting freq. to phase and back. The phase to freq. one has a "wrap" feature that keeps the input to the conversion between +pi and =pi. So say if you added 3pi to the phase it would be the same as adding 1pi.

Makes a killer Leslie effect when adding a constant value the the phase of one path while listening to both that path and an unmodified one. I can post them here if anyone is interested.

Not sure I can make OSX plugins since upgrading to xcode 4.x, lion, etc.
dts350z
 
Posts: 942
Joined: Thu Jan 15, 2009 1:18 pm


Return to Bidule Bugs and Problems

Who is online

Users browsing this forum: No registered users and 0 guests