VibeVoice:微软46K星开源语音AI,60分钟长音频一次性转文字,小白也能跑
你是不是也遇到过这些头疼事? 开会一小时的录音,转文字软件只能5分钟5分钟地切,切完还不知道谁说的哪句话。做播客的想合成多人对话,结果AI语音工具不是不支持长音频,就是只能单人说。想给AI Agent加个实时语音能力,发现开源方案要么延迟高到离谱,要么根本不支持流式输入。 现在,微软开源了
你是不是也遇到过这些头疼事?
开会一小时的录音,转文字软件只能5分钟5分钟地切,切完还不知道谁说的哪句话。做播客的想合成多人对话,结果AI语音工具不是不支持长音频,就是只能单人说。想给AI Agent加个实时语音能力,发现开源方案要么延迟高到离谱,要么根本不支持流式输入。
现在,微软开源了一个叫 VibeVoice 的项目,一口气把这些问题全解决了——语音转文字、文本转语音、实时流式语音,三件套齐活,而且完全开源免费。
VibeVoice 是什么?
VibeVoice 是微软开源的前沿语音AI框架,GitHub 已有 46,000+ 星,包含三个核心模型:
- VibeVoice-ASR:语音转文字,60分钟长音频一次性处理,自动识别谁说的、什么时间说的、说了什么
- VibeVoice-TTS:文本转语音,90分钟长音频合成,最多4人对话
- VibeVoice-Realtime:实时流式语音合成,200毫秒出声
简单说,它就是一个语音领域的瑞士军刀——不管你是要录音转文字、文字转语音,还是给AI加上实时说话能力,这一个项目全搞定。
三个模型的核心能力
🎙️ VibeVoice-ASR — 录音转文字的神器
| 能力 | 说明 |
|---|---|
| 60分钟长音频一次过 | 不用切片,60分钟音频直接丢进去,上下文不断 |
| 谁+什么时候+说了什么 | 自动做说话人分离(diarization)、时间戳标注、语音识别,三合一 |
| 50+语言支持 | 中文、英语、日语、韩语等50多种语言,不用手动选语言 |
| 自定义热词 | 你可以把专业术语、人名提前告诉模型,识别准确率大幅提升 |
| HuggingFace Transformers集成 | 直接pip install transformers就能用 |
| vLLM加速部署 | 支持vLLM高并发推理,多GPU跑满吞吐 |
| LoRA微调 | 提供完整的微调代码,可以针对你的领域优化 |
中文实测表现:
| 数据集 | 语言 | 说话人错误率(DER) | 词错误率(WER) |
|---|---|---|---|
| AISHELL-4 | 中文 | 6.77% | 21.40% |
| AliMeeting | 中文 | 10.92% | 27.40% |
在中文会议场景下,说话人识别错误率只有6.77%——这意味着一个1小时的会议,几乎不会搞混谁说的哪句话。
🎵 VibeVoice-TTS — 90分钟多人对话语音合成
⚠️ 注意:VibeVoice-TTS 代码因被滥用已于2025年9月从仓库移除,目前仅保留ASR和Realtime两个模型可用。不过TTS的论文和效果展示仍在,说明技术本身已经成熟。
TTS模型的核心能力:
- 90分钟长音频一次性合成,不用分段
- 4人对话场景,说话人角色各不相同,语气情感自然
- 支持中文、英语等多种语言
- 甚至支持跨语言对话(比如一个人说中文、一个人说英文的会议场景)
- 论文被 ICLR 2026 接收为Oral(口头报告),学术水平顶尖
⚡ VibeVoice-Realtime — 200毫秒实时语音
| 能力 | 说明 |
|---|---|
| 0.5B参数 | 模型轻量,部署友好 |
| 200毫秒首字出声 | 几乎感觉不到延迟 |
| 流式文本输入 | LLM一边生成文本,VibeVoice一边出声,不用等完整回答 |
| 10分钟长音频 | 上下文窗口8K,可持续合成约10分钟语音 |
| Colab一键试玩 | 不需要GPU也能跑 |
这个模型的典型用途是给AI Agent加上"嘴巴"——LLM开始推理的同时,Realtime模型就开始念出来,体验上就像真人在跟你说话一样。
安装教程
方法一:Docker安装(推荐)
VibeVoice依赖CUDA环境,最省心的方式是用NVIDIA官方Docker镜像。
第1步:拉取Docker镜像并启动
# 拉取NVIDIA PyTorch镜像(24.07及以上版本都行)
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步:在容器内安装VibeVoice
# 克隆项目
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
# 安装ASR功能
pip install -e .
# 如果要安装流式TTS功能
pip install -e .[streamingtts]
# 如果Docker镜像没自带flash-attn,手动装一下
pip install flash-attn --no-build-isolation方法二:本地Python环境安装
如果你本地已经有CUDA环境(Linux + NVIDIA GPU),可以直接装:
# 克隆项目
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
# 创建虚拟环境
conda create -n vibevoice python=3.10 -y
conda activate vibevoice
# 安装PyTorch(需要CUDA 12.x)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# 安装VibeVoice
pip install -e .
# 安装flash-attn(需要编译,耐心等几分钟)
pip install flash-attn --no-build-isolation方法三:用HuggingFace Transformers直接调用(适合只想做语音转文字的用户)
pip install transformers torch然后在Python里:
from transformers import AutoModelForCausalLM, AutoProcessor
model = AutoModelForCausalLM.from_pretrained("microsoft/VibeVoice-ASR-HF", trust_remote_code=True)
processor = AutoProcessor.from_pretrained("microsoft/VibeVoice-ASR-HF", trust_remote_code=True)
# 传入音频文件路径
inputs = processor(audio="your_meeting.mp3", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=4096)
result = processor.decode(outputs[0], skip_special_tokens=True)
print(result) # 输出结构化文字:谁在什么时候说了什么使用方法
用法1:启动网页界面做语音转文字
安装好后,最简单地体验方式是启动一个Gradio网页界面:
# 安装ffmpeg(Gradio界面需要)
apt update && apt install ffmpeg -y
# 启动网页Demo(--share生成公网链接)
python demo/vibevoice_asr_gradio_demo.py \
--model_path microsoft/VibeVoice-ASR \
--share启动后会输出一个 *.gradio.live 链接,浏览器打开就能上传音频、实时看转写结果。
用法2:命令行直接转写文件
适合批量处理录音文件:
python demo/vibevoice_asr_inference_from_file.py \
--model_path microsoft/VibeVoice-ASR \
--audio_files /path/to/your/meeting_recording.mp3如果你有多个文件,用空格隔开就好:
python demo/vibevoice_asr_inference_from_file.py \
--model_path microsoft/VibeVoice-ASR \
--audio_files meeting1.mp3 meeting2.wav meeting3.m4a用法3:vLLM高并发部署(适合企业场景)
如果你要给整个团队提供语音转文字API服务,用vLLM部署是最高效的方式:
# 克隆项目后,用Docker启动vLLM服务
docker run -d --gpus all --name vibevoice-vllm \
--ipc=host \
-p 8000:8000 \
-e VIBEVOICE_FFMPEG_MAX_CONCURRENCY=64 \
-e PYTORCH_ALLOC_CONF=expandable_segments:True \
-v $(pwd):/app \
-w /app \
--entrypoint bash \
vllm/vllm-openai:v0.14.1 \
-c "python3 /app/vllm_plugin/scripts/start_server.py"启动后,你就有了一个兼容OpenAI API格式的语音转文字服务,团队任何应用都可以通过HTTP接口调用:
# 调用示例
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "microsoft/VibeVoice-ASR",
"messages": [
{"role": "user", "content": [{"type": "audio_url", "audio_url": {"url": "file:///path/to/audio.mp3"}}]}
]
}'多GPU部署也支持,4卡、8卡都能跑满吞吐:
# 4卡并行
docker run -d --gpus '"device=0,1,2,3"' --name vibevoice-vllm \
... \
-c "python3 /app/vllm_plugin/scripts/start_server.py --dp 4"用法4:实时语音合成(给AI Agent加嘴巴)
# 启动WebSocket Demo
python demo/vibevoice_realtime_demo.py \
--model_path microsoft/VibeVoice-Realtime-0.5B
# 或者从文本文件直接生成语音
python demo/realtime_model_inference_from_file.py \
--model_path microsoft/VibeVoice-Realtime-0.5B \
--txt_path demo/text_examples/1p_vibevoice.txt \
--speaker_name Carter想下载更多语音风格?运行:
bash demo/download_experimental_voices.sh目前已经有9种语言的实验性语音(德语、法语、意大利语、日语、韩语、荷兰语、波兰语、葡萄牙语、西班牙语)和11种英语口音风格。
用法5:Google Colab免费试玩(没有GPU也能体验)
不用装任何东西,浏览器打开官方Colab链接即可:
- ASR(语音转文字):VibeVoice ASR Colab
- Realtime(实时语音):VibeVoice Realtime Colab
- ASR在线试玩:VibeVoice ASR Playground
实际场景举例
| 场景 | 怎么用VibeVoice |
|---|---|
| 公司周会录音转纪要 | 用ASR一口气处理60分钟会议录音,自动区分发言人+时间戳,直接出结构化纪要 |
| 播客后制字幕 | ASR转写后导出带时间轴的SRT字幕,不用手动打时间点 |
| 法律/医疗领域录音 | 用"自定义热词"功能,把专业术语加进去,识别率大幅提升 |
| AI客服语音应答 | 用Realtime模型,LLM生成文本的同时200ms出声,客户几乎感觉不到延迟 |
| 多人会议摘要 | ASR的"谁说了什么"功能自动做发言人分离,直接喂给GPT做摘要 |
| 教育/培训录音整理 | 老师讲课1小时直接转文字,学生不用回听找重点 |
跟同类项目对比
| 功能 | VibeVoice | Whisper | FunASR | Moonshine |
|---|---|---|---|---|
| 最大音频时长 | 60分钟 | 30秒(需切片) | 约30分钟 | 约30秒 |
| 说话人分离 | ✅ 内置 | ❌ 需外挂 | ✅ | ❌ |
| 时间戳 | ✅ 精确到词 | ⚠️ 粗粒度 | ✅ | ❌ |
| 自定义热词 | ✅ 支持 | ❌ | ✅ | ❌ |
| 语音合成(TTS) | ✅ 三件套 | ❌ | ❌ | ❌ |
| 实时语音 | ✅ 200ms | ❌ | ⚠️ 非实时 | ❌ |
| 中文支持 | ✅ 50+语言含中文 | ✅ | ✅ | ❌ |
| vLLM高并发 | ✅ 原生支持 | ❌ | ❌ | ❌ |
| 星数 | 46K | 45K | 11K | 8K |
| 开源协议 | MIT | MIT | Apache 2.0 | MIT |
核心优势:VibeVoice最大的不同是"一次过60分钟"——Whisper处理长音频必须切成30秒一段再拼接,切断了上下文导致说话人识别不连续;VibeVoice直接一次吃进60分钟音频,说话人识别从头到尾一致。再加上它内置了TTS和实时语音能力,一个项目覆盖语音输入和输出两件事。
微调教程:让模型认识你的专业术语
VibeVoice-ASR 提供了完整的 LoRA 微调代码:
cd VibeVoice/finetuning-asr
# 准备你的训练数据(JSON格式,包含audio_path和transcription字段)
# 具体格式参考 finetuning-asr/README.md
# 启动微调
bash scripts/train_lora.sh \
--model_path microsoft/VibeVoice-ASR \
--data_path your_training_data.json \
--output_dir ./lora_output \
--lora_rank 16 \
--learning_rate 1e-4 \
--num_epochs 3微调后,模型对专业术语的识别准确率可以提升10-30%,对医疗、法律、金融等垂直领域特别有用。
常见问题
Q:没有NVIDIA GPU能跑吗?
ASR可以用HuggingFace Transformers在CPU上跑(但速度会很慢);Realtime模型的0.5B版本在Mac M4 Pro上可以跑到实时性能;最方便的方式是用Google Colab免费GPU。
Q:中文识别效果怎么样?
在AISHELL-4(中文会议场景)上,说话人错误率6.77%,词错误率21.4%。日常会议、播客等场景完全可用,专业领域建议用热词或微调优化。
Q:TTS代码为什么被删了?
微软发现TTS生成的高质量合成语音被滥用于冒充身份、虚假信息传播等目的,因此移除了TTS推理代码。ASR和Realtime模型不受影响,仍在正常维护。
Q:和商业产品(讯飞、腾讯云语音)比呢?
商业产品通常有更完善的工程优化和中文适配,但VibeVoice的优势在于:完全开源(MIT协议)、可私有化部署(数据不出门)、免费无限量调用、支持自定义微调。对于对数据安全有要求的企业来说,自建VibeVoice服务比用商业API更合适。
小结
VibeVoice 是微软开源的语音AI全栈方案——ASR(60分钟长音频转写)、Realtime(200ms实时语音),一个项目解决语音"听"和"说"两个核心需求。46K星的社区热度、MIT开源协议、支持中文、可私有化部署,这些特点让它成为中国开发者最值得关注的语音AI项目之一。
项目地址:https://github.com/microsoft/VibeVoice
在线试玩:https://aka.ms/vibevoice-asr
HuggingFace模型:https://huggingface.co/collections/microsoft/vibevoice-68a2ef24a875c44be47b034f
读者评论
0 条暂无评论,来分享你的看法吧
相关推荐
结合当前内容、你的浏览习惯和搜索偏好推荐。
Harbor:一键跑通本地AI全家桶,Ollama+Open WebUI+50个服务全配好
想在家里跑大模型,你是不是也被折腾过?装Ollama、配Open WebUI、接搜索引擎、搞语音对话、弄图片生成……光是让这些服务互相认识就能让人崩溃。每次配置一堆环境变量、端口映射,搞完一个忘了另一个,到最后AI工具没怎么用,光配环境就累了。 Harbor 就是为了解决这个问题而生的——一
Pixelle-Video:万星AI短视频引擎,输入主题自动出片,小白手把手教程
你是不是也有这样的烦恼? 刷短视频的时候,你一定见过这类内容——画面精美、配音专业、节奏流畅的知识科普或情感故事视频。你想:"要是我也做一个该多好。" 然后你打开剪映,发现: - 🤯 写脚本就卡住了 ——不知道怎么组织内容,一句话憋半天 - 🤯 找素材找到头秃 ——免费图

