マイク1本で、Live2Dモデルの口とVRMアバターの母音の口形を動かせます。フェイストラッキングには依存しません。カメラやスマートフォンがなくても使え、フェイストラッキングがあるときはそれと組み合わさります
設定はトラッキングのウェブカメラトラッキングの下にあるリップシンクセクションにあります。アプリ全体の設定なのでシーンを切り替えても変わらず、Webコンソールのトラッキングページでも同じ設定を編集します。音声はこのコンピュータの中だけで処理され、スピーカーから再生されることも、プラグインAPIで送られることもありません——プラグインが読めるのは音量と母音の値で、音声そのものではありません
設定
- リップシンクセクションでリップシンクを有効にするをオンにします。既定ではオフです。macOSでは初回にマイクの許可を求められます
- マイクで既定のマイクか、特定の入力デバイスを選びます
- マイクに向かって話し、入力レベルとA・I・U・E・Oの5つの母音メーターが反応するか確かめます。必要に応じてレベルを調整します
- 各アバターのトラッキングセクションにあるマイクによるリップシンクは既定で常になので、マスタースイッチをオンにすればシーンのアバターが口を動かし始めます
マイク
既定のマイクはシステムの既定の入力デバイスに従います。特定のマイクを選ぶこともできます。一覧に並ぶのはPersonaを実行しているコンピュータの入力デバイスです——Webコンソールでも同じで、ブラウザを開いている端末のマイクは表示されません。インストール済みの仮想オーディオデバイスも、通常のマイクと同じように一覧に表示されます。この行の下には、実際に取り込んでいるデバイスの名前が表示されます
選んだマイクが見つからないとき、Personaが別のマイクに黙って切り替えることはありません。一覧には利用できないマイクと表示され、状態は利用不可になります。別のマイクを選ぶか再試行するまでそのままです
Personaはマイクの音声を再生して聞かせること(モニタリング)はせず、コンピュータ自身が再生している音を直接取り込むこともありません
レベル
| コントロール | 範囲 | 既定値 | 効果 |
|---|---|---|---|
| 入力ブースト | 0 – 30 dB | 0 dB | 音量が小さいマイクをノイズゲートの前で持ち上げます。上げすぎると口が開いたままになります |
| ノイズゲート | −60 – 0 dB | −45 dB | このレベルより小さい音を無視します |
| スムージング | 0 – 300 ms | 80 ms | 口の開きと母音の変化を滑らかにします。値を上げるほど反応が遅くなります |
ノイズゲートが比べるのは、ブーストをかけたあとのレベルです。ゲートを超えた部分——ゲートからフルスケールまで——が、口が閉じた状態から全開までに対応します。口が開いたままなら入力ブーストを下げるかノイズゲートを上げ、話しても口がほとんど動かなければその逆に調整します。3つの設定は動作中の解析にすぐ反映され、マイクを変えたりリップシンクをオンにしたりすると取り込みがやり直されます
状態とメーター
リップシンクを有効にするの横に、現在の状態が表示されます:
| 状態 | 意味 |
|---|---|
| オフ | リップシンクがオフになっている |
| 起動中… | マイクを開き、音声解析機能を読み込んでいる |
| 音声入力中 | 取り込みと解析を行っている |
| 利用不可 | 取り込みに失敗した。下に原因と再試行ボタンが表示される |
リップシンクがオンのあいだは、設定の下に入力レベルとA・I・U・E・Oの5つの母音メーターが表示されます。母音メーターは確率ではなく類似度の重みです。あいまいな発音では2つが同時に上がることがあり、どの母音にも似ていない音では下がりますが、口は音量に合わせて開きます
取り込みが止まって利用不可になるのは、マイクへのアクセスが拒否されたとき(先にシステム設定でPersonaにマイクの使用を許可します)、選んだマイクが見つからないか外されたとき、音声解析機能を起動できなかったときの3つです。再試行すると、同じマイクで取り込みをやり直します
音声を調整
マイクで取り込んでいるあいだ、音声プロファイルの行には、そのマイク専用の調整があれば〈マイク〉用に調整済み、なければ標準プロファイルと表示されます。音声を調整…を押せるのは、状態が音声入力中のときだけです
ダイアログにはA・I・U・E・Oと環境音の6項目が並び、それぞれに発音のヒントが付いています:
- 普段の声の大きさとマイクとの距離で、項目の録音を押し、その音を一定の声で2秒間伸ばします。環境音では声を出さず、普段どおりに呼吸します
- 録音できた項目にはチェックが付き、ボタンが再試行に変わるので、1つの音だけを録り直せます。母音はノイズゲートを超えないと数えられず、環境音には音量の条件がありません。うまく録れなかったときは「音声が小さすぎました。ノイズゲートを超える音量で発声し、もう一度お試しください。」か「十分な音声を取得できませんでした。一定の声を保って、もう一度お試しください。」と表示され、前回取得できたキャリブレーションデータが保持されます
- 6つすべて録れたらプロファイルを試すを押します。下書きがすぐに反映されるので、A・I・U・E・Oを順に発音し、対応するメーターがいちばん高くなるか、シーンのアバターの口も合わせて確かめます。取り違えられる音があれば録り直し、もう一度試します
- プロファイルを保存で保存します。キャンセルするかダイアログを閉じると下書きは破棄され、保存済みのプロファイルか同梱のプロファイルに戻ります
このマイクにすでに調整がある場合は、保存済みのキャリブレーションデータを読み込むので、6つすべてやり直さなくても母音を1つだけ録り直せます。リップシンクをオフにする、マイクを切り替える、取り込みでエラーが起きる、再試行する——いずれの場合も、未保存のキャリブレーションデータは破棄されます
プロファイルは物理的なマイクごとに1つ保存され、そのマイクで取り込みを始めると自動的に読み込まれます。プロファイルをリセットは現在のマイクに調整があるときだけ表示され、そのマイクの調整を削除して同梱のプロファイルに戻します。ほかのマイクのプロファイルはそのまま残ります。既定のマイクを選んでいるときは、それが実際にどのマイクなのかをPersonaができるだけ特定します。特定できない場合は、先に特定のマイクを選んでから調整してください
調整するまでは、同梱の初期プロファイル——行に標準プロファイルと出るもの——が使われます。このプロファイルが自分の声やマイクに合うとは限りません。母音を正しく判別できない場合は、自分の声で調整してください。MotionSyncのプロファイルは読み込めません
ダイアログにあるとおり、「音声の調整はすべてこのコンピュータ上で行われます。録音した音声を収集したり、アップロードしたりすることはありません。」調整で残すのは解析フレームごとの12個のMFCC係数だけで、録音そのものは保存しません。プロファイルはこのコンピュータにあるPersonaのローカル設定に保存され、モデルのサイドカーに書き込まれることも、プラグインAPIで送られることもありません。詳しくはプライバシーとセキュリティを参照してください
マイクによるリップシンク
マイクに合わせて口を動かすかどうかは、アバターごとに決められます。レイヤーを選ぶと、詳細のトラッキングセクションにマイクによるリップシンクがあり、トラッキングで設定したマイクを使います:
| 選択肢 | 動作 |
|---|---|
| オフ | このアバターはマイクの影響を受けない |
| 常に · 既定 | 常にマイクに従う。フェイストラッキングが動いていれば、音量に応じて両者を混ぜる |
| フェイストラッキングが利用できないとき | 顔をトラッキングできているあいだは口をフェイストラッキングに任せ、できないときだけマイクを使う——途中で顔を見失い、最後のポーズを保っているあいだも含む |
常にでフェイストラッキングも動いているときは、平滑化した音量に応じて両者を混ぜます。黙っているあいだは口がトラッキングの動きをそのまま保ち、声を出さないあくびやあごの動き、唇の形も残ります。話し始めると、マイクの母音が少しずつ口を引き継ぎます。顔をトラッキングできていないときは口を完全にマイクに任せるので、保持された最後のポーズが混ざることはありません
新しく追加したアバターも古いシーンのアバターも既定は常にですが、リップシンクを有効にするの既定はオフなので、マスタースイッチをオンにするまでは何も動きません。このモードはシーン内のそのインスタンスに属し、シーンと一緒に保存されます。同じモデルを2体置いてそれぞれ別のモードにできますが、パラメータの割り当てはモデルに属したままです
モデルを動かす
Live2D
新しいサイドカーは必要ありません。マイクの値は通常の口の入力——MouthOpen・MouthSmile・JawOpen、それにARKitJawOpen・ARKitMouthClose・ARKitMouthFunnel・ARKitMouthPucker——に重ねられるので、モデルにもともとある口の割り当てがそのまま使えます。口の開きは母音の口形と音量のあいだで連続的に混ざるため、子音のところで口形が急に切り替わることはありません
モデルが.model3.jsonで宣言しているLipSyncパラメータグループ——モデル情報のリップシンクの行に並ぶパラメータ——は、どの割り当ても動かしていないものに限り、音量を直接受け取ります。そのため、口のパラメータ名が標準的でないモデルも割り当てなしで動きます。母音ごとの口形パラメータを持つモデルなら、パラメータでVoiceA…VoiceOを割り当てます
モーションに付いている音声やプラグインAPIで再生する音声が流れているあいだは、マイクではなくそれらが口を動かします
VRM
A・I・U・E・Oがそれぞれaa・ih・ou・ee・ohの表情を動かし、重みは音量にその母音の割合を掛けたものです。母音のプリセットが1つもなくARKitのjawOpen表情があるモデルでは、代わりに音量に応じてあごを開きます。口の見た目の良し悪しは、モデル自身の表情の作りによります
フェイストラッキングと混ぜるときは、母音のプリセットと、それとぶつかるARKitの口の表情が音量に応じて入れ替わります。マイクが書き込んだ重みは毎フレームの終わりに元へ戻るので、トラッキングが保持しているポーズに残ることはありません
音声の入力
パラメータの割り当てエディタの口のグループには、12個の音声の入力もあります。Live2DとVRMのどちらの割り当てでも使えます:
| 入力 | エディタでの名前 | 範囲 | 意味 |
|---|---|---|---|
VoiceVolume | 音声の音量 | 0 – 1 | 平滑化した音量のエンベロープ |
VoiceA・VoiceI・VoiceU・VoiceE・VoiceO | 音声A … 音声O | 0 – 1 | 各母音の強さ。音量を掛けて平滑化したもの |
VoiceSilence | 音声の無音 | 0 – 1 | 1から音量を引いた値。無音で1 |
VoiceFrequency | 音声の口形 | 0 – 1 | 母音を通常の口形の軸へ投影した位置。0.5が中立。音の高さではない |
VoiceVolumePlusMouthOpen | 音声 + 口パク | 0 – 2 | 音量にフェイストラッキングの口の開きを足したもの |
VoiceFrequencyPlusMouthSmile | 音声 + 口の横幅 | 0 – 1 | フェイストラッキングの口形に、音声による正負のずれを足したもの |
VoiceMouthOpen | 音声による口の開閉 | 0 – 1 | 母音で重み付けし音量を掛けた口の開きの投影 |
VoiceMouthSpread | 音声による口の横幅 | −1 – 1 | 母音で重み付けし音量を掛けた、正負のある口の横幅の投影 |
VoiceVolumePlusMouthOpenとVoiceFrequencyPlusMouthSmileの2つの複合入力は、足し合わせた結果が上の範囲を超えることがあり、割り当て側の範囲で切り詰められます。顔をトラッキングできていないときは音声の側だけを使い、顔を見失ったあとに保持されたポーズは足されません。マイクがそのアバターに作用していないとき(リップシンクがオフ、モードがオフ、またはフェイストラッキングが利用できないときでトラッキング中の顔に口を任せているとき)は、フェイストラッキングの側だけになるので、複合入力を使った割り当てもフェイストラッキングに追従し続けます
読み込み
.vtube.jsonでは、これらの入力名の大文字と小文字は区別されません
Personaは独自の方法で音声を解析するため、同じ声でもVTube Studioと同じ音量や母音の判別になるとは限りません
オートメーション
オートメーションのマイク音量トリガーは、ここで設定したマイク・入力ブースト・ノイズゲート・スムージングを共有します。リップシンクを有効にするがオフでも動作し、その場合はどのアバターの口も動かしません
オートメーションの音声を再生アクションでも、ファイルで口を動かせます。リップシンクを駆動でアバター(Live2DでもVRMでも)を選ぶと、ファイルの再生中はマイクの代わりにそのファイルに合わせて口が動きます。解析にはマイクの調整データではなく同梱の音声プロファイルを使い、音量やフェードをかける前の音を読み取り、マイクを開くこともありません。複数のファイルが同じアバターを動かすときは、最後に再生を始めたものが優先され、どれも再生していなければマイクとフェイストラッキングに戻ります
最終更新日:2026年9月19日