2.4 KiB
2.4 KiB
语音理解与语音回复
语音识别 语音合成 声音克隆 Agent技能 通义千问
qwen-voice(Agent 技能)
目标:为 Agent 对话添加语音理解 + 语音回复能力。
亮点:
- ASR:语音 → 文字(可选粗粒度时间戳,基于分块实现)
- TTS:文字 → 语音(默认音色:Cherry)
- 声音克隆:一段样本音频 → 你的自定义音色 → 语音回复
完美支持 Clawdbot(以及其他支持 Agent Skills 的宿主)。
安装(Agent 技能)
npx skills add ada20204/qwen-voice
环境要求
系统依赖:
- ffmpeg
Python 依赖:
- Python 3.10+
- 推荐使用:
uv(或任意 venv + pip)
环境变量
必填:
DASHSCOPE_API_KEY
代码读取环境变量的方式
脚本同时支持以下两种方式:
- 用户级(推荐):
~/.config/qwen-voice/.env - 项目级(开发/测试用):
./.qwen-voice/.env
优先级:用户级优先,其次项目级。
注意:系统环境变量会被忽略,只读取
.env文件。
配置方式(推荐)
将模板目录复制到用户配置目录:
cp -r .qwen-voice ~/.config/qwen-voice
cp ~/.config/qwen-voice/.env.example ~/.config/qwen-voice/.env
# 编辑 ~/.config/qwen-voice/.env
配置方式(项目本地,可选)
cp .qwen-voice/.env.example .qwen-voice/.env
# 编辑 .qwen-voice/.env
快速命令
ASR(不带时间戳):
python3 scripts/qwen_asr.py --in /path/to/audio.ogg
ASR(带粗粒度时间戳):
python3 scripts/qwen_asr.py --in /path/to/audio.ogg --timestamps --chunk-sec 3
TTS(预设音色):
python3 scripts/qwen_tts.py --text '你好,我是 Pi。' --voice Cherry --out /tmp/out.ogg
声音克隆(创建一次声音档案,重复使用):
python3 scripts/qwen_voice_clone.py --in ./sample.ogg --name george --out ./george.voice.json
python3 scripts/qwen_tts.py --text '你好,我是 George。' --voice-profile ./george.voice.json --out /tmp/out.ogg
注意事项
- 时间戳基于分块,而非词级对齐。
- 音频输入在 ASR 前会被转换为单声道 16k WAV 格式。
.ogg输出使用 Opus 编码(兼容 Telegram 语音消息)。
仓库结构
SKILL.md+scripts/是 Agent 技能的入口(遵循约定的发现机制).qwen-voice/环境变量模板目录(复制到~/.config/qwen-voice/使用)