21 #ifndef KALDI_ONLINE2_ONLINE_NNET2_FEATURE_PIPELINE_H_ 22 #define KALDI_ONLINE2_ONLINE_NNET2_FEATURE_PIPELINE_H_ 98 feature_type(
"mfcc"), add_pitch(false) { }
102 opts->
Register(
"feature-type", &feature_type,
103 "Base feature type [mfcc, plp, fbank]");
104 opts->
Register(
"mfcc-config", &mfcc_config,
"Configuration file for " 105 "MFCC features (e.g. conf/mfcc.conf)");
106 opts->
Register(
"plp-config", &plp_config,
"Configuration file for " 107 "PLP features (e.g. conf/plp.conf)");
108 opts->
Register(
"fbank-config", &fbank_config,
"Configuration file for " 109 "filterbank features (e.g. conf/fbank.conf)");
110 opts->
Register(
"cmvn-config", &cmvn_config,
"Configuration file for " 111 "online cmvn features (e.g. conf/online_cmvn.conf). " 112 "Controls features on nnet3 input (not ivector features). " 113 "If not set, the OnlineCmvn is disabled.");
114 opts->
Register(
"global-cmvn-stats", &global_cmvn_stats_rxfilename,
115 "filename with global stats for OnlineCmvn for features " 116 "on nnet3 input (not ivector features)");
117 opts->
Register(
"add-pitch", &add_pitch,
"Append pitch features to raw " 118 "MFCC/PLP/filterbank features [but not for iVector extraction]");
119 opts->
Register(
"online-pitch-config", &online_pitch_config,
"Configuration " 120 "file for online pitch features, if --add-pitch=true (e.g. " 121 "conf/online_pitch.conf)");
122 opts->
Register(
"ivector-extraction-config", &ivector_extraction_config,
123 "Configuration file for online iVector extraction, " 124 "see class OnlineIvectorExtractionConfig in the code");
212 virtual int32 Dim()
const;
214 virtual bool IsLastFrame(
int32 frame)
const;
215 virtual int32 NumFramesReady()
const;
228 void UpdateFrameWeights(
229 const std::vector<std::pair<int32, BaseFloat> > &delta_weights);
234 void SetAdaptationState(
242 void GetAdaptationState(
254 void AcceptWaveform(
BaseFloat sampling_rate,
264 void InputFinished();
272 return ivector_feature_;
278 return ivector_feature_;
285 return nnet3_feature_;
334 #endif // KALDI_ONLINE2_ONLINE_NNET2_FEATURE_PIPELINE_H_ This code computes Goodness of Pronunciation (GOP) and extracts phone-level pronunciation feature for...
int32 dim_
we cache the feature dimension, to save time when calling Dim().
bool use_cmvn
Options for pitch post-processing.
bool add_pitch
Options for filterbank computation, if feature_type == "fbank".
FbankOptions fbank_opts
Options for PLP computation, if feature_type == "plp".
This configuration class is to set up OnlineNnet2FeaturePipelineInfo, which in turn is the configurat...
MfccOptions contains basic options for computing MFCC features.
OnlineFeatureInterface * feature_plus_optional_pitch_
Global CMVN stats.
PitchExtractionOptions pitch_opts
OnlineFeatureInterface * nnet3_feature_
iVector feature, if used.
This class does an online version of the cepstral mean and [optionally] variance, but note that this ...
const OnlineIvectorFeature * IvectorFeature() const
A const accessor for the iVector extractor.
ProcessPitchOptions pitch_process_opts
Options for pitch extraction, if done.
This online-feature class implements post processing of pitch features.
OnlineCmvn * cmvn_feature_
Processed pitch, if pitch used.
OnlineFeatureInterface * final_feature_
final_feature_ is feature_plus_optional_cmvn_ appended (OnlineAppendFeature) with ivector_feature_...
BaseFloat FrameShiftInSeconds() const
OnlineSilenceWeightingConfig silence_weighting_config
#define KALDI_DISALLOW_COPY_AND_ASSIGN(type)
OnlineIvectorFeature * IvectorFeature()
This function returns the iVector-extracting part of the feature pipeline (or NULL if iVectors are no...
std::string online_pitch_config
This class is responsible for storing configuration variables, objects and options for OnlineNnet2Fea...
virtual void Register(const std::string &name, bool *ptr, const std::string &doc)=0
OnlineFeatureInterface * InputFeature()
This function returns the part of the feature pipeline that would be given as the primary (non-iVecto...
Matrix< BaseFloat > lda_mat_
void RegisterWithPrefix(std::string prefix, OptionsItf *opts)
const OnlineNnet2FeaturePipelineInfo & info_
OnlineCmvnOptions cmvn_opts
Struct OnlineCmvnState stores the state of CMVN adaptation between utterances (but not the state of t...
OnlineFeatureInterface * feature_plus_optional_cmvn_
feature_plus_optional_cmvn_ is the feature_plus_optional_pitch_ transformed with OnlineCmvn if cmvn i...
OnlineBaseFeature * base_feature_
void Register(OptionsItf *opts)
This file contains code for online iVector extraction in a form compatible with OnlineFeatureInterfac...
OnlineNnet2FeaturePipelineConfig()
Add a virtual class for "source" features such as MFCC or PLP or pitch features.
std::string global_cmvn_stats_rxfilename
Options for online cmvn, read from config file.
std::string global_cmvn_stats_rxfilename
Matrix< double > global_cmvn_stats_
LDA matrix, if supplied.
OnlineNnet2FeaturePipeline is a class that's responsible for putting together the various parts of th...
OnlineSilenceWeightingConfig silence_weighting_config
Config for weighting silence in iVector adaptation.
OnlineFeatureInterface is an interface for online feature processing (it is also usable in the offlin...
PlpOptions contains basic options for computing PLP features.
Provides a vector abstraction class.
OnlineIvectorFeature * ivector_feature_
FbankOptions contains basic options for computing filterbank features.
MfccOptions mfcc_opts
"mfcc" or "plp" or "fbank"
std::string ivector_extraction_config
OnlineProcessPitch * pitch_feature_
Raw pitch, if used.
OnlineNnet2FeaturePipelineInfo()
bool use_ivectors
Filename used for reading global cmvn stats in OnlineCmvn.
OnlineIvectorExtractionInfo ivector_extractor_info
OnlineIvectorFeature is an online feature-extraction class that's responsible for extracting iVectors...
OnlinePitchFeature * pitch_
MFCC/PLP/filterbank.