この記事でやること
- ずんだもんのセリフ音声(WAV)を先に作って保存しておく
- Claude Code の Hooks を設定して、下記保存済みの音声ファイルを再生して通知する
- 処理完了(Stop) → 「終わったのだ!」
- 実行許可を求められたタイミング(ToolUseRequest/Notification) → 「困ったのだ」
この記事により解決すること
- Claude Codeの作業中断に気づきやすくなる
前提
- macOS(
afplayが使える) - Claude Code の Hooks が使える
- VOICEVOX(ずんだもんの音声が用意できる)
補足
VOICEVOX とは?
無料で使える音声合成ソフトです。
テキストを入力すると、キャラクターの声で読み上げ音声を生成できます。
- 無料
- 商用利用も可能(クレジット表記推奨)
- Windows / macOS / Linux 対応
- ずんだもんの声は標準で利用可能
ダウンロード: https://voicevox.hiroshiba.jp/
1. 音声ファイルの置き場を作る
音声ファイルを保存するディレクトリを作成します。
mkdir -p ~/.claude/sounds
2. 音声ファイルを作る
- VOICEVOXを起動
- キャラクター(ずんだもん)を選択
- テキスト欄に「終わったのだ」と入力 → 再生で確認 → 選択音声を書き出しボタンをクリック
-
~/.claude/sounds/zunda_finished.wavとして保存 - 同様に「困ったのだ」も作成 →
zunda_permission.wavとして保存
3. Hooks の設定(Stop / 実行許可系)
Claude Code の入力欄に /hooks add ... を入力すると設定UIが表示されます。
UIが表示されたら、Command 欄に作成済みのWAVファイルを afplay で再生するコマンドを入力します。
3-1. 処理完了(Stop)で「終わったのだ!」
/hooks add Stop
Command:
afplay $HOME/.claude/sounds/zunda_finished.wav
3-2. 実行許可を求められたタイミング(PermissionRequest)で「困ったのだ」
/hooks add PermissionRequest
Command:
afplay $HOME/.claude/sounds/zunda_permission.wav
4. 動作確認
Claude Code で何か処理を実行して、音声が再生されるか確認します。
例えば、簡単なコマンドを実行してみましょう:
sleep 2 && echo "完了"
この処理を実行すると:
- 完了時(Stop) → 「終わったのだ!」が鳴る
- 実行許可を求められる場面 → 「困ったのだ」が鳴る
5. 感想
ランタイム合成も考えましたが、
タイムラグを極力無くしたかったこともあり生成済みの音声ファイルを再生することにしました。
作業止まっていないかな?とターミナルを見に行く頻度を減らしたかったので設定しました。
気分転換に、通知音をペットの鳴き声を変更したり、自分の子どもに声優を依頼しても面白いかもと思っています。