Expand description
flexaudio-vad — silero-VAD を ONNX でオフライン実行する VAD アドオン。
flexaudio-core には依存せず、&[f32] のサンプル列だけを受け取る。silero-VAD
モデル (MIT) をバイナリに埋め込むので、実行時のモデルファイルもネットワークも要らない。
§例 (ストリーミング)
use flexaudio_vad::{Vad, VadConfig, VadEvent};
let mut vad = Vad::new(VadConfig::default()).unwrap();
for chunk in some_audio_chunks() {
for ev in vad.process(chunk) {
match ev {
VadEvent::SpeechStart { at_sample } => println!("start @ {at_sample}"),
VadEvent::SpeechEnd { at_sample } => println!("end @ {at_sample}"),
}
}
}§例 (バッチ)
use flexaudio_vad::{get_speech_timestamps, VadConfig};
let samples: Vec<f32> = vec![0.0; 16000];
let segments = get_speech_timestamps(&samples, &VadConfig::default()).unwrap();
for s in segments {
println!("{}..{}", s.start_sample, s.end_sample);
}Structs§
- PcmFormat
crate::Vad::process_pcmが受け取る入力 PCM のフォーマット記述子。- Segment
- 確定した発話セグメント(パディング適用後・絶対サンプル位置)。
- Vad
- ストリーミング VAD。1 インスタンスが ONNX
Sessionを 1 つ持つ(共有しない)。 - VadConfig
- VAD の挙動を制御する設定。
Enums§
Functions§
- get_
speech_ timestamps - バッチ処理用(silero
get_speech_timestamps相当)。