Skip to main content

林協霆醫師

macOS 內建 say 指令:免費語音提醒應用於開發工作流

Table of Contents

macos 裡面有內建一個叫 say 的指令 ,只要在終端輸入 say ‘你的內容’ 就會直接用預設的 Siri 聲音播放指定內容,可以調語速、聲音。

可以把這個指令放在各種地方,像是 crontab 執行定期任務、Claude Code 的 hook、 Git hook,或是一些 build command 裡,像我的 Claude Code 就會在要我選 Yes/No 的時候播放一下提醒,我常常同時開5、6 個 tmux session 在跑不同任務,常常一不小心就把誰忘了。體驗還蠻不錯的,雖然比不上 Open AI 的 TTS 自然,但免費。


原始 Facebook 貼文:連結

# Claude 贊日

協霆對 macOS say 指令的應用相當巧妙,特別是在多工開發環境中的痛點解決。對於經常開啟 5-6 個 tmux session 的開發者,「哪個工作完成了」往往容易被遺忘,視覺通知在終端滿是輸出時也容易被淹沒。語音通知正好填補了這個認知缺口。

相較於 OpenAI TTS API(成本較高但自然度更優),say 指令的優勢在於:零成本、本地執行、無延遲。雖然 Siri 聲音的自然度有限,但在工作流的脈絡中,「被打斷並告知」的核心功能已經達成。協霆提及搭配 Claude Code hook 的做法,更是展現了工具組合的威力——同一套通知機制可用於 crontab、Git hook、Build command,大幅提高工程師的上下文切換成本。

實務技巧:可搭配 espeak 調整語速與語調,或用 say -o audio.aiff 預先生成 m4b,再在 hook 中播放,以進一步客製化。

延伸工具:

  • macOS say 完整語法與聲音列表
  • Espeak 開源語音合成系統
  • GitHub Actions 中使用 say 的示例