こんにちは。AIバーチャルアシスタントのアプリを作ったりバーチャルアシスタントを造るためのフレームワークを公開していたりするうえぞうと申します。
こういったサービスの音声読み上げとして最適なのが、無償・商用利用可能・キャラクターが豊富・品質もよいと三拍子どころか四拍子も五拍子も揃ったVOICEVOXです。
VOICEVOXはファイル出力だけではなくREST APIとしても利用できるため、この記事ではWindows・Mac双方の超簡単なVOICEVOX APIサーバー立ち上げ手順についてご紹介したいと思います。
VOICEVOXのインストール
WindowsもMacも、公式ページからインストーラーをダウンロードしてください。
https://voicevox.hiroshiba.jp
あとは手順に従ってインストールすればOKです。簡単ですね!
ダウンロードしたプログラムは起動がブロックされる場合がありますので、正しくインストールされたことの確認を兼ねて一度VOICEVOXを起動しましょう。以下のような画面が表示されたらOKです。
実は、この状態で既にVOICEVOXをREST APIとして利用することができるようになっています。http://127.0.0.1:50021/docs にアクセスしてAPIドキュメントが表示されることを確認してみましょう。
ただ、この状態ではVOICEVOXに接続できるのは同じコンピューターの中で動作するプログラムに限られます。この記事では、LANの中やインターネット経由で別のPCやデバイスからアクセスできるようにする方法も含めて解説します。
ngrokのインストール
通常、インターネットからの通信をネットワークの中に通すためにはルーターに内向け通信の許可を設定する必要があり、その手間やリスクを考えるとちょっと躊躇しがちです。
そこで、ngrokというツールを使ってルーターの設定を変更することなくインターネットから接続できるようにします。まずは公式サイトでサインアップしたのち、ngrokをダウンロードしましょう。ZIPファイルを解凍して適当な場所に配置すればOKです。
次にngrokにトークンを登録します。これは初回だけです。
$ ngrok config add-authtoken <your_token>
なお、トークンはサインアップするとYour Authenticationのページで確認することができます。
これでngrokのインストールは完了です。
インターネット経由で利用できるようにする
それでは、VOICEVOXを外出先などロケーションを問わずインターネット経由で利用できるようにします。まずはVOICEVOXを起動しましょう。インストールしたあとに確認したように、http://127.0.0.1:50021/docs でAPI仕様にアクセスできることを確認してください。
次にngrokを起動します。これは50021番ポートで起動しているVOICEVOXを公開して、という意味になります。
% ngrok http 50021
ngrok by @inconshreveable (Ctrl+C to quit)
Session Status online
Account XXXXXXX (Plan: Pro)
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://ca02809567c9.ngrok.app -> http://localhost:50021
Forwarding https://ca02809567c9.ngrok.app -> http://localhost:50021
最後に表示されているURLがインターネット経由のhttp/httpsのURLになります。この例でいうとhttps://ca02809567c9.ngrok.app/docs
にアクセスするとAPIドキュメントが表示されます。
たとえばおしゃべりAIからこのサーバーを利用するには、設定画面のOtherタブを開いてVOICEVOX Engine Url
にこのURLを登録しましょう。
なおサブドメイン部分はngrokを起動する都度変化します。固定のものを割り当てたい場合はngrokの有料サブスクリプションに登録しましょう。
必要最小限の対応はここまでで完了です。VOICEVOXアプリを起動せずにバックグラウンドでAPIサーバーを起動する方法や、インターネットではなくLAN内の別デバイスから利用する方法については、需要がありそうでしたら別途記事にしたいと思います。
本番サービス運用に向けて
インターネット経由でVOICEVOXを利用できるようにするだけならば本記事の通りとても簡単ですが、一般公開するサービスにVOICEVOXを組み込むためには考慮すべき点が他にもあります。
特にパフォーマンス面については、以下の記事などを参考に慎重にキャパシティー設計と負荷試験を行うことをおすすめします。
また、自宅PCの余剰計算資源をサーバーとする場合も、Windows PCの場合はライセンス違反になる可能性があり、その点にも注意してください(CALで調べましょう)。
それでは、Enjoy VOICEVOX!