[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