-
Notifications
You must be signed in to change notification settings - Fork 196
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
Refactor: 合成系モジュール群のディレクトリ構造統一 #822
Comments
良いと思いました! ディレクトリ名称について5分くらい考えてみました。 |
👍
(CoreWrapperはTTS以外の機能も担っているので一旦除外して考えます)
この議論を経て私が妥当そうに感じるディレクトリ名称案が以下になります:
(ディレクトリ名称の議論は短期的に無意味でも長期的なリーダビリティに大きく影響するので、慎重めに議論したいです) |
なるほどです、賛成よりです! 名称に関してですが、確かにエンジンという言葉は何でもかんでもありで、managerくらいの汎用性を持ってしまっているだろうなとは感じます。 あとは代表的な機能の名前をファイル名にするか、逆に汎用的な名前をファイル名にするかですが、この二択だったら後者かなと・・・。(特にそういう指南を受けたわけじゃないですが・・・。)
個人的にはこれは音を作るものなイメージがあって、テキストを解析する能力を持ってないイメージがあります。
AudioQueryを返せるより汎用的な概念であるということが分からないかもと思いました。
この三択だとこちらが一番無難かなと思いました。
こちらも賛成です! |
はい、同意です。この新モジュールが多数のAPIから利用されるのもその証左だと感じます。
👍
「synthesis ... これは音を作るものなイメージ」という意見と「汎用的な名前をファイル名」という意見がコンフリクトしているように見えます。
「パイプライン」という概念はどうでしょうか? これらの議論を経て(議論しても最高の結論は存在しなそうという合意も見つつ)次の名称を提案します:
|
確かにです! (なぜか
なるほどです、結構直感に合いそうです!!
どちらも良いと思います! |
👍
👍
依存PR一覧以下のPRsに依存しているため、これらマージ後に着手します: |
内容
要望: 合成系モジュール群のディレクトリ統一によるリファクタリング
現在の
voicevox_engine
は合成(日本語文/kana <-> アクセント句系列 -> 音素長・音高 -> 音声波形)機能をステップごとのモジュール(.pyファイル)に集約して管理している。以下はモジュールのディレクトリ構造に基づいた一覧である:
voicevox_engine
synthesis_engine
core_wrapper
synthesis_engine_base
synthesis_engine
acoustic_feature_extractor
mora_list
kana_parser
full_context_label
一方でこれらのモジュールの依存関係は以下になる:
すなわちcaller側の
synthesis_engine
/synthesis_engine_base
が深い階層に、callee側のモジュールが分類の無い浅い階層に存在している。このモジュール階層構造には依存関係の識別性を向上させる余地がまだある。
このような背景から、合成系モジュール群のディレクトリ統一によるリファクタリングを提案します。
Pros 良くなる点
Cons 悪くなる点
実現方法
以下のディレクトリ構造を提案(module_nameは名称変更):
voicevox_engine
synthesis
core_wrapper
synthesis_engine_base
synthesis_engine
acoustic_feature_extractor
mora_list
kana_parser
full_context_label
VOICEVOXのバージョン
0.14.10
OSの種類/ディストリ/バージョン
The text was updated successfully, but these errors were encountered: