-
Notifications
You must be signed in to change notification settings - Fork 117
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を読めるコアをプレビュービルド中です。 |
今 voicevox_core/crates/voicevox_core/src/voice_model.rs Lines 29 to 36 in 9ae1110
構造としては次のうちどちらかにするのがよいかと思います。
1.のconsとしては
というのがあると思います。個人的には2.の |
なるほどです!少なくともデメリットが大きいので1は避けたい…! 個人的には2の方針にプラスで、ファイルディスクリプタはプライベート変数で持たせて、ファイルへの参照を持ってることはドキュメントで案内しつつ、load等はRust API内で完結させるのがメンテの面で楽かなと思いました! |
0.15リリース時にユーザー向けのドキュメントを1ファイルほど追加しようかなと考えてて、まだ固まってないのですがメモ書きがてら共有&相談です 🙏 何が必要か・どこに書くかを考えてたんですが、とりあえず 書く内容の候補は「コアを使いたい人が使い方の流れがわかるもの」にしようかなと。
何にせよ、とりあえず1回書いてみないとちょっとわかんないなと思っています。方針としておかしな点とか考慮すべき点とかあれば 🙏 |
API referenceと独立して作るのは良いと思います。docs下に置くなら慣習的な名前だとusage.md, quickstart.md, guide.mdあたりでしょうか? 個人的にはguide.mdに一票を入れたいと思ってます。 コード例などが混じる言語依存の説明については、
素のGFMでもこんな感じでいけるかと。 Pythonfrom voicevox_core import Synthesizer Rustuse voicevox_core.Synthesizer; Javaimport jp.hiroshiba.voicevoxcore.Synthesizer; C#include "./path/to/voicevox_core.h" |
自分もいろんな言語でのコードサンプルを書くのに賛成です! |
このあたりはやっておいた方がよいかなと思いました。
|
#704 も入れました。 - [ ] APIの変化についてドキュメントを残す([keep a changelog形式](https://keepachangelog.com/en/1.1.0/)のような手書きのリリースノートとか)
+ - [ ] #704 |
@qryxip それら5つに関しての優先度感的には、全部shouldとwantの間ぐらいかなと思いました! |
スケジュールの引き直しをしたいのですが、12月の後半と1月いっぱいはVOICEVOX全体が他のタスクでいっぱいいっぱいになる予感がしていて、そこらあたりのリリース予定を現状で立てづらいという思いがあります。
@qryxip さん的な思いを伺えると嬉しいです・・・! 🙇 |
予定のバージョンとリリース予定日が変わったので、タイトルをちょっと変えさせていただきます! |
@Hiroshiba さん、 @y-chan さん、 @qryxip の3名で行った2024-03-04のミーティングから:
ただし今となっては、これより遅れる予定。 |
最近のVOICEVOX COREの開発優先度についてヒホと @qryxip で議論したののメモ
|
内容
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: