We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
ソング・ハミング機能(というよりframe_synthesis)はWORLDを活用したモーフィングと相性が良く、機能として楽しそうかもです。
frame_synthesis
トーク側のモーフィングは、同じAudioQueryで生成した2種のボイス(スタイル)音声をworldで分解し、分解した領域で重み付き平均を取ったあと、worldで再合成しています。 この仕組み上、一度フレームレベルのf0の推論が挟まるので若干品質が下がるのですが、ソング側はフレームレベルのf0が最初から作られているので品質が保たれやすいかもしれません。 (でもVOICEVOXのソングエンジンはunvoice部分もf0を推論するので、結局worldでの分解は必要かも?)
それはさておき、オリジナルの歌声を作れて楽しいかなと。
品質が高めかも。 オリジナルの声を作れる。 キャラクターの歌声をちょっと味付けできる。
実装がややこしめ
方法が2つあると思います。
1つめが、トークと同じく2音声を分析→片方のf0を信用してスペクトログラム的なのだけ重み付き和→worldで再合成。 worldの分析誤差があるかもだけど、トーク側のコードを使いまわしたり共通化できたりしそう。
2つめが、frame_audio_queryが出したf0を信用してworldで2音声を分析→スペクトログラム的なのの重み付き和を取ってworldで再合成。 こっちのが処理は単純だけど、実装しないといけなそう。
品質良い方を採用するのが良さそう?
エンジンの新機能があると楽しそうだな〜と思い、前から考えてたのをissueにしてみました。
The text was updated successfully, but these errors were encountered:
本 Issue は直近 180 日間で活動がありません。今後の方針について VOICEVOX チームによる再検討がおこなわれる予定です。
Sorry, something went wrong.
No branches or pull requests
内容
ソング・ハミング機能(というより
frame_synthesis
)はWORLDを活用したモーフィングと相性が良く、機能として楽しそうかもです。トーク側のモーフィングは、同じAudioQueryで生成した2種のボイス(スタイル)音声をworldで分解し、分解した領域で重み付き平均を取ったあと、worldで再合成しています。
この仕組み上、一度フレームレベルのf0の推論が挟まるので若干品質が下がるのですが、ソング側はフレームレベルのf0が最初から作られているので品質が保たれやすいかもしれません。
(でもVOICEVOXのソングエンジンはunvoice部分もf0を推論するので、結局worldでの分解は必要かも?)
それはさておき、オリジナルの歌声を作れて楽しいかなと。
Pros 良くなる点
品質が高めかも。
オリジナルの声を作れる。
キャラクターの歌声をちょっと味付けできる。
Cons 悪くなる点
実装がややこしめ
実現方法
方法が2つあると思います。
1つめが、トークと同じく2音声を分析→片方のf0を信用してスペクトログラム的なのだけ重み付き和→worldで再合成。
worldの分析誤差があるかもだけど、トーク側のコードを使いまわしたり共通化できたりしそう。
2つめが、frame_audio_queryが出したf0を信用してworldで2音声を分析→スペクトログラム的なのの重み付き和を取ってworldで再合成。
こっちのが処理は単純だけど、実装しないといけなそう。
品質良い方を採用するのが良さそう?
その他
エンジンの新機能があると楽しそうだな〜と思い、前から考えてたのをissueにしてみました。
The text was updated successfully, but these errors were encountered: