跳转至

Vibevoice Realtime 0.5b

🎙️ VibeVoice-Realtime:支持流式输入的实时长文本语音合成

Hugging Face Colab

VibeVoice-Realtime 是一个轻量级实时文本转语音模型,支持流式文本输入和稳健的长文本语音生成。它可用于构建实时 TTS 服务、播报实时数据流,并让不同的 LLM 在生成完整回答之前就能从其第一个 token 开始说话(可接入你偏好的模型)。它能在 约 200 毫秒(取决于硬件)内产生初始可听语音。

模型: VibeVoice Realtime 0.5B(位于 Hugging Face)
Colab: VibeVoice Realtime Colab(Jupyter Notebook)

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

该模型采用交错、分窗口的设计:在并行地基于先前上下文继续进行基于扩散的声学潜变量生成的同时,增量式地对传入的文本块进行编码。与完整的多说话人长文本变体不同,该流式模型移除了语义分词器,仅依赖一个以超低帧率(7.5 Hz)运行的高效声学分词器。

VibeVoice Realtime Overview
VibeVoice Realtime 模型概览。

主要特性: - 参数量:0.5B(易于部署) - 实时 TTS(首次可听延迟约 200 毫秒) - 流式文本输入 - 稳健的长文本语音生成 - 8k 上下文窗口(约 10 分钟的音频生成)

该实时变体仅支持单一说话人。如需多说话人对话式语音生成,请使用其他 VibeVoice 模型(长文本多说话人变体)。该模型目前仅面向英语语音;其他语言可能产生不可预测的结果。

为降低深度伪造风险并确保首个语音块的低延迟,语音提示以嵌入式格式提供。需要定制音色的用户请联系我们的团队。我们还将扩展可用说话人的范围。

📋 待办事项

  • [√] 添加更多音色(扩展可用说话人/声音音色)
  • [ ] 实现流式文本输入功能,在音频仍生成的同时喂入新 token
  • [ ] 将模型合并到 HuggingFace 官方 transformers 仓库中

🎵 演示示例

https://github.com/user-attachments/assets/9aa8ab3c-681d-4a02-b9ea-3f54ffd180b2

结果

该模型在短句基准上取得了令人满意的性能,同时更专注于长文本语音生成。

LibriSpeech test-clean 集上的零样本 TTS 性能

模型 WER (%) ↓ 说话人相似度 ↑
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 test-en 集上的零样本 TTS 性能

模型 WER (%) ↓ 说话人相似度 ↑
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

安装

我们建议使用 NVIDIA Deep Learning Container 来管理 CUDA 环境。

  1. 启动 docker

    # NVIDIA PyTorch Container 24.07 / 24.10 / 24.12 verified. 
    # Later versions are also compatible.
    sudo docker run --privileged --net=host --ipc=host --ulimit memlock=-1:-1 --ulimit stack=-1:-1 --gpus all --rm -it  nvcr.io/nvidia/pytorch:24.07-py3
    
    ## If flash attention is not included in your docker environment, you need to install it manually
    ## Refer to https://github.com/Dao-AILab/flash-attention for installation instructions
    # pip install flash-attn --no-build-isolation
    

  2. 从 GitHub 安装

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

用法

用法 1:启动实时 WebSocket 演示

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

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

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

提示:只需在上面的 Colab 上试试吧。

用法 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

[可选] 更多实验性音色

在启动演示或从文件进行推理之前,下载额外的实验性多语言音色。

bash demo/download_experimental_voices.sh

风险和局限性

尽管已通过各种技术努力优化,它仍可能产生意料之外、有偏见或不准确的输出。VibeVoice 继承了其基础模型(本次发布中具体为 Qwen2.5 0.5b)所产生的所有偏见、错误或遗漏。

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

仅支持英语:非英语语言的转录文本可能会导致意外的音频输出。

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

代码、公式和特殊符号:模型目前不支持阅读代码、数学公式或不常见符号。请对输入文本进行预处理,移除或规范化此类内容,以避免不可预测的结果。

极短输入:当输入文本极短(三个词或更少)时,模型的稳定性可能会下降。

我们不建议在未经进一步测试和开发的情况下,在商业或真实世界应用中使用 VibeVoice。本模型仅供研究和开发目的使用。请负责任地使用。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 vib/VibeVoice