Hello services-dev,
I would appreciate your feedback on this!
Background:
On-device speech recognition is used by Chrome browser to caption audio streams in the renderer process, and will soon be used by Chrome OS for captions too. In addition, Chrome OS plans to add additional features that use on-device speech recognition with microphone input.
The speech recognition service lives in a utility process in Chrome (
design) and is split between the browser process and the ML service process in Chrome OS (
design).
In order to support offline speech recognition of microphone input,
we plan to add a method to existing media::mojom::SpeechRecognitionContext that takes a audio::mojom::StreamFactory. However, StreamFactory itself depends on media::mojom, so
adding StreamFactory to speech_recognition_service.mojom in media/
will create a circular dependency. Thus the mojom must move out of media/.
Why services/:
The media/ team recommended I try moving media/mojo/mojom/speech_recognition_service.mojom to
a new services/speech directory.
This mojom is used in the renderer process, Chrome browser process, speech recognition service, and content/browser/browser_interface_binders.cc, so it seems to need a high-level directory like services/ instead of components/services or chrome/services.
More:
Thanks for your help!
Katie