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. Bunu yapmanın ses kaynağınıza bağlı olarak birkaç yolu vardır.
- Mikrofon (Gerçek zamanlı)
- Mikrofon (Oynatma)
- Metinden Sese (Yerel)
- Metinden Konuşmaya (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
- Gerçekçi Model
- Ruh Hali Etkinleştirilmiş Gerçekçi Model
- Runtime Audio Importer kullanarak bir Capturable Sound Wave oluşturun
- Ses yakalamaya başlamadan önce,
OnPopulateAudioData
temsilcisine bağlanın - Bağlanan fonksiyon içinde, Runtime Viseme Generator'ınızdan
ProcessAudioData
fonksiyonunu çağırın - Mikrofondan ses yakalamaya başlayı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 Etkinleştirilmiş Model aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek ruh hali yapılandırma yetenekleri ile birlikte gelir.
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 Capturable Sound Wave oluşturun
- Mikrofondan ses yakalamayı başlatın
- Yakalanabilir ses dalgasını oynatmadan önce, onun
OnGeneratePCMData
temsilcisine bağlanın - Bağlanan fonksiyonda, Runtime Viseme Generator'ınızdan
ProcessAudioData
'yı ç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.
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.
- 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
işlevini ç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 sese için şunları göz önünde bulundurun:
- Harici TTS hizmetleri (ElevenLabs, OpenAI, vb.) kullanma
- Harici yerel TTS çözümleri (Python tabanlı TTS, sistem TTS API'leri veya diğer ONNX olmayan yerel çözümler) kullanma
- Runtime Text To Speech eklentisini destekleyen Standart Model veya Duygu Etkin Gerçekçi Model kullanma
- 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 Oluşturucunuzdan
ProcessAudioData
işlevini ç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çeriğinin farklı bölümleri için farklı duygular kullanın
Bu yaklaşım, gerçek zamanlı dudak senkronizasyonu ile akışlı metinden sese sentez 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 fonksiyonda, 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 normal Realistic modeli ile desteklenmemektedir. Normal Realistic modeli ile metinden sese için şunları göz önünde bulundurun:
- Harici TTS hizmetleri (ElevenLabs, OpenAI, vb.) kullanmak
- Harici yerel TTS çözümleri (Python tabanlı TTS, sistem TTS API'leri veya diğer ONNX olmayan yerel çözümler) kullanmak
- Runtime Text To Speech eklentisini destekleyen Standard Model veya Mood-Enabled Realistic Model kullanmak
- 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 fonksiyonda, 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
- Akış
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
- Duygu 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
ç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.
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, AI servislerinden (OpenAI veya ElevenLabs) sentezlenmiş akış konuşması üretmek ve dudak senkronizasyonu gerçekleştirmek için Runtime AI Chatbot Integrator eklentisini kullanır:
- Standart Model
- Gerçekçi Model
- Ruh Durumu Etkin Gerçekçi 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 fonksiyon içinde, Runtime Viseme Generator'ınızdan
ProcessAudioData
ç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.
Ruh Durumu Etkin Model aynı ses işleme iş akışını kullanır, ancak MoodMetaHumanLipSyncGenerator
değişkeni ve ek ruh durumu 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
'yı ç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 float PCM formatında ses verisi (kayan noktalı örneklerden oluşan bir dizi) mevcut olmalı (veya daha fazla formatı desteklemek için Runtime Audio Importer kullanın)
- Örnekleme hızı ve kanal sayısı
- Ses parçaları mevcut oldukça, Runtime Viseme Generator'ınızdan
ProcessAudioData
'yı bu parametrelerle ç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 geliştirilmiştir.
Not: Akış ses kaynakları kullanırken, bozuk ses oynatmayı önlemek için ses oynatma 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ı dudak senkronizasyonu için ses verilerini daha küçük yığınlarda işlemek isterseniz,
SetNumSamplesPerChunk
fonksiyonundaki hesaplamayı ayarlayın. Örneğin, örnekleme hızını 100'e bölmek (her ~10 ms'de akış) yerine 150'ye bölmek (her ~6.67 ms'de akış) daha sık dudak senkronizasyonu güncellemeleri sağlayacaktır. -
Tampon Yönetimi: Duygu etkin 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.
-
Üreteç Yeniden Oluşturma: Gerçekçi modellerle güvenilir çalışma için, bir hareketsizlik döneminden sonra yeni ses verisi beslemek istediğinizde üreteci her seferinde yeniden oluşturun.
Sonraki Adımlar
Ses işlemenizi kurduktan sonra şunları yapmak isteyebilirsiniz:
- Dudak senkronizasyonu 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 dudak senkronizasyonunu mevcut yüz animasyonlarıyla birleştirin