macOS 原生回声消除

从版本 10.12 (Sierra) 开始,macOS 包含原生回声消除器。您可以在 Chrome M66 中通过实验性功能启用该功能,方法是选择加入源试用或在启动 Chrome 时提供命令行 flag;见下文

启用实验后,系统将针对已启用 echoCancellation 约束条件的 getUserMedia 流使用 macOS 原生回声消除器。在其他平台上以及早期版本的 macOS 上,启用实验实际上不会执行任何操作;系统会使用和之前相同的回声消除器(通常是 WebRTC 中的软件)。

我们为什么要这么做?

我们希望评估 macOS 原生回声消除器的性能。作为 Apple 开发的组件,它可以针对其硬件专门进行调整。将其放置在音频管道中还会降低对 Chrome 中可能发生的某些音频干扰的敏感度。

什么是回声消除器?

回声消除器会尝试从麦克风信号中移除扬声器上播放的任何声音。否则,其他方的麦克风将接收您说的通话中某一方所说的内容,然后发回给您。你会听到自己的回声!

如何启用实验

若要让您的网站能够实现这种新行为,您需要注册“macOS 原生 echo 取消”源试用。如果您只想在本地试用,可以在命令行中启用该实验:

chrome --enable-blink-features=ExperimentalHardwareEchoCancellation

在命令行中传递此标志会为当前会话在 Chrome 中全局启用该功能。

通过这项实验,我们希望评估使用 macOS 原生回声消除器时存在的所有性质差异,例如:

  • 回声消除效果如何?
  • 它在处理双重通话场景(即双方同时说话)方面的表现如何?
  • 如果没有回声可以取消,这会对音频质量产生负面影响吗?
  • 某些音频设备(如耳机)会引起问题吗?
  • 其他相关人员

此外,我们还想知道 Chrome 在 macOS 上使用原生回声消除器时如何与其他应用交互,以及实现过程中出现的任何稳定性问题或其他问题。

如果您尝试执行此操作,请在此 bug 中提交反馈。 如果可能,请提供所使用的硬件(macOS 版本、硬件型号、麦克风/耳机等)。如果要进行更大规模的实验,请链接到有关语音通话质量的比较统计信息的链接,无论实验是客观还是主观。