name: sag description: 使用 macOS 风格的 say 用户体验进行 ElevenLabs 文本转语音。 homepage: https://sag.sh metadata: { “openclaw”: { “emoji”: “🗣️”, “requires”: { “bins”: [“sag”], “env”: [“ELEVENLABS_API_KEY”] }, “primaryEnv”: “ELEVENLABS_API_KEY”, “install”: [ { “id”: “brew”, “kind”: “brew”, “formula”: “steipete/tap/sag”, “bins”: [“sag”], “label”: “安装 sag (brew)”, }, ], }, }
sag
使用 sag 进行 ElevenLabs 文本转语音并本地播放。
API 密钥(必需)
ELEVENLABS_API_KEY(首选)SAG_API_KEY命令行工具也支持
快速开始
sag "你好"sag speak -v "Roger" "你好"sag voicessag prompting(模型特定提示)
模型说明
- 默认:
eleven_v3(富有表现力) - 稳定:
eleven_multilingual_v2 - 快速:
eleven_flash_v2_5
发音与表达规则
- 首要修复:重新拼写(例如 “key-note”),添加连字符,调整大小写。
- 数字/单位/网址:使用
--normalize auto(如果对名称有影响则用off)。 - 语言偏向:使用
--lang en|de|fr|...来引导标准化。 - v3:不支持 SSML
<break>;使用[pause]、[short pause]、[long pause]。 - v2/v2.5:支持 SSML
<break time="1.5s" />;<phoneme>在sag中未公开。
v3 音频标签(放在一行的开头)
[whispers]、[shouts]、[sings][laughs]、[starts laughing]、[sighs]、[exhales][sarcastic]、[curious]、[excited]、[crying]、[mischievously]- 示例:
sag "[whispers] 小声点。[short pause] 好吗?"
语音默认设置
ELEVENLABS_VOICE_ID或SAG_VOICE_ID
在长输出前确认语音和说话人。
聊天语音回复
当 Peter 要求“语音”回复时(例如,“疯狂科学家语音”、“用语音解释”),生成音频并发送:
# 生成音频文件
sag -v Clawd -o /tmp/voice-reply.mp3 "你的消息在这里"
# 然后在回复中包含:
# MEDIA:/tmp/voice-reply.mp3
语音角色提示:
- 疯狂科学家:使用
[excited]标签,戏剧性停顿[short pause],变化强度 - 平静:使用
[whispers]或较慢的节奏 - 戏剧性:谨慎使用
[sings]或[shouts]
Clawd 的默认语音:lj2rcrvANS3gaWWnczSX(或仅使用 -v Clawd)