Przewodnik przetwarzania audio
Ten przewodnik obejmuje konfigurację różnych metod wprowadzania audio w celu dostarczania danych audio do generatorów synchronizacji ust. Upewnij się, że ukończyłeś Przewodnik konfiguracji przed kontynuowaniem.
Przetwarzanie wejścia audio
Musisz skonfigurować metodę przetwarzania wejścia audio. Istnieje kilka sposobów w zależności od źródła audio.
- Mikrofon (czas rzeczywisty)
- Mikrofon (Odtwarzanie)
- Text-to-Speech (Lokalny)
- Text-to-Speech (External APIs)
- Z pliku/bufora audio
- Strumieniowy bufor audio
To podejście wykonuje synchronizację ust w czasie rzeczywistym podczas mówienia do mikrofonu:
- Model standardowy
- Model realistyczny
- Model realistyczny z obsługą nastroju
- Utwórz Capturable Sound Wave za pomocą Runtime Audio Importer
- Przed rozpoczęciem przechwytywania audio, podłącz się do delegata
OnPopulateAudioData
- W powiązanej funkcji, wywołaj
ProcessAudioData
z twojego Runtime Viseme Generator - Rozpocznij przechwytywanie audio z mikrofonu
Model realistyczny używa tego samego przepływu pracy przetwarzania audio co model standardowy, ale ze zmienną RealisticLipSyncGenerator
zamiast VisemeGenerator
.
Model z obsługą nastroju używa tego samego przepływu pracy przetwarzania audio, ale ze zmienną MoodMetaHumanLipSyncGenerator
i dodatkowymi możliwościami konfiguracji nastroju.
To podejście przechwytuje dźwięk z mikrofonu, a następnie odtwarza go z synchronizacją ust:
- Model Standardowy
- Model Realistyczny
- Model Realistyczny z Nastrojem
- Utwórz Capturable Sound Wave używając Runtime Audio Importer
- Rozpocznij przechwytywanie dźwięku z mikrofonu
- Przed odtworzeniem capturable sound wave, podłącz się do jego delegata
OnGeneratePCMData
- W powiązanej funkcji, wywołaj
ProcessAudioData
z twojego Runtime Viseme Generator
Model Realistyczny używa tego samego przepływu pracy przetwarzania dźwięku co Model Standardowy, ale ze zmienną RealisticLipSyncGenerator
zamiast VisemeGenerator
.
Model z Nastrojem używa tego samego przepływu pracy przetwarzania dźwięku, ale ze zmienną MoodMetaHumanLipSyncGenerator
i dodatkowymi możliwościami konfiguracji nastroju.
- Regularny
- Streaming
To podejście syntetyzuje mowę z tekstu przy użyciu lokalnego TTS i wykonuje synchronizację ust:
- Model Standardowy
- Model Realistyczny
- Model Realistyczny z Obsługą Nastroju
- Użyj Runtime Text To Speech do wygenerowania mowy z tekstu
- Użyj Runtime Audio Importer do zaimportowania zsyntetyzowanego dźwięku
- Przed odtworzeniem zaimportowanej fali dźwiękowej, podłącz się do jej delegata
OnGeneratePCMData
- W podłączonej funkcji, wywołaj
ProcessAudioData
z twojego Runtime Viseme Generator
Lokalny TTS dostarczany przez wtyczkę Runtime Text To Speech nie jest obecnie obsługiwany z regularnym modelem Realistycznym z powodu konfliktów środowiska wykonawczego ONNX. Dla text-to-speech z regularnym modelem Realistycznym, rozważ użycie zewnętrznych rozwiązań TTS lub użyj zamiast tego modelu Standardowego.
- Użyj Runtime Text To Speech do wygenerowania mowy z tekstu
- Użyj Runtime Audio Importer do zaimportowania zsyntetyzowanego dźwięku
- Przed odtworzeniem zaimportowanej fali dźwiękowej, podłącz się do jej delegata
OnGeneratePCMData
- W podłączonej funkcji, wywołaj
ProcessAudioData
z twojego Mood-Enabled Lip Sync Generator - Skonfiguruj ustawienia nastroju na podstawie treści tekstu lub pożądanego wyrazu emocjonalnego
TTS z Integracją Nastroju:
- Ustaw odpowiednie nastroje przed lub podczas generowania TTS
- Dostosuj intensywność nastroju, aby pasowała do emocjonalnego tonu tekstu
- Używaj różnych nastrojów dla różnych sekcji dłuższej treści tekstowej
To podejście wykorzystuje strumieniową syntezę mowy z tekstu z synchronizacją ust w czasie rzeczywistym:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Użyj Runtime Text To Speech, aby wygenerować strumieniową mowę z tekstu
- Użyj Runtime Audio Importer, aby zaimportować zsyntetyzowany dźwięk
- Przed odtworzeniem strumieniowej fali dźwiękowej, podłącz się do jej delegata
OnGeneratePCMData
- W powiązanej funkcji, wywołaj
ProcessAudioData
ze swojego Runtime Viseme Generator
Lokalny TTS dostarczany przez wtyczkę Runtime Text To Speech nie jest obecnie obsługiwany z regularnym modelem Realistic z powodu konfliktów środowiska wykonawczego ONNX. W przypadku syntezy mowy z tekstu z regularnym modelem Realistic, rozważ użycie zewnętrznych usług TTS lub użyj zamiast tego modelu Standard.
- Użyj Runtime Text To Speech, aby wygenerować strumieniową mowę z tekstu
- Użyj Runtime Audio Importer, aby zaimportować zsyntetyzowany dźwięk
- Przed odtworzeniem strumieniowej fali dźwiękowej, podłącz się do jej delegata
OnGeneratePCMData
- W powiązanej funkcji, wywołaj
ProcessAudioData
ze swojego Mood-Enabled Lip Sync Generator - W razie potrzeby dostosuj ustawienia nastroju dynamicznie podczas strumieniowania
- Regular
- Streaming
To podejście wykorzystuje plugin Runtime AI Chatbot Integrator do generowania zsyntetyzowanej mowy z usług AI (OpenAI lub ElevenLabs) i wykonywania synchronizacji ust:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Użyj Runtime AI Chatbot Integrator do generowania mowy z tekstu przy użyciu zewnętrznych API (OpenAI, ElevenLabs, itp.)
- Użyj Runtime Audio Importer do zaimportowania zsyntetyzowanych danych audio
- Przed odtworzeniem zaimportowanej fali dźwiękowej, podłącz się do jej delegata
OnGeneratePCMData
- W powiązanej funkcji, wywołaj
ProcessAudioData
z twojego Runtime Viseme Generator
Realistic Model używa tego samego przepływu pracy przetwarzania audio co Standard Model, ale ze zmienną RealisticLipSyncGenerator
zamiast VisemeGenerator
.
Mood-Enabled Model używa tego samego przepływu pracy przetwarzania audio, ale ze zmienną MoodMetaHumanLipSyncGenerator
i dodatkowymi możliwościami konfiguracji nastroju.
To podejście wykorzystuje wtyczkę Runtime AI Chatbot Integrator do generowania zsyntetyzowanej strumieniowej mowy z usług AI (OpenAI lub ElevenLabs) i wykonywania synchronizacji ust:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Użyj Runtime AI Chatbot Integrator aby połączyć się ze strumieniowymi API TTS (jak ElevenLabs Streaming API)
- Użyj Runtime Audio Importer aby zaimportować zsyntetyzowane dane audio
- Przed odtworzeniem strumieniowej fali dźwiękowej, podłącz się do jej delegata
OnGeneratePCMData
- W powiązanej funkcji, wywołaj
ProcessAudioData
z twojego Runtime Viseme Generator
Realistic Model używa tego samego przepływu pracy przetwarzania audio co Standard Model, ale ze zmienną RealisticLipSyncGenerator
zamiast VisemeGenerator
.
Mood-Enabled Model używa tego samego przepływu pracy przetwarzania audio, ale ze zmienną MoodMetaHumanLipSyncGenerator
i dodatkowymi możliwościami konfiguracji nastroju.
To podejście wykorzystuje wstępnie nagrane pliki audio lub bufory audio do synchronizacji ust:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Użyj Runtime Audio Importer, aby zaimportować plik audio z dysku lub pamięci
- Przed odtworzeniem zaimportowanej fali dźwiękowej, podłącz się do jej delegata
OnGeneratePCMData
- W powiązanej funkcji, wywołaj
ProcessAudioData
ze swojego Runtime Viseme Generator - Odtwórz zaimportowaną falę dźwiękową i obserwuj animację synchronizacji ust
Realistic Model używa tego samego przepływu pracy przetwarzania audio co Standard Model, ale z zmienną RealisticLipSyncGenerator
zamiast VisemeGenerator
.
Mood-Enabled Model używa tego samego przepływu pracy przetwarzania audio, ale ze zmienną MoodMetaHumanLipSyncGenerator
i dodatkowymi możliwościami konfiguracji nastroju.
Do strumieniowania danych audio z bufora, potrzebujesz:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Dane audio w formacie float PCM (tablica próbek zmiennoprzecinkowych) dostępne ze źródła strumieniowania (lub użyj Runtime Audio Importer, aby obsługiwać więcej formatów)
- Częstotliwość próbkowania i liczbę kanałów
- Wywołaj
ProcessAudioData
ze swojego Runtime Viseme Generator z tymi parametrami, gdy fragmenty audio staną się dostępne
Model Realistyczny wykorzystuje ten sam przepływ pracy przetwarzania audio co Model Standardowy, ale ze zmienną RealisticLipSyncGenerator
zamiast VisemeGenerator
.
Model z Włączonym Nastrojem wykorzystuje ten sam przepływ pracy przetwarzania audio, ale ze zmienną MoodMetaHumanLipSyncGenerator
i dodatkowymi możliwościami konfiguracji nastroju.
Uwaga: Podczas korzystania ze strumieniowych źródeł audio upewnij się, że odpowiednio zarządzasz czasem odtwarzania audio, aby uniknąć zniekształconego odtwarzania. Więcej informacji znajdziesz w dokumentacji Streaming Sound Wave.
Wskazówki Dotyczące Wydajności Przetwarzania
-
Rozmiar Chunku: Jeśli chcesz przetwarzać dane audio w mniejszych porcjach dla bardziej responsywnej synchronizacji ust, dostosuj obliczenia w funkcji
SetNumSamplesPerChunk
. Na przykład, podzielenie częstotliwości próbkowania przez 150 (przesyłanie strumieniowe co ~6,67 ms) zamiast przez 100 (przesyłanie strumieniowe co 10 ms) zapewni częstsze aktualizacje synchronizacji ust. -
Zarządzanie Buforem: Model z włączonym nastrojem przetwarza audio w klatkach 320-próbkowych (20ms przy 16kHz). Upewnij się, że czasowanie twojego wejścia audio jest z tym zsynchronizowane dla optymalnej wydajności.
-
Ponowne Tworzenie Generatora: Dla niezawodnej pracy z modelami Realistycznymi, odtwórz generator za każdym razem, gdy chcesz przekazać nowe dane audio po okresie bezczynności.
Następne Kroki
Gdy już skonfigurujesz przetwarzanie audio, możesz chcieć:
- Poznać Opcje konfiguracji, aby dostroić zachowanie synchronizacji ust
- Dodać animację śmiechu dla zwiększonej ekspresyjności
- Połączyć synchronizację ust z istniejącymi animacjami twarzy przy użyciu technik warstwowania opisanych w przewodniku konfiguracyjnym