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

整理: Character 内部型を追加 #1320

Merged
merged 8 commits into from
Jun 2, 2024

Conversation

tarepan
Copy link
Contributor

@tarepan tarepan commented May 24, 2024

内容

概要: Character 内部型を追加してリファクタリング

ENGINE は内部で Speaker インスタンスをトリッキーに扱っており(例: deepcopy、placeholder 代入)、これが性能低下・見通し悪化の原因になっている。
その原因は API BaseModel である Speaker を内部に流用した結果それに縛られていることにある(c.f. #1249)。
ゆえに ENGINE 内部に最適化した型をもてばこれを解決できる。

このような背景から、Character 内部型を追加するリファクタリングを提案します。

本 PR では第一段階として filter_speakers_and_styles() 関数内部でのみ利用する。
この活用だけでも deepcopy を削除でき、性能を向上できる(speedtest で GET /speaker_info 20% 高速化を確認済み)。
今後はキャストを API 側へ移し、内部での Character 利用範囲を段階的に広げていく方針である。

関連 Issue

part of #1313

@tarepan tarepan requested a review from a team as a code owner May 24, 2024 13:08
@tarepan tarepan requested review from Hiroshiba and removed request for a team May 24, 2024 13:08
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.

talker/singerという言葉は現れない方がわかりやすい気がしました!
とりあえずコメントまで 🙇

voicevox_engine/metas/MetasStore.py Outdated Show resolved Hide resolved
voicevox_engine/metas/MetasStore.py Outdated Show resolved Hide resolved
@tarepan
Copy link
Contributor Author

tarepan commented May 28, 2024

@Hiroshiba
全指摘箇所の反映・テストパスを確認しました。Re-review よろしくお願いします。

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!!

高速化嬉しいです!
そもそもdeepcopyを取ってたのは流石に身長になりすぎだったかもと感じました!

voicevox_engine/metas/MetasStore.py Show resolved Hide resolved
@Hiroshiba Hiroshiba merged commit b970431 into VOICEVOX:master Jun 2, 2024
4 checks passed
@tarepan tarepan deleted the refactor/character_internal branch June 2, 2024 16:12
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