[Clam-devel] SMSSynthesys and phase management.
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