0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VOICEVOX MCPをWSL環境で動作させるためにしたこと

0
Posted at

この世にはなんて楽しいものを作ってくれる人がいるのでしょう。最高です。

Windowsネイティブ環境では何の問題もなく楽しく使えたのですが、WSL環境でちょっと苦戦したので、自分の備忘録として投稿します。

目的

WSL の Ubuntu 上で Claude Code から mcp-simple-voicevox を使い、VOICEVOX の音声を WSL 側で再生できる状態にすることです。

構成はこれです。

  • VOICEVOX は Windows 側で起動
  • Claude Code は WSL Ubuntu 側で実行
  • mcp-simple-voicevox も WSL 側で実行
  • 音声再生は WSL 側の aplay を使う

全体像

流れはこうです。

  1. Windows で VOICEVOX を起動
  2. WSL から Windows 側 VOICEVOX に届くようにする
  3. WSL に Node.js と音声再生環境を入れる
  4. mcp-simple-voicevox を WSL に入れる
  5. Claude Code に MCP として登録する
  6. WSL 側で音が鳴るかテストする
  7. mcp-simple-voicevox を WSL に入れる
  8. Claude Code に MCP として登録する
  9. Claude Code を再起動してテストする

Step 1. Windows 側で VOICEVOX を起動する

まず、Windows 側で VOICEVOX を起動します。
このツールは、VOICEVOX が http://localhost:50021 で待ち受けている前提です。

Windows 側で確認

ブラウザでこれを開きます。

http://localhost:50021/speakers

何か JSON のような内容が見えれば OK です。

Step 2. WSL から Windows 側 localhost:50021 に届くようにする

WSL では、Windows 側の localhost にそのまま届かないことがあります。
そのため、mirrored mode を使う形で進めました。

Windows 側で .wslconfig を作成

場所:

%UserProfile%\.wslconfig

内容:

[wsl2]
networkingMode=mirrored

保存したら、Windows 側でこれを実行します。

wsl --shutdown

そのあと Ubuntu を開き直します。

Step 3. WSL Ubuntu に必要なものを入れる

Ubuntu 側では、以下を入れます。

sudo apt update
sudo apt install -y nodejs npm alsa-utils libasound2-plugins pulseaudio-utils curl

役割

  • nodejs / npm
    mcp-simple-voicevox 用
  • alsa-utils
    aplay 用
  • libasound2-plugins
    WSL の音声経路を安定させるため
  • pulseaudio-utils
    音声テスト用
  • curl
    接続確認用

Step 4. WSL の音声再生設定を入れる

WSL 側で aplay が素直に鳴るように、~/.asoundrc を作ります。

cat > ~/.asoundrc << 'EOF'
pcm.default pulse
pcm.!default pulse
ctl.default pulse
ctl.!default pulse

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
EOF

Step 5. WSL 側の音が鳴るか確認する

まず、VOICEVOX は使わずに、WSL 単体で音が出るか確認します。

aplay /usr/share/sounds/alsa/Rear_Center.wav

必要ならこちらも確認します。

paplay /usr/share/sounds/alsa/Rear_Center.wav
pactl info

成功条件

  • aplay で音が鳴る
  • または paplay で音が鳴る

ここが通ると、WSL 側の再生経路は生きています。

Step 6. WSL から VOICEVOX に届くか確認する

Ubuntu 側でこれを実行します。

curl http://localhost:50021/speakers

成功条件

  • JSON のような応答が返る

ここが通れば、
WSL → Windows 側 VOICEVOX の通信ができています。

Step 7. mcp-simple-voicevox を WSL に入れる

最終的にはグローバルインストールで進めました。
Ubuntu 側でこれを実行します。

npm install -g @t09tanaka/mcp-simple-voicevox

確認

mcp-simple-voicevox

起動メッセージが出れば OK です。
止めるときは Ctrl + C です。

Step 8. Claude Code に MCP として登録する

WSL の Ubuntu 側で Claude Code に登録します。

claude mcp add --transport stdio --scope user voicevox -- mcp-simple-voicevox

確認

claude mcp get voicevox

または

claude mcp list

ここで voicevox が見えれば登録成功です。

Step 9. Claude Code を再起動してテストする

Claude Code を再起動して、次のように頼みます。

VOICEVOXで「こんにちは、WSLテストです」を話者ID 1で読み上げてください。

成功条件

  • WSL 側で音声が流れる

WSL 側で鳴らすために押さえるべきポイントだけ抜き出すと

必須条件

  • Windows 側で VOICEVOX が起動している
  • WSL から curl http://localhost:50021/speakers が通る
  • WSL で aplay が鳴る
  • mcp-simple-voicevox が WSL に入っている
  • Claude Code に voicevox MCP が登録されている

重要設定

.wslconfig

[wsl2]
networkingMode=mirrored

~/.asoundrc

pcm.default pulse
pcm.!default pulse
ctl.default pulse
ctl.!default pulse

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}

ここまでで使ったコマンドだけ一覧

Windows 側

wsl --shutdown

Ubuntu 側セットアップ

sudo apt update
sudo apt install -y nodejs npm alsa-utils libasound2-plugins pulseaudio-utils curl
cat > ~/.asoundrc << 'EOF'
pcm.default pulse
pcm.!default pulse
ctl.default pulse
ctl.!default pulse

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
EOF

音声確認

aplay /usr/share/sounds/alsa/Rear_Center.wav
paplay /usr/share/sounds/alsa/Rear_Center.wav
pactl info

VOICEVOX 通信確認

curl http://localhost:50021/speakers

インストール

npm install -g @t09tanaka/mcp-simple-voicevox

MCP 登録

claude mcp add --transport stdio --scope user voicevox -- mcp-simple-voicevox
claude mcp get voicevox

一番短い完成チェック

これが全部通れば、WSL 側で鳴らす土台は完成です。

curl http://localhost:50021/speakers
aplay /usr/share/sounds/alsa/Rear_Center.wav
claude mcp get voicevox

そのうえで Claude Code にこう頼みます。

VOICEVOXで「こんにちは、WSLテストです」を話者ID 1で読み上げてください。

今回の肝は、WSL の中から Windows 側 VOICEVOX に届くことと、WSL の中で aplay がちゃんと鳴ることです。

この2本が通れば、mcp-simple-voicevox は橋として機能します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?