FFT first window and problematic NRT delay

[email protected]
Newsgroups gmane.comp.audio.supercollider.user
Message-ID <CAJz+5eeZSrAQLL_GL2iceuLs-riv7bOLmdhZHKi8JO9GWXRoWA@mail.gmail.com>
Hi sc-users,

I'm looking for some ideas on fixing up a little timing issue. I'm working
in a Non-RealTime setting, so timing issues should be more tractable.

I have a short sound file (512 samples long), let's call it fivetwelve.wav,
that I want to use to impart a spectrum. My idea is to take the FFT of
fivetwelve.wav (i.e. one window of FFT), take the FFT of my signal, run
PV_MagMul, and then IFFT the result.

This works except that it gives a timing delay because of a blank frame in
the FFT (discussed in a [sc-users] thread from July 2020 called FFT first
window, which for some reason I can't link to). As discussed in that
thread, I've succeeded in lining up the PV_MagMul'd result signal with the
original signal, by delaying the signal by (fft_windowsize -
server_blocksize) / samplerate

However, now both parts are delayed. I need to retain the initial timing,
as there are other parts of my score that have to be aligned with this
output, and this entire supercollider score must be aligned in a sequencer
with other scores as well.

Is there some way of deleting or skipping the initial blank frame at some
point in the process, or of negative-delaying things, or some other way of
making sure FFT processes are properly aligned in a non-real-time score?

I'd also be curious to know if anyone has any alternative ideas of how to
multiply or filter the one-window spectrum of fivetwelve.wav into the
signal, but even if that bypasses the FFT timing problem, I expect to run
into the FFT timing problem again sooner than later...

Thanks very much!

Andie
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.