VOICEVOX / voicevox_core

無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのコア
https://voicevox.hiroshiba.jp/
MIT License
835 stars 115 forks source link

ディレクトリをVVMとして扱えるようにする #793

Closed qryxip closed 1 month ago

qryxip commented 2 months ago

内容

ZIPに加えてディレクトリをVVMの形式として扱うようにします。

例えば #791 でのsample.vvmであれば、/model/sample.vvm/を直接VVMとして扱うことでtest_util/data下にsample.vvm (ZIP)を作らなくてよくなります。

Pros 良くなる点

Cons 悪くなる点

実現方法

VOICEVOXのバージョン

N/A

OSの種類/ディストリ/バージョン

その他

Hiroshiba commented 2 months ago

良さそうに思いましたが、結局テストしないといけない経路がzipとディレクトリの2つになるだけかもと気づきました・・・!

結局zip vvmを作ってそれをテストするコードは必要ですが、逆にzip vvmに依存するテストをそれだけにすることはできるとは思います。 という条件は入っちゃいますが、開発環境が良くなるなら賛成です!採用する場合、ディレクトリも読める機能はサポート対象じゃない形にしとくと楽そう。

qryxip commented 2 months ago

逆にzip vvmに依存するテストをそれだけにする

そうですね。なんならそのテストはunit testでもよさそう (ZIP自体はtest_utilで$OUT_DIR下に作るとして)。

ディレクトリも読める機能はサポート対象じゃない形にしとくと楽そう

テストが上記の方針であれば残るはパブリックAPIとしてどうなのという話でしかないので、それがいいですね。あと実行時にディレクトリ形式を読むときはINFOレベルのログで何か言っておくといいのかも。ディレクトリ{path}をVVMとして読み込みます(note: ディレクトリ形式の読み込み機能は、本ライブラリのテストとデバッグを目的にしたものです)とか。

Hiroshiba commented 1 month ago

@qryxip ログを吐く形、ありに思いました!noteの方はwarnでも良いかも。

あるいはテスト時だけディレクトリでも読めるようにするのもありかも? (追加行数が5行ぐらいで済むのであれば)

とりあえず賛成の気持ちです!

Hiroshiba commented 1 month ago

あ~。実装を見て理解しました。 サンプルでvvmを読み込むのがちょくちょくあって、そのサンプルもディレクトリ指定可能にすると良さそう的な感じでしょうか。

う~~~~~~~~~~~~~む。 まあ。。流石に公式でサポートしていない機能を、公式がサンプルとして提供するのは良くない気がしますね。。

qryxip commented 1 month ago

ですね。あとVoiceModelの実装の改修も #791 と同レベル程度には手間がかかりそうでした。

うーん、やめましょうか!

Hiroshiba commented 1 month ago

なるほどです。 賛成です・・・!クローズさせていただきます!!