Guide de Traitement Audio
Ce guide explique comment configurer différentes méthodes d'entrée audio pour alimenter vos générateurs de synchronisation labiale. Assurez-vous d'avoir terminé le Guide de Configuration avant de continuer.
Traitement de l'Entrée Audio
Vous devez configurer une méthode pour traiter l'entrée audio. Il existe plusieurs façons de le faire selon votre source audio.
- Microphone (Temps réel)
- Microphone (Lecture)
- Synthèse Vocale (Locale)
- Synthèse Vocale (APIs Externes)
- Depuis Fichier/Tampon Audio
- Tampon Audio en Streaming
Cette approche effectue la synchronisation labiale en temps réel pendant que vous parlez dans le microphone :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- Créez une Capturable Sound Wave en utilisant Runtime Audio Importer
- Pour Linux avec Pixel Streaming, utilisez plutôt Pixel Streaming Capturable Sound Wave
- Avant de commencer à capturer l'audio, liez-vous au délégué
OnPopulateAudioData - Dans la fonction liée, appelez
ProcessAudioDatadepuis votre Runtime Viseme Generator - Commencez à capturer l'audio depuis le microphone

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

Cette approche capture l'audio depuis un microphone, puis le lit avec synchronisation labiale :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- Créez une Capturable Sound Wave en utilisant Runtime Audio Importer
- Pour Linux avec Pixel Streaming, utilisez plutôt Pixel Streaming Capturable Sound Wave
- Commencez la capture audio depuis le microphone
- Avant de lire la capturable sound wave, liez-vous à son délégué
OnGeneratePCMData - Dans la fonction liée, appelez
ProcessAudioDatadepuis votre Runtime Viseme Generator

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

- Régulier
- Streaming
Cette approche synthétise la parole à partir de texte en utilisant une TTS locale et effectue la synchronisation labiale :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- Utilisez Runtime Text To Speech pour générer la parole à partir de texte
- Utilisez Runtime Audio Importer pour importer l'audio synthétisé
- Avant de lire la sound wave importée, liez-vous à son délégué
OnGeneratePCMData - Dans la fonction liée, appelez
ProcessAudioDatadepuis votre Runtime Viseme Generator

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

Cette approche utilise la synthèse vocale text-to-speech en streaming avec synchronisation labiale en temps réel :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- Utilisez Runtime Text To Speech pour générer de la parole en streaming à partir de texte
- Utilisez Runtime Audio Importer pour importer l'audio synthétisé
- Avant de lire la sound wave de streaming, liez-vous à son délégué
OnGeneratePCMData - Dans la fonction liée, appelez
ProcessAudioDatadepuis votre Runtime Viseme Generator

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

- Régulier
- Streaming
Cette approche utilise le plugin Runtime AI Chatbot Integrator pour générer de la parole synthétisée à partir de services d'IA (OpenAI ou ElevenLabs) et effectuer la synchronisation labiale :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- Utilisez Runtime AI Chatbot Integrator pour générer de la parole à partir de texte en utilisant des APIs externes (OpenAI, ElevenLabs, etc.)
- Utilisez Runtime Audio Importer pour importer les données audio synthétisées
- Avant de lire la sound wave importée, liez-vous à son délégué
OnGeneratePCMData - Dans la fonction liée, appelez
ProcessAudioDatadepuis votre Runtime Viseme Generator

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

Cette approche utilise le plugin Runtime AI Chatbot Integrator pour générer de la parole synthétisée en streaming à partir de services d'IA (OpenAI ou ElevenLabs) et effectuer la synchronisation labiale :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- Utilisez Runtime AI Chatbot Integrator pour se connecter aux APIs TTS en streaming (comme l'API Streaming d'ElevenLabs)
- Utilisez Runtime Audio Importer pour importer les données audio synthétisées
- Avant de lire la sound wave de streaming, liez-vous à son délégué
OnGeneratePCMData - Dans la fonction liée, appelez
ProcessAudioDatadepuis votre Runtime Viseme Generator

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

Cette approche utilise des fichiers audio pré-enregistrés ou des tampons audio pour la synchronisation labiale :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- Utilisez Runtime Audio Importer pour importer un fichier audio depuis le disque ou la mémoire
- Avant de lire la sound wave importée, liez-vous à son délégué
OnGeneratePCMData - Dans la fonction liée, appelez
ProcessAudioDatadepuis votre Runtime Viseme Generator - Jouez la sound wave importée et observez l'animation de synchronisation labiale

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

Pour les données audio en streaming depuis un tampon, vous avez besoin :
- Modèle Standard
- Modèle Réaliste
- Modèle Réaliste avec Humeur
- De données audio au format PCM float (un tableau d'échantillons en virgule flottante) disponibles depuis votre source de streaming (ou utilisez Runtime Audio Importer pour supporter plus de formats)
- De la fréquence d'échantillonnage et du nombre de canaux
- D'appeler
ProcessAudioDatadepuis votre Runtime Viseme Generator avec ces paramètres au fur et à mesure que les morceaux audio deviennent disponibles

Le Modèle Réaliste utilise le même flux de travail de traitement audio que le Modèle Standard, mais avec la variable RealisticLipSyncGenerator au lieu de VisemeGenerator.

Le Modèle avec Humeur utilise le même flux de travail de traitement audio, mais avec la variable MoodMetaHumanLipSyncGenerator et des capacités de configuration d'humeur supplémentaires.

Note : Lorsque vous utilisez des sources audio en streaming, assurez-vous de gérer le timing de la lecture audio de manière appropriée pour éviter une lecture déformée. Consultez la documentation Streaming Sound Wave pour plus d'informations.
Conseils de Performance de Traitement
-
Taille des Morceaux : Si vous souhaitez traiter les données audio en morceaux plus petits pour une synchronisation labiale plus réactive, ajustez le calcul dans la fonction
SetNumSamplesPerChunk. Par exemple, diviser la fréquence d'échantillonnage par 150 (streaming toutes les ~6,67 ms) au lieu de 100 (streaming toutes les 10 ms) fournira des mises à jour de synchronisation labiale plus fréquentes. -
Gestion du Tampon : Le modèle avec humeur traite l'audio en trames de 320 échantillons (20ms à 16kHz). Assurez-vous que le timing de votre entrée audio s'aligne avec cela pour une performance optimale.
-
Recréation du Générateur : Pour un fonctionnement fiable avec les modèles Réalistes, recréez le générateur chaque fois que vous souhaitez alimenter de nouvelles données audio après une période d'inactivité.
Prochaines Étapes
Une fois que vous avez configuré le traitement audio, vous voudrez peut-être :
- En savoir plus sur les options de Configuration pour affiner le comportement de votre synchronisation labiale
- Ajouter une animation de rire pour une expressivité améliorée
- Combiner la synchronisation labiale avec des animations faciales existantes en utilisant les techniques de superposition décrites dans le guide de Configuration