Audio-Verarbeitungsleitfaden
Dieser Leitfaden behandelt, wie Sie verschiedene Audio-Eingabemethoden einrichten, um Audiodaten an Ihre Lip-Sync-Generatoren zu senden. Stellen Sie sicher, dass Sie den Setup-Leitfaden abgeschlossen haben, bevor Sie fortfahren.
Audio-Eingabeverarbeitung
Sie müssen eine Methode zur Verarbeitung der Audioeingabe einrichten. Es gibt mehrere Möglichkeiten, je nach Ihrer Audioquelle.
- Mikrofon (Echtzeit)
- Mikrofon (Wiedergabe)
- Text-to-Speech (Lokal)
- Text-to-Speech (Externe APIs)
- From Audio File/Buffer
- Streaming Audio Buffer
Dieser Ansatz führt den Lip-Sync in Echtzeit durch, während Sie in das Mikrofon sprechen:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- Erstellen Sie eine Capturable Sound Wave mit Runtime Audio Importer
- Binden Sie sich an den
OnPopulateAudioData
-Delegaten, bevor Sie mit der Audioaufnahme beginnen - Rufen Sie in der gebundenen Funktion
ProcessAudioData
von Ihrem Runtime Viseme Generator auf - Starten Sie die Audioaufnahme vom Mikrofon
Das realistische Modell verwendet den gleichen Audio-Verarbeitungs-Workflow wie das Standardmodell, jedoch mit der RealisticLipSyncGenerator
-Variable anstelle von VisemeGenerator
.
Das stimmungsfähige Modell verwendet den gleichen Audio-Verarbeitungs-Workflow, jedoch mit der MoodMetaHumanLipSyncGenerator
-Variable und zusätzlichen Stimmungskonfigurationsmöglichkeiten.
Dieser Ansatz erfasst Audio von einem Mikrofon und gibt es dann mit Lip Sync wieder:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- Erstellen Sie eine Capturable Sound Wave mit dem Runtime Audio Importer
- Starten Sie die Audioaufnahme vom Mikrofon
- Binden Sie vor der Wiedergabe der erfassbaren Sound Wave an ihren
OnGeneratePCMData
-Delegaten - Rufen Sie in der gebundenen Funktion
ProcessAudioData
von Ihrem Runtime Viseme Generator auf
Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, aber mit der RealisticLipSyncGenerator
-Variable anstelle von VisemeGenerator
.
Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, aber mit der MoodMetaHumanLipSyncGenerator
-Variable und zusätzlichen Stimmungskonfigurationsfähigkeiten.
- Regulär
- Streaming
Dieser Ansatz synthetisiert Sprache aus Text unter Verwendung von lokalem TTS und führt Lip Sync durch:
- Standardmodell
- Realistisches Modell
- Stimmungsaktiviertes Realistisches Modell
- Verwende Runtime Text To Speech, um Sprache aus Text zu generieren
- Verwende Runtime Audio Importer, um das synthetisierte Audio zu importieren
- Binde vor der Wiedergabe der importierten Soundwelle an ihren
OnGeneratePCMData
-Delegaten - Rufe in der gebundenen Funktion
ProcessAudioData
von deinem Runtime Viseme Generator auf
Lokales TTS, bereitgestellt durch das Runtime Text To Speech Plugin, wird derzeit nicht mit dem regulären Realistischen Modell aufgrund von ONNX Runtime-Konflikten unterstützt. Für Text-to-Speech mit dem regulären Realistischen Modell sollten externe TTS-Lösungen in Betracht gezogen oder stattdessen das Standardmodell verwendet werden.
- Verwende Runtime Text To Speech, um Sprache aus Text zu generieren
- Verwende Runtime Audio Importer, um das synthetisierte Audio zu importieren
- Binde vor der Wiedergabe der importierten Soundwelle an ihren
OnGeneratePCMData
-Delegaten - Rufe in der gebundenen Funktion
ProcessAudioData
von deinem Mood-Enabled Lip Sync Generator auf - Konfiguriere Stimmungseinstellungen basierend auf dem Textinhalt oder dem gewünschten emotionalen Ausdruck
TTS mit Stimmungsintegration:
- Setze geeignete Stimmungen vor oder während der TTS-Generierung
- Passe die Stimmungsintensität an, um sie dem emotionalen Ton des Textes anzupassen
- Verwende verschiedene Stimmungen für verschiedene Abschnitte längerer Textinhalte
Dieser Ansatz verwendet Streaming-Text-to-Speech-Synthese mit Echtzeit-Lip Sync:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Verwenden Sie Runtime Text To Speech, um Streaming-Sprache aus Text zu generieren
- Verwenden Sie Runtime Audio Importer, um das synthetisierte Audio zu importieren
- Binden Sie vor der Wiedergabe der Streaming-Soundwelle an ihren
OnGeneratePCMData
-Delegaten - Rufen Sie in der gebundenen Funktion
ProcessAudioData
von Ihrem Runtime Viseme Generator auf
Lokale TTS, bereitgestellt durch das Runtime Text To Speech Plugin, wird derzeit nicht mit dem regulären Realistic Model aufgrund von ONNX Runtime-Konflikten unterstützt. Für Text-to-Speech mit dem regulären Realistic Model ziehen Sie die Verwendung externer TTS-Dienste in Betracht oder verwenden Sie stattdessen das Standard Model.
- Verwenden Sie Runtime Text To Speech, um Streaming-Sprache aus Text zu generieren
- Verwenden Sie Runtime Audio Importer, um das synthetisierte Audio zu importieren
- Binden Sie vor der Wiedergabe der Streaming-Soundwelle an ihren
OnGeneratePCMData
-Delegaten - Rufen Sie in der gebundenen Funktion
ProcessAudioData
von Ihrem Mood-Enabled Lip Sync Generator auf - Passen Sie bei Bedarf die Stimmungseinstellungen während des Streamings dynamisch an
- Regulär
- Streaming
Dieser Ansatz verwendet das Runtime AI Chatbot Integrator Plugin, um synthetisierte Sprache von KI-Diensten (OpenAI oder ElevenLabs) zu generieren und Lip Sync durchzuführen:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges Realistisches Modell
- Verwenden Sie Runtime AI Chatbot Integrator, um Sprache aus Text mit externen APIs (OpenAI, ElevenLabs, etc.) zu generieren
- Verwenden Sie Runtime Audio Importer, um die synthetisierten Audiodaten zu importieren
- Binden Sie sich vor der Wiedergabe der importierten Schallwelle an deren
OnGeneratePCMData
-Delegate - Rufen Sie in der gebundenen Funktion
ProcessAudioData
von Ihrem Runtime Viseme Generator auf
Das Realistische Modell verwendet den gleichen Audio-Verarbeitungs-Workflow wie das Standardmodell, jedoch mit der RealisticLipSyncGenerator
-Variable anstelle von VisemeGenerator
.
Das Stimmungsfähige Modell verwendet den gleichen Audio-Verarbeitungs-Workflow, jedoch mit der MoodMetaHumanLipSyncGenerator
-Variable und zusätzlichen Stimmungskonfigurationsfähigkeiten.
Dieser Ansatz verwendet das Runtime AI Chatbot Integrator Plugin, um synthetisierte Streaming-Sprache von KI-Diensten (OpenAI oder ElevenLabs) zu generieren und Lippenbewegungen zu synchronisieren:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Verwenden Sie Runtime AI Chatbot Integrator, um eine Verbindung zu Streaming-TTS-APIs (wie der ElevenLabs Streaming API) herzustellen
- Verwenden Sie Runtime Audio Importer, um die synthetisierten Audiodaten zu importieren
- Binden Sie vor der Wiedergabe der Streaming-Soundwelle an deren
OnGeneratePCMData
-Delegate - Rufen Sie in der gebundenen Funktion
ProcessAudioData
von Ihrem Runtime Viseme Generator auf
Das Realistic Model verwendet den gleichen Audio-Verarbeitungs-Workflow wie das Standard Model, jedoch mit der RealisticLipSyncGenerator
-Variable anstelle von VisemeGenerator
.
Das Mood-Enabled Model verwendet den gleichen Audio-Verarbeitungs-Workflow, jedoch mit der MoodMetaHumanLipSyncGenerator
-Variable und zusätzlichen Mood-Konfigurationsfähigkeiten.
Dieser Ansatz verwendet vorab aufgezeichnete Audiodateien oder Audio-Puffer für Lip Sync:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Verwende Runtime Audio Importer, um eine Audiodatei von der Festplatte oder aus dem Speicher zu importieren
- Binde vor der Wiedergabe der importierten Soundwelle an deren
OnGeneratePCMData
-Delegate - Rufe in der gebundenen Funktion
ProcessAudioData
von deinem Runtime Viseme Generator auf - Spiele die importierte Soundwelle ab und beobachte die Lip-Sync-Animation
Das Realistic Model verwendet den gleichen Audio-Verarbeitungs-Workflow wie das Standard Model, jedoch mit der RealisticLipSyncGenerator
-Variable anstelle von VisemeGenerator
.
Das Mood-Enabled Model verwendet den gleichen Audio-Verarbeitungs-Workflow, jedoch mit der MoodMetaHumanLipSyncGenerator
-Variable und zusätzlichen Mood-Konfigurationsmöglichkeiten.
Für das Streamen von Audiodaten aus einem Puffer benötigst du:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Audiodaten im Float-PCM-Format (ein Array von Fließkomma-Samples), verfügbar von deiner Streaming-Quelle (oder verwende Runtime Audio Importer, um weitere Formate zu unterstützen)
- Die Abtastrate und die Anzahl der Kanäle
- Rufe
ProcessAudioData
von deinem Runtime Viseme Generator mit diesen Parametern auf, sobald Audio-Chunks verfügbar werden
Das Realistische Modell verwendet den gleichen Audio-Verarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator
anstelle von VisemeGenerator
.
Das Mood-Enabled Modell verwendet den gleichen Audio-Verarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator
und zusätzlichen Mood-Konfigurationsfähigkeiten.
Hinweis: Wenn Sie Streaming-Audioquellen verwenden, stellen Sie sicher, dass Sie die Audio-Wiedergabezeit angemessen verwalten, um verzerrte Wiedergabe zu vermeiden. Weitere Informationen finden Sie in der Streaming Sound Wave-Dokumentation.
Tipps zur Verarbeitungsleistung
-
Chunk-Größe: Wenn Sie Audiodaten in kleineren Chunks für responsiveres Lip Sync verarbeiten möchten, passen Sie die Berechnung in der Funktion
SetNumSamplesPerChunk
an. Wenn Sie beispielsweise die Abtastrate durch 150 teilen (Streaming alle ~6,67 ms) anstatt durch 100 (Streaming alle 10 ms), erhalten Sie häufigere Lip Sync-Aktualisierungen. -
Buffer-Verwaltung: Das Mood-Enabled Modell verarbeitet Audio in 320-Sample-Frames (20ms bei 16kHz). Stellen Sie sicher, dass Ihre Audio-Eingabezeit mit diesem Wert übereinstimmt, um optimale Leistung zu erzielen.
-
Generator-Neuerstellung: Für einen zuverlässigen Betrieb mit Realistic-Modellen sollten Sie den Generator jedes Mal neu erstellen, wenn Sie nach einer Inaktivitätsphase neue Audiodaten zuführen möchten.
Nächste Schritte
Sobald Sie die Audioverarbeitung eingerichtet haben, möchten Sie möglicherweise:
- Erfahren Sie mehr über Konfigurationsoptionen, um Ihr Lip Sync-Verhalten fein abzustimmen
- Lachanimation für mehr Ausdrucksstärke hinzufügen
- Lip Sync mit bestehenden Gesichtsanimationen kombinieren, indem Sie die im Konfigurationshandbuch beschriebenen Layering-Techniken verwenden