Silero VAD model for fasr
Project description
fasr-vad-silero
英文文档地址: README_EN.md
Silero 流式 VAD 插件。官方 TorchScript 权重随包分发,启动时不依赖
torch.hub 或网络下载,并封装为 fasr 的流式 VADModel,输出带有
segment_start、segment_mid、segment_end 状态的 AudioChunk。
安装
pip install fasr-vad-silero
注册模型
| 注册名 | 类 | 适用场景 |
|---|---|---|
silero |
SileroStreamVAD |
轻量流式 VAD |
流式使用
from fasr.config import registry
vad = registry.vad_models.get("silero")(
threshold=0.5,
silence_duration_ms=500,
)
for input_chunk in audio_chunks:
for speech_chunk in vad.push_chunk(input_chunk):
print(speech_chunk.vad_state, speech_chunk.start_ms, speech_chunk.end_ms)
批量使用
from fasr.data import AudioSpan
segments = vad.detect(
AudioSpan(
start_ms=0,
waveform=waveform,
)
)
detect(...) 会把整段音频按流式路径重放一遍,因此批量分段和实时模式共享同一套
阈值、prefix padding 与端点规则。
| 目标 | 写法 | 效果 |
|---|---|---|
| 减少噪声触发 | threshold=0.65 |
需要更高语音概率 |
| 保留轻声 | threshold=0.35 |
更敏感,误检风险更高 |
| 更快结束 | silence_duration_ms=200 |
端点延迟更低 |
| 避免停顿切碎 | silence_duration_ms=700 |
更容忍短暂停顿 |
Confection 配置
[vad_model]
@vad_models = "silero"
threshold = 0.5
silence_duration_ms = 500
prefix_padding_ms = 0
sample_rate = 16000
chunk_size_ms = 32
参数
| 参数 | 类型 / 范围 | 默认值 | 调高时 | 调低时 | 什么时候改 |
|---|---|---|---|---|---|
threshold |
float,0.0 到 1.0 |
0.5 |
更严格,噪声起点更少 | 更敏感,保留更多弱语音 | 噪声误触发或轻声漏掉 |
silence_duration_ms |
int >= 0 |
500 |
更久静音才结束 | 更快结束 | 语音被切碎或结束太晚 |
prefix_padding_ms |
int >= 0 |
0 |
更不容易截掉句首,但可能带入更多前置噪声 | 片段更紧,但更容易丢掉第一个音节 | 句首被截断,或前置噪声过多 |
sample_rate |
int |
16000 |
建议保持 16k | 建议保持 16k | 通常不要改 |
chunk_size_ms |
int |
32 |
输入块更大,调用更少 | 块更小,延迟更低 | 流式延迟和调度开销调优 |
调参建议
| 现象 | 优先尝试 |
|---|---|
| 背景噪声触发语音 | threshold=0.6 或 0.7 |
| 轻声被漏掉 | threshold=0.35 或 0.4 |
| 语音结束太晚 | silence_duration_ms=200 或 300 |
| 停顿中被切开 | silence_duration_ms=600 或 800 |
| 第一个音节被截掉 | prefix_padding_ms=64 或 128 |
运行时断句更新
silero 支持通过 apply_turn_detection(...) 做实时断句参数更新。
这个接口主要给 websocket 这类长连接会话使用。
当前支持的运行时参数:
silence_duration_msthresholdprefix_padding_ms
prefix_padding_ms 在 wrapper 状态机层实现:第一次检测到语音时,会把输出片段
起点按设定值向前回退,并在已有缓冲音频范围内做裁剪。
依赖
fasrnumpy >= 1.24torch >= 2.0.0- Python 3.10-3.12
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fasr_vad_silero-0.5.8.tar.gz.
File metadata
- Download URL: fasr_vad_silero-0.5.8.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45fcd7e6215167f78b577a38abe4a93db84fa7c5a26bd36b5ca2e7f748fb7669
|
|
| MD5 |
da85bc01c348eb663120ccefbe23e6b4
|
|
| BLAKE2b-256 |
19f21a4b623bfe4540c81066686812de440e0aaf83e57484aa8dd54f0a26a4ac
|
File details
Details for the file fasr_vad_silero-0.5.8-py3-none-any.whl.
File metadata
- Download URL: fasr_vad_silero-0.5.8-py3-none-any.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f25ca1dbfbb54a3a798a78ea047f447c88fefa7d137687291543570c93ef032f
|
|
| MD5 |
ec2d02ab5a86c101bb1e06eb01dd07f4
|
|
| BLAKE2b-256 |
8c2c35ff1c98ba9cf672497fcb03f14d525b338d084912d236857eece3599abc
|