Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

追加: 音素 Literal 型 #942

Merged
merged 4 commits into from
Jan 2, 2024
Merged

Conversation

tarepan
Copy link
Contributor

@tarepan tarepan commented Dec 28, 2023

内容

音素に Literal 型を追加

VOICEVOX ENGINE ではドメインごとに「音素」があり、それらが相互変換される。
この変換は型レベルで保証が可能である。
そのためにはまず音素を型付けする必要がある。

このような背景から、Literal 型によるPhoneme 音素の型付けを提案します。

関連 Issue

#894 の前提条件

@tarepan tarepan requested a review from a team as a code owner December 28, 2023 02:50
@tarepan tarepan requested review from y-chan and removed request for a team December 28, 2023 02:50
Copy link

github-actions bot commented Dec 28, 2023

Coverage Result

Resultを開く
Name Stmts Miss Cover
run.py 507 339 coverage-33%
voicevox_engine/init.py 1 0 coverage-100%
voicevox_engine/cancellable_engine.py 93 72 coverage-23%
voicevox_engine/core_adapter.py 51 18 coverage-65%
voicevox_engine/core_initializer.py 59 30 coverage-49%
voicevox_engine/core_wrapper.py 224 159 coverage-29%
voicevox_engine/dev/core/init.py 2 0 coverage-100%
voicevox_engine/dev/core/mock.py 36 8 coverage-78%
voicevox_engine/dev/tts_engine/init.py 2 0 coverage-100%
voicevox_engine/dev/tts_engine/mock.py 26 0 coverage-100%
voicevox_engine/engine_manifest/EngineManifest.py 34 0 coverage-100%
voicevox_engine/engine_manifest/EngineManifestLoader.py 12 0 coverage-100%
voicevox_engine/engine_manifest/init.py 3 0 coverage-100%
voicevox_engine/library_manager.py 92 5 coverage-95%
voicevox_engine/metas/Metas.py 33 0 coverage-100%
voicevox_engine/metas/MetasStore.py 18 6 coverage-67%
voicevox_engine/metas/init.py 2 0 coverage-100%
voicevox_engine/model.py 163 9 coverage-94%
voicevox_engine/morphing.py 71 46 coverage-35%
voicevox_engine/part_of_speech_data.py 5 0 coverage-100%
voicevox_engine/preset/Preset.py 12 0 coverage-100%
voicevox_engine/preset/PresetError.py 2 0 coverage-100%
voicevox_engine/preset/PresetManager.py 80 2 coverage-98%
voicevox_engine/preset/init.py 4 0 coverage-100%
voicevox_engine/setting/Setting.py 11 0 coverage-100%
voicevox_engine/setting/SettingLoader.py 17 0 coverage-100%
voicevox_engine/setting/init.py 3 0 coverage-100%
voicevox_engine/tts_pipeline/init.py 3 0 coverage-100%
voicevox_engine/tts_pipeline/acoustic_feature_extractor.py 26 0 coverage-100%
voicevox_engine/tts_pipeline/kana_converter.py 86 1 coverage-99%
voicevox_engine/tts_pipeline/mora_list.py 4 0 coverage-100%
voicevox_engine/tts_pipeline/text_analyzer.py 132 6 coverage-95%
voicevox_engine/tts_pipeline/tts_engine.py 187 8 coverage-96%
voicevox_engine/user_dict.py 145 12 coverage-92%
voicevox_engine/utility/init.py 5 0 coverage-100%
voicevox_engine/utility/connect_base64_waves.py 37 0 coverage-100%
voicevox_engine/utility/core_version_utility.py 8 1 coverage-88%
voicevox_engine/utility/mutex_utility.py 13 0 coverage-100%
voicevox_engine/utility/path_utility.py 35 9 coverage-74%
voicevox_engine/utility/run_utility.py 10 7 coverage-30%
TOTAL 2254 738 coverage-67%

@tarepan tarepan mentioned this pull request Dec 31, 2023
@Hiroshiba Hiroshiba requested review from Hiroshiba and removed request for y-chan January 2, 2024 14:02
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

↑のPRと同様に、pydanticで型の保証までできると良いかもと思いました!
まあこちらは直接指定されることがないので、validation無しのLiteralで良いのかも。

Comment on lines 48 to 50
_PHONEME_LIST: Sequence[Vowel | Consonant] = (
_P_LIST1 + _P_LIST2 + _P_LIST3 + _P_LIST4 + _P_LIST5
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tupleのが意図にあってるかも?
ちょっとこちらで変えさせていただきます! 違ってたらすみません!

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

うーん! すみません、mypyのことをよく把握していなくてエラーが出てしまいました 🙇

これくらいは型推論してほしい気もしますが、とりあえず型指定しました・・・。
pydanticのvalidate使えばもう少しきれいに書ける気がします。。

@Hiroshiba Hiroshiba merged commit b4bc5b0 into VOICEVOX:master Jan 2, 2024
3 checks passed
@tarepan tarepan deleted the refactor/afe_type branch January 2, 2024 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants