Files
ISISeg/配音生成工作流-Ubuntu-Agent.md

243 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 配音生成工作流 Ubuntu Agent
本文档用于指导 Agent 在 Ubuntu 环境中使用 `Tools_scripts_XunFei-Ubuntu`,将配音稿文字转为讯飞配音音频,并与视频合成为最终介绍视频。
## 1. 目录约定
建议保持以下结构:
```text
项目目录/
配音稿.md
Tools_scripts_XunFei-Ubuntu/
requirements-ubuntu.txt
xfyun_tts_ubuntu.py
synthesize_xfyun_tts.sh
synthesize_xfyun_super_tts.sh
check_audio_duration.sh
build_final_video_ubuntu.py
```
其中:
- `xfyun_tts_ubuntu.py`:核心 Python 脚本,支持普通 TTS 和超拟人 TTS。
- `synthesize_xfyun_tts.sh`:普通讯飞 TTS 入口,默认声音 `xiaoyan`
- `synthesize_xfyun_super_tts.sh`:讯飞超拟人 TTS 入口,默认声音 `x5_lingfeiyi_flow`
- `check_audio_duration.sh`:批量查看 mp3、wav、m4a 等音频时长。
- `build_final_video_ubuntu.py`:将单个视频与配音音频合成为最终视频,并按旁白时长自动调整画面速度。
## 2. 安装依赖
```bash
sudo apt update
sudo apt install -y python3 python3-pip ffmpeg
python3 -m pip install -r Tools_scripts_XunFei-Ubuntu/requirements-ubuntu.txt
chmod +x Tools_scripts_XunFei-Ubuntu/*.sh Tools_scripts_XunFei-Ubuntu/*.py
```
如果使用虚拟环境:
```bash
python3 -m venv .venv-tts
source .venv-tts/bin/activate
python -m pip install -r Tools_scripts_XunFei-Ubuntu/requirements-ubuntu.txt
```
## 3. 配置讯飞环境变量
```bash
export XF_APPID="你的AppId"
export XF_APIKEY="你的ApiKey"
export XF_APISECRET="你的ApiSecret"
```
如需长期生效,可以写入 `~/.bashrc`
```bash
cat >> ~/.bashrc <<'EOF'
export XF_APPID="你的AppId"
export XF_APIKEY="你的ApiKey"
export XF_APISECRET="你的ApiSecret"
EOF
source ~/.bashrc
```
脚本不会保存密钥,也不要把真实密钥写入仓库。
## 4. 配音稿格式
脚本识别 Markdown 中的分段标题:
```markdown
## 1. 第一段标题
第一段配音正文。
## 2. 第二段标题
第二段配音正文。
## 3. 第三段标题
第三段配音正文。
## 4. 第四段标题
第四段配音正文。
```
注意:
- 标题建议保持 `## 1.``## 4.`
- 输出文件名会使用段号和标题,例如 `1-第一段标题.mp3`
- `说明:``时长:``备注:``镜头:``画面:` 等元信息行会被忽略。
- 正文只放最终朗读内容,不要放内部提示词。
可先做干跑检查:
```bash
python3 Tools_scripts_XunFei-Ubuntu/xfyun_tts_ubuntu.py \
--script 配音稿.md \
--dry-run
```
## 5. 普通 TTS 合成
普通 TTS 适合快速生成清晰稳定的中文配音。
```bash
./Tools_scripts_XunFei-Ubuntu/synthesize_xfyun_tts.sh \
--script 配音稿.md \
--output-dir 02_audio/tts_audio_xiaoyan \
--voice xiaoyan \
--speed 50 \
--volume 70 \
--pitch 50
```
## 6. 超拟人 TTS 合成
超拟人 TTS 更适合项目汇报、系统介绍和宣传片。
```bash
./Tools_scripts_XunFei-Ubuntu/synthesize_xfyun_super_tts.sh \
--script 配音稿.md \
--output-dir 02_audio/super_tts_x5_lingfeiyi \
--voice x5_lingfeiyi_flow \
--speed 50 \
--volume 70 \
--pitch 50
```
如果接口要求明文文本模式,可加:
```bash
./Tools_scripts_XunFei-Ubuntu/synthesize_xfyun_super_tts.sh \
--script 配音稿.md \
--output-dir 02_audio/super_tts_raw \
--raw-text
```
## 7. 声音和语速选择
- `--voice`:讯飞发音人,也就是 `vcn`
- `--speed`:语速,通常 `0-100`,默认 `50`
- `--volume`:音量,通常 `0-100`,默认 `70`
- `--pitch`:音调,通常 `0-100`,默认 `50`
- `--overwrite`:覆盖已存在的音频文件。
建议:
- 系统介绍:优先用超拟人 TTS例如 `x5_lingfeiyi_flow`
- 快速校稿:使用普通 TTS例如 `xiaoyan`
- 需要缩短成片时长:先压缩文案,再把 `--speed` 调到 `55-60`
## 8. 检查音频时长
```bash
./Tools_scripts_XunFei-Ubuntu/check_audio_duration.sh 02_audio/super_tts_x5_lingfeiyi
```
如果总时长过长:
- 优先删减配音稿。
- 其次略微提高 `--speed`
- 最后再调整视频变速。
不建议为了追赶过长旁白而大幅加速视频,否则画面会不自然。
## 9. 合成最终视频
如果已有一个完整录屏和一组分段配音:
```bash
python3 Tools_scripts_XunFei-Ubuntu/build_final_video_ubuntu.py \
--video 待配音视频/ISISeg-介入导丝视频分割工作台-使用展示.mp4 \
--audio-dir 02_audio/super_tts_x5_lingfeiyi \
--output 05_outputs/ISISeg-系统使用视频-配音版.mp4
```
如果已经有合并好的单个旁白音频:
```bash
python3 Tools_scripts_XunFei-Ubuntu/build_final_video_ubuntu.py \
--video input.mp4 \
--audio voiceover.mp3 \
--output 05_outputs/final_voiceover.mp4
```
脚本会:
-`ffprobe` 读取视频和旁白时长。
- 自动计算画面变速系数。
- 静音原视频音轨,只保留新旁白。
- 输出 H.264/AAC、yuv420p、faststart MP4。
常用参数:
- `--width 1920 --height 1080`:输出分辨率。
- `--fps 30`:输出帧率。
- `--silence 0.35`:多段配音之间插入的静音秒数。
- `--video-speed 1.25`:手动指定画面速度,覆盖自动计算。
## 10. Agent 执行清单
1. 确认 `Tools_scripts_XunFei-Ubuntu` 存在。
2. 检查 `ffmpeg``ffprobe``python3` 是否可用。
3. 安装 `requirements-ubuntu.txt` 中的依赖。
4. 检查 `XF_APPID``XF_APIKEY``XF_APISECRET`
5. 创建或读取配音稿,并用 `--dry-run` 校验分段。
6. 根据场景选择普通 TTS 或超拟人 TTS。
7. 设置独立输出目录,避免覆盖不同声音和语速的试听结果。
8. 生成音频后运行 `check_audio_duration.sh`
9.`build_final_video_ubuntu.py` 合成最终视频。
10.`ffprobe` 检查最终视频时长、编码和音频流。
## 11. 常见问题
### Missing dependency: websocket-client
运行:
```bash
python3 -m pip install -r Tools_scripts_XunFei-Ubuntu/requirements-ubuntu.txt
```
### Please set XF_APPID, XF_APIKEY and XF_APISECRET first
说明当前终端没有讯飞凭证环境变量。设置后重新执行脚本:
```bash
export XF_APPID="你的AppId"
export XF_APIKEY="你的ApiKey"
export XF_APISECRET="你的ApiSecret"
```
### Cannot find script Markdown file
请使用 `--script 配音稿.md` 显式指定配音稿。
### ffmpeg 或 ffprobe 不存在
运行:
```bash
sudo apt install -y ffmpeg
```