GoogleChromeLabs / dictation_support

This SDK allows web-based apps/pages to interact with dictation devices
Apache License 2.0
12 stars 6 forks source link

Support for Speechmike Pro and Pro Plus #17

Closed dsouza95 closed 1 year ago

dsouza95 commented 1 year ago

Some older speechmike devices have product ids that are not listed on the device manager. From this link and some other usb ids databases, I have found both the 0x149a and 0x2512 product ids, belonging to the SpeechMike II Pro Plus LFH5276 and SpeechMike Pro models respectively.

I happen to have the SpeechMike II Pro Plus device and can confirm that adding this ID to the list allows me to use the device properly. I would be happy to open a PR for this, if that is something you would consider.

Lastly, kudos on the project, looks great!

alex292 commented 1 year ago

Hey Daniel,

happy to approve any PR that you send in that regard, adding the devices should be trivial.

@rpriewasser-sps FYI

Thanks! Alex

dsouza95 commented 1 year ago

Great! The only thing missing now is me being able to run the unit tests. Without any changes to the main branch, running npm run test results on some type errors and a karma error. I am able to run the tests with no issues on v1.0.3. I would be happy to help with this as well, but I might need some guidance.

image After some debugging, it seems that the type errors do not trigger a test failure and will only show up with the "strict" property set to true on the tsconfig file. Not really sure if that is something that needs fixing.

image As for the karma error, it seems to be related to the DtsBundlePlugin, removing the removeSource option seems to work as far as the test script goes, but I have no clue if this won't break the build process somehow.

alex292 commented 1 year ago

I would need to see the actual changes you have made to properly help here, could you upload them as PR?

dsouza95 commented 1 year ago

Those errors are without any changes to the code, but I will open the PR skipping the test part just in case.

rpriewasser-sps commented 1 year ago

@dsouza95 Hi Daniel, I´m Robert and I´ve co-created this SDK with @alex292. I´m from Speech Processing Solutions (former Philips Dictation, founder of the SpeechMike) and I´m afraid I must decline the PR for SpeechMike I and II support.

SpeechMike II devices are EOS since 2013, SpeechMike I devices probably since 2008. We would not run any tests, and we would not provide any support if something would not work as expected. Besides, during a certification process Google has extensively tested all supported devices, which does not include SpeechMike I and II.

Furthermore, properly adding these devices to this SDK would require more than just adding 2 product IDs to ImplementationType. First, there are more PIDs than the 2 you´ve found (it´s actually 15). Secondly, to avoid producing a lot of exceptions and potential issues, the code would need to be changed significantly (e.g. fetchDeviceCode, button mappings are different on these old models), which can only be done if the SpeechMike HID protocol is known. Obviously, we at SPS know the protocol, but we won´t spend any efforts on the integration of devices which are EOS.

I´m sorry for the bad news. Let me suggest 2 workarounds though:

  1. Use supported devices :-)
  2. Make your own private fork

BR Robert

P.S.: May I ask what software you are about to integrate the dictation SDK to and what is the user base? How many of these users would use SpeechMike I or II?

dsouza95 commented 1 year ago

@rpriewasser-sps No need to feel sorry for the bad news, this has been very insightful so thank you for the feedback! As for the proposed solutions, I believe forking should be the best option for us.

As for the software we would like to integrate the dictation SDK into: I work for Iara Health, a brazilian company that develops specialized speech recognition for radiology and other healthcare specialties. We would like to integrate this into our Speech Recognition engine. In Brazil and in radiology, Speechmike devices are very popular, even if their price tag can be quite expensive for the brazilian market. That being said, some users or institutions tend to keep older devices for longer than recommended. We estimate around 5% of our user base Brazil may have some variation of the Speechmike II, which should amount to around 200 of these devices still in use. I have not heard of any users with the Speechmike I. We also plan on expanding to other countries in latin america, which may behave like Brazil when it comes to Speechmike usage.

rpriewasser-sps commented 1 year ago

@dsouza95 Wonderful, and thanks for the insights into your business! I do understand a SpeechMike´s price tag can be quite expensive for the brazilian market. However, as a SpeechMike user you get very high speech recognition accuracy which saves time which saves cost at the end. Anyway, I also do understand users tending to keep older devices, even though new generations definitely provide better handling and SR accuracy. We only made the "mistake" to build hardware in such high quality that it lasts forever :-) I wish you guys the best for your business. Don´t hesitate to contact me if you have any questions or issues regarding dictation hardware integration.