VOICEVOX / voicevox_engine

無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXの音声合成エンジン

Home Page:https://voicevox.hiroshiba.jp/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Hiroshiba opened this issue · comments

内容

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