Real-time speech-to-text enables instant transcription and communication, offering practical applications such as live transcriptions during meetings, or live subtitles in a video call. Integrating real-time speech-to-text into an application can greatly improve user experience, accessibility, and overall function.
In this article, we will walk you through the process of integrating speech-to-text into a React application using Picovoice's Cheetah Streaming Speech-to-Text engine.
1. Prerequisites
Sign up for a free Picovoice Console account. Once you've created an account, copy your AccessKey
on the main dashboard.
2. Create a React Project:
If you don't already have a React project, start by creating one with the following command:
3. Install Dependencies:
Install @picovoice/cheetah-react and @picovoice/web-voice-processor:
4. Cheetah Model
In order to initialize Cheetah
, you will need a model file
. Download the default model file and place it in the /public
directory of your project.
Instead of using the default model file
, you may also create a custom model in the Picovoice Console if your application requires custom vocabulary and boosted words. Refer to our written guide or the equivalent video tutorial for guidance.
Create Components
Create a file within /src
called VoiceWidget.js
and paste the below into it. The code uses Cheetah's React hook to create and perform speech-to-text. Remember to replace ${ACCESS_KEY}
with your AccessKey
obtained from Picovoice Console.
Modify App.js
to display the VoiceWidget
:
Start the development server:
Once it's running, navigate to localhost:3000
and click the "Initialize Cheetah" button. Once Cheetah
has loaded, click "Start Listening" to begin recording and processing audio.
Source Code
The source code for the complete demo with Cheetah React is available on its GitHub repository.
Have you seen our other React.js tutorials? Don’t forget to check out Batch Transcription with React.js and Wake Word Detection with React.js.