Jason Pan

VibeVoice-Realtime:超快流式输入TTS

潘忠显 / 2025-12-14


今天看到本周 GitHub 热点有一个非常火的项目,是微软的 VibeVoice-Realtime,周增6950🌟。

这个项目上周刚新开源了一个0.5B的实时语音模型VibeVoice‑Realtime‑0.5B,支持流式文本输入和强大的长篇语音生成功能。

非常小非常快,MacBook上就能运行,效果也非常好。

不过目前还只支持英语、德语、日语、韩语等语言,相信中国话很快也会支持。

star-history

VibeVoice-Realtime 是一款轻量级的实时文本转语音模型,支持流式文本输入强大的长篇语音生成功能。它可用于构建实时文本转语音服务、为实时数据流配音,并允许不同的大语言模型(LLM)从其第一个词元开始发声(可插入您偏好的模型),而无需等到生成完整答案。它可在约 300 毫秒内生成初始可听语音(具体时间取决于硬件)。

注(多语言探索):虽然该模型主要针对英语构建,但我们发现它仍然展现出一定的多语言能力,甚至在某些语言中表现相当不错。我们提供了九种额外的语言(德语、法语、意大利语、日语、韩语、荷兰语、波兰语、葡萄牙语和西班牙语)供用户探索。这些多语言行为尚未经过广泛测试;请谨慎使用并分享您的观察结果。

该模型采用交错窗口设计:它逐步编码输入的文本块,同时并行地从先前的上下文中继续进行基于扩散的声学潜在词生成。

与完整的多说话人长文本变体不同,这种流式模型移除了语义分词器,而完全依赖于以超低帧率(7.5 Hz)运行的高效声学分词器。

VibeVoice-framework

VibeVoice实时模型主要特点:

此实时版本仅支持单说话人。如需生成多说话人对话语音,请使用其他 VibeVoice 模型(长篇多说话人版本)。该模型目前仅适用于英语语音;其他语言可能会产生不可预测的结果。

为了降低深度伪造风险并确保首段语音的低延迟,语音提示采用嵌入式格式。

安装与使用

前面提到,这个模型非常小,可以直接在MacBook M4上运行。我这里尝试使用了一下,记录一下过程。

没使用 Docker,直接进行了安装。

从 GitHub 安装

git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice/

pip install -e .

用法1. 启动实时 WebSocket 演示

注:NVIDIA T4 / Mac M4 Pro 在我们的测试中实现了实时性能;其他推理能力较弱的设备可能需要进一步测试和速度优化。

由于网络延迟,听到音频播放的时间可能会超过第一个语音块生成延迟约 300 毫秒。

python demo/vibevoice_realtime_demo.py --model_path microsoft/VibeVoice-Realtime-0.5B

上边的代码,在 MacBook M4 运行会报错,因为 pytorch 默认使用 CUDA,而 MacBook 没有英伟达显卡,所以这里需要加一个选项 --device=mps 表示使用 Apple 的 Metal Performance Shaders (MPS) 框架进行硬件加速。

可以看到在运行服务之前,会先从 HuggingFace 下载模型:

run-vibe-voice

至此,已经启动了 WebSocket 的服务,可以直接通过浏览器进行体验,地址是http://localhost:3000。我这里随便从网上找了个新闻让他朗读一下。

用法2. 直接从文件中推断

项目中还提供了一些对话脚本,可以直接将文本进行转换:

# We provide some example scripts under demo/text_examples/ for demo
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

我这里也运行了。通过转换的总结,我们可以看出这个模型真的是非常的实时。

衡量语音合成实时性的关键指标是 RTF (Real Time Factor,实时因子)

关键指标是 RTF (Real Time Factor,实时因子)

$$\text{RTF} = \frac{\text{生成音频的耗时}}{\text{音频本身的持续时间}}$$

看到这里的实时因子是 1.17x,虽然略慢于 1.0x。

考虑到我这里只是使用了 M4 芯片,这仍然是非常高效的,特别是对于一个高质量的文本转语音模型而言。

而且,VibeVoice 的核心优势并不在于总体的 RTF,而在于它对流式输入低首字延迟的支持。

generation-summary

测试结果

该模型在短句基准测试中取得了令人满意的性能,但该模型更侧重于长篇语音生成。

LibriSpeech 测试集上的零样本 TTS 性能

模型 工作错误率 (%) ↓ 说话人相似度 ↑
VALL-E 2 2.40 0.643
Voicebox 1.90 0.662
MELLE 2.10 0.625
VibeVoice-Realtime-0.5B 2.00 0.695

SEED 测试集上进行零样本 TTS 性能测试

模型 工作错误率 (%) ↓ 说话人相似度 ↑
MaskGCT 2.62 0.714
Seed-TTS 2.25 0.762
FireRedTTS 3.82 0.460
SparkTTS 1.98 0.584
CosyVoice2 2.57 0.652
VibeVoice-Realtime-0.5B 2.05 0.633

待办事项

风险和局限性

README中最后的「Risks and limitations」其实就是免责声明,大家也可以看看。

尽管已尝试通过各种技术对其进行优化,但它仍然可能产生意料之外、有偏差或不准确的输出。VibeVoice 会继承其基础模型(在本版本中具体为 Qwen2.5 0.5b)产生的任何偏差、错误或遗漏。

深度伪造和虚假信息传播的潜在风险:高质量的合成语音可能被滥用,用于创建以假乱真的虚假音频内容,以进行身份冒充、欺诈或传播虚假信息。用户必须确保转录文本的可靠性,核实内容的准确性,并避免以误导性方式使用生成的内容。用户应合法使用生成的内容并部署模型,完全遵守相关司法管辖区的所有适用法律法规。在分享人工智能生成的内容时,最佳实践是披露人工智能的使用情况。

仅限英文:非英文的文字稿可能会导致意外的音频输出。

非语音音频:该模型仅专注于语音合成,不处理背景噪音、音乐或其他音效。

代码、公式和特殊符号:该模型目前不支持读取代码、数学公式或非常用符号。请预先处理输入文本,移除或规范化此类内容,以避免出现不可预知的结果。

输入文本非常短:当输入文本非常短(三个字或更少)时,模型的稳定性可能会降低。

我们不建议在未经进一步测试和开发的情况下将 VibeVoice 用于商业或实际应用。此模型仅供研究和开发用途。请谨慎使用。