ルモーリン
ホーム 更新 Perl Sample サービス 雑談 鉄ゲタ Linux リンク 連絡先

ustファイルをvsqファイルに変換

投稿:2021-09-11

途中にテンポ変更がある曲をSynthesizer V Pro→USTファイル→UTAU→VSQファイル→MikuMikuDanceのリップシンクで読み込むとテンポ変更にリップシンクが追従しないのでズレてしまいます。 追従しないリップシンクを手作業で合わせていくのはとても面倒です。 そこで最初のテンポのままでUSTファイルからVSQファイルに変換できればよい訳です。

LipFaceMakerが正しく読めるように改良しました。 当初は読み込むと「文字列が定義されていません。」と表示されたのでカタカナの歌詞を平仮名に変換するようにしました。 それとテンポが伝わらずとても早口になってしまいました。 これはVSQファイル内のMIDIフォーマットでマスタートラックにあるSignatureイベントより先にSetTempoイベントを移動させると解決できました。 マスタートラック内のデルタタイム0が続くメタイベントに順序の規定あったっけ? まあMIDIファイルのパーサー(読む処理)は面倒くさいしボーカロイドが書き出すVSQファイルはいつも決まった順序で書き出すだろうから仕方ない。 音階をすべて「ド」にしてVSQファイルを出力しているけれど、もしかして音階も見てるのかなあ(汗)。

このvsqファイルを読み込むことでMikuMikuDanceが誤動作する可能性があります。 MikuMikuDanceで読み込む前にプロジェクトをバックアップしてください。 実際にこの変換サービスを開発中、vsqを読み込んだ途端、フレーム番号がマイナスから始まるような誤動作が起きています。 最悪の場合、プロジェクトを破棄して、vsqを読み込む前の状態から再開しなくてはなりません。

ustファイルを指定してから変換ボタンをクリックするとfrom_ust.vsqファイルがダウンロードされます。 MikuMikuDanceの「表情」→「vsqによるリップシンク」で読ませてください。 4小節ほど前後にズレますので「リップフレーム時間シフト」で調整してください。

ustファイル:

私の拙いプログラミング能力にのんびり付き合う方に限りustファイルを提供していただければMikuMikuDanceのリップシンクで読み込めるよう変換できる所までは頑張りたいと思います。