
今天在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 VibeVoice2️⃣ 关键问题(踩坑记录)
❌ 执行:
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(语音生成)