V2のデータをV1に読み込ませたときに変な声になる現象の対処法

2024/09/04

はじめに


V2のデータをV1に読み込ませようとした時に、以下のような経験をしたことはありませんか?


「さーて! 打ち込みも終わったしVOCALOID MIDIに書き出してKAITOに喋らせるか~!」


突然口に布当てられた?


このように、「VOCALOID2で作ったデータを何らかの方法でVOCALOID(無印)に読み込ませると変な声になる」という現象が起きがちです。

このあるあるに共感してくれる人が一体何人存在するのかは置いといて


VOCALOID2で作ったデータをVOCALOID(無印)に読み込ませる方法は、私が知る限りでは以下の3種があります。
  • VOCALOID2側で「VOCALOID MIDI」としてエクスポートし、それをVOCALOID(無印)側で読み込む
  • 「めーこといっしょ」の「TextEdit」を利用してVOCALOID(無印)でVSQを読み込む
  • 一度V3またはV4で元のVSQファイルを開き、VSQXに変換して保存してから、「めーこといっしょ」の「ImportVSQX」を利用してVOCALOID(無印)でVSQXを読み込む
しかしいずれの方法でもこのような問題が起きてしまいます。
こうなったとき、どうすればいつも通りに喋らせることができるのか。 今回はその対処法とこれが起きる原因について私がわかる範囲で調べました。

なお、V2のデータをV1に読み込ませる方法に「UTAUで一度midiファイルにした後読み込ませる」という方法もありますが、これをするとDynamicsやPitch Bendなど、コントロールトラックの情報が全部消えてしまうため、今回この方法は取り扱いません。




対処法


最初に対処法を書きます。対処法は3つ存在します。

新しくトラックを用意し、必要なパラメータだけコピーする


だいたいの人はこれで対処しているのではないでしょうか。
詳しい手順は以下の通りです。

  1. 新しい空のトラックを追加する
  2. 画面上半分のピアノロールを右クリックして「Select All Events」で全てのイベントを選択
  3. 新しいトラックへコピペする
  4. 画面下半分のコントロールトラックで必要なステータス(Dynamicsなど)に対しても「Select All Events」からのコピペを繰り返す

若干めんどくさいですがこれで直ります。

VSQXにしてから読み込ませ、Clearnessを消去


上で「VOCALOID2で作ったデータをVOCALOID(無印)に読み込ませる方法は3種あるがどれでも問題が起こる」と書きましたが、 実は3つ目だけは若干挙動が異なります。

VSQXへの変換を一回挟んだ後に読み込ませた際の音声は以下のようになります。


声はこもってはいるけど、最初のよりはましですよね。
実はVSQXを通した場合はClearnessだけを修正すれば直るんです。具体的な手順は以下の通りです。

  1. V3かV4でVSQファイルを読み込む
  2. 「名前を付けて保存」からVSQXファイルとして保存
  3. 「めーこといっしょ」の「ImportVSQX」を利用してVOCALOID(無印)でVSQXを読み込む
    「めーこといっしょ」のインストールは以下から↓

    以前調べた時「はちゅねのないしょ」ともどもサイトが吹き飛んでて絶望していたのですが、昨年に作者様がgithubにて再公開してくださってました。ありがたや、ありがたや……

  4. 画面下半分のコントロールトラックで「Clearness」を選択、右クリックメニューの「Select All Events」で全てのイベントを選択した後に同じく右クリックメニューの「Delete」で消去
    (上の動画では映っていませんでしたが)Clearnessが0になっています

V3やV4を持っている方ならおそらくこれが一番楽な方法なので是非試してみてください。

邪魔をしているパラメータを全部消す


最後に紹介するのは、最も本質的ではありますが最も面倒な方法です。
一応「これでも直る」という意味で紹介します。

この方法では、声が変になるような極端な値になっているパラメータを片っ端から全て消去することで問題の解決を図ります。 トークロイドでよくいじられるであろうDynamicsやPitch Bendなどは一切触らないので、最終的には想定した声になるはずです。

やり方は、画面下半分のコントロールトラックにて以下のパラメータを、右クリックメニューの「Select All Events」で全てのイベントを選択した後に同じく右クリックメニューの「Delete」で消去するだけです。

  • Resonance1
    • Frequency
    • Band Width
    • Amplitude
  • Resonance2
    • Frequency
    • Band Width
    • Amplitude
  • Resonance3
    • Frequency
    • Band Width
    • Amplitude
  • Resonance4
    • Frequency
    • Band Width
    • Amplitude
  • Noise
  • Clearness

多すぎ

これ一個一個消していかないといけません。「Deleteで消去するだけです」で片付く作業量じゃないが???

Resonance系は画面ではイベントが全くないように見えますが、「Select All Events」をした後に右クリックメニューを開くと「Delete」を選択することができます。 つまり見えない何かが選択されているのです。
逆に言えば、「Delete」を選択できないならばそこには何もパラメータがないということなので、どれを消してどれを消してないかわからなくなったときはこれで見分けましょう。

こんな一個一個消す作業なんかやりたくないぜ!という人は、「めーこといっしょ」の「TextEdit」を利用して編集するという手もあります(このプラグイン自体の詳しい解説は後述)。 やっていること自体は同じですが、こちらの方がはるかに手間は省けます。
やり方は以下のようになります。

  1. 「めーこといっしょ」の「TextEdit」をインストールする
  2. V1で一度VSQを読み込み、「Export(書き出し)」から「VOCALOID TEXT」を選んでテキストファイルを書き出す
    • 「TextEdit」をインストールしたことによりVSQを直接読み込むことができますが、VOCALOID MIDIにして読み込んでも大丈夫です。 また、「はちゅねのないしょ」の「TextEdit」によってV2から直接テキストファイルを書き出してもOKです。
  3. 先ほど書き出したテキストファイルのずっと下の方、[EpRResidualBPList]の行から、[GenderFactorBPList]のひとつ上の行までを全て消す
    • 「EpR」で始まる範囲と「Reso」で始まる範囲を消します
    • 元のファイルでGender FactorやPortamento Timingをいじっていない人はそこの範囲も(つまり一番下まで)消しても大丈夫です
  4. テキストファイルを保存して閉じ、V1で「Open(開く)」を選択。「ファイルの種類」を「Vocaloid Text File(*.vxt)」にして、該当データのvxtファイルを開く
    • 先ほど編集したファイルはtxtファイルですが、ここでvxtファイルを選択しても変更は適用されます

以上の操作によって不要なパラメータを一気に消すことができます(なんらかのミスをしたとき用にバックアップはとっておいた方がいいかも)。
「は?日本語でおk」「めーこといっしょが使えない環境にある」「なんかこういういつものエディタ上でしない操作って怖いからやりたくない」という人は一つ目の「新しいトラックにコピペする」という対処法を取ったほうが無難かなと思います。


原因の調査


ここから先はどうやってこの対処法を調べたか、や原因の推測などを行っています。興味がある人は読んでってください。

V2のデータをV1に読み込ませたとき声が変になる現象には前から悩まされ、 ステータスが極端になっているのが見える形でわかるClearnessやNoiseをリセットしても声は変なままで、10年以上原因がわかりませんでした。
調べてもなかなか解決法はわからないし……(既に解明している人がいたらすみません)

しかし、ある日「めーこといっしょ」に「TextEdit」なる機能を発見。
上でも少し登場しましたが、このプラグインは「VOCALOIDのMIDI/VSQのデータをテキスト形式で書き出し、テキスト編集できるようにする」という機能をもっています(あと直接V1にVSQを読み込ませられるようになる)。
以下の画像はほんの一部ですが、「それぞれのパラメータがどのタイミングで何の値になっているか」が全て記述されています。

これを見て私は考えました。

「TextEditで書き出されたテキストデータにはそのMIDIファイルの中身の全てが書かれているはず。これを解析すれば声が変になる原因がわかるのではないか」……と。

ということで、VSQをVOCALOID MIDI化してそのまま読み込んだデータと、それに対して上の一つ目の対処法「新しくトラックを用意し、必要なパラメータだけコピーする」を実行したデータを 「TextEdit」でテキストファイルとしてそれぞれ書き出し、テキスト比較サイトにて二つの文書の比較を行いました。
使用サイト↓

Pitch BendとDynamicsをやたらいじったせいでめちゃくちゃ縦に長くなった比較結果をどんどん下へスクロールしていくと、最下部に「それ」はありました。

左が修正前、右が修正後

Resonanceめっちゃ入力されてる!?!?
(あとEpRResidualBPListとEpRESlopeBPListとEpRESlopeDepthBPListもあったけどこれはそれぞれ順にNoise、Brightness、Clearnessに対応している)

しかも255とかいうクレイジーな数値(エディタで設定できる最大値は127)。
どういうことかわからないけどなぜかResonanceが変な値にされているらしい、と改めて該当データのエディタを眺めるも、


Resonance系のコントロールトラックはまっさらにしか見えない。
そこで試しに「Select All Events」で「無」を選択してみると……


「Delete」が選べるようになってる!!
そしてResonance1のFrequencyにてDeleteを選択、同様にResonance1のBand WidthとAmplitudeも削除して再生すると


心なしか声変わってる!!!
アタシ今「無」を選択して「無」を消去できてる!!

ということでResonance系をすべて消去、ついでにNoizeとClearnessを消去することで、


このように直すことができました。ちゃんちゃん。

なぜこんなことが起こるのか


解決したということで今回ブログに書くために検証用データを作っている最中、思わぬ壁に当たりました。

「V2のデータをV1に読ませると音が変になる」という現象を再現できません。

なぜだ、既存のファイルは読み込ませたら音がこもるのに……
「ある程度の長さになると自動的に音が変になる」ということなのか?と考え結構な長台詞を言わせてみるも無事V1でも再生可能。はて???

ここで過去の声が変になったファイルを見返しました。


この値が変になってる点って、規則性がないように見えるけど、なんでこの場所に点が打たれているのだろう……?

ひとつ思い当たることがあり、試しにV2の方で「すこぶるいいけど~」以降をCtrl+ドラッグで選択し少しだけ移動させました。

すると……音が変になりました。

なんでかわかんないけどCtrl+ドラッグで移動をさせるとResonance系などに値が入力されて音が変になってしまうらしいです。 しかしトクロをするうえでCtrl+ドラッグでの選択を縛るのは辛いため、上の対処法には入れませんでした。

また、これと同時に「V2にかますと変な値が入力されるなら、V4をかませたら逆に直るんじゃね?」と思い試したのが最初の対処法の3つ目になります。
全て直るわけではありませんでしたが、Resonance系の値が全てなくなったので修正が楽になりましたね。

おわりに


以上が私の調査結果です。これ10年前に調べて出したらもっと多くの人を救えたかもな。
長年の謎が解けて私としては大変満足しています。とりあえず今後私はVSQXを経由する方法で直していこうと思います。

それでは最後まで読んでいただきありがとうございました。
読ム-1の記事、そろそろ書きます。



コメント

0 件のコメント :

コメントを投稿