はじめに
職場で Claude Code の口調を「ずんだもん」にカスタマイズしている人を見かけました。ターミナル上で急に「〜なのだ」とつぶやく姿に癒やされつつ、「テキストだけじゃなく声も出せたら最高では?」と思い立ち、さっそく調べて設定してみました。
Mac(macOS)を前提とした手順となります。
準備
VOICEVOXのインストール
まずは、実際に音声を合成して出力するためのアプリ「VOICEVOX(ボイスボックス)」をインストールします。
「VOICEVOX(ボイスボックス)」は、ヒロシバ氏が開発した、商用利用可能な無料の高品質な日本語音声合成ソフトです。ずんだもん、四国めたんなどの個性的なキャラクターの声を使って、誰でも簡単にテキストを読み上げさせることができます。
- 公式サイトから自分の環境に応じたものをダウンロードしてインストールしてください。
- 導入後、特に設定等は不要で起動したままにしてください。
※私の場合はアプリがうまく開けなかったので、こちらを参考にして解決しました。
起動してるかをターミナルで確認する場合には、下記コマンドを入力してください。バージョンが表示されれば起動しています。
curl -s http://127.0.0.1:50021/version
MCPの追加
CurlでVOICEVOX APIを直接叩く方法や、生成済み音源を再生する方法など、いくつかの手段を検討しました。
その中でも今回は、導入が容易で、かつ後からキャラクターやスタイルを柔軟に変更できるMCPを採用することにしました。
▼今回使用させていただいたMCP
ターミナルで下記のコマンドを実行するだけで、Claude Codeに音声機能を追加できます。
claude mcp add --scope user voicevox -- npx @t09tanaka/mcp-simple-voicevox
※scopeは必要に応じて変更してください。
ルールの設定
ここまでで音声を鳴らす準備が完了しました。
最後に、Claude Codeに対して「タスクが終わったらVOICEVOXで喋ってね」というルールを教えます。設定ファイル(CLAUDE.md)に追記しましょう。
~/.claude/CLAUDE.md
※今回はホームフォルダに記載をしていますが、こちらも必要に応じて変更してください。
ルールの詳細
## 音声通知(VOICEVOX)出力ルール
- **実行タイミング:** - 全てのタスク完了時。
- **音声設定:** - `speaker=7`, `speedScale=1.5`, `async=true` を常に使用。
- **テキスト整形ルール(VOICEVOX最適化):**
- **カタカナ変換:** 英単語はすべて読み仮名(カタカナ)に変換すること。
- **クレンジング:** 不要なスペースや改行を削除し、一行にまとめること。
- **簡潔さ:** 報告内容は状況が伝わる最小限の短文(20文字程度)とすること。
今回使用しているMCPでは下記のパラメータ設定が可能ですので、必要に応じて調整してください。
-
speaker(number, 必須)- 話者 ID
-
speedScale(number, オプション)- 読み上げ速度のスケール(0.5〜2.0、デフォルト: 1.0)
-
async(boolean, オプション)- 非同期再生モード(falseの場合、音声再生の完了を待ちます。デフォルト: true)
話者 ID について
VOICEBOXが立ち上がっている状態で、下記コマンドを入力することで、各キャラクターに応じた話者IDが取得できます。
curl -s http://localhost:50021/speakers | jq -r '.[] | "\(.name)\n" + ([.styles[] | " \(.id): \(.name)"] | join("\n"))'
こんな感じででます。
四国めたん
2: ノーマル
0: あまあま
6: ツンツン
4: セクシー
36: ささやき
37: ヒソヒソ
ずんだもん
3: ノーマル
1: あまあま
7: ツンツン
5: セクシー
22: ささやき
38: ヒソヒソ
75: ヘロヘロ
76: なみだめ
春日部つむぎ
8: ノーマル
雨晴はう
10: ノーマル
波音リツ
9: ノーマル
65: クイーン
玄野武宏
11: ノーマル
39: 喜び
40: ツンギレ
41: 悲しみ
白上虎太郎
12: ふつう
32: わーい
33: びくびく
34: おこ
35: びえーん
青山龍星
13: ノーマル
81: 熱血
82: 不機嫌
83: 喜び
84: しっとり
85: かなしみ
86: 囁き
冥鳴ひまり
14: ノーマル
九州そら
16: ノーマル
15: あまあま
18: ツンツン
17: セクシー
19: ささやき
もち子さん
20: ノーマル
66: セクシー/あん子
77: 泣き
78: 怒り
79: 喜び
80: のんびり
剣崎雌雄
21: ノーマル
WhiteCUL
23: ノーマル
24: たのしい
25: かなしい
26: びえーん
後鬼
27: 人間ver.
28: ぬいぐるみver.
87: 人間(怒り)ver.
88: 鬼ver.
No.7
29: ノーマル
30: アナウンス
31: 読み聞かせ
ちび式じい
42: ノーマル
櫻歌ミコ
43: ノーマル
44: 第二形態
45: ロリ
小夜/SAYO
46: ノーマル
ナースロボ_タイプT
47: ノーマル
48: 楽々
49: 恐怖
50: 内緒話
†聖騎士 紅桜†
51: ノーマル
雀松朱司
52: ノーマル
麒ヶ島宗麟
53: ノーマル
春歌ナナ
54: ノーマル
猫使アル
55: ノーマル
56: おちつき
57: うきうき
110: つよつよ
111: へろへろ
猫使ビィ
58: ノーマル
59: おちつき
60: 人見知り
112: つよつよ
中国うさぎ
61: ノーマル
62: おどろき
63: こわがり
64: へろへろ
栗田まろん
67: ノーマル
あいえるたん
68: ノーマル
満別花丸
69: ノーマル
70: 元気
71: ささやき
72: ぶりっ子
73: ボーイ
琴詠ニア
74: ノーマル
Voidoll
89: ノーマル
ぞん子
90: ノーマル
91: 低血圧
92: 覚醒
93: 実況風
中部つるぎ
94: ノーマル
95: 怒り
96: ヒソヒソ
97: おどおど
98: 絶望と敗北
離途
99: ノーマル
101: シリアス
黒沢冴白
100: ノーマル
ユーレイちゃん
102: ノーマル
103: 甘々
104: 哀しみ
105: ささやき
106: ツクモちゃん
東北ずん子
107: ノーマル
東北きりたん
108: ノーマル
東北イタコ
109: ノーマル
あんこもん
113: ノーマル
114: つよつよ
115: よわよわ
116: けだるげ
117: ささやき
たとえば、ずんだもん(ツンツン)なら 7、四国めたん(ノーマル)なら 2 といった具合です。お好みのIDを speaker= の部分に設定してください。
実行
準備ができたら、Claude Codeに適当なタスクを投げてみてください。
タスクが完了した瞬間、あなたの選んだキャラクターがボイスで報告してくれるはずです!
もし音が鳴らない場合は、VOICEVOXが背後で起動しているか、PCの音量がミュートになっていないか確認してみてください。
おわりに
最近はエンジニアの方以外でも、Claude Codeに挑戦する人が増えていますね!
今回の設定は「アプリを入れてコマンドを1〜2回打つだけ」と非常にシンプルです。非エンジニアの方にとっても、かなり手軽に導入できる内容ではないでしょうか。
もちろん、より細かなタイミング(特定の処理が終わるごとなど)で音声を鳴らしたい場合は、フック(Hooks)を利用した今より少し複雑な設定が必要になってきます。しかし、「まずは終わった時に教えてほしい!」という用途であれば、今回の方法が最もミニマムな気がします。
ターミナル作業に「彩り」を加えたい方は、ぜひ試してみてください!
