이전 실험을 이어서 Chrome M68에서는 사용 중인 에코 제거기를 제어하는 실험용 MediaStreamTrack
제약 조건을 추가하고, Windows의 네이티브 에코 제거기 지원을 추가했으며, macOS의 네이티브 에코 제거기 기능을 개선했습니다. 이전과 마찬가지로 이 모든 기능은 오리진 트라이얼에 포함되어 있으므로 사용해 보려면 가입하거나 명령줄 플래그를 사용하여 Chrome을 시작해야 합니다. 자세한 내용은 아래를 참고하세요.
새로운 기능
무엇보다도 이제 getUserMedia
호출에 새 제약 조건을 포함하여 사용 중인 에코 제거기를 제어할 수 있습니다. 예를 들면 다음과 같습니다.
echoCancellationType: type
여기서 type
는 다음 중 하나일 수 있습니다.
browser
: 브라우저에서 제공하는 소프트웨어 구현을 사용합니다.system
를 사용하여 기본 시스템에서 제공하는 구현을 사용합니다. 현재 이는 macOS 및 Windows의 구현 중 하나입니다.
제약 조건을 제외하면 Chrome은 항상 그렇듯이 에코 제거기를 선택합니다. 하드웨어 에코 제거기가 있는 경우 하드웨어 에코 제거기가 사용되고, 그렇지 않으면 Chrome의 소프트웨어 에코 제거기가 사용됩니다. 제약 조건을 지정하지 않으면 Chrome은 이 무료 체험판에 포함된 두 가지 실험용 에코 캔슬러 중 하나를 선택하지 않습니다.
echoCancellationType
는 다른 제약 조건과 마찬가지로 작동하므로 system
를 이상적인 값으로 지정하고 사용 가능한 경우 Chrome에서 이를 사용하도록 하거나 그렇지 않은 경우 browser
값으로 대체할 수 있습니다. browser
echoCancellationType은 Chrome에서 항상 사용할 수 있습니다. 어떤 에코 캔슬러가 선택되었는지 확인하려면 getUserMedia 오디오 트랙에서 getSettings()
를 호출하고 echoCancellationType
필드의 값을 확인하면 됩니다.
마지막으로 MediaStreamTrack
에서 getCapabilities()
를 호출하여 MediaStreamTrack
에 사용할 수 있는 에코 제거기를 확인할 수 있습니다. 그러나 echoCancellationType
는 아직 InputDeviceInfo
에 구현되지 않았습니다.
Windows 에코 제거 지원
Voice Capture DSP 구성요소를 사용하여 Windows를 포함하도록 네이티브 에코 제거기 지원을 확장했습니다. macOS 에코 캔슬러와 마찬가지로 성능을 평가하고 오디오 하드웨어에 더 가깝게 배치되어 Google의 소프트웨어 솔루션보다 성능이 우수한 경우가 있는지 확인하려 합니다. macOS와 달리 Windows에서의 초기 테스트는 그리 좋지 않았습니다. Google은 성능을 개선할 수 있는지 확인하기 위해 구현을 계속 조정할 예정입니다. 지금은 Windows 에코 제거기를 대규모로 실험하지 않는 것이 가장 좋습니다. 로컬 머신과 같이 제어된 환경에서 사용해 보세요. 하지만 완벽하게 작동하지 않을 수 있습니다.
macOS 에코 취소 지원 개선
이전 실험에서 macOS 구현에는 사용 중인 출력 장치를 올바르게 추적하는 기능이 없었습니다. 즉, 컴퓨터의 기본 기기가 아닌 기기에서는 에코를 취소할 수 없습니다. 헤드셋 등이 연결되거나 연결 해제될 때 macOS에서 기본 기기를 자동으로 전환할 수 있으므로 대부분의 경우 이 문제가 발생하지 않았을 수 있습니다. 하지만 모든 경우에 제대로 작동하지는 않습니다.
이 기능은 Chrome M68에 추가되었으며 macOS 및 Windows 에코 캔슬러에 모두 구현됩니다. Chrome의 소프트웨어 에코 캔슬러는 내부 루프백을 사용하여 재생 오디오를 취소하므로 이러한 기능 부족의 영향을 받지 않았습니다.
실험 사용 설정 방법
사이트에서 이 새로운 동작을 사용하려면 '네이티브 AEC 실험적 지원' Origin 체험판에 가입해야 합니다. 로컬에서만 사용해 보고 싶다면 명령줄에서 실험을 사용 설정할 수 있습니다.
chrome --enable-blink-features=ExperimentalHardwareEchoCancellation
명령줄에 이 플래그를 전달하면 Chrome에서 현재 세션의 새 echoCancellationType
제약 조건을 전 세계적으로 사용할 수 있습니다. 그런 다음 이 제약 조건을 사용하여 위에서 설명한 대로 앱에서 네이티브 에코 캔슬러를 테스트할 수 있습니다. 이는 이전 체험판과 동일한 명령줄 플래그입니다. Chrome M68에서는 이 플래그를 사용하면 새 기능이 사용 설정됩니다. 새 출처 체험판을 사용 설정하면 새 기능만 활성화되며 이전 버전의 Chrome에서는 이전 체험판이 트리거되지 않습니다.
의견 보내기
이전 실험과 마찬가지로 macOS 및 Windows 에코 캔슬러의 질적 성능에 관심이 있으며, 특히 macOS에 관심이 있습니다. 또한 새로운 echoCancellationType
제약 조건이 실제로 얼마나 잘 작동하는지, 사용하기 쉬운지 등에 관한 의견도 보내주세요. 여기에는 getSettings
및 getCapabilities
에 포함되는 것도 포함됩니다.
또한 이러한 네이티브 에코 캔슬러를 사용할 때 Chrome이 다른 애플리케이션과 상호작용하는 방식과 구현과 관련된 안정성 문제 또는 기타 문제가 있는지 확인합니다.
이 기능을 사용해 보고 있다면 이 버그에서 의견을 제출해 주세요. 가능하면 사용된 하드웨어 (OS 버전, 하드웨어 모델, 마이크/헤드셋 등)를 포함하세요. 대규모 실험을 진행하는 경우 객관적이든 주관적이든 오디오 통화 품질에 관한 비교 통계 링크를 제공해 주세요.