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 --sharevLLM 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-ASR | 60 分钟 | ✅ 原生 | ✅ 原生 | 中等 |
| 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-isolation3. 内存占用
处理 60 分钟音频时,内存占用较高。确保系统有足够内存(建议 16GB+)。
4. 模型版本
注意区分 ASR(语音识别)和 TTS(语音合成)两个模型。本文章介绍的是 ASR 模型。
5. 中文优化
通用模型在专业术语上可能不够准确,建议有条件的用户使用 LoRA 微调。
✅ 总结
VibeVoice-ASR 是微软开源的诚意之作,精准切中了长音频处理和说话人识别这两个痛点。对于需要处理会议、访谈、播客等内容的朋友,这款工具绝对值得一试。
优点:
- 60 分钟长音频单次处理,全局上下文不断
- 三合一输出(ASR + 说话人 + 时间戳)
- vLLM 支持,API 部署简单
- 微软开源,更新有保障
- 支持 LoRA 微调,垂直领域可用
缺点:
- 需要 GPU 资源
- Docker 环境配置有门槛
- 生态相比 Whisper 还不够成熟
总的来说,VibeVoice-ASR 适合有一定技术基础、需要处理长音频场景的用户。相比商业 API,它的本地部署能力和开源属性是最大优势。