[Clam-devel] SMSSynthesys and phase management.

Pau Arumi parumi at iua.upf.edu
Mon Mar 12 09:43:40 PDT 2007

En/na Giulio Paci ha escrit:
> Hi Pau and all,
> first of all thank you for your assistance, we succeeded in upgrading our
> speech synthesizer up to CLAM 0.98. Although we got still some small issue
> probably due to some version changes that we do not manage well.
> But now we are facing a phase management problem: we have introduced in
> the speech synthesis engine an algorithm (described in [*], see below) for
> preserving the original waveform shape after time stretching and pitch
> shifting operations. In order to do so we must modify all phase values.
> We are using SMSSynthesis class, but the method
> bool SMSSynthesis::Do(
>         SpectralPeakArray& inputSinusoidalPeaks,
>         Spectrum& inputResidualSpectrum,
>         Spectrum& outputSinusoidalSpectrum,    //
>         Spectrum& outputSpectrum,        //
>         Audio& outputAudio,
>         Audio& outputSinusoidalAudio,
>         Audio& outputResidualAudio)
> in SMSSynthesis.cxx overwrites our phase values.
> We saw that we can set an attribute "Type" (in the PhaseManagementConfig
> attribute of our SMSSynthesisConfig instance, mSynthConfig) that can be
> set to "Align", "Continuation" or "Random".
> But we need something that would do nothing. Currently we have commented
> out mPhaseMan.Do(inputSinusoidalPeaks); but we think this is a very
> bad solution. Is it possible to add something like "None" as a Type option?

my first thought is: yes, a None type would make sense for
what you do.

xavier, do you agree?

given that we are very focused on 1.0 release i think it's easier
that you  add the new code and send us patch:



More information about the clam-devel mailing list