VOICEBOX を GitHub CodeSpaces で動かしてみるメモ
VOICEBOX を GitHub CodeSpaces で動かしてみるメモです。
背景
クローズドハッカソンで VOICEBOX を使いたいという話があり、アイデアとして GitHub CodeSpaces のお話を出したのですが、自分自身で試したくなったのでやってみます。
素の CodeSpaces に入れようとしたものの、各ライブラリで微妙にバージョンが違ったりすると、サッと動かない感じだったので Docker イメージを使う方法でやってみます。
【TTS】VOICEVOX+Docker+WSL2で合成音声を出力してみる | エンジニアBLOG
Docker の扱いは WSL の内容ですが素直に動きそうなので、こちらの記事を参考にしました。
Codespaces の起動

Blank を起動してプレーンな状態で起動します。
使う Docker イメージ

2025/2 時点で
voicevox/voicevox_engine - Docker Image | Docker Hub
こちらのイメージを使いました。

ターミナルで
docker pull voicevox/voicevox_engine:cpu-latest
のコマンドを入力して実行します。

しばらく待つとうまくインストールされました。
Docker の実行
docker run --rm -it -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest
で Docker を実行します。

うまく実行されました。

ポートタブでうまく起動されたことも確認しておきます。
試してみる
【TTS】VOICEVOX+Docker+WSL2で合成音声を出力してみる | エンジニアBLOG
こちらの記事で、コマンドでサッと試せているのが、初動の動作確認として良かったです。

最初に起動したターミナルは VOICEBOX を起動しているので、それは起動したままで、別のターミナルを開きます。
echo -n "ウォンバットってかわいいですよねー。" > text.txt
まず、しゃべらせる元となるテキストを作成します。
curl -s -X POST "localhost:50021/audio_query?speaker=1" --get --data-urlencode text@text.txt > query.json
text.txt の内容から音声合成用のクエリ作成して query.json を書き出します。
curl -s -H "Content-Type: application/json" -X POST -d @query.json "localhost:50021/synthesis?speaker=1" > audio.wav
さきほど作成した音声合成用のクエリ query.json を元に audio.wav ファイルを作成します。

無事このようなファイル構成があって audio.wav が出来上がりました。

audio.wav クリックします。サウンドプレイヤーが出てきました。
再生ボタンをクリックすると「ウォンバットってかわいいですよねー。」と、ずんだもんの声で再生されます!
うまく動かせましたね!
あとは、この環境をうまく使って VOICEBOX を試してみてください!

出来上がった環境を Codespaces 一覧で見てみると 3 GB程度で動かせるもののようです!