Google Dictation support SDK
In 2022, Google started a partnership with Philips dictation to create a light-weight dictation support SDK. This SDK is hosted on Github as an open-source project and is released as Javascript library. It is based on the WebHID API. You'll find information about usage and developer instructions in the readme section of the github page.
Features
Button/pedal events
LED control
Device connection events
Device info
Supported devices
SpeechMike Premium range
SpeechMike Premium Touch range
SpeechMike Premium Air range
SpeechOne range
All Philips Foot controls
PowerMic III
PowerMic 4
Supported platforms
Google Chrome on Windows, Mac, Linux and ChromeOS
Microsoft Edge
These browsers are also supported when running in remote environments, provided that the dictation devices connected to the client are natively redirected on USB level by the virtualization platform (e.g. Citrix, VMware etc.).
Pros and Cons
Pro | Con |
---|---|
|
|
Admin grants permission
The admin can grant permissions upfront by allowlisting all devices for certain URLs the SDK is used on, or allowlisting certain devices (based on USB product ID and USB vendor ID) for certain URLs the SDK is used on. See WebHidAllowAllDevicesForUrls and WebHidAllowDevicesForUrls respectively on how to set these policies on different platforms like Windows, macOS and ChromeOS.
We strongly recommend this option, since it does not require any additional development effort for independent software vendors, and it does not require repeated user interaction.
User grants permission
Pages integrating this SDK would need to call deviceManager.requestDevice(), which will prompt the user to select one of the supported devices from a pop-up. Note that the user has to interact with the page or an UI element in order for the call to deviceManager.requestDevice() to work.
Once the user has granted permission, the device will be available. That device will also be available when the page reloads. Disconnecting and reconnecting the device as well as restarting Chrome will require the user to grant permission again.
Unfortunately, admins cannot be forced to roll out policies, which is why we advise to always provide an UI element for triggering the “User grants permission” option as a backup.