From 8a2304a69557266bc90c97f6e16937bdc2e14d79 Mon Sep 17 00:00:00 2001 From: Hiroshiba Kazuyuki Date: Sat, 6 Nov 2021 11:08:25 +0900 Subject: [PATCH] =?UTF-8?q?=5F=5Ffile=5F=5F=E3=81=AE=E3=83=91=E3=82=B9?= =?UTF-8?q?=E3=81=8C=E5=A4=89=E3=82=8F=E3=81=A3=E3=81=A6=E3=81=97=E3=81=BE?= =?UTF-8?q?=E3=81=A3=E3=81=A6=E5=AE=9F=E8=A1=8C=E6=99=82=E3=81=AB=E3=82=A8?= =?UTF-8?q?=E3=83=A9=E3=83=BC=E3=81=AB=E3=81=AA=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run.py | 13 +++++++++++-- voicevox_engine/synthesis_engine.py | 13 +++---------- 2 files changed, 14 insertions(+), 12 deletions(-) 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: