marytts.signalproc.analysis
Class RegularizedPreWarpedCepstrumEstimator
java.lang.Object
marytts.signalproc.analysis.RegularizedCepstrumEstimator
marytts.signalproc.analysis.RegularizedPreWarpedCepstrumEstimator
public class RegularizedPreWarpedCepstrumEstimator
- extends RegularizedCepstrumEstimator
Implements the regularized cepstral envelope estimation in
Cappe, O., Laroche, J., and Moulines E., 1995, "Regularized estimation of cepstrum envelope from discrete frequency points",
in IEEE ASSP Workshop on app. of sig. proc. to audio and acoust.
This approach is used in Harmonic plus Noise (HNM) model for pitch modification
for the purpose of estimating amplitudes of harmonics at (new) pitch-modified locations.
(See, i.e. (Stylianou, et. al.,1995) or Stylianou´s PhD thesis for details)
Stylianou, Y, Laroche, J., and Moulines E., 1995, "High quality speech modification based on a Harmonic + Noise model",
in Proc. of the Europseech 1995.
Various other techniques are used by other researchers
to keep the overall spectral shape unchanged under pitch sclae modifications.
For example, Quatieri uses SEEVOC approach (linear interpolation) to find amplitude values at modified frequencies.
Failing to estimate the modified amplitudes successfully will result in changes in overal spectral envelope
which may affect voice quality, presence, or even the identity of phones after pitch scaling.
- Author:
- Oytun Türk
|
Method Summary |
static double |
cepstrum2dbSpectrumValue(float[] ceps,
double freqInHz,
int samplingRateInHz)
|
static double[] |
cepstrum2dbSpectrumValues(float[] ceps,
double[] freqsInHz,
int samplingRateInHz)
|
static double[] |
cepstrum2dbSpectrumValues(float[] ceps,
int maxFreqIndex,
int samplingRateInHz)
|
static double |
cepstrum2linearSpectrumValue(float[] ceps,
double freqInHz,
int samplingRateInHz)
|
static double[] |
cepstrum2logAmpHalfSpectrum(float[] ceps,
int fftSize,
int samplingRateInHz)
|
static float[] |
freqsLinearAmps2cepstrum(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder)
|
static float[] |
freqsLinearAmps2cepstrum(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder,
double[] weights,
double lambda)
|
static double[][] |
precomputeM(double[] freqsInHz,
int samplingRateInHz,
int cepsOrder)
|
static double[] |
spectralEnvelopeDB(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder,
int fftSize)
|
static double[] |
spectralEnvelopeLinear(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder)
|
static double[] |
spectralEnvelopeLinear(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder,
int fftSize)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RegularizedPreWarpedCepstrumEstimator
public RegularizedPreWarpedCepstrumEstimator()
freqsLinearAmps2cepstrum
public static float[] freqsLinearAmps2cepstrum(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder,
double[] weights,
double lambda)
freqsLinearAmps2cepstrum
public static float[] freqsLinearAmps2cepstrum(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder)
cepstrum2logAmpHalfSpectrum
public static double[] cepstrum2logAmpHalfSpectrum(float[] ceps,
int fftSize,
int samplingRateInHz)
cepstrum2linearSpectrumValue
public static double cepstrum2linearSpectrumValue(float[] ceps,
double freqInHz,
int samplingRateInHz)
cepstrum2dbSpectrumValue
public static double cepstrum2dbSpectrumValue(float[] ceps,
double freqInHz,
int samplingRateInHz)
cepstrum2dbSpectrumValues
public static double[] cepstrum2dbSpectrumValues(float[] ceps,
int maxFreqIndex,
int samplingRateInHz)
cepstrum2dbSpectrumValues
public static double[] cepstrum2dbSpectrumValues(float[] ceps,
double[] freqsInHz,
int samplingRateInHz)
precomputeM
public static double[][] precomputeM(double[] freqsInHz,
int samplingRateInHz,
int cepsOrder)
spectralEnvelopeLinear
public static double[] spectralEnvelopeLinear(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder)
spectralEnvelopeLinear
public static double[] spectralEnvelopeLinear(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder,
int fftSize)
spectralEnvelopeDB
public static double[] spectralEnvelopeDB(double[] linearAmps,
double[] freqsInHz,
int samplingRateInHz,
int cepsOrder,
int fftSize)