HANASU用CVCについて考えてみた | チラシの裏 ~UTAU調声メモ~

チラシの裏 ~UTAU調声メモ~

UTAUの調声の話を中心に、初心者向けの使い方からうまく歌わせるコツ・ニッチなネタまで、独断と偏見で書いています。

初稿:2016年10月


【UTAU】HANASU用VCVC音源デモ【VCVC?】



これが凄かったので、妥協してCVCで網羅率を上げられないか考えてみた。
あとVCVCって繋ぎ方は実質VCV(たぶん)なので、CVCにしたら母音クロスフェードを避けられるんじゃないかと。

VCV(連続音)ですらエイリアス数やべぇのにCVCで完全網羅できるわけがない(HANASU用の収録はめちゃくちゃ早く終わるけど原音設定の手間を考えると死ぬ)
というわけでリストも適当な既存文章を読み上げるだけの手抜きっぷり。
青空文庫という著作権切れ小説の宝庫があるのでおすすめ。

CVCだと母音長が固定されてしまうんだけど、喋りだから別に固定されててもよくない?という安易な考えで見切り発車。原音長のバラ付きは見なかったことにする。別にテンポを揃えて収録とかはしない
(このへん実際やってみないとわからない)


以下、手作業で軽く実験してみましたがツールがないとやってられねぇ!ってことがわかったので、あまり細かい検証ができてない考察です。
私はUTAわせるのに忙しいのであとはHANASU勢の方よろしくお願いします。
歌用音源にオマケで少なめのHANASU用音源とかつけても面白いかもね!とか色々考えているので、うまくいったらTwitterあたりに報告ください。


-----------------------------------------------------


○方針
・母音クロスフェードを避ける。できるだけCVCで足りない部分のみCVVC
・CVは最低限すべて揃えたい。それ以外はなかったら諦める
・母音(_あー、_いー、_うー、_えー、_おー、_んー、_ンー)は単体でも録る
 読み上げだと特に「ン」が連発するので必ず「ん」と分けて扱うこと
・CVすらない音素について、読む前に足りない音素を特定するツールを作って足りないCVだけの呪文を作るか、まとめ録りの単独音リストを用意しておき、文章収録時にいっしょに録る
 (リスト網羅率チェックと言えばpCovというソフトがあるが使い方がうろ覚えなので深くは触れない)



○収録
・青空文庫の文章を読む。(テストでは白雪姫)
・できるだけ同じぐらいの速さでゆっくりめに読む。
・内容には意味がないので、読み間違い等気にしない。
・言い回し(敬語等)や登場人物によって網羅率に偏りが出るので複数作品から少しずつ文章を集めたほうがいいかも?
・読み上げスピードにもよるが10分も収録すれば十分っぽい。
・テスト収録ではDAWで録って一旦1本のwavとして書き出した。
・+CV補完文章と母音を収録

○wav分割
・テキストをメモ帳等にコピペ
・ひらがな変換して、は→わ、を→お等置換して、その他読み方にあった"かな"に書き換える。
 (oto.ini作成に使うので読んだ音声に合わせる)
・読み上げの切れ目や文末には[、。]等をつける。
・無声化部分はあとでどうにかするので今は気にしない。
・文頭に数字とアンダーバーをつける(001_むかしむかし~)。たぶん一括でできるソフトがある
・Audacityでファイル名をラベルに貼って複数ファイル一括書き出し。
 もしくは、Audacityで数字のラベルを貼って書き出し、ファイルリネーマーで文章を付け足すとか?

○OREMOで録るなら
文章をひらがなにして先頭に数字_をつけ、録音リストとする。
収録後、読み間違いや読み方に合わせて多少ファイル名を修正する必要が出てくる。

○oto.ini雛形作成
<oto.ini作成ツール>
・ファイル名から、CVC(かs),VC(a s),VV(a い),- V(- あ),CVR(かR),VR(a R)のエイリアスを作成。
・重複は3つぐらいまで?歌用と違って収録音程によるエイリアス設定ができないので多めに重複させておく。数字を振る
・CVC部分の先行発声とオーバーラップさえあっていれば、左ブランク位置は適当に順番に並んでいればいい(どうせ読む速度が一定でないので)
・mkototempやれんたんさんのような、先行発声・オーバーラップ・子音の文字を設定するファイルが要りそう
 (うちのCVVCっ子はマ行とミャ行、カ行とキャ行を同じVCで合成したりする。このほうが必要音素が減るので同じ文章でも網羅率が上がる)
・重複させまくる必要が出てくるかもしれないので子音表記に数字は使いたくない
・後ろが違う母音の場合(かいて等)、[かi]になる。長音からCV(か)を切り出す。
・後ろが喉切り母音の場合[かi・]になる。原音設定時に手動で判別して「・」をつける
・母音wavからは- Vと* Vを切り出し
・先頭CVとフレーズ中CVはごちゃまぜ。網羅率の関係で分けてられない

○原音設定
・CVCは左ブランク、先行発声、オーバーラップをCVに合わせて設定
 固定範囲はVとCの間、右ブランクは適当
 母音始まりに先行発声、母音終わりに固定範囲を置くことで母音長を設定しておく
・CVRは固定範囲と右ブランクを語尾音と同様に設定
 (発音が終わったあとに伸縮範囲がくる)
・他はCVVCと同じ
・長音からCVが切り出せなかったら適当に綺麗そうなところから複製して切り出す。エイリアス複製さんが使える?
・無声音化されている部分は[しt]→[sht]のように書き換え。
 先行発声はshの終わり、[i t]の時と似たような感じで設定
・右ブランクはかならずマイナス値で設定すること
・周波数表は普通にSpeedwagonでどりゃーっと

○打ち込み
UTAUの歌詞のとこに読ませたい文章をひらがなで入力して「歌詞で挿入」
BPM125に固定?

○プラグインで変換
<専用ツール(変換機能)>
・先頭ノートかつ母音の場合- Vに変換。
・促音「っ」はVCに変換
・CV:後ろの文字にあった子音をつける。か→かs
 CVCがなかったら変換せず、うしろにVCノートを挿入
・V:連続音のように変換。なかったら* Vに変換。
 どちらの場合もうしろにVCノートを挿入
・文末のノートがCVの場合Rをつける。
 CVRがないorVの場合、うしろにVRノートを挿入
・oto.ini作成ツールと同じ設定ファイルが使いまわせたらいいな

○調声
まずはピッチを雑に設定。音素選択の参考になる。あとでノート長が変わるので適当に。
無声化とかする。[そsh][sht][て]、[で][e s]等
音素選択プラグインで重複音素を色々鳴らしてみて使う音素を確定
プラグインで長さ調節

<専用ツール(長さ調節機能)>
・原音設定からノート長を算出
 CVC:母音長(=固定範囲-先行発声)+次の子音長
 CV,V:母音長(=-右ブランク-先行発声)+15ms(補正値)
 VC:次の子音長
 語尾:無音まで(=固定範囲-先行発声)
・次の子音長 is 次のノートの先行発声値
 (オーバーラップが負の場合は先行発声-オーバーラップ)
・1msあたりのtick:480/(60000ms/BPM) →BPM125で1tick=1msになる
・(上記のノート長ms/子音速度*100)*(480/60000ms*BPM) =ノート長(ticks)
・ノート長は整数にすること

○調声続き
促音のノート長は手動で直す
ピッチを真面目に設定
書き出して終わり!