UNPKG

react-transcribe

Version:

React component for speech-to-text transcription with silence detection

45 lines (41 loc) 1.5 kB
import * as React from 'react'; import { ReactNode } from 'react'; type TranscriptInfo = { transcript: string; interimTranscript: string; resetTranscript: () => void; }; type SpeechToggleInfo = { isListening: boolean; type: 'device'; }; interface SpeechToTextProps { /** Callback triggered when speech is detected */ onSpeech?: (info: TranscriptInfo) => void; /** Callback triggered when speech recognition is toggled on/off */ onSpeechToggle?: (info: SpeechToggleInfo) => void; /** React children or render function */ children?: ReactNode | ((state: SpeechToTextState) => ReactNode); /** Duration of silence before considering speech paused (ms) */ silenceDuration?: number; /** Maximum silence duration before stopping (ms) */ maxSilenceDuration?: number; /** When to start showing countdown (ms) */ countdownThreshold?: number; /** Recognition language */ language?: string; } interface SpeechToTextState { listening: boolean; isActivelySpeaking: boolean; silenceCountdown: number | null; transcript: string; interimTranscript: string; browserSupportsSpeechRecognition: boolean; resetTranscript: () => void; startListening: () => void; stopListening: () => void; toggleListening: () => void; } declare const SpeechToText: React.FC<SpeechToTextProps>; export { SpeechToText, SpeechToTextProps, SpeechToTextState, SpeechToggleInfo, TranscriptInfo, SpeechToText as default };