-
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
0.16用のVVMダウンロードの流れ議論issue #922
Comments
個人的な意見をリストアップしてみます! ダウンローダーにVVMダウンロード機能を持たせるべきか引き続き持たせた方が便利そう! どこからVVMファイルをダウンロードするか今はコアのreleases内にあるmodel.zipに全部入れるけど、これからはvoicevox_fat_resourceから直接ダウンロードするようにしても良いかも? ダウンローダーがデフォルトでどのバージョンのVVMを持ってくるかそのコアバージョンに対応する vvm を持ってこれると便利そうではある。 今はたぶんコア.dllが配布されてるreleasesと対応するvvmがmodel.zipとして降ってきてるから、コアのバージョンを指定すればそれに対応するvvmを持ってくる実装になってそう。 仮にvvmを (追記)あるいは今まで通りとりあえずlatestを持ってくる仕様でも良いかも・・・? ダウンローダーで利用規約を表示するか可能ならダウンロードでダウンロードする時にVVMの利用規約を表示して、規約に同意する時のみダウンロードするようにしたい。 vvmなどのディレクトリ構造をどうするかこれはちょっと自明じゃなさそう。 root まとまってないけど一旦コメントまで 🙇 とりあえずどうしましょう。。。。。 |
賛成です。
同じく賛成。 [追記] 利用規約のSHA-256を鍵としたAESでVVMを暗号化しておく、というアイデアを前話したと思うのですが、費用対効果は…うーん…
この二つのハイブリッドはありかも。基本的にlatestだけど、ダウンローダーが知らないやつだったらやんわりとwarningを出す感じで。
賛成。ただvoicevox_onnxruntimeも同様にした方がよいですね。
後者ですかね。VVMという形式自体の利用規約は共通のはずですし。 それとは別にVVM内に利用規約を埋め込むというのはありかもしれません。 [追記] コアの実行時に、 …まあそこまでやると利便性にも影響が出そう。 +VVORT_EULA_SHA256 = b"…"
+VVM_EULA_SHA256 = b"…"
+
+voicevox_core.agree_to_eula({VVORT_EULA_SHA256, VVM_EULA_SHA256})
vvort = await Onnxruntime.load_once()
ojt = await OpenJtalk.new(…)
synth = Synthesizer(vvort, ojt, …)
よさそう。
ダウンローダーで利用規約を表示するなら"eula"でよさそうな気がします。 |
@qryxip ちょっといろいろ追加で考えたので一旦メモ&相談まで!!
(メンテナとしての思考メモ)
基本的にlatestにするのなるほどです! 一旦この形が良さそう!
ハッシュ値を入力必須にする案は、たぶん利用規約が変わったときに気付けるようにって感じですよね! あと利用規約同意についてはダウンローダーにスキップ用の引数持たせる手も考えてましたが、まあ「y/N」聞いてyならダウンロードする実装だけにするのが一旦良さそうだなと思いました!
term.mdにするかeula.mdにするかについて、色々調べた感じぶっちゃけeulaのほうが合ってそうですが、ちょっと表記揺れすると管理大変なので一旦term.mdで行こうかなと思ってます 😇 とりあえず更に良い案なければVVM用のリポジトリ作ってそっちにVVM入れて、適当に |
理由も含め賛成です。バージョンも
ふと思い付いたのですがVVMのバージョンをSemVer風のx.y.zにするなら、SemVerとして解釈してしまってパッチバージョン違いならwarningを出さない、という形もありかも?
まず前提として、voicevox_onnxruntimeとモデルを自動で(i.e. 非TTYで)ダウンロードしたい人は我々以外にも一定数要ると思います。その人達に対しては「yの代わりに
これについての私の意図としては、"SHA-256の値はハードコードしてくれ"という案内とセットでやれば効果を発揮できないかなと思ってました。その前提のもと、「スキップ用の引数」に使えないかなと。あるいは 規約の改定の際には多分「遡及」が発生しますが、それでも一度は見た利用規約に対してyesと言うことになるだけなので、そこは別によいかなと。 …まあENGINEは今そういうことをしていないし、CUDAとかも同様なので、こういった努力自体そもそもやんなくてもよいといえばよいかも。実際にVOICEVOXの利用規約を改定せざるを得なくなったシナリオを想像するとちょっと怖いかもしれませんが。
まず今公的に表示している"利用規約"は次のものがあると思います。
("terms"でもなく)"term"としているのは1.のみで、この1.のURLはあまり意識されされてなさそうな気がしています。なので"eula"に転換することは今ならまだできるのではないかと思ってます。 "term.md"にする場合、それが"license.md"や"eula.md"と同等のものだと、非日本語話者に至るまで一撃で理解できるかという点を一度考えた方がよいんじゃないかなという気がしています。 |
あ、まさにそういうことができるようリポジトリを分ける提案をした感じです!
この件ですが、やっぱり"一旦"この経路のみにしたいです! まずSHA256の件は、ちょっとわかってないんですけれども多分何も防げてなく、ただ利便性が下がるだけな気がしてます。 迂回するための引数を用意するかですが、一旦なしでお願いしたいです! ちなみに何かしらの方法でここの
terms.mdにしましょうか! ぶっちゃけここのファイル名はユーザーに全く提示されず(READMEから参照する際は別のタイトルをつけるだろうし、ダウンローダーからはこのファイル名が出ない)、自転車置き場の屋根の色の議論なので、あえて議論を避けて進んだほうがVOICEVOXのためになりそう。 |
あ、だとすると
VOICEVOX/voicevox_engine#709 の際には注意が必要そうですね。
"全く"というのは異議がある(例えば"モデルの利用規約が書かれたURL"が必要になるケースがありうる)のですが、了解しました。 |
VVM用のリポジトリ作ってみました! https://github.com/VOICEVOX/voicevox_vvm 実際にVVMを配置するプルリクも作ってみました。 これがマージされたら、とりあえずrelease(というかタグ)を切るつもりです 🙏 |
内容
ダウンローダーでVVMをダウンロードできると良さそうですが、どのような流れにするかはまだ明確に決まってません。
ここで議論できればなと!
その他
今まで方針についての議論があったか調べてみたのですが、おそらくほとんど何も決まってなさそうでした!
関連しそうなリンク:
The text was updated successfully, but these errors were encountered: