22
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【超簡単】自分専用のVOICEVOXサーバーを立てる

Posted at

こんにちは。AIバーチャルアシスタントのアプリを作ったりバーチャルアシスタントを造るためのフレームワークを公開していたりするうえぞうと申します。

こういったサービスの音声読み上げとして最適なのが、無償・商用利用可能・キャラクターが豊富・品質もよいと三拍子どころか四拍子も五拍子も揃ったVOICEVOXです。
VOICEVOXはファイル出力だけではなくREST APIとしても利用できるため、この記事ではWindows・Mac双方の超簡単なVOICEVOX APIサーバー立ち上げ手順についてご紹介したいと思います。

VOICEVOXのインストール

WindowsもMacも、公式ページからインストーラーをダウンロードしてください。
https://voicevox.hiroshiba.jp

あとは手順に従ってインストールすればOKです。簡単ですね!
ダウンロードしたプログラムは起動がブロックされる場合がありますので、正しくインストールされたことの確認を兼ねて一度VOICEVOXを起動しましょう。以下のような画面が表示されたらOKです。スクリーンショット 2023-04-20 18.10.07.png

実は、この状態で既にVOICEVOXをREST APIとして利用することができるようになっています。http://127.0.0.1:50021/docs にアクセスしてAPIドキュメントが表示されることを確認してみましょう。

スクリーンショット 2023-04-20 18.13.07.png

ただ、この状態では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を公開して、という意味になります。

Windows・Mac共通
% 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を登録しましょう。
engineurl.jpg

なおサブドメイン部分はngrokを起動する都度変化します。固定のものを割り当てたい場合はngrokの有料サブスクリプションに登録しましょう。

必要最小限の対応はここまでで完了です。VOICEVOXアプリを起動せずにバックグラウンドでAPIサーバーを起動する方法や、インターネットではなくLAN内の別デバイスから利用する方法については、需要がありそうでしたら別途記事にしたいと思います。

本番サービス運用に向けて

インターネット経由でVOICEVOXを利用できるようにするだけならば本記事の通りとても簡単ですが、一般公開するサービスにVOICEVOXを組み込むためには考慮すべき点が他にもあります。
特にパフォーマンス面については、以下の記事などを参考に慎重にキャパシティー設計と負荷試験を行うことをおすすめします。

また、自宅PCの余剰計算資源をサーバーとする場合も、Windows PCの場合はライセンス違反になる可能性があり、その点にも注意してください(CALで調べましょう)。

それでは、Enjoy VOICEVOX!

22
19
3

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
22
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?