diff --git a/run.py b/run.py index 63e3bf21b..2b9dc6a61 100644 --- a/run.py +++ b/run.py @@ -7,7 +7,7 @@ from functools import lru_cache from pathlib import Path from tempfile import NamedTemporaryFile, TemporaryFile -from typing import List +from typing import List, Optional import numpy as np import pyworld as pw @@ -596,12 +596,21 @@ def speaker_info(speaker_uuid: str): parser.add_argument("--voicevox_dir", type=Path, default=None) parser.add_argument("--voicelib_dir", type=Path, default=None) args = parser.parse_args() + + # voicelib_dir が Noneのとき、音声ライブラリの Python モジュールと同じディレクトリにあるとする + voicelib_dir: Optional[Path] = args.voicelib_dir + if voicelib_dir is None: + if args.voicevox_dir is not None: + voicelib_dir = args.voicevox_dir + else: + voicelib_dir = Path(__file__).parent # core.__file__だとnuitkaビルド後にエラー + uvicorn.run( generate_app( make_synthesis_engine( use_gpu=args.use_gpu, + voicelib_dir=voicelib_dir, voicevox_dir=args.voicevox_dir, - voicelib_dir=args.voicelib_dir, ) ), host=args.host, diff --git a/voicevox_engine/synthesis_engine.py b/voicevox_engine/synthesis_engine.py index 2f9234dd9..e98a5a757 100644 --- a/voicevox_engine/synthesis_engine.py +++ b/voicevox_engine/synthesis_engine.py @@ -484,8 +484,8 @@ def synthesis(self, query: AudioQuery, speaker_id: int): def make_synthesis_engine( use_gpu: bool, + voicelib_dir: Path, voicevox_dir: Optional[Path] = None, - voicelib_dir: Optional[Path] = None, ) -> SynthesisEngine: """ 音声ライブラリをロードして、音声合成エンジンを生成 @@ -494,12 +494,11 @@ def make_synthesis_engine( ---------- use_gpu: bool 音声ライブラリに GPU を使わせるか否か + voicelib_dir: Path + 音声ライブラリ自体があるディレクトリ voicevox_dir: Path, optional, default=None 音声ライブラリの Python モジュールがあるディレクトリ None のとき、Python 標準のモジュール検索パスのどれかにあるとする - voicelib_dir: Path, optional, default=None - 音声ライブラリ自体があるディレクトリ - None のとき、音声ライブラリの Python モジュールと同じディレクトリにあるとする """ # Python モジュール検索パスへ追加 @@ -525,12 +524,6 @@ def make_synthesis_engine( file=sys.stderr, ) - if voicelib_dir is None: - if voicevox_dir is not None: - voicelib_dir = voicevox_dir - else: - voicelib_dir = Path(__file__).parent # core.__file__だとnuitkaビルド後にエラー - core.initialize(voicelib_dir.as_posix() + "/", use_gpu) if has_voicevox_core: