Menonaktifkan peredam bising hardware

Di Chrome 64, kami mencoba perilaku baru untuk streaming audio getUserMedia yang mengaktifkan batasan echoCancellation. Yang baru adalah stream tersebut akan menonaktifkan peredam bising hardware untuk sementara selama durasi streaming. Kami memperkirakan hal ini akan membuat performa fitur peredam gema lebih baik. Karena bersifat eksperimental, fungsi ini perlu diaktifkan secara eksplisit; lihat di bawah.

Saat ini, perilaku ini hanya didukung untuk perangkat input tertentu dan hanya di macOS. Dukungan terbatas untuk perangkat yang memiliki “pengurangan bising lingkungan” yang dapat diganti statusnya pada panel Sound pada System Preferences.

Latar belakang

Peredam gema mencoba menghapus suara yang diputar di speaker dari sinyal audio yang diterima mikrofon. Tanpa ini, apa yang Anda katakan sebagai satu pihak dalam panggilan, akan ditangkap oleh mikrofon pihak lain dan kemudian dikirimkan kembali kepada Anda. Anda akan mendengar gema diri Anda sendiri!

Agar berhasil menghapus gema, peredam gema WebRTC (yang digunakan dalam Chrome) perlu mendapatkan sinyal audio sebersih mungkin dari mikrofon. Pemrosesan yang diterapkan sebelum audio mencapai peredam gema, seperti peredam bising hardware, biasanya akan menghambat performanya. Selain itu, sudah ada peredam bising software yang diterapkan, tetapi hanya setelah peredam gema melakukan pemrosesan.

Detail perilaku baru

Developer web dapat mengaktifkan perilaku baru di situs mereka dengan ikut serta dalam Uji Coba Origin. Pengguna akhir dapat mengaktifkannya secara global dengan meneruskan tanda command line saat memulai Chrome. Untuk informasi selengkapnya, lihat di bawah.

Saat fitur ini diaktifkan, dan halaman web memanggil getUserMedia untuk mendapatkan audio dari perangkat input, hal berikut akan terjadi:

  • Jika batasan echoCancellation diaktifkan, peredam bising hardware akan dinonaktifkan selama durasi streaming audio yang baru dibuat.

  • Karena setelan ini berlaku untuk seluruh sistem, setelan ini akan diterapkan ke semua streaming input audio dari perangkat yang sama (yaitu mikrofon yang sama).

  • Setelah stream terakhir yang ingin peredam bising hardware dinonaktifkan, peredam bising hardware akan diaktifkan kembali.

  • Jika peredam bising hardware telah dinonaktifkan sebelumnya, Chrome tidak akan mengubah statusnya.

  • Jika getUserMedia dipanggil tanpa mengaktifkan echoCancellation, Chrome tidak akan menyentuh peredam bising hardware.

Karena setelan ini juga dapat dikontrol pengguna, ada beberapa interaksi tertentu dengan pengguna:

  • Jika Chrome telah menonaktifkan peredam bising hardware dan pengguna mengaktifkannya kembali, Chrome tidak akan mencoba menonaktifkannya lagi untuk streaming tersebut.

  • Jika Chrome telah menonaktifkan peredam bising hardware, dan pengguna mengaktifkannya kembali, lalu menonaktifkan lagi, Chrome akan tetap mengaktifkannya kembali setelah streaming berakhir.

Perilaku ini akan diterapkan hanya dengan mengaktifkan eksperimen. Perubahan API tidak diperlukan.

Cara mengaktifkan eksperimen

Untuk mendapatkan perilaku baru ini di situs, Anda harus mendaftar untuk Uji Coba Origin "Nonaktifkan Peredam Bising Hardware". Jika Anda hanya ingin mencobanya secara lokal, fitur ini juga dapat diaktifkan pada command line:

chrome --enable-blink-features=DisableHardwareNoiseSuppression

Meneruskan flag ini pada command line akan mengaktifkan fitur secara global untuk sesi saat ini.

Ada beberapa aspek yang ingin kami evaluasi dengan eksperimen ini:

  • Perbedaan kualitatif, di kolom ini, antara mengaktifkan peredam bising hardware vs. menonaktifkan.

  • Bagaimana perubahan setelan ini dari dalam Chrome memengaruhi pengguna akhir dan software lain yang mungkin sedang mereka jalankan?

Kami ingin mendapatkan masukan terkait kedua aspek ini. Apakah panggilan telepon menjadi lebih baik atau buruk jika fitur ini diaktifkan? Apakah ada masalah dengan implementasi yang menyebabkan perilaku tak terduga? Apa pun itu, jika Anda mencoba ini, harap berikan masukan tentang bug ini. Jika memungkinkan, sertakan mikrofon / headset / dll. yang digunakan dan apakah mendukung pengurangan bising di sekitar. Jika melakukan eksperimen berskala besar lainnya, link ke statistik komparatif tentang kualitas panggilan audio akan dihargai.