📝

Claude CodeのHooksで好きな音声を鳴らして作業をいい感じにはかどらせる

に公開

いちいちhooksのために他のTTSをAPIを叩いて呼び出すのはローカルにWebサーバを立ち上げておいたり、都度生成をするなど無駄にリソースを食う。

Macの通知を出すのは他の通知と音が同じで少々混同する。

afplayでMacの/System/Library/Sounds/*.aiffを鳴らすのは通知音でhooksを識別できるけど少々味気ない。

なので自分の好きな音声を鳴らすことにした。環境はMac OS。

やり方

やり方は至ってシンプルでafplayコマンドで音声ファイルを指定するだけ。

 "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "afplay ~/claude_code_voices/stop.wav -v 0.4"
          }
        ]
      }
    ]
  }
}

afplayコマンドはwavやmp3も再生できるし、音量も調整できるので便利。
VOICEROID等で作った専用音声を複数用意してシェルスクリプトでランダム再生するなどしても良い。

これで作業が完了したのか、ツールの使用許可を求めているのかなどを音で判断でき、作業を行ったり来たりしやすくなる。

linuxならaplayコマンドで代用できるはず。

Claude Code Hooks用というわけではないけど、LLM用の音声を収録して販売すればエンジニアには結構刺さりそうな気がする今日このごろ。

Claude Code、本当に良い。

Discussion