Kami melanjutkan dari eksperimen sebelumnya dan di Chrome
M68, kami telah menambahkan batasan MediaStreamTrack
eksperimental untuk mengontrol
peredam gema yang digunakan, menambahkan dukungan untuk peredam gema native di
Windows serta meningkatkan fungsi peredam gema native di
macOS. Seperti sebelumnya, semua ini berada di balik Uji Coba Origin, jadi Anda harus mendaftar, atau
memulai Chrome dengan flag command line, jika ingin mencobanya. Untuk informasi
selengkapnya, lihat di bawah.
Apa yang baru?
Pertama-tama, kini Anda dapat mengontrol peredam gema 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 yang mendasarinya. Saat ini, ini adalah salah satu implementasi di macOS dan Windows.
Jika Anda tidak menyertakan batasan, Chrome akan memilih peredam gema seperti biasanya: jika ada peredam gema hardware, peredam gema tersebut akan digunakan, jika tidak, peredam gema software Chrome akan digunakan. Tanpa menentukan batasan, Chrome tidak akan pernah memilih salah satu dari dua peredam gema eksperimental yang merupakan bagian dari uji coba ini.
Karena echoCancellationType
berfungsi seperti batasan lainnya, Anda dapat
menentukan system
sebagai nilai ideal dan meminta Chrome menggunakannya jika tersedia, atau
kembali ke browser
jika tidak. echoCancellationType browser
selalu tersedia di Chrome. Untuk mengetahui peredam gema mana yang dipilih, Anda
dapat memanggil getSettings()
di 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 diimplementasikan untuk InputDeviceInfo
.
Dukungan peredam gema Windows
Kami telah memperluas dukungan peredam gema native untuk menyertakan Windows menggunakan komponen Voice Capture DSP. Seperti halnya peredam gema macOS, kita ingin mengevaluasi performanya, dan melihat apakah ada kasus saat performanya lebih baik daripada solusi software kita, meskipun hanya karena ditempatkan lebih dekat ke hardware audio. Berbeda dengan kasus macOS, pengujian awal kami di Windows belum terlalu menjanjikan. Kami akan terus menyesuaikan penerapannya untuk melihat apakah kami dapat membuatnya berperforma lebih baik. Untuk saat ini, sebaiknya hindari bereksperimen dengan Windows echo canceller dalam skala yang lebih besar. Coba di setelan terkontrol, seperti di komputer lokal Anda, tetapi jangan berharap semuanya berjalan lancar.
Peningkatan dukungan pembatalan gema macOS
Selama eksperimen sebelumnya, penerapan macOS tidak memiliki kemampuan untuk melacak perangkat output yang digunakan dengan benar. Artinya, sistem ini tidak akan dapat membatalkan gema dari perangkat apa pun yang bukan perangkat default komputer. Dalam banyak kasus, hal ini mungkin bukan masalah, karena macOS dapat otomatis mengalihkan perangkat default saat headset, dll. dicolokkan atau dicabut. Namun, hal ini tidak akan berfungsi dengan benar dalam semua kasus.
Fungsi ini telah ditambahkan ke Chrome M68 dan diterapkan untuk penghapus gema macOS dan Windows. Pengurang gema software Chrome belum dipengaruhi 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 di command line:
chrome --enable-blink-features=ExperimentalHardwareEchoCancellation
Meneruskan flag 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 flag 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 – tidak akan memicu uji coba
sebelumnya di Chrome versi lama.
Mengirim masukan
Seperti pada eksperimen sebelumnya, kami tertarik dengan performa kualitatif
peredam gema macOS dan Windows; terutama yang pertama. Kami juga
ingin mendapatkan masukan tentang seberapa baik batasan echoCancellationType
baru berfungsi dalam
praktik, seberapa mudah digunakan, dll. Hal ini mencakup penyertaannya dalam
getSettings
dan getCapabilities
.
Kami juga tertarik dengan cara Chrome berinteraksi dengan aplikasi lain saat menggunakan peredam gema native ini, serta masalah stabilitas atau masalah lainnya dengan penerapannya.
Jika Anda mencobanya, harap laporkan masukan Anda di 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 perbandingan tentang kualitas panggilan audio akan sangat membantu; baik bersifat objektif maupun subjektif.