Hi Fons, Thanks for the reply, and from vacation no less.
On 8/30/21 7:06 PM, Fons Adriaensen wrote: > To implement this you need more than just FFT and IFFT. Using only > those on each block would amount to circular convolution, while > what you need is linear convolution. Changing only the phase of > a signal is just a special case of filtering, which means the output > will be longer than the input. Aha! That is what I was missing and didn't understand. Thank you. > Define the phase shift in the > frequency domain (i.e. as if it were the result of an FFT), do the > inverse FFT and use the result as the IR for the convolver. So just compute a FIR and apply it. I now have a working prototype. I hoped to sidestep that because the phase-angle should be a sweepable parameter. I can probably make this work by cross-fading the computed FIR when the parameter changes. > Now don't believe that phase shifting a signal will always result > in a waveform with a lower peak/RMS ratio. It could very well > have the opposite effect. Well, there is a minimum. So far I just brute force detect it, trying all angles in 1 deg steps on a file. Finding out if it can be computed is up next. Perhaps using linear regression on the spectrum of the file. I may pick your brain again when I progress to that stage. > Greetings to all from sunny Crete. The next retsina is on me, unless you prefer a cold ΑΛΦΑ beer :) Stay safe! robin
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org https://lists.linuxaudio.org/listinfo/linux-audio-dev