🔊 say — macOS 文本转语音(Siri 自然语音)
v1.0.2利用 macOS 的 `say` 命令和 Siri 自然语音进行文本转语音。可生成语音音频、TTS 剪辑或直接朗读文本。依赖系统的 `say` 和 `ffmpeg`。
0· 646·2 当前·2 累计
安全扫描
OpenClaw
安全
high confidence该技能仅提供指令,使用 macOS 系统的 `say` 命令和 `ffmpeg`。其要求和指令与目的相符,但会通过 `defaults write` 修改用户语音偏好(预期的副作用)。
评估建议
适合本地 macOS 文本转语音使用:依赖内置的 `say` 二进制文件和 `ffmpeg` 进行格式转换。注意,按照指令会改变用户默认设置(`com.apple.speech.voice.prefs`),切换 Siri 语音/语言,这会修改系统语音设置,可能影响其他应用。由于仅为指令,无安装内容,但如果允许代理自主调用,可能会在您的机器上运行这些命令。建议先手动运行命令确认行为,确保下载了所需的 Siri 语音,然后再启用该技能。...详细分析 ▾
✓ 用途与能力
名称和描述(通过 say/Siri 声音的 macOS TTS)与声明的要求(需要 'say' 和 'ffmpeg')以及 SKILL.md 内容相符。无不相关的凭据、二进制文件或安装请求。
ℹ 指令范围
运行时指令专注于使用 `say`、通过 `defaults write` 切换系统 TTS 语言、列出声音以及使用 `ffmpeg` 将 AIFF 转换为 WAV。值得注意的操作是修改 macOS 用户默认设置(`com.apple.speech.voice.prefs`),这是选择 Siri 自然声音所必需的,但这会改变用户偏好 —— 这是预期的,但可能会影响用户的系统语音设置。
✓ 安装机制
无安装规格和代码文件;这是指令式的,因此技能本身不会写入磁盘。安装风险低。
✓ 凭证需求
无环境变量或凭据请求。技能的访问需求(本地二进制文件 'say' 和 'ffmpeg')与其目的成比例。
✓ 持久化与权限
始终为 false 且技能不请求持久的系统范围权限或修改其他技能。它建议的唯一持久性更改是写入用户默认设置以改变系统 TTS 语言/声音,这在其范围内。
安全有层次,运行前请审查代码。
运行时依赖
🖥️ OSmacOS
版本
latestv1.0.22026/2/14
重新触发安全扫描
● 无害
安装命令 点击复制
官方npx clawhub@latest install say
镜像加速npx clawhub@latest install say --registry https://cn.clawhub-mirror.com
技能文档
使用 say 进行本地 macOS 文本转语音。
Siri 自然声音(推荐)
Siri 声音是最好的 macOS TTS 声音,但 无法通过-v 选择。相反,运行 say 不带 -v —— 它使用系统默认声音。通过 defaults write 切换语言:
# 切换到德语
defaults write com.apple.speech.voice.prefs SystemTTSLanguage -string "de"
say "Hallo, wie geht's?" -o output_de.aiff
# 切换到中文(普通话)
defaults write com.apple.speech.voice.prefs SystemTTSLanguage -string "cmn"
say "你好,世界" -o output_zh.aiff
无需重启进程 —— 下一次 say 调用将立即采用新语言。
先决条件
先在 系统设置 > 无障碍 > 语音内容 下载所需的 Siri 声音,并将其设置为每种语言的系统声音。检查当前配置的声音:defaults read com.apple.Accessibility SpokenContentDefaultVoiceSelectionsByLanguage
回退:使用 -v 选择声音
对于非 Siri 声音,直接使用 -v:
say -v 'Tingting (Enhanced)' "你好,世界"
say -v '?' # 列出所有安装的声音(Siri 声音不在列表中)
输出到文件
say -o output.aiff "Hello world"
ffmpeg -y -i output.aiff -ar 22050 -ac 1 output.wav # 转换为 WAV
选项
-v— 选择非 Siri 声音-r— 语速(每分钟词数,例如-r 150)-o— 保存为 AIFF 文件而不是播放
注释
say在标点处添加自然暂停 — 无需手动分句- AIFF 是本地输出格式;使用
ffmpeg转换为 WAV/MP3 - 批量生成:一次设置语言,生成所有剪辑,然后切换 — 最小化
defaults write调用次数
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制