VOICEVOX / voicevox_core

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

オリジナルキャラクターvvmの作成方法 #815

Open motodimago opened 1 month ago

motodimago commented 1 month ago

質問の内容

ものすごく素人質問で、申し訳ないのですが、 オリジナルのキラゃクターを作成してvvmに書き出す方法があれば知りたいです。

ドキュメントを読んで読んでみたいのですが、特にそれに関する記述が見つけられず もし可能であればそのへんのドキュメントがあるとさらにプロジェクトの発展に役立つかなと。

見当違いなことをいっていたら本当にすみません。

VOICEVOXのバージョン

0.20.0

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

その他

Hiroshiba commented 1 month ago

@motodimago オリジナルキャラクターでの作成は特にサポートしていません! なのでドキュメントはどこにもないと思います。

ただせっかくissueを作ってくださったので、なるべく真摯にお答えしたいと思います。 どういうことをやりたいか教えていただければ、もしかしたら何かお答えできるかもしれません。 (ものによってはかなり粗いお返事になりそうですが🙇)

motodimago commented 1 month ago

@Hiroshiba さま おおおお!すいません。メンションまでしていただいたのに通知のみがしていました🙏 やりたいことは、2点ありまして。

  1. 沢山キャラ作った場合に独自な音声をあてたい

  2. 特定のキャラのみのvvmを書き出したい

  3. 沢山キャラ作った場合に独自な音声をあてたい 既存の音声のピッチ等をいじってーとか思っていたのですが、バリエーション的に独自の音声を作れないと限界がきそうだなと

  4. 特定のキャラのみのvvmを書き出したい iPhoneアプリでの利用を想定しているので全部のモデル読んじゃうとメモリ的に他のことができなくなってしまうので、指定した声とスタイルだけ集めたvvmを書き出したいなと

メインの質問は1.ですが、フローがわかれば2.もできるようになりそうだなと思い、まずは1.の質問をさせていただきました。

ものによってはかなり粗いお返事になりそうですが🙇

取っ掛かりの部分で右往左往しているので、なにかヒントでもいただければ大変嬉しく思います🙇

Hiroshiba commented 1 month ago

なるほどです! たぶんお望みのことができる状況にないかもですが、お答えまで 🙇

  1. 沢山キャラ作った場合に独自な音声をあてたい

今のVOICEVOX音声を組み合わせるわけではなく、オリジナルな音声を合成できるvvmを自作するという感じでしょうか? キャラ用のonnxモデルを作れれば、VVMのファイルフォーマットに従えば自作できます! VVMについて https://github.com/VOICEVOX/voicevox_core/issues/815

が、onnxモデルを作る部分は公開していないため、そこから自作する必要があってかなり遠い道のりだと思います。

  1. 特定のキャラのみのvvmを書き出したい

今の製品版VOICEVOXのvvmの場合、これやっても実は容量とメモリ効率は変わらなかったりします。

motodimago commented 4 weeks ago

@Hiroshiba ありがとうございます!

今の製品版VOICEVOXのvvmの場合、これやっても実は容量とメモリ効率は変わらなかったりします。

今ある14個のvmmを1個にしたらメモリが使用量が減ったので、ほしいものだけ入れた1個にして読み込ませれるといいなと思ってます!

Hiroshiba commented 4 weeks ago

あれ、原理上メモリ使用量はほぼ変わらないはずですね…。 なにか僕の把握できてない点があるかもです! ちなみにsynthesizerに全vvmをloadだけした状態でのメモリ使用量でしょうか?👀

(追記)あっすみません勘違いしたかもしれません! 14個のうち1個だけ読み込んだ場合、14個読み込むよりメモリ使用量が減っていた、ということでしょうか? 原理上、ほしいものN個のスタイルだけまとめたVVMを1個作っても、メモリ使用量はもとのVVMの累計になるはずです…!

あとリンクを間違えていました、こちらです🙇 https://github.com/VOICEVOX/voicevox_core/blob/main/docs/vvm.md

motodimago commented 4 weeks ago

@Hiroshiba

14個のうち1個だけ読み込んだ場合、14個読み込むよりメモリ使用量が減っていた、ということでしょうか?

ですです!0番から始まるので全部で15個でした。

例えば四国めたん(ノーマル)と白上虎太郎(普通)だけほしい場合も0.vvmと9.vvmの2つを読みこないといけないですが、 四国めたん(ノーマル)と白上虎太郎(普通)だけ入ったvvmがあれば、1つだけ読みこめばOKになるのでその分軽くなるイメージでした。

リンクありがとうございます!見てみます🙏

Hiroshiba commented 4 weeks ago

あ、なるほどです・・・! となると認識に間違いはなさそうで、メモリ使用量は減らないです!

具体的には

例えば四国めたん(ノーマル)と白上虎太郎(普通)だけほしい場合も0.vvmと9.vvmの2つを読みこないといけないですが、 四国めたん(ノーマル)と白上虎太郎(普通)だけ入ったvvmがあれば、1つだけ読みこめばOKになるのでその分軽くなるイメージでした。

この場合、1つにしたとしても2つ分のメモリ使用量になります!

motodimago commented 4 weeks ago

あ、なるほどです・・・! となると認識に間違いはなさそうで、メモリ使用量は減らないです!

ありがとうございます! flutterでiOSで書き出しているんですが、読み込ませる量を変えるとあきらかにメモリ量が増えるので、通常使用と仕組みが違うのかもしれないですね!

Hiroshiba commented 3 weeks ago

えっと、こうですね!