前回の続きです。
simplevox::VadEngine
デフォルトの設定は下記の通り
- サンプルレート = 16000 Hz
- フレーム時間 = 10 msec
- フレーム長 = フレーム時間 × サンプルレート = 160 サンプル
- VADモード = レベル0 (レベル0~4, 高いほど判定が厳しい)
- hangbefore_ms = 100 msec (音声区間に含まれる音声検出前の時間)
- decision_time_ms = 200 msec (音声あり判定がこれ以上続くと音声区間と判断)
- hangover_ms = 200 msec (音声区間として含まれる音声終了後の時間)

simplevox::MfccEngine
デフォルトの設定は下記の通り
- サンプルレート = 16000 Hz
- フレーム時間 = 32 msec
- フレーム長 = フレーム時間 × サンプルレート = 512 サンプル
- ホップ長 = フレーム長さ / 2 = 256 サンプル
- FFTデータ点数 = 512
- メルフィルタバンクのチャンネル数 = 24
- MFCC係数の数 = 12
- プリエンファシス係数 = 97 % (高域成分強調)
esp_ns (ノイズ抑制)
- ns_pro_create(フレーム時間[msec], レベル, サンプルレート[Hz]) → ハンドル
- レベルは 0 ~ 2
- ns_process(ハンドル, 入力データ, 出力データ)
- ns_destroy(ハンドル)
esp_vad (音声アクティブ検出)
- vad_create(レベル) → ハンドル
- モード 0 ~ 4 (高いほど判定が厳しい)
- vad_process(ハンドル, データ, サンプルレート[Hz], サンプル時間[msec] ) → 状態
- 状態 : 沈黙 | 発話
- vad_destroy(ハンドル)
esp_dsp
- dsp_is_power_of_two( ) → bool : 2のn乗か否かをチェック
- float型の基数4の複素FFT (4R FFT)
- dsps_fft4r_init_fc32(バッファ, FFTデータ点数 / 2) : 初期化処理
- dsps_fft4r_fc32(データ, FFTデータ点数 / 2) : 複素FFT演算
- dsps_bit_rev4r_fc32(データ, データ点数) : バタフライ演算によるFFT結果の並べ直し
- dsps_cplx2real_fc32(データ, データ点数) : 入力が実数列の場合のFFT結果の変換
- dsps_fft4r_deinit_fc32() : 終了処理