react-transcribe
Version:
React component for speech-to-text transcription with silence detection
34 lines (33 loc) • 1.28 kB
TypeScript
import * as React from 'react';
import { ReactNode } from 'react';
import { TranscriptInfo, SpeechToggleInfo } from '../types';
export 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;
}
export 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 default SpeechToText;