首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >微软VibeVoice-ASR开源,60分钟长音频一口气转录,自带声纹识别和时间戳,强得可怕

微软VibeVoice-ASR开源,60分钟长音频一口气转录,自带声纹识别和时间戳,强得可怕

作者头像
Ai学习的老章
发布2026-02-03 17:50:18
发布2026-02-03 17:50:18
3180
举报

大家好,我是 Ai 学习的老章

最近语音识别也很热闹

阿里开源语音识别王炸,支持 52 种语言和方言,吊打 Whisper!

智谱语音识别大模型开源,支持中国方言,消费级显卡本地部署

刚使用了一下微软开源的语音识别(ASR)模型——# VibeVoice

这是去年我的一个视频,里面有背景音和英文专业名词,识别效果还行,只是有些容易弄混的地方听错了,比如亿级转录成1级,不过这类错误估计其他模型也很难hold住。更妙的是,它可以识别时间,看官方演示音频,它还能识别不同的说话者

简介

用过 Whisper 的朋友都知道,虽然它很强,但处理长音频一直是个痛点。Whisper 本质上是把音频切成 30 秒的小片段来处理的,这就导致了一个问题:上下文断裂。前一段的人名,后一段可能就识别错了;而且它原生并不支持说话人识别(Diarization),想知道“谁在说话”,还得挂一个 pyannote.audio 之类的外部模型,慢且麻烦。

微软刚刚开源的 VibeVoice-ASR,最大的突破在于:单次处理 60 分钟长音频。它拥有全局上下文,不仅识别更准,还能完美保持长距离的语义连贯性。

更绝的是,它把 ASR(语音转文字)、Diarization(说话人识别)、Timestamping(打时间戳) 三合一了。输出结果直接告诉你:谁(Who)、在什么时候(When)、说了什么(What)

这是架构图,一看就懂:

VibeVoice ASR Architecture
VibeVoice ASR Architecture

VibeVoice ASR Architecture

核心功能与特点:

  • 🕒 60分钟单次直出:支持 64K token 长度,最长处理 60 分钟音频。再也不用担心切片导致的“断片儿”问题。
  • 👤 自定义热词(Context Injection):这点太重要了!做会议记录最怕人名、专有名词识别错。VibeVoice 允许你把“张三”、“DeepSeek”、“RAG”等词作为 prompt 喂给模型,它就能精准识别。
  • 📝 三合一全能手:ASR + 说话人区分 + 时间戳,一步到位。
  • 🌍 50+ 语言自动切换:支持中英混说(Code-Switching),不需要你手动设置语言,它自己能听出来。而且无需繁琐的语言代码配置。

安装

官方推荐使用 Docker,尤其是 NVIDIA 的容器环境,省去配环境的烦恼。

代码语言:javascript
复制
# 1. 启动 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

# 2. 从 GitHub 克隆并安装
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
pip install -e .

如果你是本地 Python 环境,直接 pip install -e . 也可以,但要注意 flash-attn 的安装可能会有点折腾。

使用

1. 命令行直接推理

安装好后,可以直接用脚本跑文件:

代码语言:javascript
复制
python demo/vibevoice_asr_inference_from_file.py \
    --model_path microsoft/VibeVoice-ASR \
    --audio_files /path/to/your/audio.wav
2. Gradio 界面

想可视化体验?一行命令启动 Web UI:

代码语言:javascript
复制
# 只要装了 ffmpeg 就能跑
python demo/vibevoice_asr_gradio_demo.py --model_path microsoft/VibeVoice-ASR --share
3. vLLM 部署(生产级!)

这货最牛的地方是,微软官方直接提供了 vLLM 的支持文档。这意味着你可以把它部署成一个 OpenAI 兼容的 API 服务,并发吞吐量直接起飞。

代码语言:javascript
复制
# 使用 vLLM 部署为 API 服务
docker run -d --gpus all --name vibevoice-vllm \
  -p 8000:8000 \
  -v $(pwd):/app \
  vllm/vllm-openai:latest \
  -c "python3 /app/vllm_plugin/scripts/start_server.py"

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

踩坑指南(Troubleshooting)

这是我整理的一些常见报错和填坑姿势,部署前必看:

  1. 显存爆了(CUDA out of memory)
    • 这玩意儿吃显存。如果爆了,尝试调低 --gpu-memory-utilization 或者减少 --max-num-seqs(并发数)。
    • 还能通过减小 --max-model-len 来省显存。
  2. 音频解码失败(Audio decoding failed)
    • 多半是 FFmpeg 没装好。进容器里敲一下 ffmpeg -version 确认一下。
    • 或者是音频格式太奇葩,FFmpeg 都不认。
  3. 找不到模型(Model not found)
    • 检查你的模型目录,必须包含 config.json 和权重文件。
    • 有时候是 tokenizer 文件缺失,重新生成一下。
  4. 插件没加载(Plugin not loaded)
    • 先确认装好了没:pip show vibevoice
    • vLLM 是通过 entry point 加载插件的,别把库删了。

微调(进阶玩法)

虽然 VibeVoice 的零样本能力已经很强,但如果你是在医疗、法律或者某些垂直领域使用,通用模型肯定会有识别不准的术语。这时候 LoRA 微调 就派上用场了。

微软官方提供了完整的微调脚本,支持单卡和多卡训练。

数据格式:

你需要准备音频文件(mp3/wav)和对应的 JSON 标注文件。JSON 里除了文本和时间戳,最棒的是可以加入 customized_context(自定义上下文),让模型专门“背诵”这些领域术语。

代码语言:javascript
复制
{
  "audio_path": "0.mp3",
  "segments": [ ... ],
  "customized_context": ["术语1", "术语2", "这是一句包含了特定背景的句子。"]
}

启动微调:

代码语言:javascript
复制
# 单卡 LoRA 微调示例
torchrun --nproc_per_node=1 lora_finetune.py \
    --model_path microsoft/VibeVoice-ASR \
    --data_dir ./your_dataset \
    --output_dir ./output \
    --lora_r 16 \
    --learning_rate 1e-4 \
    --bf16

训完之后,还可以用脚本把 LoRA 权重合并回基座模型,这样推理速度完全不受影响。

实测

我看了一下官方给出的评测数据,在 MLC-Challenge 数据集上,VibeVoice-ASR 的表现相当亮眼。

DER Performance
DER Performance

DER Performance

特别是在 DER(说话人区分错误率) 上,很多语言都降到了极低的水平。比如越南语居然只有 0.16,日语 0.82。中文在 AISHELL-4 这种复杂场景下也有不错的表现。

对比传统的“拼接式”长音频方案,VibeVoice 这种 End-to-End 的长上下文模型,在处理多人会议、甚至是那类喜欢抢话的播客节目时,优势太明显了。它能记住“30分钟前是这个人在说话”,从而保持说话人 ID 的一致性。

总结

微软这次开源的 VibeVoice-ASR,精准地切中了大模型时代语音识别的几个痛点:长音频、说话人区分、特定词汇纠正

  • 优点:60分钟超长上下文、原生支持说话人识别、支持 vLLM 高并发部署。
  • 适合场景:会议记录、播客转录、长视频字幕生成。
  • 建议:如果你还在为 Whisper 的幻觉和说话人错乱头疼,VibeVoice 绝对值得一试。

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个🌟,谢谢你看我的文章,我们下篇再见!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 安装
  • 使用
    • 1. 命令行直接推理
    • 2. Gradio 界面
    • 3. vLLM 部署(生产级!)
    • 踩坑指南(Troubleshooting)
  • 微调(进阶玩法)
  • 实测
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档