Falcon: Trích xuất giọng nói mục tiêu từ âm thanh và hình ảnh theo thời gian thực cho các cảnh âm học thực tế (Efficient Streaming Audio-Visual Target Speaker Extraction for Real-World Acoustic Scenes)

Đầu vào là một đoạn âm thanh hỗn hợp gồm nhiều người nói, tiếng ồn và độ vang, cùng với hình ảnh khuôn miệng của người nói mục tiêu; mô hình chỉ xuất ra giọng nói của người này, hoạt động theo cơ chế nhân quả (causal) và có thể xử lý ngay khi đang nghe. Bộ tách thực hiện tách đa tỷ lệ trong miền thời gian-tần số chỉ qua một lần mã hóa-giải mã, không lặp lại việc gọi các bộ tách nhỏ như các giải pháp nhẹ trước đây; trong quá trình huấn luyện, một "hàm mất mát so sánh người nói trong không gian mã hóa" được thêm vào để đặc biệt giảm thiểu hiện tượng xuyên nhiễu từ giọng nói của những người ở gần, mà không gây thêm chi phí tính toán nào khi suy luận. Các tác giả đồng thời công bố bộ chuẩn RealSSA: các cảnh mô phỏng chứa 1–5 người gây nhiễu ở trường gần, cộng thêm 10–15 người gây nhiễu ở trường xa, cùng với một bộ dữ liệu kiểm thử từ các bản ghi âm thực tế.

Đầu vào là một đoạn âm thanh hỗn hợp gồm nhiều người nói, tiếng ồn và độ vang, cùng với hình ảnh khuôn miệng của người nói mục tiêu; mô hình chỉ xuất ra giọng nói của người này, hoạt động theo cơ chế nhân quả (causal) và có thể xử lý ngay khi đang nghe. Bộ tách thực hiện tách đa tỷ lệ trong miền thời gian-tần số chỉ qua một lần mã hóa-giải mã, không lặp lại việc gọi các bộ tách nhỏ như các giải pháp nhẹ trước đây; trong quá trình huấn luyện, một "hàm mất mát so sánh người nói trong không gian mã hóa" được thêm vào để đặc biệt giảm thiểu hiện tượng xuyên nhiễu từ giọng nói của những người ở gần, mà không gây thêm chi phí tính toán nào khi suy luận. Các tác giả đồng thời công bố bộ chuẩn RealSSA: các cảnh mô phỏng chứa 1–5 người gây nhiễu ở trường gần, cộng thêm 10–15 người gây nhiễu ở trường xa, cùng với một bộ dữ liệu kiểm thử từ các bản ghi âm thực tế.

Lượt thích 149 · Số sao mã nguồn 20

Lý do

  • Đầy đủ tài nguyên: Mã huấn luyện / đánh giá, hai bộ trọng số Falcon và Falcon-Big (trên Hugging Face JusperLee/Falcon, JusperLee/Falcon-Big), demo trực tuyến trên Hugging Face ZeroGPU, cùng với demo thời gian thực cục bộ Falcon Studio; cả mã nguồn và trọng số đều theo giấy phép Apache-2.0.
  • Theo các tác giả, so với AV-TFGridNet nhân quả (causal), mô hình này có ít hơn 91.9% tham số, giảm 20.2 lần lượng tính toán, giảm 11.1 lần độ trễ GPU; theo tiêu chí của bài báo, số tham số có thể huấn luyện là 0.5M (tổng cộng 11.72M khi bao gồm cả bộ mã hóa đọc môi bị đóng băng).
  • Theo các tác giả, mô hình đạt hiệu suất tốt nhất trong nhóm các phương pháp nhân quả trên RealSSA-Sim, LRS2-2Mix, LRS3-2Mix và VoxCeleb2-2Mix; README cung cấp bảng so sánh đầy đủ với chín phương pháp cơ sở (baseline).
  • Khả năng triển khai trực tiếp: Falcon Studio sử dụng MediaPipe để theo dõi khuôn miệng trong trình duyệt, đưa âm thanh đã tách vào tai nghe hoặc qua card âm thanh ảo vào Zoom / Tencent Meeting; README cho biết với cửa sổ 2 giây và xuất ra đoạn âm thanh mới mỗi 0.5 giây, thời gian xử lý một cửa sổ trên Apple M5 Pro (sử dụng Metal) là khoảng 0.12 giây.

Cách sử dụng

  • Trải nghiệm nhanh nhất: Mở liên kết Hugging Face Space trong README (JusperLee/Falcon-Studio), ghi lại một đoạn tối đa 60 giây trong trình duyệt rồi tiến hành tách giọng nói.
  • Thời gian thực cục bộ: git clone github.com/JusperLee/Falcon, pip install -r studio/requirements.txt (Python 3.10–3.12, hỗ trợ Apple Metal / NVIDIA CUDA / CPU), trên macOS nhấp đúp vào studio/Start Falcon.command hoặc chạy studio/scripts/launch.sh; trên Linux + NVIDIA thêm tham số --device cuda. Trọng số sẽ tự động tải từ Hugging Face khi chạy lần đầu.
  • Xử lý ngoại tuyến từng đoạn: Dùng ffmpeg chuyển đổi thành mix.wav đơn kênh ở tần số 16 kHz, sau đó chạy python infer_file.py --audio mix.wav --mouth mouth.npy --out target.wav --model JusperLee/Falcon; trong đó mouth.npy là các ảnh cắt khuôn miệng grayscale của người mục tiêu với tốc độ khung hình 25fps và kích thước 96×96. Cũng có thể sử dụng giao diện Python FalconRuntime.from_pretrained.
  • Huấn luyện: Tổ chức dữ liệu theo cấu trúc thư mục LRS2/LRS3, dùng các script trong DataPreProcess để tạo chỉ mục, sau đó chạy python audio_train.py --conf_dir configs/Falcon.yml.

Rủi ro

  • Bắt buộc phải có hình ảnh khuôn mặt chính diện / khuôn miệng của người nói mục tiêu; không thể sử dụng trong các kịch bản chỉ có âm thanh thuần túy; khi suy luận ngoại tuyến, người dùng phải tự chuẩn bị chuỗi ảnh cắt khuôn miệng.
  • Giải pháp card âm thanh ảo (BlackHole) để tích hợp vào các cuộc họp chỉ dành cho macOS, các hệ thống khác cần tự tìm phương thức định tuyến âm thanh; README chưa cung cấp hướng dẫn đầy đủ về việc chạy thời gian thực trên CPU.
  • Cả hai bộ dữ liệu RealSSA đều yêu cầu phê duyệt thủ công, RealSSA-Sim theo giấy phép CC BY-NC-ND 4.0; các phân đoạn đa kênh được phát hành cần phải chỉnh sửa để tương thích với trình tải dữ liệu đơn kênh trong kho mã nguồn; trọng số của backbone thị giác đọc môi cần thiết cho việc huấn luyện chưa có liên kết tải về trong README.
  • Tất cả các con số về chất lượng và hiệu suất đều do các tác giả báo cáo; chúng tôi chưa nghe qua các bản ghi âm demo nên không đánh giá cảm nhận thực tế khi nghe.

Biên tập viên: Khác với khử nhiễu thông thường: phương pháp này nhắm đến giọng nói của "người xuất hiện trong khung hình", giọng nói của những người khác ở bên cạnh cũng sẽ bị loại bỏ, phù hợp cho các kịch bản như hội nghị, phỏng vấn và trợ thính.

Mở · Mã nguồn · Trang bài báo trên Hugging Face

Hugging Face Daily Papers

Xem tin AI mới nhất