VibeVoice-ASR 是微软开源的下一代语音识别模型,支持单次处理 60 分钟长音频,原生集成说话人识别和时间戳功能。基于全局上下文设计,识别准确率远超传统 Whisper 拼接式方案,支持 vLLM API 部署和 LoRA 微调,是会议记录、播客转录的强力工具。

🎤 引言


用过 Whisper 的朋友都知道,虽然它很强,但处理长音频一直是个痛点。Whisper 本质上是把音频切成 30 秒小片段处理的,这就导致上下文断裂——前一段的人名,后一段可能就错了;而且原生不支持说话人识别,想要知道"谁在说话"还得挂个 pyannote.audio,麻烦又慢。

微软刚刚开源的 VibeVoice-ASR,精准切中了这些痛点:单次处理 60 分钟长音频,原生集成说话人分离和时间戳,输出直接告诉你谁(Who)、在什么时候(When)、说了什么(What)

⭐ 核心功能


1. 超长音频处理

传统 ASR 把音频切成小片段处理,上下文容易断裂。VibeVoice-ASR 采用全局上下文设计,单次最长可处理 60 分钟音频,能够:

  • 保持长距离语义连贯性
  • 准确识别跨章节的人名和术语
  • 避免拼接式方案的时间戳漂移问题

2. 三合一输出

VibeVoice 把 ASR(语音转文字)、Diarization(说话人识别)、Timestamping(时间戳)合为一体:

[00:01:23] Speaker 1: 今天我们来讨论一下新项目的进度。
[00:01:28] Speaker 2: 好的,我这边已经完成了第一阶段的开发。
[00:01:35] Speaker 1: 很好,那接下来...

再也不用自己拼接多个模型了!

3. 多语言支持

根据腾讯云的评测文章,VibeVoice 支持 52 种语言和方言。实测在中文方言场景下也有不错的表现。

4. vLLM 兼容部署

支持部署为 OpenAI 兼容的 API 服务,官方提供 vLLM 插件:

docker run -d --gpus all --name vibevoice-vllm \
  -c "python3 /app/vllm_plugin/scripts/start_server.py"

启动后就能像调用 GPT-4 一样调用它做语音识别,还支持流式输出!

5. LoRA 微调

如果你是医疗、法律等垂直领域用户,官方提供 LoRA 微调方案。可以准备音频 + JSON 标注文件,加入 customized_context 让模型专门"背诵"领域术语。

📥 安装与使用


推荐:Docker 部署

官方推荐使用 NVIDIA PyTorch 容器:

sudo docker run --privileged --net=host --ipc=host \
  --ulimit memlock=-1:-1 --ulimit stack=-1:-1 \
  --gpus all --rm -it nvcr.io/nvidia/pytorch:25.12-py3

git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
pip install -e .

Gradio 可视化界面:

python demo/vibevoice_asr_gradio_demo.py \
  --model_path microsoft/VibeVoice-ASR --share

vLLM API 服务:

docker run -d --gpus all --name vibevoice-vllm \
  -c "python3 /app/vllm_plugin/scripts/start_server.py"

Python API 调用:

from vibevoice import VibeVoiceASR

model = VibeVoiceASR("microsoft/VibeVoice-ASR")
result = model.transcribe("/path/to/audio.wav")

for segment in result["segments"]:
    print(f"[{segment['start']}-{segment['end']}] "
          f"{segment['speaker']}: {segment['text']}")

🎯 适用场景


1. 会议记录整理

2 小时会议录音一键转录,输出带时间和说话人标签。谁说了什么、说了多久,清清楚楚。

2. 播客转录

播客节目转文字稿,支持多说话人识别。区分主持人和嘉宾,再也不用手动标注。

3. 访谈内容整理

记者访谈、法律取证等场景,长音频一口气转完,上下文连贯不断。

4. 语音数据标注

AI 训练数据的语音标注,支持自定义上下文(customized_context)提高专业术语识别率。

5. 客服质检

通话录音自动转文字 + 说话人分离,方便质检和数据分析。

🔍 对比其他方案


方案长音频说话人识别时间戳部署难度
VibeVoice-ASR60 分钟✅ 原生✅ 原生中等
Whisper + pyannote需拼接❌ 需外挂❌ 需外挂复杂
商业 ASR API依赖服务商付费付费简单
FunASR支持长音频简单

VibeVoice 的优势:

  • 单次处理 60 分钟,无需拼接
  • 三合一输出,无需多模型组合
  • 微软开源,有保障
  • 支持 vLLM,推理效率高

VibeVoice 的劣势:

  • 需要 GPU 才能流畅运行
  • Docker 环境配置有一定门槛
  • 相比 Whisper,生态还不够成熟

⚠️ 注意事项


1. 硬件要求

建议使用 NVIDIA GPU,至少 8GB 显存。官方使用 NVIDIA PyTorch 容器环境测试。

2. flash-attention 安装

本地 Python 环境安装时,flash-attention 可能需要单独安装:

pip install flash-attn --no-build-isolation

3. 内存占用

处理 60 分钟音频时,内存占用较高。确保系统有足够内存(建议 16GB+)。

4. 模型版本

注意区分 ASR(语音识别)和 TTS(语音合成)两个模型。本文章介绍的是 ASR 模型。

5. 中文优化

通用模型在专业术语上可能不够准确,建议有条件的用户使用 LoRA 微调。

✅ 总结


VibeVoice-ASR 是微软开源的诚意之作,精准切中了长音频处理和说话人识别这两个痛点。对于需要处理会议、访谈、播客等内容的朋友,这款工具绝对值得一试。

优点:

  • 60 分钟长音频单次处理,全局上下文不断
  • 三合一输出(ASR + 说话人 + 时间戳)
  • vLLM 支持,API 部署简单
  • 微软开源,更新有保障
  • 支持 LoRA 微调,垂直领域可用

缺点:

  • 需要 GPU 资源
  • Docker 环境配置有门槛
  • 生态相比 Whisper 还不够成熟

总的来说,VibeVoice-ASR 适合有一定技术基础、需要处理长音频场景的用户。相比商业 API,它的本地部署能力和开源属性是最大优势。

GitHub:https://github.com/microsoft/VibeVoice