[Clam-devel] residual spectrum line segment approximation?
Xavier Amatriain
xavier at amatriain.net
Tue May 27 14:25:35 PDT 2008
Hi Roumbaba,
In the paper you cite it says "you can", which does not mean "you have
to" :-) Doing an approximation of the residual model is indeed
an interesting thing to do, especially if you want to reduce the amount
of data in your transformed signal, however it is not a must.
Note that there are many other ways to model the residual apart from the
one mentioned in that paper.
So far, in CLAM we are using the residual as is, with no modeling or
approximation. The "only" downside is that the transformed
signal (SMS Data) is in fact larger than the original audio when it
could be much smaller with not much loss in quality. If for
whatever reason you do need to do the residual modeling you can look at
the SpectralEnvelopeExtract processing. This processing
generates a spectral approximation (spectrum in bpf format) but from an
array of peaks, it would not be hard to modify it to work
with an input spectrum.
X
roumbaba wrote:
> Hi all,
>
> I am trying to understand how the residual spectrum gets modeled in
> clam/SMS. I have read the Serra/Smith 1990 CMJ paper and as I
> understand it it describes two steps:
> 1- substract the harmonic spectrum from the original spectrum
> 2- perform a line-segment approximation of the residual spectrum
> obtained in 1
>
> I have stepped through clam and SMS code and I think I can see where
> step 1 gets performed:
>
> SMSAnalysisCore::Do()
> {
>
> mSinSpectralAnalysis.Do();
> mResSpectralAnalysis.Do();
> ...
> ...
> ...
> mSynthSineSpectrum.Do();
> mSpecSubstracter.Do(); /* step 1 gets performed here I think*/
>
> }
>
>
> but I cannot find where step 2 (line approximation) gets performed.
> Where should I look in the code?
>
> Thank you very much,
> Cheers,
>
> Roumbaba
>
> ps:
>
> Here is a quote from the paper I mentionned above:
>
> "Approximation of the Spectral Residual
>
> Assuming the the residual signal is quasi-stochastic, each
> magnitude-spectrum residual can be approximated by its envelope since
> only its shape contributes to the sound characteristics. [...] The
> particular line-segment approximation performed here is done by
> stepping through the magnitude spectrum and finding local maxima in
> every section, ..."
>
>
> _______________________________________________
> Clam-devel mailing list
> Clam-devel at llistes.projectes.lafarga.org
> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel
More information about the clam-devel
mailing list