-
Notifications
You must be signed in to change notification settings - Fork 122
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
[2月末リリース予定!] v0.16 #545
Comments
|
exampleの案内もタスクに含めておくと良いのかなとちょっと思いました! |
メモです!
開発者向けに、VVMのマニフェストの構造に関してのメモがどこかにあると良いなと感じました。
(とりあえずissueの編集がコンフリクトすると良くないのでここにメモって書いています) Pythonのテストを書くのもここに含めておくと良さそう?
|
三つとも追加しました。 |
追加ありがとうございます! |
あ、確定してませんでした... |
実際に製品版のVVMを作ろうとしていたのですが、以前できていたことができなくなっていることに気づきました。 マニフェストファイルって本来、対象がどういう情報を持っているかを外向けに公開するものな気がしてきました。バージョンとか名前とか。 |
製品版のvvmファイルを作成したので共有です! このvvmを読めるコアをプレビュービルド中です。 |
downloderがVVMを持ってくるべきか、持ってくるとしてどうするかを議論するためのissueを作ってみました! (後から探そうとしたとき用の検索用単語: ダウンローダー download ) |
@qryxip さんと話して、 は対応しないことに決めました! ということで後のタスクはサブタスクにちょくちょくなってる細々としたやつだけかも!! |
ダウンローダーがダウンロードするものを現状でレビューしてみました!
|
残ってるタスクについて、0.16時点での変更はマストではないけど、ちょっと考えたのでメモ: OpenJtalkにすべきかOpenjtalkにすべきかについて、多分将来的に増えていったら「頭だけ大文字」という規則になる気がする。 |
Pythonのドキュメントを眺めてみました!
|
VOICEVOX/voicevox_vvm#5, VOICEVOX/voicevox_vvm#9 を反映する。 BREAKING-CHANGE: VOICEVOX/voicevox_vvm#5 の反映。 Refs: #545
ちょっとこれについて詳しく議論していなかったと思います。ユーザーの皆様方が一年前の時点でVVMという存在を割とご存知であったことを考えると、ちょっとこれを無視するのは厳しいのではないかと思いました。 私からの提案としては、Android用Javaのリリースを一旦停止するというのはどうでしょうか?つまりこうです。 diff --git a/.github/workflows/build_and_deploy.yml b/.github/workflows/build_and_deploy.yml
index c91dd4be..3a2b9f5e 100644
--- a/.github/workflows/build_and_deploy.yml
+++ b/.github/workflows/build_and_deploy.yml
@@ -270,7 +270,7 @@ jobs:
${{ steps.build-voicevox-core-python-api.outputs.whl }}
target_commitish: ${{ github.sha }}
- name: Upload voicevox_core_java_api artifact
- if: fromJson(needs.config.outputs.deploy) && contains(matrix.target, 'android')
+ if: fromJson(needs.config.outputs.deploy) && contains(matrix.target, 'android') && false
uses: actions/upload-artifact@v4
with:
name: voicevox_core_java_api-${{ matrix.artifact_name }} JavaはRustと違って 0.15.0-preview.16のJavaなんか誰も使っていなかったというのであればよし。そうでなければそのときはそのときで、 #764 のあたりで復活させるということで。 |
まあたしかにリリースしてないものとするのは難しいかもですねぇ…。 このままビルドしたのが表に出ちゃうけどスルーして破壊的変更した0.17をしれっと出すか、 外すのもありだと思いますが、他の案だと難しそうでしょうか? |
すみません勘違いしました! |
#872 をやった理由は互換性の確保であるが、よく考えたらそれは #941 で達成 できており、むしろ`pause_length: ()`みたいなことをしてしまったために互換 性の邪魔になっている。さらに#872でやっている百数行のコードは、実際に VOICEVOX/voicevox_engine#1308 をやるときには用済みとなるようなものである ため、丸ごとリバートしてしまうことにした。 Refs: #545
内容
VOICEVOX COREのバージョン0.15をリリースするにあたってのタスクリストをここにまとめます。
Pros 良くなる点
changelogを書くために、一度ここにまとめていこうと思います。
async
化します。C APIでも並列実行をサポートする予定です。Cons 悪くなる点
実現方法
タスクリストは随時更新します。
tts
とかaccent_phrase
系get_version
等extern "C"
の生ポインタをABI互換のに置き換え #514&mut VoicevoxSynthesizer
(VoicevoxSynthesizer*
)を引数に取っている関数があるが、これを&VoicevoxSynthesizer
(const VoicevoxSynthesizer*
)にする&mut
が複数誕生すること自体が禁忌であるため、複数スレッドからの実行を禁止する必要がある。ただ非同期実行を念頭に置いたAPIであるので、規約で禁止するよりも内部可変性 (interior mutability)を持つ方向にした方がよい。tokio::task::spawn_blocking
で囲ったりするべきでは?[議論] プロセス分離などして、モデルの実行を同時にできるようにするべきか?Synthesizer
を複数コンストラクトしておけばcancellable_synthesisの機能を手直しし、「コアの並列実行機能」としてリリースする voicevox_engine#677のようにできるはずだが、それで並列実行がちゃんとできるのか?間違ったchar*
の解放を明示的に拒否する #500と[project-vvm-async-api] いくつかのC関数を定数にする #503を噛み合わせる ([project-vvm-async-api] mainをマージする #516 (comment))[project-vvm-async-api] Fix up #500 #521
StyleMeta
が漏れている_free
系のAPIについて (新クラス設計API #370 (comment))voicevox_{,synthesizer_}is_loaded_voice_model
#523voicevox_synthesizer_audio_query
→voicevox_synthesizer_create_audio_query
? (新クラス設計API #370 (comment))get_supported_devices_json
をfallibleに #502アイデア:C APIで、stderr以外からログを受け取れるようにする #556延期
cbindgenがextern const
へのコメントを吐いてくれないので、調査して対応を考える ([project-vvm-async-api] いくつかのC関数を定数にする #503 (comment))sort_by = true
にしてアルファベット順にするのはどうか? ([project-vvm-async-api] いくつかのC関数を定数にする #503 (comment))style_id
とかが生のint
のままだが、Rust API内のようにnewtype化すべきでは?NewType
を導入 #678new_with_initialize
は単なるnew
でいいのでは?OpenJtalk
ってよく考えたらOpenjtalk
かOpenJTalk
(pyopenjtalkはこれ)であるべきでは?OpenTtalkRc
があるが、肝心の「参照カウント型としての複製」のAPIが無いのでは?kana: bool
をやめ、"_from_kana"を復活させる #577inference_core
とstatus
の役割が似ているのでどちらかに統一する?SynthesisEngine
とInferenceCore
を解体する #686load_all_models
を廃止する #587VoicevoxResultCode
をC APIに移動 #580ErrorKind
として表現する #589tracing::error!
にする #600InvalidStyleId
,InvalidModelId
,UnknownWord
を…NotFound
にする #622UnloadedModel
→ModelNotFound
#623Error::InferenceFailed
にsourceとしてOrtError
を持たせる #668(Voicevox)Synthesizer
のはずだが、ドキュメントではいくつかVoiceSynthesizer
のままになっているタスクリスト (オプショナル)
VOICEVOXのバージョン
N/A
OSの種類/ディストリ/バージョン
その他
The text was updated successfully, but these errors were encountered: