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

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

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

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

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

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は、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用することを除き、Standard Modelと同じオーディオ処理ワークフローを使用します。

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は、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用することを除き、Standard Modelと同じオーディオ処理ワークフローを使用します。

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は、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用することを除き、Standard Modelと同じオーディオ処理ワークフローを使用します。

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は、VisemeGeneratorの代わりにRealisticLipSyncGenerator変数を使用することを除き、Standard Modelと同じオーディオ処理ワークフローを使用します。

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

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

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

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

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

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

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

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