Skip to content

Commit

Permalink
__file__のパスが変わってしまって実行時にエラーになる
Browse files Browse the repository at this point in the history
  • Loading branch information
Hiroshiba committed Nov 6, 2021
1 parent 9a06cab commit 8a2304a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 12 deletions.
13 changes: 11 additions & 2 deletions run.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down
13 changes: 3 additions & 10 deletions voicevox_engine/synthesis_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
"""
音声ライブラリをロードして、音声合成エンジンを生成
Expand All @@ -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 モジュール検索パスへ追加
Expand All @@ -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:
Expand Down

0 comments on commit 8a2304a

Please sign in to comment.