🎬 VoxCPM中文视频配音
唯一使用VoxCPM开源模型的中文配音技能
生产环境验证 ✅ | 断点续传 ✅ | 智能BGM ✅
🌟 核心卖点
| 特性 | 说明 |
|---|
| 🎯 VoxCPM独家 | 唯一集成VoxCPM开源TTS模型的中文配音技能 |
| ✅ 生产验证 |
已在B站成功发布4个视频 |
| 🔄
断点续传 | 中断后可继续,无需重新生成 |
| 🔍
硬字幕检测 | AI自动检测并覆盖原字幕 |
| 🎵
智能BGM | 自动循环、交叉淡入淡出 |
📋 完整流程
CODEBLOCK0
🚀 快速开始
1. 安装依赖
CODEBLOCK1
2. 配置
复制配置模板:
CODEBLOCK2
编辑 config.json:
CODEBLOCK3
注意: 所有配置项均可通过环境变量覆盖,优先级:环境变量 > config.json > 默认值
### 3. 运行
bash
python scripts/dubbing.py your_video.mp4
输出:
- `workspace/output/your_video_dubbed.mp4` - 配音视频
- `workspace/output/your_video.srt` - 字幕文件
## ⚙️ 参数说明
### Whisper参数
| 参数 | 默认值 | 说明 |
|------|--------|------|
| `whisper.model` | medium | Whisper模型大小 |
| `whisper.language` | en | 源语言 |
### TTS参数
| 参数 | 默认值 | 说明 |
|------|--------|------|
| `tts.max_group_duration` | 15.0 | 每组最大时长(秒) |
| `tts.inference_timesteps` | 10 | 推理步数 |
| `tts.cfg_value` | 2.0 | CFG值 |
### 字幕参数
| 参数 | 默认值 | 说明 |
|------|--------|------|
| `subtitle.fontsize` | 16 | 字体大小 |
| `subtitle.fontname` | SimHei | 字体名称 |
| `subtitle.outline` | 2 | 描边宽度 |
## 🎵 BGM添加
bash
python scripts/add_bgm.py <视频> [BGM文件] [输出文件]
特性:
- BGM自动循环(交叉淡入淡出3秒)
- 音量控制(默认12%)
- 自动淡入淡出
## 🔧 高级用法
### 测试模式
只处理前30秒:
bash
python scripts/dubbing.py video.mp4 --test 30
### 指定输出名
bash
python scripts/dubbing.py video.mp4 --output my_video
### 自定义配置
bash
python scripts/dubbing.py video.mp4 --config my_config.json
## 📁 文件结构
video-dubbing/
├── SKILL.md # 本文档
├── config.example.json # 配置模板
├── scripts/
│ ├── dubbing.py # 主流程脚本
│ ├── add_bgm.py # BGM添加
│ └── upload_bilibili.py # B站上传
└── reference_audio/ # TTS参考音频
└── speaker.wav
## 🔑 环境变量
| 变量 | 说明 | 默认值 |
|------|------|--------|
| `TRANSLATE_API_KEY` | 翻译API密钥(必需) | - |
| `VOXCPM_DIR` | VoxCPM目录 | `./VoxCPM` |
| `WORK_DIR` | 工作目录 | `./workspace` |
| `REFERENCE_AUDIO` | TTS参考音频路径 | `./reference_audio/speaker.wav` |
| `REFERENCE_TEXT` | 参考音频对应文本 | - |
| `TRANSLATE_API_URL` | 翻译API端点 | SiliconFlow |
| `TRANSLATE_MODEL` | 翻译模型 | `tencent/Hunyuan-MT-7B` |
| `VISION_API_URL` | 硬字幕检测API端点 | SiliconFlow |
| `VISION_MODEL` | Vision模型 | `Qwen/Qwen2.5-VL-72B-Instruct` |
| `WHISPER_MODEL` | Whisper模型 | `medium` |
| `WHISPER_LANGUAGE` | 源语言 | `en` |
| `FFMPEG_PATH` | ffmpeg路径 | `ffmpeg` |
## 📊 音频匹配质量
| ratio范围 | 方法 | 质量 |
|-----------|------|------|
| < 0.85 | 加静音 | ✅ 无损 |
| 0.85-1.15 | resample | ✅ 轻微调整 |
| > 1.15 | librosa加速 | ⚠️ 轻微失真 |
**实测:60%+组无损音质**
## ⚠️ 注意事项
### AV1编码视频
AV1编码视频需要重新编码:
bash
使用GPU编码
-c:v h264_nvenc
或CPU编码
-c:v libx264
### VoxCPM模型
需要从ModelScope获取VoxCPM模型:
bash
下载模型到指定目录
modelscope download --model modelscope/VoxCPM --local_dir ./VoxCPM
```
📜 许可证
MIT License
🙏 致谢
🎯 选择VoxCPM中文配音的理由:
- 1. 开源免费,无商业限制
- 中文效果最佳,自然流畅
- 支持声音克隆(参考音频)
- 本地运行,数据安全
🎬 VoxCPM中文视频配音
唯一使用VoxCPM开源模型的中文配音技能
生产环境验证 ✅ | 断点续传 ✅ | 智能BGM ✅
🌟 核心卖点
| 特性 | 说明 |
|---|
| 🎯 VoxCPM独家 | 唯一集成VoxCPM开源TTS模型的中文配音技能 |
| ✅ 生产验证 |
已在B站成功发布4个视频 |
| 🔄
断点续传 | 中断后可继续,无需重新生成 |
| 🔍
硬字幕检测 | AI自动检测并覆盖原字幕 |
| 🎵
智能BGM | 自动循环、交叉淡入淡出 |
📋 完整流程
- 1. Whisper转写 → medium模型转写 + 时间戳
- AI翻译 → 腾讯混元MT翻译模型
- 分组TTS → VoxCPM配音(按组生成,保持连贯)
- 音频匹配 → 智能拉伸/加静音
- 硬字幕检测 → AI自动检测是否需要遮盖
- 字幕生成 → 中文字幕(自动换行)
- 视频合并 → GPU加速编码
🚀 快速开始
1. 安装依赖
bash
Python依赖
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install openai-whisper soundfile scipy librosa requests
VoxCPM(从官方获取)
git clone https://github.com/modelscope/VoxCPM.git
2. 配置
复制配置模板:
bash
cp config.example.json config.json
编辑 config.json:
json
{
work_dir: ./workspace,
voxcpm_dir: ./VoxCPM,
ffmpeg_path: ffmpeg,
translate: {
api_url: https://api.siliconflow.cn/v1/chat/completions,
apikey: YOURAPI_KEY,
model: tencent/Hunyuan-MT-7B
},
vision: {
api_url: https://api.siliconflow.cn/v1/chat/completions,
model: Qwen/Qwen2.5-VL-72B-Instruct
},
tts: {
referenceaudio: ./referenceaudio/speaker.wav,
reference_text: 参考音频对应的文本
}
}
注意: 所有配置项均可通过环境变量覆盖,优先级:环境变量 > config.json > 默认值
3. 运行
bash
python scripts/dubbing.py your_video.mp4
输出:
- - workspace/output/yourvideodubbed.mp4 - 配音视频
- workspace/output/your_video.srt - 字幕文件
⚙️ 参数说明
Whisper参数
| 参数 | 默认值 | 说明 |
|---|
| whisper.model | medium | Whisper模型大小 |
| whisper.language |
en | 源语言 |
TTS参数
| 参数 | 默认值 | 说明 |
|---|
| tts.maxgroupduration | 15.0 | 每组最大时长(秒) |
| tts.inference_timesteps |
10 | 推理步数 |
| tts.cfg_value | 2.0 | CFG值 |
字幕参数
| 参数 | 默认值 | 说明 |
|---|
| subtitle.fontsize | 16 | 字体大小 |
| subtitle.fontname |
SimHei | 字体名称 |
| subtitle.outline | 2 | 描边宽度 |
🎵 BGM添加
bash
python scripts/add_bgm.py <视频> [BGM文件] [输出文件]
特性:
- - BGM自动循环(交叉淡入淡出3秒)
- 音量控制(默认12%)
- 自动淡入淡出
🔧 高级用法
测试模式
只处理前30秒:
bash
python scripts/dubbing.py video.mp4 --test 30
指定输出名
bash
python scripts/dubbing.py video.mp4 --output my_video
自定义配置
bash
python scripts/dubbing.py video.mp4 --config my_config.json
📁 文件结构
video-dubbing/
├── SKILL.md # 本文档
├── config.example.json # 配置模板
├── scripts/
│ ├── dubbing.py # 主流程脚本
│ ├── add_bgm.py # BGM添加
│ └── upload_bilibili.py # B站上传
└── reference_audio/ # TTS参考音频
└── speaker.wav
🔑 环境变量
| 变量 | 说明 | 默认值 |
|---|
| TRANSLATEAPIKEY | 翻译API密钥(必需) | - |
| VOXCPM_DIR |
VoxCPM目录 | ./VoxCPM |
| WORK_DIR | 工作目录 | ./workspace |
| REFERENCE
AUDIO | TTS参考音频路径 | ./referenceaudio/speaker.wav |
| REFERENCE_TEXT | 参考音频对应文本 | - |
| TRANSLATE
APIURL | 翻译API端点 | SiliconFlow |
| TRANSLATE_MODEL | 翻译模型 | tencent/Hunyuan-MT-7B |
| VISION
APIURL | 硬字幕检测API端点 | SiliconFlow |
| VISION_MODEL | Vision模型 | Qwen/Qwen2.5-VL-72B-Instruct |
| WHISPER_MODEL | Whisper模型 | medium |
| WHISPER_LANGUAGE | 源语言 | en |
| FFMPEG_PATH | ffmpeg路径 | ffmpeg |
📊 音频匹配质量
| ratio范围 | 方法 | 质量 |
|---|
| < 0.85 | 加静音 | ✅ 无损 |
| 0.85-1.15 |
resample | ✅ 轻微调整 |
| > 1.15 | librosa加速 | ⚠️ 轻微失真 |
实测:60%+组无损音质
⚠️ 注意事项
AV1编码视频
AV1编码视频需要重新编码:
bash
使用GPU编码
-c:v h264_nvenc
或CPU编码
-c:v libx264
VoxCPM模型
需要从ModelScope获取VoxCPM模型:
bash
下载模型到指定目录
modelscope download --model modelscope/VoxCPM --local_dir ./VoxCPM
📜 许可证
MIT License
🙏 致谢
🎯 选择VoxCPM中文配音的理由:
- 1. 开源免费,无商业限制
- 中文效果最佳,自然流畅
- 支持声音克隆(参考音频)
- 本地运行,数据安全