더 많은 네이티브 에코 제거

이전 실험에서 계속 진행되고 있는 Chrome M68에서는 사용되는 에코 제거기를 제어하는 실험용 MediaStreamTrack 제약 조건을 추가하고 Windows에서 네이티브 에코 제거기 지원을 추가했으며 macOS에서 네이티브 에코 제거기 기능을 개선했습니다. 이전과 마찬가지로 이 모든 기능은 오리진 트라이얼의 적용을 받으므로 사용해 보려면 가입하거나 명령줄 플래그로 Chrome을 시작해야 합니다. 자세한 내용은 아래를 참조하세요.

새로운 기능

무엇보다도 이제 getUserMedia 호출에 새 제약 조건을 포함하여 사용 중인 에코 제거기를 제어할 수 있습니다. 예를 들면 다음과 같습니다.

echoCancellationType: type

여기서 type는 다음 중 하나일 수 있습니다.

  • 브라우저에서 제공하는 소프트웨어 구현을 사용하기 위한 browser
  • system: 기본 시스템에서 제공하는 구현을 사용합니다. 현재 macOS 및 Windows에서 구현하는 방법 중 하나입니다.

제약 조건을 제외하면 Chrome은 기존과 마찬가지로 에코 제거기를 선택합니다. 하드웨어 에코 취소가 있는 경우 이를 사용하고, 그렇지 않으면 Chrome 소프트웨어 에코 제거기를 사용합니다. 제약조건을 지정하지 않으면 Chrome은 이 무료 체험판에 포함된 두 가지 실험용 에코 제거기 중 하나를 선택하지 않습니다.

echoCancellationType는 다른 제약 조건과 마찬가지로 작동하므로 system를 이상적인 값으로 지정하고 사용 가능한 경우 Chrome에서 이를 사용하도록 하고 그렇지 않은 경우 browser로 대체할 수 있습니다. browser echo 안내하세요Type은 Chrome에서 항상 사용할 수 있습니다. 어떤 에코 제거기가 선택되었는지 알아보려면 getUserMedia 오디오 트랙에서 getSettings()를 호출하고 echoCancellationType 필드의 값을 확인하면 됩니다.

마지막으로 getCapabilities()를 호출하여 MediaStreamTrack에 사용할 수 있는 에코 제거기를 확인할 수 있습니다. 그러나 echoCancellationType는 아직 InputDeviceInfo용으로 구현되지 않았습니다.

Windows 에코 제거 지원

음성 캡처 DSP 구성요소를 사용하여 Windows를 포함하도록 네이티브 에코 제거기 지원을 확장했습니다. macOS 에코 제거기와 마찬가지로 성능을 평가하고 오디오 하드웨어에 더 가까이 배치했을 때만 소프트웨어 솔루션보다 성능이 우수한 사례가 있는지 확인해 보겠습니다. macOS의 경우와 달리 Windows에서의 초기 테스트는 그다지 유익하지 않았습니다. Google은 더 나은 성능을 위해 계속해서 구현을 조정할 예정입니다. 지금은 더 큰 규모에서 Windows 에코 제거기를 실험하지 않는 것이 좋습니다. 로컬 머신과 같이 통제된 설정에서 사용해 보세요. 단, 원활하게 작동할 것이라고 기대하지는 않습니다.

향상된 macOS 에코 제거 지원

이전 실험에서 macOS 구현에는 사용 중인 출력 장치를 올바르게 추적하는 기능이 없었습니다. 즉, 컴퓨터의 기본 기기가 아닌 기기에서는 에코를 취소할 수 없습니다. macOS는 헤드셋 등이 연결되거나 연결 해제될 때 자동으로 기본 기기를 전환할 수 있으므로 대부분의 경우 문제가 되지 않았을 수 있습니다. 하지만 모든 경우에 제대로 작동하지는 않습니다.

이 기능은 Chrome M68에 추가되었으며 macOS 및 Windows 에코 취소기용으로 모두 구현되었습니다. Chrome의 소프트웨어 에코 제거기는 내부 루프백을 사용하여 재생 오디오를 취소하므로 이러한 기능 부족의 영향을 받지 않습니다.

실험을 사용 설정하는 방법

사이트에서 이 새로운 동작을 사용하려면 '네이티브 AEC 실험 지원' 오리진 트라이얼에 가입해야 합니다. 로컬에서만 사용해 보려면 명령줄에서 실험을 사용 설정하면 됩니다.

chrome --enable-blink-features=ExperimentalHardwareEchoCancellation

명령줄에서 이 플래그를 전달하면 새 echoCancellationType 제약 조건을 Chrome에서 현재 세션에 전역적으로 사용할 수 있습니다. 그런 다음 이 제약 조건을 사용하여 위에서 설명한 대로 앱에서 네이티브 에코 제거기를 테스트할 수 있습니다. 이는 이전 체험판과 동일한 명령줄 플래그입니다. Chrome M68에서는 새 기능이 사용 설정됩니다. 새로운 오리진 트라이얼을 사용 설정하면 새로운 기능만 활성화되며, 이전 버전의 Chrome에서는 이전 체험판이 트리거되지 않습니다.

의견 보내기

이전 실험과 마찬가지로 macOS 및 Windows 에코 제거기(주로 전자)의 정성적 성능에 관심이 있습니다. 또한 새 echoCancellationType 제약 조건이 실제로 얼마나 잘 작동하는지, 사용 편의성 등에 관한 의견도 필요합니다. 여기에는 getSettingsgetCapabilities에 제약 조건이 포함되는 것도 포함됩니다.

또한 이러한 네이티브 에코 제거기를 사용할 때 Chrome이 다른 애플리케이션과 상호작용하는 방법과 안정성 문제 또는 구현과 관련된 기타 문제에도 관심이 있습니다.

이 문제를 시도하고 있다면 이 버그를 통해 의견을 제출하세요. 가능하면 사용된 하드웨어 (OS 버전, 하드웨어 모델, 마이크/헤드셋 등)를 포함하세요. 대규모 실험을 진행하는 경우 객관적이든 주관적이든 관계없이 음성 통화 품질에 관한 비교 통계 링크를 제공하는 것이 좋습니다.