axinc-ai / ailia-models

The collection of pre-trained, state-of-the-art AI models for ailia SDK
2.05k stars 326 forks source link

ADD SileroVAD #1144

Closed kyakuno closed 1 year ago

kyakuno commented 1 year ago

https://github.com/snakers4/silero-vad

kyakuno commented 1 year ago

voice activity detection。webrtc vadよりも高性能らしい。 https://github.com/openai/whisper/discussions/29

kyakuno commented 1 year ago

リポジトリにONNXファイルが含まれている。

kyakuno commented 1 year ago

SileroVADの処理フロー

入力された音声をモノラルの16kHzに変換 PCMのレンジは+-1.0

waveを1536サンプルごとのチャンクに分割 onnxのinputにpcm、hとcにステート、srにサンプリングレートを入力 推論結果はspeech_prob, h, c

speech_probはchunkの無音でない確率が入る hとcはステートとして次のチャンクに供給する

hとcのステートは初期値0、(2, batch, 64)次元

kyakuno commented 1 year ago

get_speech_timestampsでは、threshold = 0.5以上で無音でないと判定している。 250ms以上、有音区間が続いた場合は有音としている。 100ms以上、無音区間が続いた場合は無音としている。