21 #ifndef KALDI_FEAT_MEL_COMPUTATIONS_H_ 22 #define KALDI_FEAT_MEL_COMPUTATIONS_H_ 40 struct FrameExtractionOptions;
57 : num_bins(num_bins), low_freq(20), high_freq(0), vtln_low(100),
58 vtln_high(-500), debug_mel(false), htk_mode(false) {}
61 opts->
Register(
"num-mel-bins", &num_bins,
62 "Number of triangular mel-frequency bins");
63 opts->
Register(
"low-freq", &low_freq,
64 "Low cutoff frequency for mel bins");
65 opts->
Register(
"high-freq", &high_freq,
66 "High cutoff frequency for mel bins (if <= 0, offset from Nyquist)");
67 opts->
Register(
"vtln-low", &vtln_low,
68 "Low inflection point in piecewise linear VTLN warping function");
69 opts->
Register(
"vtln-high", &vtln_high,
70 "High inflection point in piecewise linear VTLN warping function" 71 " (if negative, offset from high-mel-freq");
72 opts->
Register(
"debug-mel", &debug_mel,
73 "Print out debugging information for mel bin computation");
82 return 700.0f * (expf (mel_freq / 1127.0f) - 1.0f);
86 return 1127.0f * logf (1.0f + freq / 700.0f);
119 const std::vector<std::pair<int32, Vector<BaseFloat> > >&
GetBins()
const {
135 std::vector<std::pair<int32, Vector<BaseFloat> > >
bins_;
171 #endif // KALDI_FEAT_MEL_COMPUTATIONS_H_ This code computes Goodness of Pronunciation (GOP) and extracts phone-level pronunciation feature for...
static BaseFloat MelScale(BaseFloat freq)
std::vector< std::pair< int32, Vector< BaseFloat > > > bins_
Vector< BaseFloat > center_freqs_
void Register(OptionsItf *opts)
void Lpc2Cepstrum(int n, const BaseFloat *pLPC, BaseFloat *pCepst)
virtual void Register(const std::string &name, bool *ptr, const std::string &doc)=0
static BaseFloat InverseMelScale(BaseFloat mel_freq)
void ComputeLifterCoeffs(BaseFloat Q, VectorBase< BaseFloat > *coeffs)
const Vector< BaseFloat > & GetCenterFreqs() const
BaseFloat ComputeLpc(const VectorBase< BaseFloat > &autocorr_in, Vector< BaseFloat > *lpc_out)
MelBanksOptions(int num_bins=25)
A class representing a vector.
void GetEqualLoudnessVector(const MelBanks &mel_banks, Vector< BaseFloat > *ans)
Provides a vector abstraction class.
BaseFloat Durbin(int n, const BaseFloat *pAC, BaseFloat *pLP, BaseFloat *pTmp)
const std::vector< std::pair< int32, Vector< BaseFloat > > > & GetBins() const