A simple copycat web app that will listen for what you say and repeat it back.
npm install
npm start
The experiment had a two-fold purpose:
- Proof of concept for in-browser companion voice support using react.
- Explore built-in browser support for Web Speech API vis-á-vis a single controlled implementation.
Browser | OS | ASR | TTS | Status |
---|---|---|---|---|
Safari | macOS | ❌ | ✅ | Partial Supported |
Safari | iOS | ❌ | ✅ | Partial Supported |
Chrome | macOS | ✅ | ✅ | Fully Supported |
Chrome | iOS | ❌ | ✅ | Partial Supported |
Chrome | Android | ❌ | ✅ | Partially Supported |
Firefox | macOS | ❌ | ✅ | Partial Supported |
Silk | FireOS | ❌ | ✅ | Partial Supported |
https://caniuse.com/#feat=speech-recognition is the most accurate browser support matrix, but it's incomplete for mobile browsers.
Safari docs say that Web Speech API is fully supported, but that is a lie.
Most places say Firefox supports Web Speech API, but that is a lie too.
Chrome probably uses a Google ASR service. However, a Chromium contributor warns that there is discussion about deprecating Web Speech API.
Chrome on Android/FireOS probably works, but more debugging needed.
Web Speech API, cf https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API
Unimplemented
Browser-specific, but only Chrome supports ASR, and it's ASR service is obfuscated but probably uses Google Speech API
Browser-specific, but all that I checked use the platform OS TTS service.
React, using React Voice Components
-
Annyang is a HTML5 wrapper around Web Speech API.
-
Artyom is a HTML5 wrapper around Web Speech API.
-
Google Cloud Speech API offers the ability to do ASR directly, using a custom React component. Requires API key, $ per-request. There is a reference implementation in Node.
Copyright 2018 Pylon, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.