Hướng dẫn Xử lý Âm thanh
Hướng dẫn này trình bày cách thiết lập các phương pháp nhập âm thanh khác nhau để cung cấp dữ liệu âm thanh cho bộ tạo khớp môi của bạn. Hãy đảm bảo bạn đã hoàn thành Hướng dẫn Thiết lập trước khi tiếp tục.
Xử lý Đầu vào Âm thanh
Bạn cần thiết lập một phương pháp để xử lý đầu vào âm thanh. Có một số cách để thực hiện điều này tùy thuộc vào nguồn âm thanh của bạn.
- Microphone (Thời gian thực)
- Microphone (Phát lại)
- Chuyển văn bản thành giọng nói (Cục bộ)
- Chuyển văn bản thành giọng nói (API bên ngoài)
- Từ Tệp/Bộ đệm Âm thanh
- Bộ đệm Âm thanh Phát trực tuyến
Phương pháp này thực hiện khớp môi theo thời gian thực trong khi nói vào micro:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Tạo một Capturable Sound Wave bằng Runtime Audio Importer
- Đối với Linux với Pixel Streaming, hãy sử dụng Pixel Streaming Capturable Sound Wave để thay thế
- Trước khi bắt đầu ghi âm, hãy liên kết với delegate
OnPopulateAudioData - Trong hàm đã liên kết, hãy gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn - Bắt đầu ghi âm từ micro

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

Phương pháp này ghi âm từ micro, sau đó phát lại kèm khớp môi:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Tạo một Capturable Sound Wave bằng Runtime Audio Importer
- Đối với Linux với Pixel Streaming, hãy sử dụng Pixel Streaming Capturable Sound Wave để thay thế
- Bắt đầu ghi âm từ micro
- Trước khi phát lại sound wave có thể ghi, hãy liên kết với delegate
OnGeneratePCMDatacủa nó - Trong hàm đã liên kết, hãy gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

- Thông thường
- Phát trực tuyến
Phương pháp này tổng hợp giọng nói từ văn bản bằng TTS cục bộ và thực hiện khớp môi:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Sử dụng Runtime Text To Speech để tạo giọng nói từ văn bản
- Sử dụng Runtime Audio Importer để nhập âm thanh đã tổng hợp
- Trước khi phát lại sound wave đã nhập, hãy liên kết với delegate
OnGeneratePCMDatacủa nó - Trong hàm đã liên kết, hãy gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

Phương pháp này sử dụng tổng hợp giọng nói từ văn bản dạng phát trực tuyến với khớp môi thời gian thực:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Sử dụng Runtime Text To Speech để tạo giọng nói phát trực tuyến từ văn bản
- Sử dụng Runtime Audio Importer để nhập âm thanh đã tổng hợp
- Trước khi phát lại sound wave phát trực tuyến, hãy liên kết với delegate
OnGeneratePCMDatacủa nó - Trong hàm đã liên kết, hãy gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

- Thông thường
- Phát trực tuyến
Phương pháp này sử dụng plugin Runtime AI Chatbot Integrator để tạo giọng nói tổng hợp từ các dịch vụ AI (OpenAI hoặc ElevenLabs) và thực hiện khớp môi:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Sử dụng Runtime AI Chatbot Integrator để tạo giọng nói từ văn bản bằng các API bên ngoài (OpenAI, ElevenLabs, v.v.)
- Sử dụng Runtime Audio Importer để nhập dữ liệu âm thanh đã tổng hợp
- Trước khi phát lại sound wave đã nhập, hãy liên kết với delegate
OnGeneratePCMDatacủa nó - Trong hàm đã liên kết, hãy gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

Phương pháp này sử dụng plugin Runtime AI Chatbot Integrator để tạo giọng nói tổng hợp phát trực tuyến từ các dịch vụ AI (OpenAI hoặc ElevenLabs) và thực hiện khớp môi:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Sử dụng Runtime AI Chatbot Integrator để kết nối với các API TTS phát trực tuyến (như ElevenLabs Streaming API)
- Sử dụng Runtime Audio Importer để nhập dữ liệu âm thanh đã tổng hợp
- Trước khi phát lại sound wave phát trực tuyến, hãy liên kết với delegate
OnGeneratePCMDatacủa nó - Trong hàm đã liên kết, hãy gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

Phương pháp này sử dụng các tệp âm thanh đã ghi sẵn hoặc bộ đệm âm thanh để khớp môi:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Sử dụng Runtime Audio Importer để nhập một tệp âm thanh từ đĩa hoặc bộ nhớ
- Trước khi phát lại sound wave đã nhập, hãy liên kết với delegate
OnGeneratePCMDatacủa nó - Trong hàm đã liên kết, hãy gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn - Phát lại sound wave đã nhập và quan sát hoạt ảnh khớp môi

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

Đối với dữ liệu âm thanh phát trực tuyến từ bộ đệm, bạn cần:
- Mô hình Chuẩn
- Mô hình Thực tế
- Mô hình Thực tế có Cảm xúc
- Dữ liệu âm thanh ở định dạng PCM float (một mảng các mẫu dấu phẩy động) có sẵn từ nguồn phát trực tuyến của bạn (hoặc sử dụng Runtime Audio Importer để hỗ trợ nhiều định dạng hơn)
- Tốc độ lấy mẫu và số lượng kênh
- Gọi
ProcessAudioDatatừ Runtime Viseme Generator của bạn với các tham số này khi các khối âm thanh có sẵn

Mô hình Thực tế sử dụng quy trình xử lý âm thanh tương tự như Mô hình Chuẩn, nhưng với biến RealisticLipSyncGenerator thay vì VisemeGenerator.

Mô hình có Cảm xúc sử dụng quy trình xử lý âm thanh tương tự, nhưng với biến MoodMetaHumanLipSyncGenerator và các khả năng cấu hình cảm xúc bổ sung.

Lưu ý: Khi sử dụng các nguồn âm thanh phát trực tuyến, hãy đảm bảo quản lý thời gian phát lại âm thanh một cách phù hợp để tránh phát lại bị méo tiếng. Xem tài liệu Streaming Sound Wave để biết thêm thông tin.
Mẹo Hiệu suất Xử lý
-
Kích thước Khối: Tăng tùy chọn cấu hình
ProcessingChunkSize(ví dụ: lên 320, 480 hoặc 640 mẫu) có thể cải thiện đáng kể độ trễ với tác động tối thiểu đến chất lượng hoặc khả năng phản hồi. -
Loại Mô hình: Khi sử dụng các mô hình Thực tế, chuyển sang loại mô hình Highly Optimized (được chọn theo mặc định) có thể cải thiện hiệu suất. Lưu ý rằng mô hình gốc có thể tạo ra chất lượng tốt hơn một chút, đặc biệt là với âm thanh nhiễu.
-
Quản lý Bộ đệm: Mô hình có cảm xúc xử lý âm thanh trong các khung 320 mẫu (20ms ở 16kHz). Đảm bảo thời gian đầu vào âm thanh của bạn phù hợp với điều này để có hiệu suất tối ưu.
-
Tạo lại Bộ tạo: Để vận hành đáng tin cậy với các mô hình Thực tế, hãy tạo lại bộ tạo mỗi khi bạn muốn đưa dữ liệu âm thanh mới vào sau một khoảng thời gian không hoạt động. Xem Tạo lại Bộ tạo trong phần Xử lý sự cố để biết giải thích.
Các Bước Tiếp Theo
Sau khi bạn đã thiết lập xử lý âm thanh, bạn có thể muốn:
- Tìm hiểu về các tùy chọn Cấu hình để tinh chỉnh hành vi khớp môi của bạn
- Thêm hoạt ảnh tiếng cười để tăng cường khả năng biểu cảm
- Kết hợp khớp môi với các hoạt ảnh khuôn mặt hiện có bằng các kỹ thuật phân lớp được mô tả trong hướng dẫn Cấu hình