Chuyển tới nội dung chính

Dự án Demo

Để giúp bạn bắt đầu nhanh chóng với Runtime MetaHuman Lip Sync, có sẵn hai dự án demo sẵn sàng sử dụng. Cả hai đều được xây dựng bằng Unreal Engine 5.6+, chỉ dùng Blueprint, và chạy đa nền tảng trên Windows, Mac, Linux, iOS, Android và các nền tảng dựa trên Android (bao gồm cả Meta Quest).

Các dự án demo có sẵn

Một quy trình làm việc avatar hội thoại AI hoàn chỉnh kết hợp nhận dạng giọng nói, chatbot AI (LLM), chuyển văn bản thành giọng nói, và phát âm thanh với đồng bộ khẩu hình miệng theo thời gian thực - tất cả chạy cùng nhau trong một dự án duy nhất. Phù hợp với nhiều trường hợp sử dụng đa dạng - bao gồm trò chơi, ki-ốt tương tác, sản xuất ảo, cài đặt bảo tàng, trợ lý kỹ thuật số, và mô phỏng đào tạo.

Tổng quan về Pipeline

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

Khi LLM được đặt ở chế độ Streaming, đầu ra của nó được chia theo từng câu và gửi đến TTS ngay khi mỗi câu hoàn tất, thay vì chờ toàn bộ phản hồi, nhằm giảm thiểu độ trễ.

TTS và lip sync tuân theo cùng một nguyên tắc: khi bật chế độ Streaming, âm thanh được xử lý và tạo hoạt ảnh theo từng phần khi dữ liệu đến, thay vì chờ toàn bộ clip hoàn chỉnh.

Videos

Xem nhanh (~30 giây)

Đoạn giới thiệu ngắn về bản demo đang hoạt động.

Hướng dẫn đầy đủ

Hướng dẫn chi tiết bao gồm thiết lập, cấu hình và toàn bộ quy trình hội thoại.

Tải xuống

Plugin Bắt Buộc & Plugin Tùy Chọn

Dự án demo có tính mô-đun - bạn chỉ cần các plugin cho những nhà cung cấp mà bạn muốn sử dụng.

PluginMục đíchBắt buộc?
Runtime MetaHuman Lip SyncHoạt ảnh khớp môi✅ Luôn luôn
Runtime Audio ImporterThu âm & xử lý âm thanh✅ Luôn luôn
Runtime Speech RecognizerNhận dạng giọng nói ngoại tuyến (whisper.cpp)✅ Luôn luôn
Runtime AI Chatbot IntegratorLLM bên ngoài (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) và/hoặc TTS bên ngoài (OpenAI, ElevenLabs)🔶 Tùy chọn
Runtime Local LLMSuy luận LLM cục bộ qua llama.cpp (Llama, Mistral, Gemma, v.v., mô hình GGUF)🔶 Tùy chọn
Runtime Text To SpeechTTS cục bộ qua Piper và Kokoro🔶 Tùy chọn
Plugin tùy chọn - yêu cầu của nhà cung cấp

Trong khi mỗi plugin ở trên là tùy chọn riêng lẻ, bạn cần ít nhất một nhà cung cấp LLMít nhất một nhà cung cấp TTS để demo hoạt động. Bạn có thể kết hợp tự do (ví dụ: LLM cục bộ + TTS ElevenLabs, hoặc LLM OpenAI + TTS cục bộ).

Kiến trúc mô-đun

Trong thư mục Content, bạn sẽ thấy một thư mục Modules chứa ba thư mục con:

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

Nếu bạn không mua một (hoặc nhiều) plugin tùy chọn nào đó, chỉ cần xóa (các) thư mục tương ứng. Các asset cơ bản của dự án demo (game instance, widget, v.v.) không tham chiếu trực tiếp đến các module này, vì vậy việc xóa chúng sẽ không gây ra lỗi tham chiếu asset. Giao diện cấu hình sẽ tự động ẩn bất kỳ nhà cung cấp nào có thư mục bị thiếu.

ghi chú

Tính mô-đun này chỉ áp dụng cho các nhà cung cấp LLMTTS. Speech Recognition (Runtime Speech Recognizer) và Lip Sync (Runtime MetaHuman Lip Sync) là một phần của dự án demo cơ bản và luôn được yêu cầu.

Modules folder structure

cảnh báo

Khi khởi chạy lần đầu, Unreal có thể hỏi có nên vô hiệu hóa các plugin tùy chọn bị thiếu hay không - hãy nhấp vào Yes. Đảm bảo bạn cũng đã xóa thư mục Content/Modules/ tương ứng (xem ở trên).

Tiện ích mở rộng plugin đi kèm

Tiện ích mở rộng Silero VAD, WebRTC AEC3 và Lip Sync tiêu chuẩn (bấm để mở rộng)

Phiên bản nguồn của bản demo đi kèm với ba plugin mở rộng miễn phí được đóng gói sẵn trong thư mục Plugins/ của nó: RuntimeAudioImporterSileroVAD (VAD thần kinh), RuntimeAudioImporterWebRTCAEC3 (khử tiếng vọng), và RuntimeMetaHumanLipSync_Standard (mô hình lip sync Standard).

Các tệp nhị phân đi kèm được dựng sẵn cho UE 5.6. Đối với UE 5.7 / 5.8, bạn có thể dựng chúng từ mã nguồn (xem tài liệu của từng tiện ích mở rộng), hoặc sử dụng các tệp nhị phân dựng sẵn: UE 5.7 · UE 5.8. Để cài đặt: xóa ba thư mục hiện có khỏi Plugins/, sau đó giải nén nội dung của tệp lưu trữ vào Plugins/ thay thế chúng.

Cả ba đều là tùy chọn - nếu bạn không cần chúng, chỉ cần xóa thư mục của chúng khỏi Plugins/ trước khi khởi chạy.

Bố cục dự án demo

Giao diện người dùng chỉ dành cho mục đích trình diễn.

Giao diện người dùng hiển thị bên dưới được xây dựng hoàn toàn bằng UMG (Unreal Motion Graphics) và chỉ nhằm mục đích minh họa quy trình - nhận dạng giọng nói → LLM → TTS → đồng bộ khẩu hình. Bạn hoàn toàn có thể tùy chỉnh lại giao diện hoặc thay thế nó để phù hợp với thiết kế trực quan, sơ đồ điều khiển hoặc nền tảng (VR/AR, di động, console, kiosk, v.v.) của dự án. Nếu một số widget không cần thiết trong trường hợp sử dụng của bạn, bạn cũng có thể chỉ cần ẩn chúng (ví dụ: đặt chế độ hiển thị của chúng thành Collapsed hoặc Hidden).

Annotated overview of the demo project main screen

AreaCó gì ở đó
Trung tâmNhân vật MetaHuman.
Phía bên tráiBốn nút cấu hình (Nhận dạng giọng nói, AI Chatbot, Chuyển văn bản thành giọng nói, Hoạt ảnh), được mô tả chi tiết bên dưới.
Dưới cùng ở giữaMột nút Bắt đầu ghi âm. Nhấp vào nút này để bắt đầu cuộc trò chuyện bằng giọng nói: micrô của bạn được thu âm, chuyển thành văn bản, gửi đến LLM, phản hồi được tổng hợp qua TTS và phát lại với khớp môi, hoàn toàn rảnh tay.
Bên phải ở giữaMột tiện ích lịch sử hội thoại hiển thị toàn bộ quá trình trao đổi qua lại giữa bạn và AI (cả tin nhắn của người dùng và trợ lý). Nó cũng bao gồm một trường nhập văn bản, để bạn có thể nhập tin nhắn trực tiếp mà không cần dùng đến nhận dạng giọng nói, hữu ích cho việc kiểm thử, cho khả năng truy cập hoặc khi không có micrô.
mẹo

Bạn có thể kết hợp tự do cả hai chế độ nhập trong cùng một phiên - nói một số tin nhắn, gõ những tin nhắn khác.

mẹo

Nếu khớp môi cứ trôi dạt xa hơn so với âm thanh khi bạn kiểm tra lâu hơn (không chỉ là độ trễ cố định), hãy xem Kích thước Khối Xử lý trong phần Cấu hình Hoạt ảnh bên dưới.

Các Nút Cấu Hình

Bốn nút cấu hình ở bên trái mở các bảng điều khiển chuyên dụng cho từng phần của quy trình:

1. Cấu hình Nhận dạng Giọng nói

Cấu hình cách giọng nói của người dùng được thu và chuyển thành văn bản:

  • Chọn ngôn ngữ
  • Điều chỉnh các tham số nhận dạng giọng nói (cài đặt mô hình Whisper)
  • Cấu hình AEC (Khử tiếng vọng âm thanh)
  • Cấu hình VAD (Phát hiện hoạt động giọng nói)

Speech recognition configuration screen

2. Cấu hình AI Chatbot

Chọn nhà cung cấp LLM của bạn và cấu hình nó:

  • Chọn provider (Runtime AI Chatbot Integrator hoặc Runtime Local LLM)
  • Chọn chế độ: Thông thường hoặc Streaming (phụ thuộc vào provider, Streaming cho phép chuyển giao TTS theo từng câu, xem Tổng quan về Pipeline)
  • Đối với provider bên ngoài: token xác thực, tên model, v.v.
  • Đối với LLM cục bộ: chọn một model GGUF, đặt kích thước ngữ cảnh và các tham số suy luận khác. Bạn cũng có thể tải xuống model GGUF của riêng mình trong lúc chạy trực tiếp từ bản demo (ví dụ: qua URL) và sử dụng ngay mà không cần biên dịch lại dự án.
mẹo

Combo box nhà cung cấp chỉ hiển thị các nhà cung cấp có thư mục module plugin tồn tại trong Content/Modules/.

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

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. Cấu hình Text To Speech

Chọn nhà cung cấp TTS của bạn và cấu hình giọng nói/mô hình:

  • Chọn nhà cung cấp (Runtime AI Chatbot Integrator cho OpenAI/ElevenLabs, hoặc Runtime Text To Speech cho Piper/Kokoro cục bộ)
  • Chọn chế độ: Thông thường hoặc Phát trực tiếp (kiểm soát việc âm thanh được trả về toàn bộ cùng lúc hay khi đang được tổng hợp)
  • Chọn giọng nói/mô hình
  • Điều chỉnh các tham số riêng của nhà cung cấp

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

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

4. Cấu hình Hoạt ảnh

Điều khiển hình ảnh trực quan của avatar AI của bạn:

  • Chọn giữa 3 nhân vật MetaHuman đã tải sẵn (Aera, Ada, Orlando)
  • Chọn mô hình lip sync (Standard hoặc Realistic)
  • Chọn loại mô hình lip sync - Highly Optimized, Semi-Optimized, hoặc Original (xem Loại mô hình)
  • Điều chỉnh Kích thước khối xử lý - kiểm soát tần suất chạy suy luận lip sync (xem Kích thước khối xử lý)
    • Nếu khớp môi bị trễ dần so với âm thanh theo thời gian khi CPU bị tải, hãy tăng giá trị này lên 480 hoặc 640
  • Chọn một hoạt ảnh chờ để phát trên MetaHuman trong lúc trò chuyện

Animations configuration screen

Cấu hình trước Demo trong Editor

Khi làm việc với phiên bản nguồn, bạn có thể điền trước các giá trị mặc định trực tiếp trong trình chỉnh sửa để không cần nhập lại các giá trị này mỗi lần chạy:

WhatỞ đâu
Cài đặt chung (mô hình lip sync, hoạt ảnh idle, lớp nhân vật, nhận dạng giọng nói, v.v.)Content/LipSyncSTSGameInstance
Cài đặt LLM bên ngoài / TTS bên ngoài (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Cài đặt LLM cục bộ (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Cài đặt TTS cục bộ (Runtime Text To Speech)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Ghi chú đa nền tảng

Tất cả các plugin được demo sử dụng đều hỗ trợ Windows, Mac, Linux, iOS, Android và các nền tảng dựa trên Android (bao gồm cả Meta Quest), vì vậy dự án demo cũng hoạt động trên tất cả các nền tảng này. Điều này khiến nó phù hợp để triển khai trên nhiều môi trường khác nhau - từ trò chơi, ki-ốt máy tính để bàn đến ứng dụng di động, tai nghe VR độc lập và thiết lập sản xuất ảo tại hiện trường.

Đối với các thiết bị yếu hơn (điện thoại di động, VR độc lập), bạn có thể muốn:

  • Sử dụng mô hình lip sync chuẩn thay vì Realistic - xem So sánh mô hình
  • Chuyển sang loại mô hình Highly Optimized
  • Tăng Kích thước khối xử lý để giảm tải CPU
  • Chọn mô hình LLM / TTS nhỏ hơn

Xem Cấu hình theo nền tảng để biết thêm các bước thiết lập trên Android, iOS, Mac và Linux.

Hỗ trợ Pixel Streaming

Triển khai bản demo trên Pixel Streaming (bấm để mở rộng)

Dự án demo AI Conversational cũng hoạt động trong môi trường Pixel Streaming, cho phép bạn phát trực tuyến hình đại diện MetaHuman đến một máy khách từ xa (ví dụ: trình duyệt web) trong khi thu âm giọng nói từ microphone của người dùng ở phía máy khách. Chỉ cần một thay đổi duy nhất đối với bản demo là đủ.

1. Cài đặt tiện ích mở rộng Pixel Streaming cho Runtime Audio Importer

Plugin Runtime Audio Importer cung cấp một plugin mở rộng miễn phí cho phép thu âm thanh từ máy khách Pixel Streaming. Tùy thuộc vào phiên bản cơ sở hạ tầng Pixel Streaming bạn đang sử dụng, hãy cài đặt một trong các tùy chọn sau:

Liên kết tải xuống và các bước cài đặt có sẵn tại đây: Cài đặt Plugin Mở rộng Pixel Streaming Audio Capture.

2. Hoán đổi nút sóng âm thanh có thể ghi lại trong LipSyncSTSGameInstance

Sau khi plugin mở rộng được cài đặt:

  1. Trong Content Browser, điều hướng đến /All/Game và mở asset LipSyncSTSGameInstance.
  2. Chuyển sang Event Graph.
  3. Tìm Event Init và theo luồng thực thi cho đến khi bạn tìm thấy cặp node: Create Capturable Sound WaveSet Capturable Sound Wave.
  4. Thay thế lệnh gọi Create Capturable Sound Wave bằng Create Pixel Streaming Capturable Sound Wave hoặc Create Pixel Streaming 2 Capturable Sound Wave, tùy thuộc vào phiên bản cơ sở hạ tầng Pixel Streaming mà bạn đang nhắm tới.
  5. Kết nối đầu ra của nó với cùng node Set Capturable Sound Wave.

Sau đó, dự án đã sẵn sàng để triển khai trên Pixel Streaming - nhận dạng giọng nói, LLM, TTS và khớp môi sẽ hoạt động như trước, nhưng với âm thanh được thu từ máy khách từ xa thay vì micrô cục bộ.

Đưa Nhân Vật Của Riêng Bạn Vào

Dự án demo đi kèm với ba nhân vật MetaHuman mẫu (Aera, Ada, Orlando), nhưng bạn có thể nhập MetaHuman của riêng mình và sử dụng nó trong bản demo.

📺 Video hướng dẫn: Thêm nhân vật MetaHuman tùy chỉnh vào dự án Demo

ghi chú

Plugin Runtime MetaHuman Lip Sync tự nó hỗ trợ nhiều hệ thống nhân vật khác ngoài MetaHuman (nhân vật dựa trên ARKit, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, v.v. - xem Hướng dẫn Thiết lập Nhân vật Tùy chỉnh). Dù bạn đang xây dựng NPC trong game, người thuyết trình ảo, nhân viên quầy kiosk, hay con người kỹ thuật số cho sản xuất ảo, plugin này sẽ thích ứng với quy trình nhân vật của bạn.

Cần trợ giúp?

Nếu bạn gặp bất kỳ vấn đề nào khi thiết lập hoặc chạy các dự án demo, đừng ngần ngại liên hệ:

Join our Discord
online · support

Đối với các yêu cầu phát triển tùy chỉnh (ví dụ: mở rộng bản demo với logic của riêng bạn, điều chỉnh nó cho một nền tảng hoặc quy trình nhân vật cụ thể), hãy liên hệ [email protected].