微软开源 VibeASR.cpp:1.58GB 模型让 CPU 实时转录长音频

开源发现

微软开源 VibeASR.cpp:1.58GB 模型让 CPU 实时转录长音频

栏目:开源发现

摘要

微软为 VibeVoice ASR 推出官方 CPU 推理运行时 VibeASR.cpp,通过 I8 S 与 BitNet I2 S 异构量化把模型从 4.62GB 压缩到约 1.58GB,无需 GPU 即可进行实时多语言长音频转录。

本文目录

微软最近为 VibeVoice-ASR补上了一条更适合本地部署的路线:VibeVoice-ASR-BitNet,以及对应的官方 CPU推理运行时 VibeASR.cpp。它把原本依赖较大模型和更高算力的长音频语音识别压缩到约1.58 GB,在不需要 GPU的情况下,可直接利用常见 x86或 ARM CPU做实时多语言转录。

这和截图里提到的“1小时音频整段秒转”其实是同一套项目能力。VibeVoice-ASR本身面向长音频识别,能在一次处理中接收最长约60分钟音频,并输出“谁在说、什么时候说、说了什么”的结构化结果。2026年7月23日,微软又发布 VibeVoice-ASR-BitNet和 VibeASR.cpp,把重点进一步放到了边缘 CPU和本地设备。

VibeASR.cpp是什么

VibeASR.cpp是微软为 VibeVoice-ASR-BitNet提供的官方 CPU推理运行时。它基于 ggml构建,面向 x86的 AVX2和 ARM的 NEON指令集做了 SIMD内核与算子融合优化,并通过异构量化降低模型体积和计算量。

它并不是另一套独立的语音模型,而是把 VibeVoice-ASR的能力做成更容易在本地 CPU上运行的版本。微软在官方说明中给出的目标很明确:让多语言 ASR在较少 CPU线程上达到实时速度,也就是 RTF小于1。

为什么能从4.62 GB压到1.58 GB

VibeVoice-ASR-BitNet 模型压缩与 CPU 推理技术概览

微软 VibeASR.cpp 官方项目技术概览图

VibeVoice-ASR-BitNet没有对所有组件使用同一种量化方式。VAE声学编码部分采用 I8_S,也就是 INT8量化;自回归语言模型部分则采用 BitNet风格的 I2_S三值权重。微软还把原来的 Qwen2.5-7B语言模型替换为 Qwen2.5-1.5B,并通过渐进式量化感知训练尽量控制精度损失。

最终,VAE Tokenizer从约1.31 GB缩到0.65 GB,语言模型解码器从约3.32 GB缩到0.92 GB,总体积从4.62 GB降到约1.58 GB。微软给出的结果显示,在接近1.6 GB的模型规模下,它的推理速度比 Whisper.cpp快约1.6到2.3倍,同时在低线程 CPU上可以达到实时识别。

长音频转录是它的核心优势

VibeVoice-ASR的设计重点不是几秒钟的短语音,而是会议、采访、课程、播客这类长内容。官方文档称,它可以在64K token长度内一次处理最长约60分钟连续音频,减少传统 ASR分段处理后容易出现的上下文丢失、说话人错位和跨段语义不连贯问题。

输出也不只是纯文本。模型会同时完成语音识别、说话人区分和时间戳定位,最终把结果组织成 Who、When、What三类信息。对于会议纪要、多人访谈或视频字幕,这比只返回一整段文字更实用。

它还支持自定义热词或上下文提示,例如人名、产品名、公司内部术语和专业词汇。处理垂直领域录音时,可以用这些信息帮助模型更准确地识别不常见词语。

本地安装 VibeASR.cpp

官方运行时要求 Python 3.9或更高版本、CMake 3.14或更高版本,以及支持 C++11的 GCC或 Clang。完整代码和量化模型大约需要2 GB磁盘空间。

最省事的方式是直接使用项目提供的一键环境脚本:

bash
git clone --recursive https://github.com/microsoft/VibeASR.cpp.git
cd VibeASR.cpp
pip install -r requirements.txt
python setup_env.py

这个脚本会编译 VibeASR.cpp,并从 Hugging Face下载微软已经量化好的 VibeVoice-ASR-BitNet模型。安装结束后,可以直接调用生成的命令行程序处理音频。

如何进行一次本地转录

模型下载完成后,运行时需要同时加载量化后的 VAE编码器和语言模型:

bash
./build/bin/asr_infer \
  --vae-model models/vibeasr/vibeasr-vae-encoder-i8_s.gguf \
  --lm-model models/vibeasr/vibeasr-lm-i2_s-embed-q6_k.gguf \
  --audio your_audio.wav \
  -t 4

其中 `-t 4` 表示使用4个 CPU线程,可以根据自己的处理器调整。微软的公开结果显示,VibeVoice-ASR-BitNet在3个以上 CPU线程时已经可以达到 RTF小于1的实时推理水平,但实际速度仍会受到处理器架构、主频和音频长度影响。

Windows用户需要注意

VibeASR.cpp当前不支持使用 MSVC构建。Windows用户需要 GCC或 Clang,官方 README推荐使用 MinGW-w64。Linux和 macOS环境通常更接近项目默认构建流程。

如果不想自行从 SafeTensors转换模型,直接下载微软提供的预量化 GGUF文件最简单。项目也保留了完整的转换与量化流程,开发者可以自行把原始权重转换为 F32 GGUF,再分别对 VAE使用 I8_S、对语言模型使用 I2_S量化。

适合哪些场景

这套方案比较适合本地会议记录、长视频或播客字幕、采访转写、课程录音整理,以及对隐私要求较高、不希望把音频上传到云端的工作流。因为不依赖独立 GPU,小型主机、ARM设备和普通办公电脑也有机会承担持续语音识别任务。

不过微软仍把 VibeVoice定位为研究和开发用途。官方明确提醒,识别结果可能出现错误,部署到商业或真实生产场景前需要进一步测试。对于正式字幕、法律记录、医疗内容或其他高风险文本,仍应人工复核。

VibeASR.cpp最值得关注的地方,是它把原本偏重型的长音频 ASR做到了更接近“普通 CPU就能跑”的体量和速度。对于想在本地搭建会议转录、媒体字幕或离线语音工作流的人来说,这个项目比单纯追求模型榜单成绩更有实际可用性。

© 2026 DGNEWLIVE 保留所有权利.