Di Chrome 64, kami mencoba perilaku baru untuk streaming audio getUserMedia yang
mengaktifkan batasan echoCancellation
. Yang baru adalah streaming tersebut
akan menonaktifkan peredam derau hardware untuk sementara selama durasi
streaming. Kami memperkirakan hal ini akan membuat peredam gema berperforma lebih baik. Karena fungsi ini bersifat eksperimental, fungsi ini harus diaktifkan secara eksplisit; lihat di bawah.
Pada tahap ini, perilaku ini hanya didukung untuk perangkat input tertentu dan hanya di macOS. Dukungan terbatas untuk perangkat yang memiliki “pengurangan bising lingkungan” yang dapat diaktifkan/dinonaktifkan di panel Sound pada System Preferences.
Latar belakang
Peredam gema mencoba menghapus suara apa pun yang diputar di speaker dari sinyal audio yang ditangkap oleh mikrofon. Tanpa fitur ini, apa yang Anda ucapkan sebagai salah satu pihak dalam panggilan, akan ditangkap oleh mikrofon pihak lain, lalu dikirim kembali kepada Anda. Anda akan mendengar gema suara Anda sendiri.
Agar berhasil menghapus gema, peredam gema WebRTC (yang digunakan di Chrome) harus mendapatkan sinyal audio yang 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, tetapi hanya setelah peredam gema selesai memprosesnya.
Detail perilaku baru
Developer web dapat mengaktifkan perilaku baru di situs mereka dengan memilih untuk mengikuti Uji Coba Origin. Pengguna akhir dapat mengaktifkannya secara global dengan meneruskan flag command line saat memulai Chrome. Untuk informasi selengkapnya, lihat di bawah.
Jika 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 berlaku untuk semua aliran input audio dari perangkat yang sama (yaitu mikrofon yang sama).
Setelah streaming terakhir yang ingin penekanan derau hardware dinonaktifkan ditutup, penekanan derau hardware akan diaktifkan kembali.
Jika peredam derau hardware sudah dinonaktifkan sebelumnya, Chrome tidak akan mengubah statusnya.
Jika getUserMedia dipanggil tanpa mengaktifkan
echoCancellation
, Chrome tidak akan menyentuh peredam derau hardware.
Karena setelan ini juga dapat dikontrol pengguna, ada beberapa interaksi tertentu dengan pengguna:
Jika Chrome telah menonaktifkan peredam derau hardware, dan pengguna mengaktifkannya kembali, Chrome tidak akan mencoba menonaktifkannya lagi untuk streaming tersebut.
Jika Chrome telah menonaktifkan peredam derau hardware, dan pengguna mengaktifkannya kembali, lalu menonaktifkannya lagi, Chrome akan tetap mengaktifkannya kembali setelah streaming berakhir.
Perilaku ini akan diterapkan dengan mengaktifkan eksperimen. Tidak diperlukan perubahan API.
Cara mengaktifkan eksperimen
Untuk mendapatkan perilaku baru ini di situs Anda, Anda harus mendaftar ke Uji Coba Origin "Nonaktifkan Peredam Bising Hardware". Jika Anda hanya ingin mencobanya secara lokal, fitur ini juga dapat diaktifkan di command line:
chrome --enable-blink-features=DisableHardwareNoiseSuppression
Meneruskan flag ini di command line akan mengaktifkan fitur secara global untuk sesi saat ini.
Ada beberapa aspek yang ingin kami evaluasi dengan eksperimen ini:
Perbedaan kualitatif, di lapangan, antara mengaktifkan vs. menonaktifkan peredam derau hardware.
Bagaimana perubahan setelan ini dari dalam Chrome memengaruhi pengguna akhir dan software lain yang mungkin mereka jalankan?
Kami ingin mendapatkan masukan tentang kedua aspek ini. Apakah panggilan menjadi lebih baik atau lebih buruk dengan mengaktifkan fitur ini? Apakah ada masalah dengan penerapan yang menyebabkan perilaku yang tidak terduga? Apa pun yang terjadi, jika Anda mencobanya, harap kirimkan masukan tentang bug ini. Jika memungkinkan, sertakan mikrofon/headset/dll. yang digunakan dan apakah mikrofon/headset/dll. tersebut mendukung peredam bising. Jika melakukan lebih banyak eksperimen berskala besar, link ke statistik komparatif tentang kualitas panggilan audio akan sangat membantu.