tts-wav-generator
SKILL.md
TTS WAV 生成器
将文本内容转换为符合特定格式要求的 WAV 音频文件。
输出格式规范
- 文件格式: WAV
- 音频编码: PCM (无损)
- 采样率: 8000 Hz (8KHz)
- 位深度: 16 bit
- 声道: 单声道 (Mono)
- 文件大小: 不超过 3MB
使用场景
用户提出以下需求时触发本 Skill:
- "生成 WAV 格式的音频"
- "需要 8000Hz 采样率的语音文件"
- "转换为 PCM 编码的音频"
- "生成单声道 WAV 文件"
- "文字转 WAV 音频"
- "生成符合电话系统要求的语音文件"
工作流程
步骤1:确认用户需求
向用户确认以下信息:
- 文本内容 - 需要转换的文本(必需)
- 输出文件名 - 音频文件名称(可选,默认 output.wav)
- 语音类型 - 男声/女声(可选,默认根据语言自动选择)
- 语速 - 正常/快/慢(可选,默认正常)
步骤2:执行转换
使用 TTS 脚本将文本转换为指定格式的 WAV 音频:
python3 scripts/tts_wav.py \
-t "文本内容" \
-o "输出文件.wav" \
[可选: -v 语音ID] \
[可选: -r 语速]
步骤3:验证并发送
转换完成后:
- 验证文件格式是否符合要求
- 检查文件大小是否超过 3MB
- 将生成的 WAV 文件发送给用户
可用语音选项
| 语音ID | 语言 | 性别 | 描述 |
|---|---|---|---|
| zh-CN-XiaoxiaoNeural | 中文 | 女声 | 晓晓(默认中文女声) |
| zh-CN-YunxiNeural | 中文 | 男声 | 云希(中文男声) |
| zh-CN-YunjianNeural | 中文 | 男声 | 云健(新闻播报风格) |
| zh-CN-XiaoyiNeural | 中文 | 女声 | 晓伊 |
| en-US-AriaNeural | 英文 | 女声 | Aria(默认英文女声) |
| en-US-GuyNeural | 英文 | 男声 | Guy(英文男声) |
| en-GB-SoniaNeural | 英文 | 女声 | Sonia(英式英语) |
| ja-JP-NanamiNeural | 日语 | 女声 | Nanami |
| ko-KR-SunHiNeural | 韩语 | 女声 | SunHi |
查看所有可用语音:
python3 scripts/tts_wav.py --list-voices
语速参数
-r "+0%"- 正常语速(默认)-r "+20%"- 加快20%-r "-20%"- 减慢20%
使用示例
示例1:基础转换(自动检测语言)
python3 scripts/tts_wav.py \
-t "欢迎使用网易七鱼智能客服系统" \
-o welcome.wav
示例2:指定英文女声
python3 scripts/tts_wav.py \
-t "Hello, welcome to our service." \
-o greeting.wav \
-v en-US-AriaNeural
示例3:加快语速
python3 scripts/tts_wav.py \
-t "这是一段快速语音提示。" \
-o fast_prompt.wav \
-r "+30%"
依赖安装
首次使用前需要安装依赖:
pip3 install edge-tts pydub
如果系统缺少 ffmpeg,需要安装:
# Ubuntu/Debian
sudo apt-get install ffmpeg
# macOS
brew install ffmpeg
# CentOS/RHEL
sudo yum install ffmpeg
注意事项
- 文本长度限制:建议单次转换不超过 2000 字,过长文本可分段处理
- 文件大小:转换后的 WAV 文件大小与时长成正比,约 1MB/分钟
- 网络要求:需要联网使用(调用 Microsoft Edge TTS 服务)
- 音频质量:8000Hz 采样率适合语音通话场景,音乐质量会下降
- 格式兼容性:生成的 WAV 文件兼容大多数电话系统和语音播报设备