将一段文本自动转为自然语音,合成到视频中,并叠加同步字幕。
市面上的软件都要钱,这就用AI顺手开发一个简单的视频语音合成;
- 🎤 文本转语音 — 基于微软 Edge TTS,免费、中文自然度高
- 📝 自动生成字幕 — 利用 TTS 引擎返回的字级时间戳,生成精确 SRT 字幕
- 🎞️ 视频合成 — 替换原声、叠加字幕,一条命令完成
- 🗣️ 11 种中文语音 — 男声 / 女声多种风格可选
video-dub/
├── main.py # 主程序
├── README.md # 本文件
└── assets/ # 资源目录
# 基本用法
python main.py demo.mp4 "欢迎收看本期视频,今天我们来聊聊..."
# 从文本文件读取
python main.py demo.mp4 script.txt
# 指定语音和输出
python main.py demo.mp4 script.txt --voice yunyang --output final.mp4| 参数 | 说明 |
|---|---|
<视频路径> |
输入视频文件(支持 mp4 / avi / mov 等) |
<文本> |
要配音的文本内容,或文本文件路径 |
--voice <名称> |
选择语音角色,默认 xiaoxiao |
--output <路径> |
指定输出文件路径,默认为 原文件名_dubbed.mp4 |
--list-voices |
列出所有可用语音 |
-h / --help |
显示帮助 |
| 名称 | 风格 | TTS ID |
|---|---|---|
| xiaoxiao | 女声·活泼 | zh-CN-XiaoxiaoNeural |
| yunyang | 男声·稳重 | zh-CN-YunyangNeural |
| xiaoyi | 女声·可爱 | zh-CN-XiaoyiNeural |
| yunxi | 男声·阳光 | zh-CN-YunxiNeural |
| xiaomei | 女声·甜美 | zh-CN-XiaomeiNeural |
| xiaohan | 女声·知性 | zh-CN-XiaohanNeural |
| xiaochen | 女声·温柔 | zh-CN-XiaochenNeural |
| xiaomo | 女声·温婉 | zh-CN-XiaomoNeural |
| xiaorui | 女声·利落 | zh-CN-XiaoruiNeural |
| xiaoxuan | 女声·优雅 | zh-CN-XiaoxuanNeural |
| yunye | 男声·成熟 | zh-CN-YunyeNeural |
文本 ──[edge-tts]──→ MP3 音频 + SRT 字幕
│
视频 ────────────────────┼──[moviepy]──→ 输出视频(新音频 + 字幕叠加)
- 调用微软 edge-tts 在线接口,将文本合成为语音,同时返回每个词的时间边界
- 根据时间边界自动生成 SRT 字幕文件
- 用 moviepy 加载视频,替换音频轨道,将字幕渲染到底部
- 输出最终合成视频
- Python 3.13+
- edge-tts — 微软免费在线 TTS 引擎
- moviepy — 视频编辑与合成
- Pillow — 字幕文字渲染
- 开发者: 华之(AI 助手)
- 日期: 2026-06-01
- 版本: v1.0