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, cũng như các nền tảng dựa trên Android (bao gồm Meta Quest).

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

Một quy trình 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 khớp môi 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 - bao gồm trò chơi, ki-ốt tương tác, sản xuất ảo, trưng bày bảo tàng, trợ lý kỹ thuật sốmô phỏng đào tạo.

Tổng quan 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à được gửi đến TTS ngay khi mỗi câu hoàn thành, thay vì chờ toàn bộ phản hồi, để giảm thiểu độ trễ.

Video

Xem nhanh (~30 giây)

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

Hướng dẫn chi tiết

Một 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 và 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 lip sync✅ Luôn luôn
Runtime Audio ImporterThu âm và 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., các mô hình GGUF)🔶 Tùy chọn
Runtime Text To SpeechTTS cục bộ thông qua Piper và Kokoro🔶 Tùy chọn
Plugin tùy chọn - yêu cầu nhà cung cấp

Trong khi mỗi plugin ở trên đều 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 để bản demo hoạt động. Bạn có thể kết hợp tùy ý (ví dụ: LLM cục bộ + ElevenLabs TTS, hoặc OpenAI LLM + 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, chỉ cần xóa (các) thư mục tương ứng. Các asset cơ sở 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ơ sở và luôn bắt buộc phải có.

Modules folder structure

cảnh báo

Khi khởi động 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 bấm Yes. Hãy đảm bảo rằng bạn cũng đã xóa thư mục Content/Modules/ tương ứng (xem ở trên).

Plugin mở rộng đi kèm

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

Phiên bản nguồn của 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/: RuntimeAudioImporterSileroVAD (VAD nơ-ron), RuntimeAudioImporterWebRTCAEC3 (khử tiếng vọng), và RuntimeMetaHumanLipSync_Standard (mô hình lip sync tiêu chuẩn).

Các tệp nhị phân đi kèm được biên dịch sẵn cho UE 5.6. Đối với UE 5.7 / 5.8, bạn có thể tự biên dịch từ mã nguồn (xem tài liệu của từng extension), hoặc dùng các tệp nhị phân được biên dịch 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 nén vào Plugins/ thay cho 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 trong Plugins/ trước khi khởi chạy.

Bố cục Dự án Demo

UI 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 → lip sync. Bạn có thể tự do tùy chỉnh lại hoặc thay thế để phù hợp với thiết kế hình ảnh, lược đồ đ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.
Bên tráiBốn nút cấu hình (Nhận dạng giọng nói, Chatbot AI, 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.
Trung tâm dướiMột nút Bắt đầu Ghi âm. Nhấp vào nút đó để bắt đầu một cuộc trò chuyện bằng giọng nói: micro 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.
Giữa bên phảiA tiện ích lịch sử hội thoại hiển thị toàn bộ cuộc trao đổi qua lại giữa bạn và AI (cả tin nhắn của người dùng lẫn 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 nhận dạng giọng nói, hữu ích cho việc kiểm tra, cho khả năng tiếp cận, hoặc khi không có micrô.
mẹo

Bạn có thể tự do kết hợp cả hai phương thức nhập liệu 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 lip sync tụt lại phía sau audio ngày càng xa khi bạn kiểm tra lâu hơn (không chỉ là độ trễ cố định), hãy xem Processing Chunk Size 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 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à phiên âm:

  • Chọn ngôn ngữ
  • Điều chỉnh 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 Chatbot AI

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

  • Chọn nhà cung cấp (Runtime AI Chatbot Integrator hoặc Runtime Local LLM)
  • Chọn chế độ: Thông thường hoặc Streaming (phụ thuộc vào nhà cung cấp, Streaming cho phép chuyển giao TTS theo từng câu, xem Tổng quan về Pipeline)
  • Đối với nhà cung cấp bên ngoài: token xác thực, tên mô hình, v.v.
  • Đối với LLM cục bộ: chọn mô hình 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 mô hình GGUF của riêng mình trong thời gian 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

Combobox nhà cung cấp chỉ hiển thị các nhà cung cấp có thư mục mô-đun 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 chuyển văn bản thành giọng nói

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ế độ: Regular hoặc Streaming (kiểm soát xem âm thanh được trả về toàn bộ cùng lúc hay khi nó được tổng hợp)
  • Chọn giọng nói/model
  • Điều chỉnh các thông 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 của avatar AI:

  • Chọn giữa 3 nhân vật MetaHuman tải sẵn (Aera, Ada, Orlando)
  • Chọn mô hình khớp khẩu hình (Tiêu chuẩn hoặc Thực tế)
  • Chọn loại mô hình khớp khẩu hình - Tối ưu cao, Bán tối ưu, hoặc Nguyên bản (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 khớp khẩu hình (xem Kích thước khối xử lý)
    • Nếu lip sync tụt lại phía sau âm thanh theo thời gian khi CPU chịu 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 khi trò chuyện

Animations configuration screen

Cấu hình trước bản Demo trong trình biên tập

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 để các giá trị không cần phải nhập lại mỗi lần chạy:

WhatỞ đâu
Cài đặt chung (mô hình khớp môi, hoạt ảnh chờ, lớp nhân vật, nhận dạng giọng nói, v.v.)Content/LipSyncSTSGameInstance
LLM bên ngoài / TTS bên ngoài cài đặt (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Cài đặt Local LLM (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
TTS cục bộ cài đặt (Chuyển văn bản thành giọng nói thời gian chạy)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 giúp nó phù hợp để triển khai trên nhiều môi trường khác nhau – từ trò chơi và ki-ốt máy tính để bàn đến ứng dụng di động, kính VR độc lập và các thiết lập sản xuất ảo tại trường quay.

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

  • Sử dụng mô hình khớp môi Tiêu chuẩn thay vì mô hình Chân thực - xem So sánh mô hình
  • Chuyển sang loại mô hình Tối ưu hóa cao
  • Tăng Kích thước khối xử lý để giảm tải CPU
  • Chọn các mô hình LLM / TTS nhỏ hơn

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

Hỗ trợ Pixel Streaming

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

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

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

Plugin Runtime Audio Importer cung cấp 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 hạ tầng Pixel Streaming bạn đang sử dụng, hãy cài đặt một trong số:

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

2. Hoán đổi nút sóng âm thanh có thể thu được trong LipSyncSTSGameInstance

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

  1. Trong Content Browser, điều hướng tới /All/Game và mở asset LipSyncSTSGameInstance.
  2. Chuyển sang Event Graph.
  3. Xác định vị trí 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ì micro cục bộ.

Mang nhân vật của riêng bạn

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 một nhân vật MetaHuman tùy chỉnh vào dự án Demo

ghi chú

Bản thân plugin Runtime MetaHuman Lip Sync hỗ trợ nhiều hệ thống nhân vật khác ngoài MetaHuman (các 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). Cho dù bạn đang xây dựng một NPC trong trò chơi, một người thuyết trình ảo, một nhân viên trực quầy, hay một người kỹ thuật số cho sản xuất ảo, plugin 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 bằng 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].