-
Notifications
You must be signed in to change notification settings - Fork 126
Open
Description
内容
インターフェイスTextAnalyzer
を導入し、PythonやJavaのパブリックAPIでSynthesizer<T extends TextAnalyzer>
のような形にします。
TextAnalyzer
が取り得る型は次の通りです。
KanaParser | OpenJTalk | ((text: string) => AccentPhrase[])
Cなどの型引数の表現が難しい言語では、パブリックAPIとしては消去(erase)して単なるSynthesizer
として扱います。
Pros 良くなる点
- JPreprocessのような解析器を選択式で導入可能
- 再帰的に解析する機能(イメージ: ルビ機能を複雑にしたもの)をユーザーが実装できる
_from_kana
系のAPIを統合でき、OpenJtalk
をSynthesizer<OpenJtalk> | Synthesizer<()>
として持つ #694 で話したような設計も悩まずにすむ
Cons 悪くなる点
- 将来
(text: string) => AccentPhrase[]
という処理にあてはまらない手法を導入するときに困る?
実現方法
VOICEVOXのバージョン
N/A
OSの種類/ディストリ/バージョン
- Windows
- macOS
- Linux
その他
Hiroshiba