3teneを使って合成音声でリップシンクさせるのと、OBS Studioの同期オフセットを調整して声とリップのタイミングを合わせる実験をしてみました。

 細かいところですが、 合成音声が話すタイミングと アバターのリップ(口パク)のタイミングを合わせると違和感が少なくなるかなと思ったので実験してみました。

 結果として、仮想ミキサーというソフトを導入することでできるようになりました。

簡単にできると思っていたけれど…

 最初は単純に3teneのリップシンクを音声認識に設定して、Cevioの音声を 3teneに入力すれば良いと思っていました。

3teneの設定…

3teneの設定画面 顔でリップシンク種類を 音声認識に設定
リップシンクの音声入力をチェックするとマイクくらいしか無い感じが…

 3teneの設定画面-顔で、リップシンク種類を「音声認識」に設定。
 これに合成音声から入力してやればOK!(と思っていました)
 しかし、リップシンクの音声入力をチェックするとマイクくらいしか無い感じが…

Cevioの設定も…

Cevioの音声出力先も、なんか違う…

仮想ミキサーを導入

 調べてみたら、仮想ミキサーというジャンルのソフトを使えばソフトウェア的に内部でつながったように見せかけられると知りました。

VOICEMEETER BANANA 

VOICEMEETER BANANA 

 VOICEMEETER BANANA というソフトを導入すれば出来そうということでダウンロードしてみました。
 無料で配布されていて、寄付を受け付けているというタイプのソフトです。

インストールは一瞬で終わります。

インストールは一瞬で終わります。

Cevio の音声を仮想ミキサー経由で 3tene に入力

Cevioの設定

Cevioの音声出力先にVoiceMeeter Input が増えているので選択 。

Cevioの音声出力先にVoiceMeeter Input が増えているので選択

3tene の設定

VoiceMeeter Output が増えているので選択。

リップシンクの音声入力にVoiceMeeter Output が増えているので選択。

動かして試してみた

 東北ずん子さんから、モデルを変えて実験。

 Cevioの音声に合わせてリップが動きましたが、動画を確認すると口の動きが微妙に遅れて動く感じがします。
 調べてみると、OBSで音声を遅らせれば口パクに合うということで、OBSの設定をしました。

リップシンクと合成音声のタイミングを調整

OBSの設定

OBSの設定は、こちらの記事にも書きました。
デスクトップ音声を VoiceMeeter Inputに設定。

 デスクトップ音声を VoiceMeeter Inputに設定。

オーディオの詳細プロパティ の 同期オフセットを285msに設定。

 私の環境では、60fpsで録画した動画で確認すると17フレームほどの差だったので、ほんの少し盛って 285msにしました。

仮想ミキサーソフトの設定

 ヘッドフォンで音声を確認するためにミキサーを設定する必要があるみたいなので設定。

Voicemeeter を選択して起動します。

Voicemeeter を選択して起動します。

Voicemeeter Banana という高機能なアプリもあるのですが、設定項目が多そうなのでシンプルな無印を選びました。

Voicemeeter の HARDWARE OUTを SPDIF OUTに割り振り。

 HARDWARE OUT のA1を WDM:SPDIF Out に 割り振り。(ヘッドホンアンプにつながっています)
 これで、ヘッドフォンで音声が確認できるようになりました。

実験結果

口の動きは、かなり注意しないと分かりづらかったかも。

最後に

 合成音声の入力に合わせて口が動くと違和感が減るかなと思ってやってみました。
 仮想ミキサーは、 配信する場合に使いこなせたら便利だということで、今後も使い方を調べていってみたいと思います。

コメント