语音合成与唇形同步
语音合成方案选择
F5-TTS
- 定位: 通用中文语音合成,零样本克隆
- 显存需求: 8GB 可运行
- 中文效果: 优秀,原生支持中文
- 特点:
- 零样本语音合成(zero-shot),提供参考音频即可模仿音色
- 参考音频 5-15 秒即可
- 生成速度较快
- 支持中英文混合
- 适用场景: 通用配音、旁白、多角色对话
- 局限: 情感控制不如 ChatTTS 精细,克隆精度不如 GPT-SoVITS
ChatTTS
- 定位: 情感丰富的对话式语音合成
- 显存需求: 6-8GB
- 中文效果: 优秀
- 特点:
- 情感表达丰富,可控制笑声、停顿、语气
- 语速可调节
- 支持口语化表达(嗯、啊、呢等语气词)
- 内置多种音色 seed
- 使用特殊标记控制:
[laugh]、[break]、[oral_0-9]、[speed_0-9]
- 适用场景: 旁白配音、对话演绎、需要情感表达的场景
- 局限: 不支持精确的音色克隆
GPT-SoVITS
- 定位: 高精度语音克隆
- 显存需求: 8GB(推理)/ 12GB+(训练)
- 中文效果: 优秀
- 特点:
- 语音克隆精度最高,最接近原声
- 需要 5-30 秒参考音频进行微调训练
- 训练后可用少量文本生成高质量语音
- 支持情感和语速微调
- 需要额外的训练步骤
- 适用场景: 角色专属配音、需要特定音色的项目
- 局限: 需要训练过程,流程较复杂
方案选择决策树
需要语音合成
├── 需要克隆特定人的声音?
│ ├── 是 → GPT-SoVITS(精度最高)
│ │ └── 显存不足12GB?→ 仅推理模式8GB可用,训练需云端
│ └── 否
│ ├── 需要丰富的情感表达(笑、叹气、语气变化)?
│ │ ├── 是 → ChatTTS
│ │ └── 否
│ │ ├── 需要快速批量生成?
│ │ │ ├── 是 → F5-TTS
│ │ │ └── 否 → F5-TTS 或 ChatTTS 均可
│ └── 只需要简单的参考音色模仿?→ F5-TTS(零样本)
唇形同步方案选择
LatentSync 1.6
- 定位: 最高质量唇形同步
- 显存需求: 12GB+(推荐 16GB)
- 质量: 最佳,嘴唇运动自然,面部表情保持好
- 速度: 较慢,每秒处理 2-5 帧
- 特点:
- 基于潜空间同步,质量远超传统方案
- 面部细节保留好,不会出现模糊
- 支持多种分辨率输入
- 对侧脸和遮挡有一定容错
- 适用场景: 最终成品输出、高质量要求的项目
Wav2Lip
- 定位: 轻量快速唇形同步
- 显存需求: 4-8GB
- 质量: 中等,嘴部区域可能略模糊
- 速度: 快,每秒处理 15-30 帧
- 特点:
- 经典方案,成熟稳定
- 显存需求低
- 处理速度快,适合批量
- 嘴部区域可能有轻微模糊/伪影
- 适用场景: 快速预览、批量处理、显存受限环境
- 优化技巧: 配合 GFPGAN/CodeFormer 后处理可改善嘴部清晰度
SadTalker
- 定位: 说话头像生成(从静态图生成说话视频)
- 显存需求: 6-8GB
- 质量: 中等偏上,头部运动自然
- 速度: 中等
- 特点:
- 从单张图片 + 音频生成说话视频
- 头部运动和表情丰富
- 不需要输入视频,只需一张正面照
- 适合虚拟主播/数字人场景
- 适用场景: 从静态图生成说话头像、虚拟主播
- 局限: 仅限头部/上半身,不适合全身动画
方案选择决策树
需要唇形同步
├── 输入是静态图片(非视频)?
│ ├── 是 → SadTalker(从图片生成说话视频)
│ └── 否(输入是视频)
│ ├── 显存 ≥ 12GB?
│ │ ├── 是 → LatentSync 1.6(最佳质量)
│ │ └── 否
│ │ ├── 需要批量处理?
│ │ │ ├── 是 → Wav2Lip + GFPGAN 后处理
│ │ │ └── 否 → Wav2Lip + CodeFormer 后处理
│ └── 对质量要求极高且不赶时间?→ LatentSync(即使慢也值得)
完整流水线
快速线:ChatTTS + Wav2Lip
配置要求: 8GB 显存即可 处理时间: 较快 适用场景: 快速原型、预览、显存受限
流程:
- 文本准备 → 编写台词文本,添加 ChatTTS 情感标记
- ChatTTS 合成 → 生成语音 WAV 文件(16kHz/44.1kHz mono)
- Wav2Lip 同步 → 输入视频 + WAV → 输出唇形同步视频
- 面部修复(可选) → GFPGAN/CodeFormer 修复嘴部区域清晰度
- 音频混合 → 添加背景音乐/音效
质量线:F5-TTS + LatentSync
配置要求: 12GB+ 显存 处理时间: 较慢 适用场景: 最终成品输出
流程:
- 参考音频准备 → 准备 5-15 秒干净的参考音频
- F5-TTS 合成 → 使用参考音频合成目标语音
- 音频校对 → 检查语音自然度,必要时调整
- LatentSync 同步 → 高质量唇形同步处理
- 后期处理 → 色彩校正、音频混合
高级线:GPT-SoVITS + LatentSync
配置要求: 12GB+(训练需更多) 处理时间: 最长(含训练) 适用场景: 需要精确克隆特定角色声音
流程:
- 参考音频收集 → 收集目标声音 5-30 秒清晰录音
- GPT-SoVITS 训练 → 微调语音克隆模型
- 语音合成 → 用训练好的模型合成台词
- 质量审核 → 对比原声检查克隆质量
- LatentSync 同步 → 高质量唇形同步
- 精细后处理 → 逐帧检查、音画对齐微调
音频格式要求
推荐格式
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 格式 | WAV | 无损,兼容性最好 |
| 采样率 | 16kHz 或 44.1kHz | 16kHz 够用于语音,44.1kHz 音质更好 |
| 声道 | Mono(单声道) | 语音合成和唇形同步均要求单声道 |
| 位深 | 16-bit | 标准语音位深 |
| MP3 | 也可接受 | 128kbps+ 可用,但 WAV 更推荐 |
参考音频要求(用于克隆/零样本)
- 时长: 5-30 秒(GPT-SoVITS),5-15 秒(F5-TTS)
- 质量: 干净无噪音,无背景音乐
- 内容: 正常语速的普通话,避免唱歌/喊叫
- 录制建议: 安静环境,保持麦克风距离稳定
音频预处理
如果参考音频有噪音,可使用以下工具预处理:
- UVR5(Ultimate Vocal Remover) — 分离人声和背景噪音
- Audacity 降噪功能 — 简单噪音去除
- RNNoise — 实时降噪
ComfyUI 节点集成指南
语音合成相关节点
| 节点/插件 | 功能 | 安装方式 |
|---|---|---|
| ComfyUI-ChatTTS | ChatTTS 集成 | ComfyUI Manager 搜索安装 |
| ComfyUI-F5-TTS | F5-TTS 集成 | ComfyUI Manager 搜索安装 |
| ComfyUI-GPT-SoVITS | GPT-SoVITS 集成 | GitHub 手动安装 |
唇形同步相关节点
| 节点/插件 | 功能 | 安装方式 |
|---|---|---|
| ComfyUI-LatentSyncWrapper | LatentSync 唇形同步 | ComfyUI Manager 搜索安装 |
| ComfyUI-Wav2Lip | Wav2Lip 唇形同步 | GitHub 手动安装 |
| ComfyUI-SadTalker | SadTalker 说话头像 | GitHub 手动安装 |
音频处理相关节点
| 节点/插件 | 功能 | 安装方式 |
|---|---|---|
| ComfyUI-AudioTools | 音频加载/保存/混合 | ComfyUI Manager |
| ComfyUI-UVR5 | 人声分离 | GitHub 手动安装 |
典型工作流连接
文本输入 → TTS节点(ChatTTS/F5-TTS)→ 音频输出
↓
视频输入 ──────────────────────→ 唇形同步节点 → 同步视频输出
↓
面部修复节点(GFPGAN)→ 最终输出