オーディオ処理ガイド
このガイドでは、リップシンクジェネレーターにオーディオデータを供給するための、さまざまなオーディオ入力方法の設定方法について説明します。先にセットアップガイドを完了していることを確認してください。
オーディオ入力処理
オーディオ入力を処理する方法を設定する必要があります。オーディオソースに応じていくつかの方法があります。
- マイク(リアルタイム)
- マイク(再生)
- テキスト読み上げ(ローカル)
- テキスト読み上げ(外部API)
- オーディオファイル/バッファから
- ストリーミングオーディオバッファ
このアプローチでは、マイクに向かって話しながらリアルタイムでリップシンクを実行します:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Runtime Audio Importerを使用してCapturable Sound Waveを作成します
- LinuxでPixel Streamingを使用する場合は、代わりにPixel Streaming Capturable Sound Waveを使用してください
- オーディオのキャプチャを開始する前に、
OnPopulateAudioDataデリゲートにバインドします - バインドされた関数内で、Runtime Viseme Generatorから
ProcessAudioDataを呼び出します - マイクからのオーディオキャプチャを開始します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

このアプローチでは、マイクからオーディオをキャプチャし、リップシンク付きで再生します:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Runtime Audio Importerを使用してCapturable Sound Waveを作成します
- LinuxでPixel Streamingを使用する場合は、代わりにPixel Streaming Capturable Sound Waveを使用してください
- マイクからのオーディオキャプチャを開始します
- capturable sound waveを再生する前に、その
OnGeneratePCMDataデリゲートにバインドします - バインドされた関数内で、Runtime Viseme Generatorから
ProcessAudioDataを呼び出します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

- 通常
- ストリーミング
このアプローチでは、ローカルTTSを使用してテキストから音声を合成し、リップシンクを実行します:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Runtime Text To Speechを使用してテキストから音声を生成します
- Runtime Audio Importerを使用して合成されたオーディオをインポートします
- インポートしたサウンドウェーブを再生する前に、その
OnGeneratePCMDataデリゲートにバインドします - バインドされた関数内で、Runtime Viseme Generatorから
ProcessAudioDataを呼び出します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

このアプローチでは、ストリーミングテキスト読み上げ合成とリアルタイムリップシンクを使用します:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Runtime Text To Speechを使用してテキストからストリーミング音声を生成します
- Runtime Audio Importerを使用して合成されたオーディオをインポートします
- ストリーミングサウンドウェーブを再生する前に、その
OnGeneratePCMDataデリゲートにバインドします - バインドされた関数内で、Runtime Viseme Generatorから
ProcessAudioDataを呼び出します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

- 通常
- ストリーミング
このアプローチでは、Runtime AI Chatbot Integratorプラグインを使用してAIサービス(OpenAIまたはElevenLabs)から合成音声を生成し、リップシンクを実行します:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Runtime AI Chatbot Integratorを使用して、外部API(OpenAI、ElevenLabsなど)からテキストの音声を生成します
- Runtime Audio Importerを使用して合成されたオーディオデータをインポートします
- インポートしたサウンドウェーブを再生する前に、その
OnGeneratePCMDataデリゲートにバインドします - バインドされた関数内で、Runtime Viseme Generatorから
ProcessAudioDataを呼び出します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

このアプローチでは、Runtime AI Chatbot Integratorプラグインを使用してAIサービス(OpenAIまたはElevenLabs)からストリーミング合成音声を生成し、リップシンクを実行します:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Runtime AI Chatbot Integratorを使用して、ストリーミングTTS API(ElevenLabs Streaming APIなど)に接続します
- Runtime Audio Importerを使用して合成されたオーディオデータをインポートします
- ストリーミングサウンドウェーブを再生する前に、その
OnGeneratePCMDataデリゲートにバインドします - バインドされた関数内で、Runtime Viseme Generatorから
ProcessAudioDataを呼び出します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

このアプローチでは、録音済みのオーディオファイルまたはオーディオバッファをリップシンクに使用します:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Runtime Audio Importerを使用して、ディスクまたはメモリからオーディオファイルをインポートします
- インポートしたサウンドウェーブを再生する前に、その
OnGeneratePCMDataデリゲートにバインドします - バインドされた関数内で、Runtime Viseme Generatorから
ProcessAudioDataを呼び出します - インポートしたサウンドウェーブを再生し、リップシンクアニメーションを観察します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

バッファからのストリーミングオーディオデータには、以下が必要です:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- ストリーミングソースから利用可能なfloat PCM形式のオーディオデータ(浮動小数点サンプルの配列)(またはRuntime Audio Importerを使用してより多くのフォーマットをサポート)
- サンプルレートとチャンネル数
- オーディオチャンクが利用可能になるにつれて、これらのパラメータを使用してRuntime Viseme Generatorから
ProcessAudioDataを呼び出します

Realistic ModelはStandard Modelと同じオーディオ処理ワークフローを使用しますが、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用します。

Mood-Enabled Modelは同じオーディオ処理ワークフローを使用しますが、MoodMetaHumanLipSyncGenerator変数と追加のムード設定機能を使用します。

注記: ストリーミングオーディオソースを使用する場合、歪んだ再生を避けるためにオーディオ再生のタイミングを適切に管理してください。詳細については、Streaming Sound Waveのドキュメントを参照してください。
処理パフォーマンスのヒント
-
チャンクサイズ:
ProcessingChunkSize設定オプションを増やすと(例:320、480、または640サンプルに)、品質や応答性への影響を最小限に抑えながら、レイテンシーを顕著に改善できます。 -
モデルタイプ:Realisticモデルを使用する場合、Highly Optimizedモデルタイプ(デフォルトで選択)に切り替えるとパフォーマンスが向上します。元のモデルは、特にノイズの多いオーディオで、わずかに品質が向上する場合があることに注意してください。
-
バッファ管理:ムード対応モデルは、320サンプルフレーム(16kHzで20ms)でオーディオを処理します。最適なパフォーマンスを得るために、オーディオ入力のタイミングがこれに合っていることを確認してください。
-
ジェネレーターの再作成:Realisticモデルで信頼性の高い動作を実現するには、非アクティブ期間の後に新しいオーディオデータを供給するたびにジェネレーターを再作成してください。説明については、トラブルシューティングのジェネレーターの再作成を参照してください。
次のステップ
オーディオ処理の設定が完了したら、次のことを行うとよいでしょう: