Closed tarepan closed 9 months ago
Q「MockTTSEngine の役割は何か」
元々の目的が若干不明瞭ですが、過去の用途としてはrun.py
の--enable_mock
引数で使うことが主目的だったと思います。
製品版コアがなくてもWebAPIを起動できたり、UIをそこそこ確認できたりかなぁと。
UIをそこそこ確認
「UIで打ち込んだ文字が音声になるか」的な用途として OpenJTalk 音声出力は欲しい、という認識で合ってるでしょうか?
UIをそこそこ確認
「UIで打ち込んだ文字が音声になるか」的な用途として OpenJTalk 音声出力は欲しい、という認識で合ってるでしょうか?
そう・・・ですね! でも絶対欲しいというよりは、まあやっぱりあった方がいいよねくらいの気持ちです。 must / should / want / can だとwantよりちょっと上くらいの優先度かなと。 他に理由があれば省いても良いのかもと思いました・・・!!
質問の内容
質問概要:
MockTTSEngine
の役割は何かMockTTSEngine
はTTSEngineBase
を継承しTTSEngine
の Stub として機能するクラスである。一方で
.synthesis()
にて pyopenjtalk 合成を実装しており、単なる代理の値ではなく意味ある音声を返す実装となっている。このクラスが単なる Stub なのかそれ以上の意味をもつのかによって、行えるリファクタリングの範囲が異なる。
例えば「役割 ==
TTSEngine
Stub」であれば pyopenjtalk は廃止できる。「役割 == 軽量
TTSEngine
モドキ」であれば先日導入されたTTSEngine(MockCoreWrapper())
でも代用できる。「役割 == 軽量かつ音声主観評価可能な
TTSEngine
モドキ」であれば現在の.synthesis()
は妥当である。あるいは「役割 ==
TTSEngineBase
インターフェース実装の公式例」かもしれない。このような背景から、次の質問があります:
Q「
MockTTSEngine
の役割は何か」VOICEVOXのバージョン
0.14.10
OSの種類/ディストリ/バージョン