2 điểm bởi GN⁺ 2024-07-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đã phát hiện một tính năng thú vị trong Chrome và Chromium

    • Có chức năng tách âm thanh nội bộ khỏi đầu vào microphone
    • Ví dụ, khi đang gọi Google Meet ở một tab và phát video YouTube ở âm lượng tối đa ở tab khác, âm thanh của video sẽ không được truyền vào Google Meet
    • Nếu dùng các trình duyệt khác nhau (ví dụ: Google Meet trên Chrome, YouTube trên Chromium) thì sự tách biệt này không xảy ra
  • Tò mò không biết Chrome và Chromium triển khai việc tách âm thanh này như thế nào

    • Vì Chromium là mã nguồn mở, nên muốn biết phần cụ thể nào trong codebase xử lý tính năng này
    • Rất cảm kích nếu ai đó có thể cung cấp chi tiết kỹ thuật hoặc góc nhìn liên quan

Tóm tắt của GN⁺

  • Bài viết này đề cập đến một phát hiện thú vị về tính năng tách âm thanh trong Chrome và Chromium
  • Đây là một yếu tố quan trọng giúp cải thiện trải nghiệm người dùng, đặc biệt hữu ích khi thực hiện nhiều tác vụ cùng lúc
  • Nó mang đến cơ hội hiểu cách triển khai kỹ thuật thông qua codebase mã nguồn mở của Chromium
  • Cũng đáng để khám phá xem có trình duyệt hay phần mềm nào khác cung cấp tính năng tương tự hay không

1 bình luận

 
GN⁺ 2024-07-11
Ý kiến Hacker News
  • Cách loại bỏ nhạc khỏi giọng nói bằng cách so sánh độ trễ giữa thu âm và phát lại

    • Tìm độ trễ giữa mic và loa rồi so sánh để loại bỏ nhạc
    • Trong một tiến trình đơn lẻ, hệ thống giữ lại nội dung đã phát trong vài trăm mili giây và so sánh với đầu vào mic để tìm tương quan rồi loại bỏ
    • Giữa các tiến trình không liên quan, HĐH có thể cung cấp API capture hoặc dùng luồng loopback để loại bỏ
    • Nếu không có các cách này, có thể tự trộn đầu ra âm thanh để loại bỏ
  • Acoustic Echo Cancellation (AEC)

    • Được triển khai trong Chrome, thành phần của WebRTC
    • Sử dụng bộ lọc FIR để loại bỏ tối đa âm thanh phát ra từ loa khỏi đầu vào mic
    • Có thể tìm thông tin liên quan bằng cách tìm cờ biên dịch CHROME_WIDE_ECHO_CANCELLATION trong mã nguồn Chromium
  • Vấn đề ghi âm và phát lại đồng thời của Chrome

    • Chrome xử lý không tốt việc ghi âm và phát lại cùng lúc
    • Có một trang thể hiện rất rõ vấn đề này: chrome-please-fix-your-audio.xyz
  • Các vấn đề phổ biến của Acoustic Echo Cancellation

    • Đây là vấn đề thường gặp trong xử lý tín hiệu
    • Ngay cả trên các thiết bị đơn giản như điện thoại cũng xảy ra
  • Công nghệ tách nguồn của Google Meet

    • Dùng mạng nơ-ron để tách giọng nói khỏi âm thanh không phải giọng nói, đồng thời tách cả các người nói khác nhau
    • Từ năm 2021, công nghệ đã cải thiện đáng kể khi các phương pháp học bán giám sát được phát triển
  • Tác dụng phụ của việc khử echo

    • Trình duyệt biết âm thanh đang phát và tìm tương quan với đầu vào mic để loại bỏ
    • Nếu không dùng tai nghe, điều này là cần thiết để triệt tiêu phản hồi
  • Tính năng chặn âm thanh nội bộ của Chrome và Chromium

    • Trong cuộc gọi Google Meet, dù phát video YouTube ở tab khác thì Meet cũng không nhận ra
    • Vì Chromium là mã nguồn mở nên có thể kiểm tra chi tiết kỹ thuật trong mã nguồn
  • Điểm thú vị của thuật toán khử echo

    • Nếu đặt loa ngoài hơi xa mic của máy tính, thuật toán có thể hoạt động sai
  • Sự cần thiết của khử echo trong cuộc họp

    • Cần thiết để dữ liệu cuộc họp không bị phản hồi trở lại
    • PulseAudio và Pipewire có các mô-đun khử echo