Skip to main content

fasr-vad-silero

英文文档地址: README_EN.md

Silero 流式 VAD 插件。官方 TorchScript 权重随包分发,启动时不依赖 torch.hub 或网络下载,并封装为 fasr 的流式 VADModel,输出带有 segment_startsegment_midsegment_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 float0.01.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.60.7
轻声被漏掉 threshold=0.350.4
语音结束太晚 silence_duration_ms=200300
停顿中被切开 silence_duration_ms=600800
第一个音节被截掉 prefix_padding_ms=64128

运行时断句更新

silero 支持通过 apply_turn_detection(...) 做实时断句参数更新。 这个接口主要给 websocket 这类长连接会话使用。

当前支持的运行时参数:

  • silence_duration_ms
  • threshold
  • prefix_padding_ms

prefix_padding_ms 在 wrapper 状态机层实现:第一次检测到语音时,会把输出片段 起点按设定值向前回退,并在已有缓冲音频范围内做裁剪。

依赖

  • fasr
  • numpy >= 1.24
  • torch >= 2.0.0
  • Python 3.10-3.12

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fasr_vad_silero-0.5.8.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fasr_vad_silero-0.5.8-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

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

Hashes for fasr_vad_silero-0.5.8.tar.gz
Algorithm Hash digest
SHA256 45fcd7e6215167f78b577a38abe4a93db84fa7c5a26bd36b5ca2e7f748fb7669
MD5 da85bc01c348eb663120ccefbe23e6b4
BLAKE2b-256 19f21a4b623bfe4540c81066686812de440e0aaf83e57484aa8dd54f0a26a4ac

See more details on using hashes here.

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

Hashes for fasr_vad_silero-0.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f25ca1dbfbb54a3a798a78ea047f447c88fefa7d137687291543570c93ef032f
MD5 ec2d02ab5a86c101bb1e06eb01dd07f4
BLAKE2b-256 8c2c35ff1c98ba9cf672497fcb03f14d525b338d084912d236857eece3599abc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.8 This release

2 files

0.5.3

2 files

0.5.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page