Groups
Groups

Intent to Ship: Support in Chrome for the VoiceIsolation getUserMedia constraint

693 views
Skip to first unread message

Per Åhgren

unread,
Jan 26, 2024, 5:11:14 AM1/26/24
to blin...@chromium.org

Contact emails

pe...@chromium.org

Explainer

None

Specification

https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint

Summary

This is about adding support in Chrome for the VoiceIsolation getUserMedia constraint (https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint). The constraint only takes effect on platforms where there is low-level support for voice-isolation style denoising. Currently this is limited to a selected number of ChromeOS devices, but further platforms will be added.



Blink component

Blink>WebRTC

TAG review

None

TAG review status

Issues addressed

Risks



Interoperability and Compatibility

None



Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

Ergonomics

This will not have any impact on the performance of Chrome as it control system level effects, which already today are controllable at a system level.



Activation

No risks percieved.



Security

No risks percieved.



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No



Debuggability

None



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes

The constraint is supported on all platforms, but the actual platform support depends on where there are available matching effects at a system level. Initially, the only such platform is ChromeOS, where a subset of the devices



Is this feature fully tested by web-platform-tests?

Yes

https://wpt.fyi/results/mediacapture-streams/GUM-non-applicable-constraint.https.html?label=experimental&label=master&aligned https://wpt.fyi/results/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html?label=experimental&label=master&aligned https://wpt.fyi/results/mediacapture-streams/MediaStreamTrack-getSettings.https.html?label=experimental&label=master&aligned https://wpt.fyi/results/mediacapture-streams/MediaDevices-getSupportedConstraints.https.html?label=experimental&label=master&aligned



Flag name on chrome://flags

None

Finch feature name

MediaCaptureVoiceIsolation

Requires code in //chrome?

False

Availability expectation

Feature is available in ChromeOS in M123

Adoption expectation

Feature is used by specific partner(s) to provide functionality within 12 months of launch in Chrome.

Sample links


https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStreamTrack-getSettings.https.html
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaDevices-getSupportedConstraints.https.html
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/mediacapture-streams/GUM-non-applicable-constraint.https.html

Estimated milestones

Shipping on desktop123


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5106413661847552

This intent message was generated by Chrome Platform Status.

Mike Taylor

unread,
Jan 26, 2024, 5:19:51 AM1/26/24
to Per Åhgren, blink-dev

Hi Per,

On 1/26/24 8:27 AM, Per Åhgren wrote:

Contact emails

pe...@chromium.org

Explainer

None

Specification

https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint

Summary

This is about adding support in Chrome for the VoiceIsolation getUserMedia constraint (https://w3c.github.io/mediacapture-extensions/#voiceisolation-constraint). The constraint only takes effect on platforms where there is low-level support for voice-isolation style denoising. Currently this is limited to a selected number of ChromeOS devices, but further platforms will be added.



Blink component

Blink>WebRTC

TAG review

None

TAG review status

Issues addressed
This is somewhat at odds with the previous response. :) Did you intend to link a TAG review and forget?


Risks



Interoperability and Compatibility

None



Gecko: No signal

WebKit: No signal
Could we please request signals?

Web developers: No signals
I assume this was added because it would be useful for certain video and voice web applications - are we aware of any signals from developers who have asked for it, or given feedback? You mention specific partners below - anything you can share?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVOPPGnev6WyM%2B9Duv6VLCvkhSHP93KGjNs54A1cU91KrnREQ%40mail.gmail.com.

Per Åhgren

unread,
Feb 2, 2024, 6:15:19 PM2/2/24
to Mike Taylor, blink-dev

TAG review status
Issues addressed
This is somewhat at odds with the previous response. :) Did you intend to link a TAG review and forget?
Sorry, my bad. I did not remove this from the template before sending it.
The intention was not to add any issues and there is no TAG review to link.

Could we please request signals?


I assume this was added because it would be useful for certain video and voice web applications - are we aware of any signals from developers who have asked for it, or given feedback? You mention specific partners below - anything you can share?
This has been requested by WebRTC developers, partly as a means for Web apps to achieve a clean microphone signal in ChromeOS but also 
to allow web apps to utilize voice-isolation effects on ChromeOS in an informed manner.


 

Philip Jägenstedt

unread,
Feb 14, 2024, 11:46:53 AM2/14/24
to Per Åhgren, Mike Taylor, blink-dev
LGTM1, some comments inline.

On Sat, Feb 3, 2024 at 6:15 AM Per Åhgren <pe...@chromium.org> wrote:
>>
>>
>> TAG review status
>>
>> Issues addressed
>> This is somewhat at odds with the previous response. :) Did you intend to link a TAG review and forget?
>
> Sorry, my bad. I did not remove this from the template before sending it.
> The intention was not to add any issues and there is no TAG review to link.

That's OK, this is a very small addition to the platform and doesn't
need a TAG review.

>> Could we please request signals?
>
> Yes, signals have now been requested
> https://github.com/mozilla/standards-positions/issues/982
> https://github.com/WebKit/standards-positions/issues/314

No replies on these issues yet, but I see that
https://github.com/w3c/mediacapture-extensions/pull/63 was reviewed by
someone from WebKit. That doesn't imply a positive standards position,
but it does reduce the risk. Let's move forward with this, but please
circle back on this thread if there's feedback on the two issues
above.

Chris Harrelson

unread,
Feb 14, 2024, 11:50:08 AM2/14/24
to Philip Jägenstedt, Per Åhgren, Mike Taylor, blink-dev
LGTM2

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Mike Taylor

unread,
Feb 14, 2024, 11:54:27 AM2/14/24
to Chris Harrelson, Philip Jägenstedt, Per Åhgren, blink-dev

LGTM3

Reply all
Reply to author
Forward
0 new messages
Search
Clear search
Close search
Google apps
Main menu