From a272814e11f4b801a503b52c084b888586975ba9 Mon Sep 17 00:00:00 2001 From: tarepan Date: Sun, 2 Jun 2024 16:17:04 +0900 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86:=20=E3=83=97=E3=83=AA?= =?UTF-8?q?=E3=82=BB=E3=83=83=E3=83=88=E3=81=B8=E3=83=A2=E3=83=87=E3=83=AB?= =?UTF-8?q?=E3=83=A2=E3=82=B8=E3=83=A5=E3=83=BC=E3=83=AB=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=20(#1346)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: プリセットへモデルモジュールを追加 * refactor: lint * Apply suggestions from code review * merge --------- Co-authored-by: Hiroshiba Co-authored-by: Hiroshiba Kazuyuki --- build_util/make_docs.py | 2 +- run.py | 2 +- test/e2e/conftest.py | 2 +- test/preset/test_preset.py | 4 +-- voicevox_engine/app/application.py | 2 +- voicevox_engine/app/routers/preset.py | 4 +-- voicevox_engine/app/routers/tts_pipeline.py | 2 +- voicevox_engine/preset/model.py | 25 +++++++++++++++++++ .../preset/{Preset.py => preset_manager.py} | 21 ++-------------- 9 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 voicevox_engine/preset/model.py rename voicevox_engine/preset/{Preset.py => preset_manager.py} (88%) diff --git a/build_util/make_docs.py b/build_util/make_docs.py index 0e040c6f3..d5e8a9b83 100644 --- a/build_util/make_docs.py +++ b/build_util/make_docs.py @@ -7,7 +7,7 @@ from voicevox_engine.dev.core.mock import MockCoreWrapper from voicevox_engine.dev.tts_engine.mock import MockTTSEngine from voicevox_engine.engine_manifest import load_manifest -from voicevox_engine.preset.Preset import PresetManager +from voicevox_engine.preset.preset_manager import PresetManager from voicevox_engine.setting.setting_manager import USER_SETTING_PATH, SettingHandler from voicevox_engine.tts_pipeline.tts_engine import TTSEngineManager from voicevox_engine.user_dict.user_dict_manager import UserDictionary diff --git a/run.py b/run.py index e1d5b9059..fdddfb80e 100644 --- a/run.py +++ b/run.py @@ -15,7 +15,7 @@ from voicevox_engine.cancellable_engine import CancellableEngine from voicevox_engine.core.core_initializer import initialize_cores from voicevox_engine.engine_manifest import load_manifest -from voicevox_engine.preset.Preset import PresetManager +from voicevox_engine.preset.preset_manager import PresetManager from voicevox_engine.setting.model import CorsPolicyMode from voicevox_engine.setting.setting_manager import USER_SETTING_PATH, SettingHandler from voicevox_engine.tts_pipeline.tts_engine import make_tts_engines_from_cores diff --git a/test/e2e/conftest.py b/test/e2e/conftest.py index e5c5af490..a1b895e68 100644 --- a/test/e2e/conftest.py +++ b/test/e2e/conftest.py @@ -10,7 +10,7 @@ from voicevox_engine.app.application import generate_app from voicevox_engine.core.core_initializer import initialize_cores from voicevox_engine.engine_manifest import load_manifest -from voicevox_engine.preset.Preset import PresetManager +from voicevox_engine.preset.preset_manager import PresetManager from voicevox_engine.setting.setting_manager import SettingHandler from voicevox_engine.tts_pipeline.tts_engine import make_tts_engines_from_cores from voicevox_engine.user_dict.user_dict_manager import ( diff --git a/test/preset/test_preset.py b/test/preset/test_preset.py index 9938037d9..c2c620f16 100644 --- a/test/preset/test_preset.py +++ b/test/preset/test_preset.py @@ -4,8 +4,8 @@ import pytest -from voicevox_engine.preset.Preset import ( - Preset, +from voicevox_engine.preset.model import Preset +from voicevox_engine.preset.preset_manager import ( PresetInputError, PresetInternalError, PresetManager, diff --git a/voicevox_engine/app/application.py b/voicevox_engine/app/application.py index e1ec0c849..d3822c701 100644 --- a/voicevox_engine/app/application.py +++ b/voicevox_engine/app/application.py @@ -21,7 +21,7 @@ from voicevox_engine.engine_manifest import EngineManifest from voicevox_engine.library.library_manager import LibraryManager from voicevox_engine.metas.MetasStore import MetasStore -from voicevox_engine.preset.Preset import PresetManager +from voicevox_engine.preset.preset_manager import PresetManager from voicevox_engine.setting.model import CorsPolicyMode from voicevox_engine.setting.setting_manager import SettingHandler from voicevox_engine.tts_pipeline.tts_engine import TTSEngineManager diff --git a/voicevox_engine/app/routers/preset.py b/voicevox_engine/app/routers/preset.py index 48d692d99..4c54aceb8 100644 --- a/voicevox_engine/app/routers/preset.py +++ b/voicevox_engine/app/routers/preset.py @@ -4,8 +4,8 @@ from fastapi import APIRouter, Body, Depends, HTTPException, Query -from voicevox_engine.preset.Preset import ( - Preset, +from voicevox_engine.preset.model import Preset +from voicevox_engine.preset.preset_manager import ( PresetInputError, PresetInternalError, PresetManager, diff --git a/voicevox_engine/app/routers/tts_pipeline.py b/voicevox_engine/app/routers/tts_pipeline.py index 6bc3ac7b5..a855e46c0 100644 --- a/voicevox_engine/app/routers/tts_pipeline.py +++ b/voicevox_engine/app/routers/tts_pipeline.py @@ -17,7 +17,7 @@ from voicevox_engine.core.core_initializer import CoreManager from voicevox_engine.metas.Metas import StyleId from voicevox_engine.model import AudioQuery -from voicevox_engine.preset.Preset import ( +from voicevox_engine.preset.preset_manager import ( PresetInputError, PresetInternalError, PresetManager, diff --git a/voicevox_engine/preset/model.py b/voicevox_engine/preset/model.py new file mode 100644 index 000000000..a4ae73c04 --- /dev/null +++ b/voicevox_engine/preset/model.py @@ -0,0 +1,25 @@ +""" +プリセット機能に関して API と ENGINE 内部実装が共有するモデル +「API と ENGINE 内部実装が共有するモデル」については `voicevox_engine/model.py` の module docstring を確認すること。 +""" + +from pydantic import BaseModel, Field + +from voicevox_engine.metas.Metas import StyleId + + +class Preset(BaseModel): + """ + プリセット情報 + """ + + id: int = Field(title="プリセットID") + name: str = Field(title="プリセット名") + speaker_uuid: str = Field(title="話者のUUID") + style_id: StyleId = Field(title="スタイルID") + speedScale: float = Field(title="全体の話速") + pitchScale: float = Field(title="全体の音高") + intonationScale: float = Field(title="全体の抑揚") + volumeScale: float = Field(title="全体の音量") + prePhonemeLength: float = Field(title="音声の前の無音時間") + postPhonemeLength: float = Field(title="音声の後の無音時間") diff --git a/voicevox_engine/preset/Preset.py b/voicevox_engine/preset/preset_manager.py similarity index 88% rename from voicevox_engine/preset/Preset.py rename to voicevox_engine/preset/preset_manager.py index 45de4e395..910d6835b 100644 --- a/voicevox_engine/preset/Preset.py +++ b/voicevox_engine/preset/preset_manager.py @@ -3,26 +3,9 @@ from pathlib import Path import yaml -from pydantic import BaseModel, Field, ValidationError, parse_obj_as +from pydantic import ValidationError, parse_obj_as -from voicevox_engine.metas.Metas import StyleId - - -class Preset(BaseModel): - """ - プリセット情報 - """ - - id: int = Field(title="プリセットID") - name: str = Field(title="プリセット名") - speaker_uuid: str = Field(title="話者のUUID") - style_id: StyleId = Field(title="スタイルID") - speedScale: float = Field(title="全体の話速") - pitchScale: float = Field(title="全体の音高") - intonationScale: float = Field(title="全体の抑揚") - volumeScale: float = Field(title="全体の音量") - prePhonemeLength: float = Field(title="音声の前の無音時間") - postPhonemeLength: float = Field(title="音声の後の無音時間") +from .model import Preset class PresetInputError(Exception):