Ana içeriğe geç

Demo Projeleri

Runtime MetaHuman Lip Sync ile hızlıca başlamanıza yardımcı olmak için, kullanıma hazır iki demo projesi mevcuttur. Her ikisi de Unreal Engine 5.6+ ile oluşturulmuştur, yalnızca Blueprint tabanlıdır ve Windows, Mac, Linux, iOS, Android ile Android tabanlı platformlarda (Meta Quest dahil) çapraz platform olarak çalışır.

Mevcut Demo Projeleri

Tam bir AI konuşmalı avatar iş akışı; konuşma tanıma, bir AI sohbet botu (LLM), metin-konuşma ve gerçek zamanlı dudak senkronizasyonu ile ses oynatmayı birleştirir - tümü tek bir projede birlikte çalışır. Oyunlar, etkileşimli kiosklar, sanal prodüksiyon, müze enstalasyonları, dijital asistanlar ve eğitim simülasyonları dahil olmak üzere çok çeşitli kullanım alanlarına uygundur.

İşlem Hattına Genel Bakış

🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback

LLM, Akış moduna ayarlandığında, gecikmeyi en aza indirmek için tam yanıtı beklemeden çıktısı cümle cümle bölünür ve her cümle tamamlandığında TTS'e gönderilir.

Videolar

Hızlı Önizleme (~30 sn)

Demo'nun çalışır haldeki kısa bir tanıtımı.

Tam Kapsamlı Anlatım

Kurulum, yapılandırma ve tam konuşma hattını kapsayan ayrıntılı bir anlatım.

İndirilenler

Gerekli ve İsteğe Bağlı Eklentiler

Demo projesi modülerdir - yalnızca kullanmak istediğiniz sağlayıcıların eklentilerine ihtiyacınız vardır.

EklentiAmaçGerekli mi?
Runtime MetaHuman Lip SyncDudak senkronizasyonu animasyonu✅ Her zaman
Runtime Audio ImporterSes yakalama ve işleme✅ Her zaman
Runtime Speech RecognizerÇevrimdışı konuşma tanıma (whisper.cpp)✅ Her zaman
Runtime AI Chatbot IntegratorHarici LLM'ler (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) ve/veya Harici TTS (OpenAI, ElevenLabs)🔶 İsteğe Bağlı
Runtime Local LLMllama.cpp (Llama, Mistral, Gemma, vb., GGUF modelleri) aracılığıyla yerel LLM çıkarımı🔶 İsteğe Bağlı
Runtime Text To SpeechPiper ve Kokoro ile Yerel TTS🔶 İsteğe Bağlı
İsteğe bağlı eklentiler - sağlayıcı gereksinimleri

Yukarıdaki eklentilerin her biri ayrı ayrı isteğe bağlı olsa da, demoyu çalıştırmak için en az bir LLM sağlayıcısına ve en az bir TTS sağlayıcısına ihtiyacınız vardır. Serbestçe karıştırıp eşleştirebilirsiniz (ör. yerel LLM + ElevenLabs TTS veya OpenAI LLM + yerel TTS).

Modüler Mimari

Content klasörünün içinde, üç alt klasör içeren bir Modules klasörü bulacaksınız:

Content/
└── Modules/
├── RuntimeAIChatbotIntegrator/ ← External LLMs and/or external TTS
├── RuntimeLocalLLM/ ← Local LLM via llama.cpp
└── RuntimeTextToSpeech/ ← Local TTS via Piper/Kokoro

Eğer isteğe bağlı eklentilerden birini (veya daha fazlasını) edinmediyseniz, ilgili klasör(ler)i silmeniz yeterlidir. Demo projesinin temel varlıkları (oyun örneği, widget'lar vb.) bu modüllere doğrudan referans vermez, bu nedenle bunları silmek varlık referans hatalarına neden olmaz. Yapılandırma arayüzü, klasörü eksik olan herhangi bir sağlayıcıyı otomatik olarak gizleyecektir.

not

Bu modülerlik yalnızca LLM ve TTS sağlayıcıları için geçerlidir. Konuşma Tanıma (Runtime Speech Recognizer) ve Dudak Senkronizasyonu (Runtime MetaHuman Lip Sync) temel demo projesinin bir parçasıdır ve her zaman gereklidir.

Modules folder structure

uyarı

İlk başlatışta Unreal, eksik isteğe bağlı eklentileri devre dışı bırakıp bırakmayacağınızı sorabilir - Evet'e tıklayın. Ayrıca ilgili Content/Modules/ klasörünü de sildiğinizden emin olun (yukarıya bakın).

Demo Projesi Düzeni

UI, gösterim amaçlıdır.

Aşağıda gösterilen kullanıcı arayüzü tamamen UMG (Unreal Motion Graphics) ile oluşturulmuştur ve yalnızca pipeline'ı (konuşma tanıma → LLM → TTS → dudak senkronizasyonu) gösterme amacı taşır. Projenizin görsel tasarımına, kontrol şemasına veya platformuna (VR/AR, mobil, konsol, kiosk vb.) uyacak şekilde yeniden biçimlendirebilir veya değiştirebilirsiniz. Kullanım durumunuzda belirli widget'lar gerekmiyorsa, bunları basitçe gizleyebilirsiniz (örneğin, görünürlüklerini Collapsed veya Hidden olarak ayarlayarak).

Annotated overview of the demo project main screen

AreaNe var?
OrtalaMetaHuman karakteri.
Sol tarafDört adet yapılandırma düğmesi (Konuşma Tanıma, Yapay Zeka Sohbet Robotu, Metin Sese Dönüştürme, Animasyonlar), aşağıda ayrıntılı olarak açıklanmıştır.
Alt ortaBir Kaydı Başlat düğmesi. Sesli bir konuşma başlatmak için tıklayın: mikrofonunuz yakalanır, yazıya dökülür, LLM'ye gönderilir, yanıt TTS aracılığıyla sentezlenir ve dudak senkronizasyonuyla tamamen eller serbest şekilde oynatılır.
Sağ ortaBir konuşma geçmişi bileşeni gösterir; sizinle yapay zeka arasındaki tüm karşılıklı konuşmayı (hem kullanıcı hem de asistan mesajları) görüntüler. Ayrıca bir metin giriş alanı içerir, böylece ses tanıma kullanmadan doğrudan mesaj yazabilirsiniz; bu, test etmek, erişilebilirlik için veya mikrofon bulunmadığında kullanışlıdır.
ipucu

Aynı oturumda her iki giriş modunu da özgürce karıştırabilirsiniz; bazı mesajları konuşarak, bazılarını yazarak iletebilirsiniz.

ipucu

Eğer dudak senkronizasyonu test ettikçe sesin giderek daha da gerisinde kalıyorsa (sabit bir gecikme değil), aşağıdaki Animasyonları Yapılandırma bölümünde İşleme Parça Boyutu'na bakın.

Yapılandırma Düğmeleri

Soldaki dört yapılandırma düğmesi, hattın her bir bölümü için özel paneller açar:

1. Konuşma Tanımayı Yapılandırın

Kullanıcının sesinin nasıl yakalanıp yazıya döküleceğini yapılandırın:

  • Dil seçin
  • Konuşma tanıma parametrelerini ayarlayın (Whisper model ayarları)
  • AEC'yi (Akustik Yankı İptali) yapılandırın
  • VAD'yi (Ses Etkinliği Algılama) yapılandırın

Speech recognition configuration screen

2. AI Sohbet Robotunu Yapılandırın

LLM sağlayıcınızı seçin ve yapılandırın:

  • Sağlayıcı seçin (Runtime AI Chatbot Integrator veya Runtime Local LLM)
  • Mod seçin: Normal veya Akış (sağlayıcıya bağlıdır, Akış cümle bazında TTS aktarımını etkinleştirir, ayrıntılar için İşlem Hattına Genel Bakış bölümüne bakın)
  • Harici sağlayıcılar için: kimlik doğrulama belirteci, model adı vb.
  • Yerel LLM için: bir GGUF modeli seçin, bağlam boyutunu ve diğer çıkarım parametrelerini ayarlayın. Ayrıca demo üzerinden doğrudan çalışma zamanında kendi GGUF modelinizi indirebilir (örneğin URL ile) ve projeyi yeniden derlemeden hemen kullanabilirsiniz.
ipucu

Sağlayıcı birleşik giriş kutusu, yalnızca eklenti modül klasörü Content/Modules/ içinde bulunan sağlayıcıları gösterir.

AI chatbot configuration - Runtime AI Chatbot Integrator (external LLM)

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. Metin Sentezlemeyi Yapılandırın

TTS sağlayıcınızı seçin ve sesleri/modelleri yapılandırın:

  • Sağlayıcıyı seçin (OpenAI/ElevenLabs için Runtime AI Sohbet Botu Entegratörü veya yerel Piper/Kokoro için Runtime Metin Konuşmaya)
  • Modu seçin: Normal veya Akış (sesin bir kerede mi yoksa sentezlendikçe mi döndürüleceğini kontrol eder)
  • Ses/model seçin
  • Sağlayıcıya özel parametreleri ayarlayın

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

TTS configuration - Runtime Local Text To Speech (local Piper/Kokoro)

4. Animasyonları Yapılandırın

AI avatarınızın görsellerini kontrol edin:

  • 3 önceden indirilmiş MetaHuman karakteri arasından seçim yapın (Aera, Ada, Orlando)
  • Dudak senkronizasyonu modelini seçin (Standart veya Gerçekçi)
  • Dudak senkronizasyonu model türünü seçin - Yüksek Düzeyde Optimize Edilmiş, Yarı Optimize Edilmiş veya Orijinal (bkz. Model Türü)
  • İşleme Parça Boyutunu ayarlayın - dudak senkronizasyonu çıkarımının ne sıklıkta çalıştığını kontrol eder (bkz. İşleme Parça Boyutu)
    • Dudak senkronizasyonu CPU yükü altında zamanla sesin gerisinde kalıyorsa, bunu 480 veya 640'a yükseltin.
  • Konuşma sırasında MetaHuman üzerinde oynatılacak bir bekleme animasyonu seçin

Animations configuration screen

Demo'yu Editörde Ön Yapılandırma

Kaynak sürümü ile çalışırken, değerlerin her çalıştırmada yeniden girilmesine gerek kalmaması için varsayılanları doğrudan düzenleyicide önceden doldurabilirsiniz:

WhatNerede
Genel ayarlar (dudak senkronizasyonu modeli, boşta bekleme animasyonu, karakter sınıfı, konuşma tanıma, vb.)Content/LipSyncSTSGameInstance
Harici LLM / Harici TTS ayarları (Runtime AI Sohbet Botu Entegratörü)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Yerel LLM ayarları (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Yerel TTS ayarları (Çalışma Zamanı Metin-Konuşma)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Platformlar Arası Notlar

Demo tarafından kullanılan tüm eklentiler Windows, Mac, Linux, iOS, Android ve Android tabanlı platformları (Meta Quest dahil) destekler, bu nedenle demo projesi de bunların tümünde çalışır. Bu sayede oyunlardan masaüstü kiosklara, mobil uygulamalardan bağımsız VR başlıklarına ve set üstü sanal prodüksiyon kurulumlarına kadar çok çeşitli ortamlarda dağıtıma uygun hale gelir.

Zayıf cihazlar (mobil, bağımsız VR) için şunları yapmak isteyebilirsiniz:

  • Standart dudak senkronizasyon modeli yerine Gerçekçi modeli kullanın - Model karşılaştırması bölümüne bakın
  • Yüksek Düzeyde Optimize Edilmiş model türüne geçin
  • CPU yükünü azaltmak için İşleme Parça Boyutunu artırın
  • Daha küçük LLM / TTS modelleri seçin

Bkz. Platforma Özel Yapılandırma Android, iOS, Mac ve Linux'teki ek kurulum adımları için.

Pixel Streaming Desteği

Demo'yu Pixel Streaming'de Dağıtma (genişletmek için tıklayın)

AI Konuşmalı demo projesi, Pixel Streaming ortamında da çalışarak MetaHuman avatarını uzak bir istemciye (örneğin bir web tarayıcısı) akışla aktarmanıza ve kullanıcının mikrofon sesini istemci tarafından yakalamanıza olanak tanır. Demo için yalnızca tek bir değişiklik yapılması gerekir.

1. Runtime Audio Importer için Pixel Streaming eklentisini yükleyin

Runtime Audio Importer eklentisi, bir Pixel Streaming istemcisinden ses yakalamayı sağlayan ücretsiz bir genişletme eklentisi sunar. Kullandığınız Pixel Streaming altyapı sürümüne bağlı olarak aşağıdakilerden birini yükleyin:

İndirme bağlantıları ve kurulum adımları burada mevcuttur: Pixel Streaming Audio Capture - Eklenti Eklentisi Kurulumu.

2. LipSyncSTSGameInstance içindeki yakalanabilir ses dalgası düğümünü değiştirin

Eklenti eklentisi kurulduktan sonra:

  1. İçerik Tarayıcısı'nda /All/Game konumuna gidin ve LipSyncSTSGameInstance varlığını açın.
  2. Olay Grafiği'ne geçin.
  3. Olay Başlatma düğümünü bulun ve Yakalanabilir Ses Dalgası OluşturYakalanabilir Ses Dalgasını Ayarla düğüm çiftini bulana kadar yürütme akışını takip edin.
  4. Yakalanabilir Ses Dalgası Oluştur çağrısını, hedeflediğiniz Piksel Akışı altyapı sürümüne bağlı olarak Piksel Akışı Yakalanabilir Ses Dalgası Oluştur veya Piksel Akışı 2 Yakalanabilir Ses Dalgası Oluştur ile değiştirin.
  5. Çıktısını aynı Yakalanabilir Ses Dalgasını Ayarla düğümüne bağlayın.

Bundan sonra proje, Pixel Streaming üzerinde dağıtıma hazırdır - konuşma tanıma, LLM, TTS ve dudak senkronizasyonu, daha önce olduğu gibi çalışacaktır, ancak ses yerel bir mikrofondan değil, uzak istemciden yakalanacaktır.

Kendi Karakterinizi Getirme

Demo projesi, üç örnek MetaHuman karakteriyle (Aera, Ada, Orlando) birlikte gelir, ancak kendi MetaHuman'ınızı içe aktarıp demoda kullanabilirsiniz.

📺 Video eğitimi: Demo Projeye Özel Bir MetaHuman Karakteri Ekleme

not

Runtime MetaHuman Lip Sync eklentisi, MetaHuman'ların ötesinde birçok başka karakter sistemini de destekler (ARKit tabanlı karakterler, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe vb. - Özel Karakter Kurulum Kılavuzu bölümüne bakın). İster bir oyun NPC'si, ister sanal bir sunucu, ister bir kiosk görevlisi veya sanal prodüksiyon için bir dijital insan inşa ediyor olun, eklenti karakter iş akışınıza uyum sağlar.

Standart Lip Senkronizasyon Modeli için Notlar

Standart Model (Gerçekçi yerine) demo projelerinden birinde kullanmayı planlıyorsanız, Standart Lip Sync Eklentisi'ni yüklemeniz gerekir. Kurulum talimatları için Standart Model Eklentisi sayfasına bakın.

Yardım mı Gerekiyor?

Demo projelerini kurarken veya çalıştırırken herhangi bir sorunla karşılaşırsanız, bizimle iletişime geçmekten çekinmeyin:

Join our Discord
online · support

Özel geliştirme talepleri için (örneğin, demoyu kendi mantığınızla genişletmek, belirli bir platform veya karakter hattına uyarlamak) solutions@georgy.dev adresinden iletişime geçin.