at backyard

Color my life with the chaos of trouble.

音声合成エンジンのVOICEVOXをMac上のDocker Desktopで試す

音声合成エンジンのVOICEVOXをMac上のDocker Desktopで試す

商用・非商用問わず無料で利用できる(※)という、音声合成エンジンのVOICEVOXをMac上で試すために、OSS版を手元で動かしてみることにした。
(※詳しくは各キャラクターの利用規約を参照とのこと。また、下に貼ったVOICEBVOXの全体的な構成についても合わせてまずは読んでおくと製品とOSS版の違いなどもわかり、良い)

voicevox.hiroshiba.jp

上にも書いたが、VOICEBVOXの全体的な構成については下記のページに詳細に記載されているので、私のように初めて触る方はまずこちらを読んでおくと良い。

github.com

このVOICEVOXのソフトウェアの製品版のほうはMacには対応していないようだったが、OSS版を用いて自身のローカルで動かせば動かすことはできるので、今回は音声合成エンジンをMac上で動くDocker Desktop上で動かし実行してみることにした。

なお、VOICEVOXのエンジン部分はWebサーバとなっており、curlでリクエストすることで音声ファイルを生成することが可能となっている。

リポジトリはこちら。

github.com

mac上で音声を喋らせるまでの備忘録

以下、備忘録となる。
(といってもREADMEに書かれていることを実行しているだけ...)

まずはDockerを使ってエンジンを立ち上げる。

※久しぶりに自身の記事を見直した際に、公式のdockerコマンドの内容が変わっていたので最新のものに修正している

# dockerでサーバを立ち上げる
docker pull voicevox/voicevox_engine:cpu-ubuntu20.04-latest
docker run --rm -it -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-ubuntu20.04-latest

次にcurlを使って立ち上げたサーバに対して音声を喋らせる。
(基本的にコマンドはREADMEのものを記載しているが、最後の 音声ファイルを作成する 箇所のみ、こちらでURLにダブルクォートを付与している。(コマンドでエラーとなったため)

# しゃべるテキストをtxtに書き込む
echo -n "こんにちは、音声合成の世界へようこそ" >text.txt

# 音声を喋らせるためのquery?ファイルが作られる
curl -s \
    -X POST \
    "localhost:50021/audio_query?speaker=1"\
    --get --data-urlencode text@text.txt \
    > query.json
    
# 音声ファイルを作成する。
curl -s \
    -H "Content-Type: application/json" \
    -X POST \
    -d @query.json \
    "localhost:50021/synthesis?speaker=1" \
    > audio.wav

以上の手順を実行後、カレントに生成された audio.wavを再生することで生成された音声を聞くことができる。

特に詰まる箇所もなく喋らせることができたので良かった。

まだ触りたてなので、Hello Worldレベルのことしかできていないが、もう少し色々触ってみたいと考えている。

mac環境で利用できる音声生成について

以前、こちらのブログでmac環境で利用できる音声生成について書いた。

shinshin86.hateblo.jp

Macでこのようなことを試された方なら頷いていただけると思うが、Windowsに比べてMac環境は音声生成の選択肢が弱い。

今回のVOICEVOXのようにmac環境でも生成ができるというのは心強いので、もう少しこちらのツールを触っていけたらと考えている。