Audio-Verarbeitungsleitfaden
Dieser Leitfaden behandelt, wie Sie verschiedene Audioeingabemethoden einrichten, um Audiodaten an Ihre Lippen-Sync-Generatoren zu liefern. Stellen Sie sicher, dass Sie den Setup-Leitfaden abgeschlossen haben, bevor Sie fortfahren.
Audioeingabeverarbeitung
Sie müssen eine Methode zur Verarbeitung der Audioeingabe einrichten. Es gibt mehrere Möglichkeiten, je nach Ihrer Audioquelle.
- Mikrofon (Echtzeit)
- Mikrofon (Wiedergabe)
- Text-zu-Sprache (Lokal)
- Text-zu-Sprache (Externe APIs)
- Von Audio-Datei/Puffer
- Streaming-Audio-Puffer
Dieser Ansatz führt den Lippen-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
- Für Linux mit Pixel Streaming verwenden Sie stattdessen Pixel Streaming Capturable Sound Wave
- Binden Sie sich an den
OnPopulateAudioData-Delegaten, bevor Sie mit der Audioaufnahme beginnen - Rufen Sie in der gebundenen Funktion
ProcessAudioDatavon Ihrem Runtime Viseme Generator auf - Starten Sie die Audioaufnahme vom Mikrofon

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

Dieser Ansatz nimmt Audio von einem Mikrofon auf und spielt es dann mit Lippen-Sync ab:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- Erstellen Sie eine Capturable Sound Wave mit Runtime Audio Importer
- Für Linux mit Pixel Streaming verwenden Sie stattdessen Pixel Streaming Capturable Sound Wave
- Starten Sie die Audioaufnahme vom Mikrofon
- Binden Sie sich an seinen
OnGeneratePCMData-Delegaten, bevor Sie die capturable Sound Wave abspielen - Rufen Sie in der gebundenen Funktion
ProcessAudioDatavon Ihrem Runtime Viseme Generator auf

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

- Regulär
- Streaming
Dieser Ansatz synthetisiert Sprache aus Text mit lokalem TTS und führt Lippen-Sync durch:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- Verwenden Sie Runtime Text To Speech, um Sprache aus Text zu generieren
- Verwenden Sie Runtime Audio Importer, um das synthetisierte Audio zu importieren
- Binden Sie sich an seinen
OnGeneratePCMData-Delegaten, bevor Sie die importierte Sound Wave abspielen - Rufen Sie in der gebundenen Funktion
ProcessAudioDatavon Ihrem Runtime Viseme Generator auf

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

Dieser Ansatz verwendet Streaming-Text-zu-Sprache-Synthese mit Echtzeit-Lippen-Sync:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- 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 sich an seinen
OnGeneratePCMData-Delegaten, bevor Sie die Streaming-Sound Wave abspielen - Rufen Sie in der gebundenen Funktion
ProcessAudioDatavon Ihrem Runtime Viseme Generator auf

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

- Regulär
- Streaming
Dieser Ansatz verwendet das Runtime AI Chatbot Integrator-Plugin, um synthetisierte Sprache von KI-Diensten (OpenAI oder ElevenLabs) zu generieren und Lippen-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 an seinen
OnGeneratePCMData-Delegaten, bevor Sie die importierte Sound Wave abspielen - Rufen Sie in der gebundenen Funktion
ProcessAudioDatavon Ihrem Runtime Viseme Generator auf

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

Dieser Ansatz verwendet das Runtime AI Chatbot Integrator-Plugin, um synthetisierte Streaming-Sprache von KI-Diensten (OpenAI oder ElevenLabs) zu generieren und Lippen-Sync durchzuführen:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- Verwenden Sie Runtime AI Chatbot Integrator, um eine Verbindung zu Streaming-TTS-APIs (wie ElevenLabs Streaming API) herzustellen
- Verwenden Sie Runtime Audio Importer, um die synthetisierten Audiodaten zu importieren
- Binden Sie sich an seinen
OnGeneratePCMData-Delegaten, bevor Sie die Streaming-Sound Wave abspielen - Rufen Sie in der gebundenen Funktion
ProcessAudioDatavon Ihrem Runtime Viseme Generator auf

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

Dieser Ansatz verwendet voraufgenommene Audiodateien oder Audio-Puffer für Lippen-Sync:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- Verwenden Sie Runtime Audio Importer, um eine Audiodatei von der Festplatte oder aus dem Speicher zu importieren
- Binden Sie sich an seinen
OnGeneratePCMData-Delegaten, bevor Sie die importierte Sound Wave abspielen - Rufen Sie in der gebundenen Funktion
ProcessAudioDatavon Ihrem Runtime Viseme Generator auf - Spielen Sie die importierte Sound Wave ab und beobachten Sie die Lippen-Sync-Animation

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

Für Streaming-Audiodaten aus einem Puffer benötigen Sie:
- Standardmodell
- Realistisches Modell
- Stimmungsfähiges realistisches Modell
- Audiodaten im Float-PCM-Format (ein Array von Fließkomma-Samples), verfügbar von Ihrer Streaming-Quelle (oder verwenden Sie Runtime Audio Importer, um weitere Formate zu unterstützen)
- Die Abtastrate und Anzahl der Kanäle
- Rufen Sie
ProcessAudioDatavon Ihrem Runtime Viseme Generator mit diesen Parametern auf, sobald Audio-Chunks verfügbar werden

Das realistische Modell verwendet den gleichen Audioverarbeitungs-Workflow wie das Standardmodell, jedoch mit der Variable RealisticLipSyncGenerator anstelle von VisemeGenerator.

Das stimmungsfähige Modell verwendet den gleichen Audioverarbeitungs-Workflow, jedoch mit der Variable MoodMetaHumanLipSyncGenerator und zusätzlichen Stimmungskonfigurationsmöglichkeiten.

Hinweis: Stellen Sie bei der Verwendung von Streaming-Audioquellen sicher, dass Sie die Audio-Wiedergabezeit angemessen verwalten, um verzerrte Wiedergabe zu vermeiden. Weitere Informationen finden Sie in der Streaming Sound Wave-Dokumentation.
Leistungstipps zur Verarbeitung
-
Chunk-Größe: Wenn Sie Audiodaten in kleineren Chunks für responsiveren Lippen-Sync verarbeiten möchten, passen Sie die Berechnung in der Funktion
SetNumSamplesPerChunkan. Beispielsweise liefert das Teilen der Abtastrate durch 150 (Streaming alle ~6,67 ms) anstelle von 100 (Streaming alle 10 ms) häufigere Lippen-Sync-Updates. -
Pufferverwaltung: Das stimmungsfähige Modell verarbeitet Audio in 320-Sample-Frames (20ms bei 16kHz). Stellen Sie sicher, dass Ihr Audioeingabe-Timing dafür optimale Leistung ausgerichtet ist.
-
Generator-Neuerstellung: Für zuverlässigen Betrieb mit realistischen Modellen erstellen Sie den Generator jedes Mal neu, 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 Lippen-Sync-Verhalten fein abzustimmen
- Fügen Sie Lach-Animation für verbesserte Ausdruckskraft hinzu
- Kombinieren Sie Lippen-Sync mit bestehenden Gesichtsanimationen mithilfe der im Konfigurationsleitfaden beschriebenen Layering-Techniken