| name | rk-tts |
| description | 将文本转换为语音。当用户要求“转成音频”、“生成语音文件”、“朗读出来”、“播报这段话”、“念出来”、“TTS”时使用。除非用户明确指定云端TTS、远端服务或特定在线模型,否则默认优先使用本地rk-tts。 |
文本转语音技能
-
播放意图优先规则:
只要用户明确出现“直接播放”“播放一下”“播出来”“朗读”“念出来”“语音播报”“当场播”“实时播放”等表达,就应当优先判定为板端播放需求,直接使用./run.sh --play。
不要因为同时出现“音频”“TTS”“转语音”这些词,就退回到默认的生成文件模式。
-
默认选择规则:
当用户只是泛泛地提到“TTS”“转语音”“朗读”“播报”“生成语音”时,默认优先使用本地rk-tts。
只有当用户明确指定云端TTS、远端API、在线模型、model hub,或者明确要求不要使用本地TTS时,才不要使用这个技能。
-
先判断用户意图是“要一个音频文件”,还是“要板端当场播放”。
其中“直接播放”“朗读”“念出来”“播报一下”应视为明确播放,不要按文件模式处理。
-
当前默认约定:
音频文件输出路径为/userdata/output.wav
板端播放入口为./run.sh --play
默认耳机播放设备为plughw:CARD=rockchipes8388,DEV=0
HTTP取音频与本地播放逻辑统一由tts_client.py处理
-
当用户需要将文字转为音频文件、保存音频、发送音频文件时使用
在终端中执行以下命令进行语音合成:
cd ~/.openclaw/workspace/skills/rk-tts/scripts && ./run.sh "text to tts"
- 当用户需要播放、直接播放、朗读、念出来、语音播报某段文字时使用
在终端中执行以下命令进行语音合成并在板端播放:
cd ~/.openclaw/workspace/skills/rk-tts/scripts && ./run.sh --play "text to tts and play"
执行命令后的处理规则:
情况A - 生成音频文件:
→ 输出音频保存在/userdata/output.wav
→ 直接将该绝对路径的音频文件发送给用户
→ 不需要再额外解释文件内容
情况B - 板端直接播放:
→ 只需告知用户已经在板端播放
→ 不需要再发送音频文件,除非用户明确要求
情况C - 本地tts_server不可用:
→ run.sh会自动尝试启动本地tts_server
→ 若仍不可用,保存模式会回退到板端自带的rocktts_demo逻辑
→ 若仍不可用,播放模式会回退到板端自带的播放demo逻辑
→ 继续按最终执行结果处理
-
如果用户没有明确说“播放”或“朗读”,默认优先走音频文件模式。
-
如果用户既要求“播放一下”又要求“把音频给我”,优先先播放,再按需补发音频文件;不要因为提到了“把音频给我”就放弃本次播放动作。
-
如果用户没有明确指定云端TTS来源,默认不要切到云端能力,直接使用本地rk-tts完成任务。