VibeVoice 环境搭建日记(ASR + TTS探索版)

技术专业 · 昨天

今天在nvdia的机器上安装了微软开源的VibeVoice,目前只是看看效果,以评估后续是否进行一些场景开发中使用。

一、目标

搭建并验证一套语音处理能力:

音频 → VibeVoice → 自动生成 SRT
文本 → VibeVoice → 语音文件(探索)

并评估其在以下场景的可用性:

  • 视频字幕生成
  • 多说话人识别
  • 中文/葡语语音生成能力
  • 后续接入视频生成流水线(MoviePy)

二、环境准备

1️⃣ 基础环境

  • 系统:Ubuntu(GPU服务器)
  • Python:3.9(已存在)
  • GPU:已配置 CUDA

2️⃣ 创建虚拟环境

python3 -m venv vibevoice-env
source vibevoice-env/bin/activate

三、代码获取与安装

1️⃣ 克隆项目

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

2️⃣ 关键问题(踩坑记录)

❌ 执行:

pip install -r requirements.txt

报错:

没有 requirements.txt

👉 原因:

  • 项目使用 pyproject.toml 管理依赖(新规范)

3️⃣ 正确安装方式

pip install --upgrade pip
pip install -e .

补充依赖(避免缺包):

pip install transformers accelerate librosa soundfile

四、模型下载(ASR)

❗错误操作(记录)

直接在 bash 输入:

from huggingface_hub import snapshot_download

报错:

找不到命令 from

👉 原因:

  • Python 代码误当 shell 命令执行

✅ 正确方式

进入 Python:

python

执行:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="microsoft/VibeVoice-ASR",
    local_dir="./models/asr"
)

五、核心能力一:音频 → SRT(重点)

✔ 最终实现能力

音频 → VibeVoice → 多说话人字幕 → SRT文件

✔ 使用模型

  • microsoft/VibeVoice-ASR-HF(推荐)
  • 支持:

    • 长音频
    • speaker识别
    • timestamp

✔ 运行脚本

python vibevoice_to_srt.py --audio test.wav

输出:

test.srt

✔ 输出示例

1
00:00:00,000 --> 00:00:03,200
[Speaker 1] 大家好,欢迎使用语音识别系统。

2
00:00:03,200 --> 00:00:06,800
[Speaker 2] 今天我们测试多说话人字幕功能。

六、核心能力二:文本 → 语音(TTS)

✔ 可用方案

使用:

  • VibeVoice-Realtime-0.5B

安装:

pip install -e .[streamingtts]

✔ 测试方法

python demo/realtime_model_inference_from_file.py \
  --model_path microsoft/VibeVoice-Realtime-0.5B \
  --txt_path demo/text_examples/test.txt \
  --speaker_name Carter

七、多语言测试结果(关键结论)

🇵🇹 欧洲葡萄牙语

  • ✅ 可以发声
  • ⚠️ 发音一般
  • ⚠️ 不够自然

🇨🇳 中文

  • ✅ 能读
  • ❌ 不自然
  • ❌ 有口音
  • ❌ 不适合视频配音

八、关键问题总结

问题原因
requirements.txt不存在使用pyproject
Python代码报错在bash执行
中文语音差非主支持语言
TTS不完整官方限制

九、能力评估(非常重要)

✔ ASR能力(强烈推荐)

能力评价
长音频⭐⭐⭐⭐⭐
多说话人⭐⭐⭐⭐⭐
时间戳⭐⭐⭐⭐⭐
字幕生成⭐⭐⭐⭐⭐

👉 可直接用于生产(字幕系统)


❌ TTS能力(当前不推荐)

能力评价
英语⭐⭐⭐
中文
葡语⭐⭐
稳定性⭐⭐

十、最终技术选型结论

👉 推荐架构:

Markdown
   ↓
文本生成(LLM / Ollama)
   ↓
TTS(Spark-TTS / Azure)
   ↓
音频
   ↓
VibeVoice(ASR)
   ↓
SRT字幕
   ↓
MoviePy
   ↓
视频

十一、后续开发方向(重点规划)

1️⃣ 自动字幕系统

音频 → SRT(多说话人)

👉 可用于:

  • 视频字幕
  • 会议记录
  • 播客转写

2️⃣ AI视频生成系统

Markdown → 语音 → 字幕 → 视频

3️⃣ AI播客生成

主题 → LLM → 对话 → 语音 → 视频

4️⃣ 多语言内容生产

中文 → 翻译 → 英语/葡语 → 配音

十二、当前阶段结论

👉 一句话总结:

VibeVoice 目前最有价值的是 ASR(字幕生成),而不是 TTS(语音生成)


Theme Jasmine by Kent Liao