syncfusion-react-speech-to-text
Implement the Syncfusion React SpeechToText component. Use this skill to convert speech to text, manage microphone input, control listening states, process speech events, customize UI, support accessible voice-enabled forms, and handle globalization and security in React applications.
By syncfusion · 609 installs
npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-speech-to-text
Source repository · Upstream listing
Syncfusion React SpeechToText Component
Component Overview
The SpeechToText component enables users to convert spoken words into text using the Web Speech API. This skill helps you implement, customize, and troubleshoot speech recognition in React applications. The main component that captures audio from the user's microphone and converts speech to text in real time using browser APIs.
Key Capabilities
Real time speech recognition
Multiple language support
Customizable button and tooltip
Event driven architecture
Programmatic control via methods
Accessibility support (ARIA labels, keyboard navigation)
Localization support
Error handling and recovery
Documentation
Getting Started
📄 Read: [references/getting started.md](references/getting started.md)
Installation via npm
Package installation and setup
Basic component implementation
CSS imports and theme selection
First working example
TypeScript configuration
Disabling the component ( disabled property)
Speech Recognition Features
📄 Read: [references/speech recognition features.md](references/speech recognition features.md)
Retrieving transcripts in real time
Setting language for recognition
Managing interim results
Listening state management with SpeechToTextState enum (Inactive, Listening, Stopped)
Reading listeningState from event args and component ref
Handling speech to text conversion
Real time vs final results
Button and Tooltip Customization
📄 Read: [references/button and tooltip customization.md](references/button and tooltip customization.md)
Customizing button content and icons
Icon positioning and styling
Controlling tooltip visibility ( showTooltip property)
Tooltip configuration and placement (all 12 TooltipPosition values)
CSS class styling (e primary, e success, etc.)
Button appearance modes
Responsive button design
Events and Methods
📄 Read: [references/events and methods.md](references/events and methods.md)
Event handling (created, onStart, onStop, onError, transcriptChanged)
Correct event argument interfaces (StartListeningEventArgs, StopListeningEventArgs, ErrorEventArgs, TranscriptChangedEventArgs)
cancel property to prevent listening start
isInteracted to distinguish user vs programmatic triggers
errorMessage for human readable error details
isInterimResult for interim vs final transcript results
startListening(), stopListening(), and destroy() methods
Ref based component control
Programmatic listening management
Globalization and Localization
📄 Read: [references/globalization and localization.md](references/globalization and localization.md)
Localization with L10n.load()
Available locale strings and translations
Language specific error messages
RTL support for right to left languages
Accessibility labels and ARIA attributes
htmlAttributes for custom HTML/ARIA attributes on the button element
Multi language interface support
Troubleshooting and Security
📄 Read: [references/troubleshooting and security.md](references/troubleshooting and security.md)
Common issues and solutions
Browser compatibility matrix
Microphone permission handling
Security considerations and best practices
Privacy and data transmission
Performance optimization
Offline fallback strategies
Quick Start Example
Common Patterns
Pattern 1: Voice Form Input
Pattern 2: Programmatic Control
Pattern 3: Error Handling
Key Props
Prop Type Description
lang string Language for speech recognition (e.g., 'en US', 'fr FR')
transcript string Current transcribed text
allowInterimResults boolean Show real time results (default: true)
listeningState SpeechToTextState Current listening state (Inactive, Listening, Stopped)
buttonSettings ButtonSettingsModel Customize button appearance and content
tooltipSettings TooltipSettingsModel Configure tooltip display
showTooltip boolean Whether to display the tooltip on hover (default: true)
cssClass string Apply CSS classes for styling
disabled boolean Disable all component interaction (default: false)
htmlAttributes { [key: string]: string } Additional HTML attributes (ARIA, data , etc.) for the root button element
locale string Localization language code
enableRtl boolean Enable right to left layout
enablePersistence boolean Persist component state between page reloads via localStorage
Event Handlers
Event Args Description
created Fired when component is initialized
onStart StartListeningEventArgs Fired when speech recognition begins. Args: cancel , event , isInteracted , listeningState , name
onStop StopListeningEventArgs Fired when speech recognition ends. Args: event , isInteracted , listeningState , name
onError ErrorEventArgs Fired when an error occurs. Args: error , errorMessage , event , name
transcriptChanged TranscriptChangedEventArgs Fired when transcription updates. Args: transcript , isInterimResult , event , name
Methods
Method Description
startListening() Begin speech recognition programmatically
stopListening() Stop speech recognition programmatically
destroy() Destroy the component instance and release all resources
Troubleshooting
Microphone permission denied
Solution: Check browser permissions settings and allow microphone access in security settings
Speech not recognized
Solution: Check microphone volume, speak clearly, verify correct language setting
Component not rendering
Solution: Ensure CSS imports are included and license key is registered
Browser not supported
Solution: Check if browser supports Web Speech API (Chrome, Edge, Safari support it)
Related Components
TextArea: For displaying transcribed text
TextBox: For input fields with voice capabilities
Button: For custom voice control buttons
Tooltip: For contextual help on voice features