Hardware-Rauschunterdrückung wird deaktiviert

In Chrome 64 testen wir ein neues Verhalten für getUserMedia-Audiostreams, bei denen die Einschränkung echoCancellation aktiviert ist. Neu ist, dass solche Streams die Hardware-Rauschunterdrückung vorübergehend für die Dauer des Streams deaktivieren. Wir gehen davon aus, dass dies die Leistung der Echounterdrückung verbessert. Da sich diese Funktion noch in der Testphase befindet, muss sie explizit aktiviert werden (siehe unten).

Derzeit wird dieses Verhalten nur für bestimmte Eingabegeräte und nur unter macOS unterstützt. Die Unterstützung ist auf Geräte beschränkt, die in den Systemeinstellungen im Bereich Ton die "Umgebungsgeräuschereduzierung" ein- oder ausschalten können.

Hintergrund

Mit der Echounterdrückung wird versucht, über die Lautsprecher wiedergegebene Geräusche aus dem Audiosignal zu entfernen, das vom Mikrofon aufgenommen wird. Ohne diese Funktion wird das, was Sie als eine Person eines Anrufs sagen, vom Mikrofon der anderen Parteien aufgenommen und dann an Sie zurückgesendet. Sie hören ein Echo von sich selbst!

Damit das Echo erfolgreich entfernt werden kann, muss der in Chrome verwendete Echounterdrückung von WebRTC ein so klares Audiosignal wie möglich vom Mikrofon erhalten. Eine Verarbeitung, die angewendet wird, bevor das Audio den Echounterdrückungsdienst erreicht, z. B. die Hardware-Rauschunterdrückung, beeinträchtigt in der Regel die Leistung. Darüber hinaus ist bereits eine Software-Rauschunterdrückung vorhanden, aber erst nachdem der Echounterdrückungsdienst die Verarbeitung abgeschlossen hat.

Details zum neuen Verhalten

Webentwickler können das neue Verhalten auf ihren Websites aktivieren, indem sie einen Ursprungstest aktivieren. Endnutzer können sie global aktivieren, indem sie beim Start von Chrome ein Befehlszeilen-Flag übergeben. Weitere Informationen finden Sie unten.

Wenn diese Option aktiviert ist und eine Webseite getUserMedia aufruft, um Audio von einem Eingabegerät zu erhalten, geschieht Folgendes:

  • Wenn die Einschränkung echoCancellation aktiviert ist, wird die Hardware-Rauschunterdrückung für die Dauer des neu erstellten Audiostreams deaktiviert.

  • Da diese Einstellung systemweit gilt, gilt sie für alle Audioeingabestreams desselben Geräts (d.h. desselben Mikrofons).

  • Sobald der letzte Stream, für den die Hardware-Rauschunterdrückung deaktiviert werden soll, geschlossen wird, wird die Hardware-Rauschunterdrückung wieder aktiviert.

  • Wenn die Hardware-Rauschunterdrückung zuvor bereits deaktiviert wurde, ändert Chrome den Status nicht.

  • Wenn getUserMedia ohne echoCancellation aufgerufen wird, nimmt Chrome keine Hardware-Rauschunterdrückung in Betracht.

Da diese Einstellung auch vom Nutzer gesteuert werden kann, gibt es einige bestimmte Interaktionen mit dem Nutzer:

  • Wenn Chrome die Hardware-Rauschunterdrückung deaktiviert hat und der Nutzer sie wieder einschaltet, versucht Chrome nicht noch einmal, sie für diesen Stream zu deaktivieren.

  • Wenn Chrome die Hardware-Rauschunterdrückung deaktiviert hat und der Nutzer sie wieder ein- und dann wieder ausschaltet, wird sie auch nach dem Ende des Streams von Chrome wieder aktiviert.

Die Änderungen werden übernommen, indem der Test aktiviert wird. Die API muss nicht geändert werden.

Test aktivieren

Damit Sie dieses neue Verhalten auf Ihrer Website sehen können, müssen Sie sich für den Ursprungstest „Hardware-Rauschunterdrückung deaktivieren“ registrieren. Wenn Sie es nur lokal testen möchten, können Sie es auch in der Befehlszeile aktivieren:

chrome --enable-blink-features=DisableHardwareNoiseSuppression

Wenn Sie dieses Flag in der Befehlszeile übergeben, wird das Feature für die aktuelle Sitzung global aktiviert.

Es gibt einige Aspekte, die wir mit diesem Test bewerten möchten:

  • Qualitative Unterschiede zwischen der aktivierten und der deaktivierten Hardware-Rauschunterdrückung in der Praxis

  • Wie wirkt sich eine Änderung dieser Einstellung in Chrome auf den Endnutzer und andere Software aus, die er möglicherweise ausführt?

Wir würden gerne Feedback zu diesen beiden Aspekten erhalten. Sind Anrufe besser oder schlechter, wenn diese Funktion aktiviert ist? Gibt es Probleme bei der Implementierung, die zu unerwartetem Verhalten führen? Wenn du dies ausprobieren möchtest, kannst du uns auf jeden Fall Feedback zu diesem Programmfehler geben. Geben Sie nach Möglichkeit an, welches Mikrofon, welches Headset usw. verwendet wurde und ob es die Reduzierung von Umgebungsgeräuschen unterstützt. Bei größeren Tests sind Links zu vergleichenden Statistiken zur Qualität von Sprachanrufen hilfreich.