Kami melanjutkan dari eksperimen sebelumnya dan di Chrome
M68, kami telah menambahkan batasan MediaStreamTrack
eksperimental untuk mengontrol
pembatalan gema mana yang digunakan, menambahkan dukungan untuk pembatalan echo native di
Windows, serta meningkatkan fungsi pembatalan echo native di
macOS. Seperti sebelumnya, semua ini berada di balik Uji Coba Origin, sehingga Anda harus mendaftar atau
memulai Chrome dengan tanda command line, jika ingin mencobanya. Untuk informasi
selengkapnya, lihat di bawah.
Apa yang baru?
Pertama dan terpenting, sekarang Anda dapat mengontrol peredam gema mana yang
digunakan dengan menyertakan batasan baru dalam panggilan getUserMedia
, misalnya:
echoCancellationType: type
dengan type
dapat berupa salah satu dari:
browser
untuk menggunakan implementasi software yang disediakan oleh browser; atausystem
untuk menggunakan implementasi yang disediakan oleh sistem dasar. Saat ini, ini adalah salah satu implementasi di macOS dan Windows.
Jika Anda membiarkan batasan tersebut, Chrome akan memilih peredam gema seperti selalu: jika ada pengurangan gema hardware, Chrome akan digunakan; jika tidak, peredam gema software Chrome akan digunakan. Tanpa menentukan batasan, Chrome tidak akan pernah memilih salah satu dari dua pengurang gema eksperimental yang merupakan bagian dari uji coba ini.
Karena echoCancellationType
berfungsi seperti batasan lainnya, Anda dapat
menentukan system
sebagai nilai ideal dan membuat Chrome menggunakannya jika tersedia, atau
kembali ke browser
jika tidak tersedia. echoPembatalanType browser
selalu tersedia di Chrome. Untuk mengetahui peredam gema mana yang dipilih, Anda
dapat memanggil getSettings()
pada trek audio getUserMedia dan memeriksa nilai
kolom echoCancellationType
.
Terakhir, Anda dapat memeriksa peredam gema yang tersedia untuk
MediaStreamTrack
dengan memanggil getCapabilities()
di dalamnya. Namun,
echoCancellationType
belum diterapkan untuk InputDeviceInfo
.
Dukungan pengurangan gema Windows
Kami telah memperluas dukungan pembatalan gema native untuk menyertakan Windows menggunakan komponen Voice Capture DSP. Seperti halnya echo canceller macOS, kami ingin mengevaluasi performanya, dan melihat apakah ada kasus di mana performa lebih baik daripada solusi software kami, jika hanya untuk ditempatkan lebih dekat dengan hardware audio. Berlawanan dengan macOS, pengujian awal kami di Windows tidak terlalu menjanjikan. Kami akan terus menyesuaikan implementasi tersebut untuk melihat apakah kami dapat meningkatkan performanya. Untuk saat ini, sebaiknya hindari bereksperimen dengan Windows echo canceller dalam skala yang lebih besar. Cobalah di setelan yang terkendali, seperti di komputer lokal Anda, tetapi jangan berharap berfungsi dengan sempurna.
Peningkatan dukungan pembatalan echo macOS
Selama eksperimen sebelumnya, implementasi macOS tidak memiliki kemampuan untuk melacak dengan benar perangkat output mana yang digunakan. Artinya, gema tidak dapat dibatalkan dari perangkat apa pun yang bukan perangkat default komputer. Dalam banyak kasus, hal ini mungkin tidak menjadi masalah karena macOS dapat otomatis mengalihkan perangkat default saat headset, dll. dicolokkan atau dicabut. Namun, ini tidak akan berfungsi dengan benar dalam semua kasus.
Fungsi ini telah ditambahkan ke Chrome M68 dan diterapkan untuk macOS dan Windows echo canceller. Peredam gema software Chrome tidak terpengaruh oleh kurangnya fungsi ini, karena menggunakan loopback internal untuk membatalkan audio pemutaran.
Cara mengaktifkan eksperimen
Untuk mendapatkan perilaku baru ini di situs, Anda harus mendaftar ke Uji Coba Origin "Dukungan eksperimental untuk AEC native". Jika Anda hanya ingin mencobanya secara lokal, eksperimen dapat diaktifkan pada command line:
chrome --enable-blink-features=ExperimentalHardwareEchoCancellation
Meneruskan tanda ini di command line akan membuat batasan echoCancellationType
baru tersedia secara global di Chrome untuk sesi saat ini. Dengan menggunakan batasan ini, Anda dapat menguji peredam gema native di aplikasi, seperti
yang dijelaskan di atas. Ini adalah tanda command line yang sama seperti dalam uji coba sebelumnya; di
Chrome M68, flag ini akan mengaktifkan fungsi baru. Mengaktifkan uji coba origin baru
hanya akan mengaktifkan fungsi baru – tindakan ini tidak akan memicu uji coba
sebelumnya di Chrome versi lama.
Mengajukan masukan
Seperti eksperimen sebelumnya, kami ingin mengetahui performa kualitatif
pembatalan gema macOS dan Windows; terutama performa kualitatif. Kami juga ingin
masukan tentang seberapa baik performa batasan echoCancellationType
baru dalam
praktiknya, seberapa mudah digunakan, dll. Ini termasuk penyertaannya dalam
getSettings
dan getCapabilities
.
Kami juga ingin mengetahui cara Chrome berinteraksi dengan aplikasi lain saat menggunakan peredam gema native ini, serta masalah stabilitas atau masalah lain dalam implementasi.
Jika Anda mencoba fitur ini, harap berikan masukan Anda dalam bug ini. Jika memungkinkan, sertakan hardware yang digunakan (versi OS, model hardware, mikrofon / headset / dll.). Jika melakukan lebih banyak eksperimen berskala besar, link ke statistik komparatif tentang kualitas panggilan audio akan dihargai, baik objektif maupun subjektif.