Ubuntu で VOICEVOX ENGINE の開発したいとき
VOICEVOX 0.2.0 をUbuntu 21.04環境へインストールする の続き
これまでの背景
前回の記事では、UbuntuでVOICEVOXを使うことができるようになりました。
同時に、フロントエンド側(VOICEVOXソフトウェア)の開発をするための環境整備ができました。
いっぽうで、APIサーバー側(VOICEVOXエンジン)については、必ずしもそうではありませんでした。
この数週間の試行錯誤から、現状について理解したことをまとめます。
- 結局エンジンは、製品版が必須(まだオープンソースになっていない部分がある)
- 公式READMEに書かれた手法を使って、製品版と開発中コードを組み合わせて実行できる
- これはWindowsのみサポート(バイナリは、Windows用にビルド済み)
- 既に知られているように、製品版はWineを使って実行可能
- LinuxやmacOSでの動作例報告あり
- VOICEVOX(主にエンジン)をDockerコンテナ化する事例が、複数公開されている
ということで、docker-composeを使って、製品版と開発中コードの組み合わせを一括起動・終了できるようにしてみました。
▷GitHubリポジトリ UnisonUnum
ドキュメント等、設定や使い方の説明を書けていないので、どなたでもすぐに使えるところまで作り込んでいないのですが、
Dockerやgitなどに慣れた方であれば、これを参考にして、開発環境の整備の手がかりになるのかなと思います。
方針
- 製品版のパッケージや展開後のサイズが非常に大きいので、コンテナ内にコピーせずに、volumeでマウントします
- サーバーのソースコードを開発しながら使う想定なので、これもvolumeでマウントします
- 製品版の前段に位置するサーバーでは、エンジンと同じFastAPI、Uvicornを使って実装します
- 今のところ単純にリクエストを後段へリダイレクトするだけの実装になっています
- 目的とする機能によっては、一度受けたリクエストを別途エージェントで中継するほうが良い
- 機能をmiddlewareとして実装することで、移植(エンジンに組み込む)できる(可能性がある)
- 今後は、VOICEVOXに独自の付加機能(連携するソフトウェア)を開発していきたい
構成図
実行時の記録(一例)
(/PATH_TO/UnisonUnum/docker)$ docker-compose up
Creating network "docker_default" with the default driver
Creating docker_voicevox_engine_wine_1 ... done
Creating docker_voicevox_engine_dev_1 ... done
Attaching to docker_voicevox_engine_dev_1, docker_voicevox_engine_wine_1
voicevox_engine_dev_1 | INFO: Started server process [9]
voicevox_engine_dev_1 | INFO: Waiting for application startup.
voicevox_engine_dev_1 | INFO: Application startup complete.
voicevox_engine_dev_1 | INFO: Uvicorn running on http://0.0.0.0:50021 (Press CTRL+C to quit)
voicevox_engine_wine_1 | 0090:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
voicevox_engine_wine_1 | 0090:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
voicevox_engine_wine_1 | 0090:err:systray:initialize_systray Could not create tray window
voicevox_engine_wine_1 | 0024:fixme:seh:EnumProcessModulesEx (FFFFFFFFFFFFFFFF, 0000000000000000, 0, 0000000000988E80, 2) semi-stub
voicevox_engine_wine_1 | 0024:fixme:seh:EnumProcessModulesEx (FFFFFFFFFFFFFFFF, 000000006042E270, 1672, 0000000000988E80, 2) semi-stub
voicevox_engine_wine_1 | INFO: Started server process [32]
voicevox_engine_wine_1 | INFO: Waiting for application startup.
voicevox_engine_wine_1 | INFO: Application startup complete.
voicevox_engine_wine_1 | INFO: Uvicorn running on http://0.0.0.0:50031 (Press CTRL+C to quit)
voicevox_engine_wine_1 | INFO: 172.19.0.1:41238 - "GET /docs HTTP/1.1" 200 OK
voicevox_engine_wine_1 | INFO: 172.19.0.1:41238 - "GET /openapi.json HTTP/1.1" 200 OK
voicevox_engine_dev_1 | Namespace(host='0.0.0.0', port=50021, use_gpu=False, voicevox_dir=PosixPath('/opt/voicevox'), voicelib_dir=None, backend_endpoint='http://127.0.0.1:50031')
voicevox_engine_dev_1 | INFO: 172.19.0.1:53220 - "POST /audio_query?text=%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%A7&speaker=0 HTTP/1.1" 307 Temporary Redirect
voicevox_engine_wine_1 | INFO: 172.19.0.1:41252 - "POST /audio_query?text=%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%A7&speaker=0 HTTP/1.1" 200 OK
Author And Source
この問題について(Ubuntu で VOICEVOX ENGINE の開発したいとき), 我々は、より多くの情報をここで見つけました https://qiita.com/isnot_naoto/items/935f369419f0e5f8af24著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .