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をDockerで起動する方法

Last updated at Posted at 2025-08-17

VOICEVOXは無料で使える中品質なテキスト読み上げ・歌声合成ソフトウェアです。オープンソースのサーバを立ち上げ、API経由で音声ファイルを作成することも可能です。

今回は、Dockerでサーバを立ち上げ、テスト音声を出力するまでをまとめてみました。

Dockerでの立ち上げ

docker run -it -p 50021:50021 voicevox/voicevox_engine:cpu-latest

常駐させて API サーバとして使う場合は、それなら -it ではなく -d --restart unless-stopped にした方が安定します(後述)。

各オプションの意味

docker run
新しいコンテナを起動する基本コマンドです。イメージを指定すると、それを元にコンテナが作られます。

-i(interactive):標準入力を有効化。

-t(tty):仮想端末を割り当て。
→ 合わせて「対話モードで起動する」という意味。
ただし VOICEVOX のようにサーバ常駐させる用途では不要なので、通常は -d(デタッチ:バックグラウンド実行)がよく使われます。

例:

docker run -d -p 50021:50021 voicevox/voicevox_engine:cpu-latest

-p 50021:50021
ホストOS(Windows/WSL側)のポート 50021 を、コンテナ内のポート 50021 に公開(ポートフォワード)します。
→ これにより http://localhost:50021 で API にアクセス可能となります。

voicevox/voicevox_engine:cpu-latest
実行する Docker イメージの名前です。

voicevox/voicevox_engine … VOICEVOX ENGINE の公式 Docker イメージ

:cpu-latest … CPU 版の最新版を指定(GPU 版なら :gpu-latest)

補足(よく使うバリエーション)

バックグラウンドで動かしたい

docker run -d --name voicevox -p 50021:50021 voicevox/voicevox_engine:cpu-latest

自動再起動をつけたい(PC再起動後も起動)

docker run -d --name voicevox -p 50021:50021 --restart unless-stopped voicevox/voicevox_engine:cpu-latest

ログを確認したい

docker logs -f voicevox

音声出力テスト

ブラウザで「http://localhost:50021/docs」を起動。
(ブラウザは右上のプロフィールアイコン →「ゲストモードを開く」で開いています)
image.png

テストでwavを作成してみます。1行目でBody用JSONを作成して、2行目でそれを使って音声ファイルを出力しています。

$ curl -s -X POST "http://localhost:50021/audio_query?speaker=1&text=$(php -r 'echo urlencode("おはようございます");')" -H "Content-Type: application/x-www-form-urlencoded" -d "" -o query.json
$ curl -s -X POST "http://localhost:50021/synthesis?speaker=1" -H "Content-Type: application/json" -d @query.json -o out.wav

out.wavを再生すると「おはようございます」とwavができているはずです。

speakerを変えると、声が変わります。http://localhost:50021/speakers で表示されるJSONの、styles以下にあるidがspeakerのIDです。スピーカーごとのサンプルボイスは下記のURLにあります。

speakerを変えるときは、1行目、2行目両方のspeaker=Xを変更してください。どちらかのみ変更すると正しく声が変わりません。

メモ

Dockerコンテナの停止、削除方法

$ docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED         STATUS         PORTS                      NAMES
e0168b5ae8fd   voicevox/voicevox_engine:cpu-latest   "/entrypoint.sh gosu…"   5 minutes ago   Up 5 minutes   0.0.0.0:50021->50021/tcp   laughing_goldstine
ogawa-ha@Vostro143420:~/docker$ docker stop laughing_goldstine
docker stop laughing_goldstine

1. コンテナを停止する(再利用する場合)

docker stop laughing_goldstine

→ 状態が停止(Exited)になります。
再度動かしたいときは:

docker start laughing_goldstine

2. コンテナを削除する(不要なら消す)

docker rm -f laughing_goldstine

→ 完全に削除されます。
もう一度起動する場合は新しく docker run ... してください。

確認

docker ps

で一覧に出なくなれば止められています。

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?