AudioWorklet 与共享 ring buffer 让实时线程始终保持非阻塞。
WebAudio 连接原生 VST3
你的浏览器。你的插件。同一张音频图。
通过 Rust bridge,把隔离的本机 VST3 处理接入真实 WebAudio graph。
开源 · Rust + TypeScript · macOS 优先
WVST / SIGNAL PATH001—003
浏览器架构示意
让音频时钟持续前进。
AudioWorklet 通过共享环形缓冲交换音频,无需等待本地插件返回。
AudioWorklet + SharedArrayBufferRUST → WEB AUDIO选择上方节点,探索链路 ↗
01 / WEB AUDIO ↔ NATIVE AUDIOVST3 EFFECTS + INSTRUMENTSASYNC BY DESIGN
01 / 架构
一条音频路径,清晰的职责边界。
浏览器负责时钟与界面,Bridge 负责信任边界,每个插件都在隔离 worker 中运行。
配对、发现、路由与指标都限制在 loopback。
原生处理独立隔离,单个插件崩溃不会拖垮 Bridge。
02 / 运行时
为完整的音频链路而设计。
直接查看 jitter、underflow、overflow 和 worker restart。
LATENCY / p50 · p95 · p99JITTER / UNDERFLOW / OVERFLOW
崩溃、超时和 quarantine 策略是 runtime contract 的一部分。
扫描 class、挂载独立实例、编辑参数并恢复 state。
Rust crates、类型化 Web SDK 与版本化协议让边界始终可检查。
LOCAL BRIDGETERMINAL
cargo build -p wvst-bridge-server -p wvst-host-worker
WVST_HOST_WORKER=target/debug/wvst-host-worker \
target/debug/wvst-bridge-server serve另开终端运行 npm run docs:dev