Ses İşleme Kılavuzu
Bu kılavuz, dudak senkronizasyonu jeneratörlerinize ses verisi beslemek için farklı ses giriş yöntemlerini nasıl kuracağınızı kapsar. Devam etmeden önce Kurulum Kılavuzu'nu tamamladığınızdan emin olun.
Ses Giriş İşleme
Ses girişini işlemek için bir yöntem kurmanız gerekmektedir. Ses kaynağınıza bağlı olarak bunu yapmanın birkaç yolu vardır.
- Mikrofon (Gerçek zamanlı)
- Mikrofon (Oynatma)
- Text-to-Speech (Yerel)
- Metinden Sese (Harici API'ler)
- Ses Dosyası/Arabelleğinden
- Akış Ses Arabelleği
Bu yaklaşım, mikrofonla konuşurken dudak senkronizasyonunu gerçek zamanlı olarak gerçekleştirir:
- Standart Model
- Realistik Model
- Duygu Etkin Realistik Model
- Runtime Audio Importer kullanarak bir Capturable Sound Wave oluşturun
- Ses yakalamaya başlamadan önce,
OnPopulateAudioData
temsilcisine bağlanın - Bağlanan fonksiyonda, Runtime Viseme Generator'ınızdan
ProcessAudioData
'yı çağırın - Mikrofondan ses yakalamaya başlayın
Realistik Model, Standart Model ile aynı ses işleme iş akışını kullanır, ancak VisemeGenerator
yerine RealisticLipSyncGenerator
değişkeni ile.
Duygu Etkin Model aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek duygu yapılandırma yetenekleri ile.
Bu yaklaşım, bir mikrofondan ses yakalar, ardından dudak senkronizasyonu ile geri oynatır:
- Standart Model
- Gerçekçi Model
- Duygu Etkin Gerçekçi Model
- Runtime Audio Importer kullanarak bir Capturable Sound Wave oluşturun
- Mikrofondan ses yakalamayı başlatın
- Yakalanabilir ses dalgasını oynatmadan önce,
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyonda, Runtime Viseme Generator'ınızdan
ProcessAudioData
fonksiyonunu çağırın
Gerçekçi Model, Standart Model ile aynı ses işleme iş akışını kullanır, ancak VisemeGenerator
yerine RealisticLipSyncGenerator
değişkeni ile çalışır.
Duygu Etkin Model, aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek duygu yapılandırma yetenekleri ile çalışır.
- Normal
- Streaming
Bu yaklaşım, yerel TTS kullanarak metinden konuşma sentezler ve dudak senkronizasyonu gerçekleştirir:
- Standart Model
- Gerçekçi Model
- Duygu Etkin Gerçekçi Model
- Metinden konuşma oluşturmak için Runtime Text To Speech kullanın
- Sentezlenen sesi içe aktarmak için Runtime Audio Importer kullanın
- İçe aktarılan ses dalgasını oynatmadan önce,
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyonda, Runtime Viseme Generator'ınızdan
ProcessAudioData
çağırın
Runtime Text To Speech eklentisi tarafından sağlanan yerel TTS, ONNX çalışma zamanı çakışmaları nedeniyle şu anda normal Gerçekçi model ile desteklenmemektedir. Normal Gerçekçi model ile metinden konuşma için harici TTS çözümlerini düşünün veya bunun yerine Standart modeli kullanın.
- Metinden konuşma oluşturmak için Runtime Text To Speech kullanın
- Sentezlenen sesi içe aktarmak için Runtime Audio Importer kullanın
- İçe aktarılan ses dalgasını oynatmadan önce,
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyonda, Duygu Etkin Dudak Senkronizasyonu Generator'ınızdan
ProcessAudioData
çağırın - Metin içeriğine veya istenen duygusal ifadeye dayalı olarak duygu ayarlarını yapılandırın
Duygu Entegrasyonlu TTS:
- TTS oluşturmadan önce veya sırasında uygun duyguları ayarlayın
- Metnin duygusal tonuyla eşleşecek şekilde duygu yoğunluğunu ayarlayın
- Daha uzun metin içeriklerinin farklı bölümleri için farklı duygular kullanın
Bu yaklaşım, gerçek zamanlı dudak senkronizasyonu ile akışlı metinden sese sentezi kullanır:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Metinden akışlı konuşma oluşturmak için Runtime Text To Speech kullanın
- Sentezlenen sesi içe aktarmak için Runtime Audio Importer kullanın
- Akışlı ses dalgasını oynatmadan önce, onun
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyon içinde, Runtime Viseme Generator'ınızdan
ProcessAudioData
fonksiyonunu çağırın
Runtime Text To Speech eklentisi tarafından sağlanan Yerel TTS, ONNX çalışma zamanı çakışmaları nedeniyle şu anda düzenli Realistic model ile desteklenmemektedir. Düzenli Realistic model ile metinden sese için harici TTS servislerini kullanmayı düşünün veya bunun yerine Standard modeli kullanın.
- Metinden akışlı konuşma oluşturmak için Runtime Text To Speech kullanın
- Sentezlenen sesi içe aktarmak için Runtime Audio Importer kullanın
- Akışlı ses dalgasını oynatmadan önce, onun
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyon içinde, Mood-Enabled Lip Sync Generator'ınızdan
ProcessAudioData
fonksiyonunu çağırın - Gerekirse akış sırasında ruh hali ayarlarını dinamik olarak ayarlayın
- Normal
- Streaming
Bu yaklaşım, AI servislerinden (OpenAI veya ElevenLabs) sentezlenmiş konuşma oluşturmak ve dudak senkronizasyonu gerçekleştirmek için Runtime AI Chatbot Integrator eklentisini kullanır:
- Standart Model
- Gerçekçi Model
- Ruh Hali Etkin Gerçekçi Model
- Harici API'ler (OpenAI, ElevenLabs, vb.) kullanarak metinden konuşma oluşturmak için Runtime AI Chatbot Integrator kullanın
- Sentezlenmiş ses verilerini içe aktarmak için Runtime Audio Importer kullanın
- İçe aktarılan ses dalgasını oynatmadan önce,
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyonda, Runtime Viseme Generator'ınızdan
ProcessAudioData
fonksiyonunu çağırın
Gerçekçi Model, Standart Model ile aynı ses işleme iş akışını kullanır, ancak VisemeGenerator
yerine RealisticLipSyncGenerator
değişkeni ile çalışır.
Ruh Hali Etkin Model aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek ruh hali yapılandırma yetenekleri ile çalışır.
Bu yaklaşım, AI servislerinden (OpenAI veya ElevenLabs) sentezlenmiş akış konuşması üretmek ve lip sync gerçekleştirmek için Runtime AI Chatbot Integrator eklentisini kullanır:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Akış TTS API'lerine (ElevenLabs Streaming API gibi) bağlanmak için Runtime AI Chatbot Integrator kullanın
- Sentezlenmiş ses verilerini içe aktarmak için Runtime Audio Importer kullanın
- Akış ses dalgasını oynatmadan önce, onun
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyonda, Runtime Viseme Generator'ınızdan
ProcessAudioData
çağırın
Realistic Model, Standart Model ile aynı ses işleme iş akışını kullanır, ancak VisemeGenerator
yerine RealisticLipSyncGenerator
değişkeni ile.
Mood-Enabled Model aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek duygu yapılandırma yetenekleri ile.
Bu yaklaşım, dudak senkronizasyonu için önceden kaydedilmiş ses dosyalarını veya ses arabelleklerini kullanır:
- Standart Model
- Gerçekçi Model
- Duygu Etkin Gerçekçi Model
- Diskten veya bellekten bir ses dosyasını içe aktarmak için Runtime Audio Importer kullanın
- İçe aktarılan ses dalgasını oynatmadan önce, onun
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyon içinde, Runtime Viseme Generator'ınızdan
ProcessAudioData
fonksiyonunu çağırın - İçe aktarılan ses dalgasını oynatın ve dudak senkronizasyon animasyonunu gözlemleyin
Gerçekçi Model, Standart Model ile aynı ses işleme iş akışını kullanır, ancak VisemeGenerator
yerine RealisticLipSyncGenerator
değişkeni ile.
Duygu Etkin Model aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek duygu yapılandırma yetenekleri ile.
Bir arabellekten akış ses verisi için şunlara ihtiyacınız var:
- Standart Model
- Realistic Model
- Mood-Enabled Realistic Model
- Akış kaynağınızdan kayan nokta PCM formatında (kayan nokta örneklerinden oluşan bir dizi) ses verisi (veya daha fazla formatı desteklemek için Runtime Audio Importer kullanın)
- Örnekleme hızı ve kanal sayısı
- Ses parçaları kullanılabilir olduğunda, Runtime Viseme Generator'ınızdan
ProcessAudioData
fonksiyonunu bu parametrelerle çağırın
Realistik Model, Standart Model ile aynı ses işleme iş akışını kullanır, ancak VisemeGenerator
yerine RealisticLipSyncGenerator
değişkeni ile çalışır.
Mood-Enabled Model aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek duygu yapılandırma yetenekleri ile çalışır.
Not: Akış ses kaynakları kullanırken, bozuk ses çalınmasını önlemek için ses çalma zamanlamasını uygun şekilde yönettiğinizden emin olun. Daha fazla bilgi için Streaming Sound Wave dokümantasyonuna bakın.
İşleme Performans İpuçları
-
Yığın Boyutu: Daha duyarlı lip sync için ses verilerini daha küçük yığınlarda işlemek istiyorsanız,
SetNumSamplesPerChunk
fonksiyonundaki hesaplamayı ayarlayın. Örneğin, örnekleme hızını 100'e bölmek (her 10 ms'de bir akış) yerine 150'ye bölmek (her ~6.67 ms'de bir akış) daha sık lip sync güncellemeleri sağlayacaktır. -
Tampon Yönetimi: Mood-Enabled model, sesi 320-örnek karelerde işler (16kHz'de 20ms). Optimum performans için ses giriş zamanlamanızın buna uyumlu olduğundan emin olun.
-
Generator Yeniden Oluşturma: Realistik modellerle güvenilir çalışma için, bir süre hareketsiz kaldıktan sonra yeni ses verisi beslemek istediğinizde generator'ı yeniden oluşturun.
Sonraki Adımlar
Ses işlemeyi kurduktan sonra şunları yapmak isteyebilirsiniz:
- Lip sync davranışınızı hassas şekilde ayarlamak için Yapılandırma seçenekleri hakkında bilgi edinin
- Gelişmiş ifade gücü için kahkaha animasyonu ekleyin
- Yapılandırma kılavuzunda açıklanan katmanlama tekniklerini kullanarak lip sync'i mevcut yüz animasyonlarıyla birleştirin