@fluidinference/fluidvad

中文文档
0.2.0发布于 2026/07/16MITTypeScriptES Module零依赖近 30 天下载 2.9万

Silero VAD(v6)编译为WebAssembly-模型捆绑,零配置,不进行运行时间下载. 浏览器+节点.

中文使用文档
文档目录6 节
  1. 麦克风(浏览器/电子渲染器)
  2. 缓冲器(节点/ 电子主/ 浏览器)
  3. 电子
  4. 配置
  5. 发展
  6. 许可证

流体视窗

Npm的语音活性检测——Silero VAD(v6)编译为WebAssembly. 模型被捆绑,零配置,没有运行时间下载. 在浏览器中工作, 节点,和MacOS和Windows上的Electron(两个进程).

  • 没有本地模块 纯洁的原声。 没什么 electron-rebuild,没有 每条存档的预建, 没有 onnxruntime对等依赖, 没有额外的二进制签名 .
  • 模型嵌入 - 1.3 MB Silero v6 16克赫兹图船 .wasm (5.3 MB 生用,2.3 MB gzipped total). npm install 离开;无 运行时取出, 完全下线 .
  • 流出 + 离线 —— 说 SpeechStart编号 :SpeechEnd 有歇斯底里症的事件, 或全缓冲分化。 ~150×实时;一个32ms帧成本很好 在一毫秒内.
npm i @fluidinference/fluidvad

麦克风(浏览器/电子渲染器)

import { MicVad } from "@fluidinference/fluidvad/mic";

const mic = new MicVad({
  onSpeechStart: (t) => console.log("speech started", t),
  onSpeechEnd: (audio, start, end) => {
    // audio: Float32Array, 16 kHz mono, whole utterance incl. pre-roll
    console.log(`utterance ${start.toFixed(2)}s → ${end.toFixed(2)}s`);
  },
});
await mic.start();

缓冲器(节点/ 电子主/ 浏览器)

import { createVad } from "@fluidinference/fluidvad";

const vad = await createVad({ threshold: 0.5 });

// streaming: push any chunk size, get boundary events
const events = vad.push(samples); // Float32Array, 16 kHz mono
// [{ isStart: true, sampleIndex: 15872, timeSeconds: 0.99 }, ...]

// offline: segment a whole buffer
const segments = vad.segment(samples);
// [{ startTime: 0.9, endTime: 4.21 }, ...]

输入总是 16克赫兹单f32 内 [-1, 1]。模型会消耗 512个样品框架(32毫秒); push 内部缓冲部分帧.

电子

可运行的示例 examples/electron (微型UI+) 无头烟模式,CI测试在macOS和Windows上.

  • 主/ 预装( Node env) : createVad() 工作状态; 被读取 从磁盘(sar-透明)中.
  • 渲染器为 contextIsolation数字 : 渲染器无法 fetch() file:// URL,所以将预装的被子字节递过来:
// preload.cjs
const wasmPath = require.resolve("@fluidinference/fluidvad/dist/fluidvad_bg.wasm");
contextBridge.exposeInMainWorld("fluidvad", { wasmBytes: new Uint8Array(fs.readFileSync(wasmPath)) });

// renderer
const mic = new MicVad({ load: { wasm: window.fluidvad.wasmBytes }, onSpeechEnd: ... });
  • 社区支助方案:增加 'wasm-unsafe-eval' 改为 script-src (编成没有使联署材料成为可能) eval) (中文(简体) ).
  • macOS 麦克风: 呼叫 systemPreferences.askForMediaAccess("microphone") 从主和 设定 NSMicrophoneUsageDescription 包装时.

配置

选项默认含义
threshold0.5 (韩语)输入阈值(框架是语音值 )
negativeThresholdthreshold - 0.15出口门槛(歇斯底里)
minSpeechDuration0.15 s (韩语)丢入较短的语音运行
minSilenceDuration0.75 s (简体中文)沉默需要关闭一段
maxSpeechDuration14会最佳静默时会分出较长的片段
speechPadding0.1 s (中文(简体) )堆放在每一段周围

发展

电磁场是用一个锈芯建造的src/)使用 路径 用于CPU推论 – 任何地方都不许运行 .

上游 Silero ONNX 包含 If 其分支在级别上有分歧的节点—— 严格运行时间是不行的 我们烤 sr = 16000 作为常数,固定输入形状,并用 anxruntime的基本优化器,它消除了每个 If (单位:千美元)scripts/prepare_model.py, (中文(简体) ), 位点精确 (与上游). 结果是 预编为 NNEF(examples/export_nnef.rs)所以所运去的只是 携带道的轻量级装载器。 每方正比方为: 在试验中坚持(tests/model_parity.rs; 歇斯底里/分化 状态机器(从 流体听觉(中文(简体) ) 用合成概率序列进行单位测试.

cargo test --release              # core + parity tests
./scripts/build_npm.sh            # build the npm package into npm/
python3 scripts/prepare_model.py  # regenerate model artifacts (needs onnx, onnxruntime)
cd examples/electron && npm i && FLUIDVAD_SMOKE=1 npx electron .   # headless check

许可证

麻省理工学院. 捆绑的Silero VAD型号是"Silero Team",麻省理工学院许可 (单位:千美元)塞勒罗语NAME, (中文(简体) ), 蛇人4/西雷罗-瓦德) (中文(简体) ).

版本与发布记录

@fluidinference/fluidvad 共发布 2 个版本,首次发布于 2026/07/16;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.2.0latest2026/07/164 个月前
0.1.02026/07/164 个月前

关于 @fluidinference/fluidvad 的常见问题

@fluidinference/fluidvad 是什么?

Silero VAD(v6)编译为WebAssembly-模型捆绑,零配置,不进行运行时间下载. 浏览器+节点.

如何安装 @fluidinference/fluidvad?

在项目目录运行 npm install @fluidinference/fluidvad,或使用 pnpm add / yarn add / bun add。

@fluidinference/fluidvad 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@fluidinference/fluidvad 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fluidinference/fluidvad 可以商用吗?

@fluidinference/fluidvad 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fluidinference/fluidvad 的下载量有多少?

根据 npm 官方下载统计,@fluidinference/fluidvad 在 2026/10/15 – 2026/11/13 这 30 天内被下载 29,491 次,日均约 983 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fluidinference/fluidvad 还在维护吗?

最新版本 0.2.0 发布于 2026/07/16(4 个月前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/07/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。