vad-burn 0.1.4

Burn Flex CPU FSMN VAD
docs.rs failed to build vad-burn-0.1.4
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: vad-burn-0.1.3

vad-burn

vad-burn 是基于 Rust 和 Burn 的 VAD 推理库,提供 Rust API、Python 绑定、 离线检测和流式检测。默认使用 Burn Flex CPU 后端,FSMN VAD 也支持 Apple Metal 后端。

完整文档:

安装

cargo add vad-burn
pip install vad-burn

Rust

use vad_burn::{Audio, FsmnVadModel, VadOptions, Waveform};

let model = FsmnVadModel::from_modelscope()?;
let waveform = Waveform::new(samples, 16_000);
let segments = model.detect(&waveform, &VadOptions::default())?;

let mut audio = Audio::from_path("example.wav")?;
model.annotate(&mut audio, &VadOptions::default())?;

Python

from asr_data import Audio
from vad_burn import FsmnVadModel, VadOptions

vad = FsmnVadModel.from_modelscope()
segments = vad.detect(samples, 16000, VadOptions())
audio = Audio.from_path("example.wav")
vad.annotate(audio, VadOptions())

samples 必须是 16 kHz 单声道、归一化到 [-1.0, 1.0] 的浮点 PCM。

Benchmark

cargo run --release --features metal --example bench_fsmn_vad -- \
  --backend metal \
  --audio assets/vad_example.wav \
  --warmup 2 \
  --repeat 10 \
  --stream-chunk-ms 600

更多 Flex、Metal 和 FireRedVAD benchmark 结果见 Benchmark 文档

开发验证

cargo fmt --check
cargo test -- --nocapture
cargo test --features metal -- --nocapture