【限】疑問に思ったこと
Added 2024-02-02 17:27:50 +0000 UTC結論までの話が少し長いんですが、付き合ってください
「UTAUでささやき(無声音)はうまく合成できない」
という暗黙(?)のルールがある。
これは半分くらい正解で、半分くらい間違っている。
…と思っていて意気揚々と記事を書いたんですが、実際に音源録ってみてから考えようぜ??ってやってみたら普通にUTAU上で合成できてしまったので、以下は無惨にも私が失敗するまでの過程を書いています。
正解だという点
・発端としてはresampler.exeが音程を認識できないとfrqを生成できず合成に失敗する。(なので息音素の後ろに「あ」がついていたり矩形波がくっついていたりする音源がある)// 今ではもう無いかもしれないし、他のエンジンなら無いかもしれない
・「楽譜データには音階があって、wavデータの音声の音程や長さを変形するぞ」というツールに、データ(音源)として音階が無い音源を与える。という行為自体がそもそも想定されていない……つまりUTAU音源はそもそも音階データありきであることが求められている。(同じことを二回書いた気がする)
間違っている点
・$direct=Trueにより、原音をそのままを再生することができる(「そのまま」なので、音程はもちろん伸縮もされない)
・「さ」の"s"の部分は"無声"であるのに、ちゃんと合成することができている
・「No Formant Filter」にチェックを入れることでリサンプラの気遣い(フォルマントフィルタ)をかけずに合成できるようになるので、BRE100のガサガサ声(理論上の無声音)もキレイに合成することができる
…つまり?
既にあるちょっと昔の音源のように、「息あ息」のように一纏めにしてしまえば、frqも生成できるし、息の部分だけになるように原音設定すればUTAU上で無声音である息のみを合成することもできた。
めでたしめでたし。
だったんだけど、
(※前提として、ややこしくなるので固定範囲内の音声合成と、伸縮部の音声合成の品質が異なるという前提は棚に上げてお話します※)
いわゆる「ささやき声」(=音程の無い声…文字だとこれ以上なんて言えばいいのかな…)"のみ"の音源を合成することがUTAUでできない、ということは今でも変わってないです。
というか、楽譜ってものには音程が付いてるからあたりめぇだろうと。
また、検索して出てくるUTAU音源の「ささやき音源」は大抵、音程がついています。なんか、ギリギリ音程がついてる掠れた感じの声の音源が「ささやき音源」というもの、超・弱音源として認識されているところがあります。でも、それらは「ささやき声」ではないです。
また、BRE100で擬似的なささやき声が生成できてしまうのでそれでいいじゃんという理論も相まって多分誰も困ってなかったんだと思います。
(BREパラメータについての説明;音声合成エンジンは、どうやって人間の声を合成しているかというと、単に音程を変えただけではコロスケ(もしくはチップとデール)になってしまいます。そこで、指定した音階にその音声を変形するためには、音程変形後の音声っぽい感じにする必要があります。そのときに変形する必要がある部分と変形すると不自然になる部分を別けて変形した上で、後で合体する(嘘じゃないですが合ってないので気になる人はちゃんと調べよう)のですが、そのとき「無声部」と「有声部」に音声を分解します。「無声部」は"ノイズ"とも言われる非周期的な音声のガサガサした部分で、「有声部」はいわゆる周期的な倍音などを含めた音程がある部分です。が、プログラム的に分解しているので必ずしも綺麗に分解できるそれぞれの領域を指しています。多分。しらんけど。)
ところがどっこい
ESPNet(COEIROINK)とやら音声合成したものは綺ン麗に「ささやき声のみ」を合成できています。
「やべーー!UTAUにはないメリットすげー!」
と、
おもっていたんですが、昨日、
「ささやき声とsin波を合体させたものを合成して、あとからsin波を引き算すればUTAUでもささやきがキレイに合成できるくね???」
と思いました。
つまりこう
前者の音と、後者の音声の合成条件は同じなので、周波数の上下を反転させたものを与えれば、sin波が無音化するはず……
と思ったんですが、実際にはそうはならず、むしろ音量が増す、という事態になりました。ぴえん。
まぁ……そう単純に周波数を足し引きできないのはフーリエ変換くんが物語っていますが、とても落胆しました。
だったんですが、
上でも言及していた「「No Formant Filter」にチェックを入れ、BRE100合成する」ことをダメもとでささやき声で音源を試しに収録して試してみたところ、なんとうまくいってしまいました。
これは単独音でテストしたんですが、ちゃんと連続音も録って試しました。
ちゃんとささやき声で歌っています。(原音設定してないのでところどころずれていますが)
(ちなみに何も設定しないままそのまま合成するとこうなります。↓
なので「UTAUでささやき(無声音)はうまく合成できない」という話になっていたんですね。)
結論
UTAUでもささやき声は合成できる。
(なんかこんな初歩的なことなだから、以前自分で検証してそうだったんですが…)
こちらのささやきUTAU音源は、近々配布できればなとは思っています。