[Clam-devel] Spectral Analysis/Synthesis

Xavier Amatriain xavier at amatriain.net
Mon Feb 18 13:24:14 PST 2008


Karsten Krispin wrote:
>> Also this is not correct :-( You can't just take the first frameSize*2
>> samples and feed them to the OLA.
>> You need to take the center frameSize*2. Else the inverse window you are
>> applying does not correspond to
>> the one you applied in the analysis (in terms of where the center is).
>>     
>
> Well, but I looked up the code and SSynth does take the centerFreq +/- hopSize 
> by itself. So the Audio size after the _specSynth.Do() is 1024 and not 2048.
Yes, you are absolutely right here... I thought about it after I replied 
your
previous email. SpectralSynth takes care of taking the appropriate chunk
so you should be able to feed its output directly to OLA.

So the problem must be in the analysis part.

Btw, you should avoid creating temporary audio objects and setting their 
size
during processing: this operation implies memory allocations and is 
likely to ruin
your performance. You would be better off declaring audio objects as 
members of
your class and setting the correct size at initialization/configuration 
time.

X




More information about the clam-devel mailing list