OpenViSTAI · Agents · Blockchain · Crypto
Menu
Audio & Voice AI

React Speech Recognition

React Speech Recognition is a JavaScript library that uses a React hook to capture microphone speech, convert it to text and expose the transcript to React components.

Independent OpenViST project profile, based on linked sources.

React Speech Recognition — OpenViST project profile in Audio & Voice AI.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a React web app needs microphone-based text input and the implementation can account for native browser support or configure a polyfill.

Who it is for

  • React developers adding speech input or dictation to a web interface.
  • Teams building voice-enabled controls that use recognized text within React components.

Documented uses

  • Display microphone speech as a transcript in a React component.
  • Add start, stop and reset controls for speech input.
  • Configure a documented speech-recognition polyfill for a more consistent cross-browser approach.
Before you choose

Requirements & limits

  • The current hook-based version requires React 16.8 or later.
  • The default implementation relies on the Web Speech API, whose browser support is limited.
  • Native browser implementations can differ in transcription, accuracy and formatting.
  • A documented Azure polyfill setup requires a region and subscription key or authorization token.
  • The project identifies the library as MIT licensed.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Add a basic microphone transcript component

Install the library and use its hook and controls to display microphone speech as text in a React component.

Before you start

  • A React application using React 16.8 or later.
  • A browser with Web Speech API speech-recognition support for the native setup.

Steps

  1. Install the package with npm install --save react-speech-recognition.

  2. Import SpeechRecognition and useSpeechRecognition in a React component.

  3. Call the hook to access transcript, listening state, resetTranscript and browserSupportsSpeechRecognition.

  4. Provide start, stop and reset controls and render the transcript; handle the unsupported-browser state.

Expected outcome

A React component can show the transcript and provide microphone start, stop and reset controls.

Guide limitations

  • Native Web Speech API support is limited; the project says desktop Chrome has the best native experience.
  • Transcription and formatting may vary between native browser implementations.
Source-based practical guide

Configure the documented Azure speech polyfill

Set up the Azure example so the library can use a speech-recognition polyfill.

Before you start

  • A React web app.
  • The Azure Speech Service region and a subscription key or authorization token.
  • The web-speech-cognitive-services and microsoft-cognitiveservices-speech-sdk packages.

Steps

  1. Install web-speech-cognitive-services and microsoft-cognitiveservices-speech-sdk in the web app.

  2. Provide the Azure Speech Service region and subscription key or authorization token to the polyfill configuration.

  3. Create the Azure speech recognition implementation with createSpeechServicesPonyfill.

  4. Apply the resulting implementation using SpeechRecognition.applyPolyfill.

Expected outcome

The library is configured to use the Azure speech-recognition polyfill; the README illustrates this with a push-to-talk component.

Guide limitations

  • The Azure example requires valid service credentials and a region.
  • The guide documents configuration but does not establish service pricing or application-specific compatibility.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
JamesBrill/react-speech-recognition · Official homepage title · retained in its source language