Skip to content
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

ソング(ハミング)のモーフィング機能 #1422

Open
Hiroshiba opened this issue Jun 23, 2024 · 0 comments
Open

ソング(ハミング)のモーフィング機能 #1422

Hiroshiba opened this issue Jun 23, 2024 · 0 comments
Labels
機能向上 状態:設計 設計をおこなっている状態 要議論 実行する前に議論が必要そうなもの

Comments

@Hiroshiba
Copy link
Member

Hiroshiba commented Jun 23, 2024

内容

ソング・ハミング機能(というより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にしてみました。

@tarepan tarepan added 要議論 実行する前に議論が必要そうなもの 状態:設計 設計をおこなっている状態 labels Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
機能向上 状態:設計 設計をおこなっている状態 要議論 実行する前に議論が必要そうなもの
Projects
None yet
Development

No branches or pull requests

2 participants