[Clam-devel] Spectral Optimizations. Part 1
Xavier Amatriain
xavier at create.ucsb.edu
Mon Apr 16 22:24:32 PDT 2007
The attached patch (please do not apply yet ;) is the most successful of
all the optimizations I have
done to Spectral processings. I will explain the others in future
emails, but this is a good starting point.
The patch simplifies the use of the FFT (in this case only the
FFT_ooura but could be applied to any).
Pros:
- Much more efficient (avoids conversions and unnecessary loops)
- Much simpler code
Cons:
- Only accepts spectrums in MagPhase (not a big deal as that is all we
usually use with FFT's)
- Actually as it is now, it accepts anything but will fail miserably
if it is not magphase
- Does not guarantee correctness when operating inplace with the audio
(yes! could be modified
inside the processing... not very nice but much more efficient than
copying the buffer every time)
I am unsure this FFT approach should/could substitute the over-designed
we have now (specially
because of the "insecurities" that it introduces) but at least it is a
good candidate to at least be an
alternative.
Doing an SMS PitchShift+Spectral Delay, my profiling tool reports an
improvement of 11% only
doing this change.
As I said, other spectral refactorings (including what to do in the IFFT
side) will be proposed
after we discuss this case.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: FFT_ooura.patch
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070416/65e34981/attachment.ksh>
More information about the clam-devel
mailing list