-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
内容
#24 を完遂できたことにより、今の「コア」の役割をすべてエンジン内のPythonで実装することが可能になりました。つまり、「コア」という概念を消すことができるようになりました。
「コア」という概念を本当に消すかどうかと、消すとして段取りで進行していくかを議論したいです。
Pros 良くなる点
- 現VOICEVOX COREの役割を明確にできる。位置付けとしては、Gitに対するlibgit2のようなものになる (現在も半分以上はそう)。
- 現VOICEVOX COREは改名することになるが、それについては別途議論したい。
- 音声合成処理の大半部分が現在Pythonになっている理由としては、読み書きできる人が圧倒的に多く貢献も受けやすいため。今のコアの役割においてもこの恩恵を受けられるようになる。特にONNX Runtimeのオプション設定などが、Rustの読み書きをせずとも試せるようになる。
- Rustと比べて貢献のハードルを下げることができる、と言い換えることもできるかもしれない。現在まで(非rustaceanでありながら)COREを弄ることによりエンジン・エディタレベルの新機能を作ろうとした人は、私が覚えている限りではYちゃんさんとYosshi999さんしかいなかったような記憶。
- おまけとしてではあるが現COREの
compatible_engineと、ENGINEのコアハンドリング関係を不要にできる。
Cons 悪くなる点
- ENGINEの開発を主導する人が現状ヒホさんしかいない。そのためPython化したとしても、新機能の導入が爆速になるとは言えないかもしれない。
実現方法
今のVOICEVOX/voicevox_core/crates/voicevox_core/src/core/の実装を、抽象化を剥がしてENGINEに実装する。
ただし前もって次の2点は行っておく必要がある。
- 「古い声」のVVMを配布することで、古い「コア」が不要になるようにする (cf. voice versionという概念を導入する #77)
- VOICEVOX ONNX RuntimeのPython APIをビルドし、PyPIにアップロードする
VOICEVOXのバージョン
OSの種類/ディストリ/バージョン
- Windows
- macOS
- Linux
その他
Reactions are currently unavailable