Kami melanjutkan dari eksperimen sebelumnya dan di Chrome
M68, kami telah menambahkan batasan MediaStreamTrack
eksperimental untuk mengontrol
yang digunakan untuk membatalkan {i>echo<i}, menambahkan dukungan untuk
Windows serta meningkatkan fungsionalitas {i>
native echo canceller<i} pada
macOS. Sama seperti sebelumnya, semua ini merupakan bagian dari Uji Coba Origin, jadi Anda harus mendaftar atau
memulai Chrome dengan penanda baris perintah, jika Anda ingin mencobanya. Untuk selengkapnya
informasi selengkapnya, lihat di bawah.
Apa yang baru?
Yang pertama dan terpenting, sekarang kita
dapat mengontrol {i>echo<i} {i>canceller<i} 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 file. Saat ini, ini adalah salah satu implementasi di macOS dan Windows.
Jika Anda membiarkan batasan tersebut, Chrome akan memilih echo canceller seperti itu selalu memiliki: jika ada pengurangan gema perangkat keras, itu akan digunakan, jika tidak {i>echo<i} perangkat lunak Chrome akan melakukannya. Tanpa menetapkan batasan, Chrome tidak akan pernah memilih salah satu dari dua pembatalan {i>echo<i} eksperimental yang merupakan bagian dari uji coba ini.
Karena echoCancellationType
berfungsi seperti batasan lainnya, Anda dapat
menentukan system
sebagai nilai yang ideal dan meminta Chrome menggunakannya jika tersedia, atau
kembali ke browser
yang sebaliknya. echoPembatalanType browser
adalah
selalu tersedia di Chrome. Untuk mengetahui {i>echo
canceller<i} yang dipilih, Anda
dapat memanggil getSettings()
di trek audio getUserMedia dan memeriksa nilai
kolom echoCancellationType
.
Terakhir, Anda dapat memeriksa {i>echo
canceller<i} yang tersedia untuk
MediaStreamTrack
dengan memanggil getCapabilities()
di dalamnya. Namun,
echoCancellationType
belum diimplementasikan untuk InputDeviceInfo
.
Dukungan peredam gema Windows
Kami telah memperluas dukungan native echo canceller untuk menyertakan Windows menggunakan DSP Pengambilan Suara komponen. Seperti halnya {i>echo canceller<i} di macOS, kita ingin mengevaluasi performa, dan lihat apakah ada kasus di mana performa lebih baik daripada solusi perangkat lunak, jika hanya untuk ditempatkan lebih dekat dengan perangkat keras audio. Berlawanan dengan macOS, pengujian awal kami pada Windows tidak begitu yang menjanjikan. Kami akan terus menyesuaikan implementasinya untuk melihat apakah kita bisa mendapatkannya agar berperforma lebih baik. Untuk saat ini, sebaiknya Anda tidak bereksperimen dengan Windows {i>echo canceller<i} pada skala yang lebih besar. Cobalah dalam pengaturan terkontrol, seperti di komputer lokal Anda, tetapi jangan berharap perangkat itu akan bekerja dengan sempurna.
Peningkatan dukungan pembatalan gema macOS
Selama eksperimen sebelumnya, implementasi macOS tidak memiliki kemampuan untuk melacak dengan benar perangkat {i>output<i} mana yang digunakan. Ini berarti akan tidak dapat membatalkan gema dari perangkat apa pun yang bukan merupakan setelan default komputer perangkat seluler. Di banyak kasus, hal ini mungkin tidak menjadi masalah, karena macOS dapat secara otomatis beralih perangkat default saat headset, dll. dicolokkan atau dicabut. Namun, itu tidak akan bekerja dengan benar dalam semua kasus.
Fungsi ini telah ditambahkan ke Chrome M68 dan diterapkan baik untuk {i>echo canceller<i} macOS dan Windows. Pemblokir gema perangkat lunak Chrome belum terpengaruh oleh kurangnya fungsionalitas ini, karena menggunakan {i>loopback<i} internal untuk mendapatkan audio pemutaran untuk dibatalkan.
Cara mengaktifkan eksperimen
Untuk mendapatkan perilaku baru ini di situs Anda, Anda harus mendaftar ke "Dukungan eksperimental untuk AEC native" Uji Coba Origin. Jika Anda hanya ingin mencobanya secara lokal, eksperimen dapat diaktifkan di command line:
chrome --enable-blink-features=ExperimentalHardwareEchoCancellation
Meneruskan tanda ini pada command line akan membuat echoCancellationType
baru
yang tersedia secara global di Chrome untuk sesi saat ini. Dengan menggunakan
batasan ini, Anda bisa menguji pembatalan {i>echo<i} asli di aplikasi Anda,
yang dijelaskan di atas. Ini adalah tanda command line yang sama seperti di uji coba sebelumnya; nyala
Chrome M68 akan mengaktifkan fungsi baru. Mengaktifkan uji coba origin baru
hanya akan mengaktifkan fungsi baru – fungsi ini tidak akan memicu fungsi sebelumnya
di Chrome versi lama.
Mengajukan masukan
Seperti pada eksperimen sebelumnya, kita tertarik pada performa kualitatif
dari {i>echo canceller<i} macOS dan Windows; terutama yang pertama. Kami juga akan
seperti masukan tentang seberapa baik batasan echoCancellationType
baru berfungsi di
praktis, mudah digunakan, dan lain-lain. Ini termasuk penyertaannya dalam
getSettings
dan getCapabilities
.
Kami juga tertarik dengan cara Chrome berinteraksi dengan aplikasi lain saat menggunakan pembatalan {i>echo<i} asli ini, serta masalah stabilitas atau masalah lainnya dengan implementasinya.
Jika Anda sedang mencoba fitur ini, harap berikan masukan dalam bug ini. Jika memungkinkan, sertakan perangkat keras apa yang digunakan (versi OS, model perangkat keras, mikrofon / headset / dll.). Jika melakukan lebih banyak eksperimen skala besar, tautan ke statistik komparatif tentang kualitas panggilan audio akan dihargai; apakah tujuan atau subjektif.