Skip to main content

Crate flexaudio_vad

Crate flexaudio_vad 

Source
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§

VadError
VAD のエラー型。
VadEvent
VAD が確定したイベント。サンプル位置はパディング適用後。

Functions§

get_speech_timestamps
バッチ処理用(silero get_speech_timestamps 相当)。