[Clam-devel] Spectral Optimizations. Part 2

Xavier Amatriain xavier at create.ucsb.edu
Wed Apr 18 11:52:24 PDT 2007


(Note of caution: the attached patch will not compile as is. At some
point we included a refactoring in the FFT side that somehow never made
it to the IFFT (i.e. removing IFFT_base files). I did have that
refactoring in my local sandbox)

Ok, so here is the refactoring in the IFFT_ooura. In the same test
situations this patch improves an overall 5% over the previous (which is
a lot in relative terms).

Unfortunately in this case we cannot limit the IFFT to operate on a
single spectrum format as it must take both MagPhase and Complex formats
depending on whether the spectrum to synthesize comes from the
sinusoidal or residual branch.

Which brings us to the ultimate and very difficult question of what to
do in these cases. My vote, I think in the same line as Pau's, goes for
having separate Spectrum classes and let the user decide what spectrum
he needs depending on what is going on. In parallel, classes like the
IFFT could have different ports (one taking MagPhaseSpectrum and the
other taking ComplexSpectrum, for instance).

I might try this later when we agree whether this all makes sense ;)

btw, don't pay attention to the lines that are commented out as these
are part of another still unfinished refactoring I will comment briefly.

XA


-------------- next part --------------
A non-text attachment was scrubbed...
Name: IFFT.patch
Type: text/x-patch
Size: 8751 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070418/66268e6c/attachment-0004.bin>


More information about the clam-devel mailing list