A speech recognition module to convert speech into text.
npm install speech-to-text
Here is the module being used in a React component
componentDidMount() {
const onAnythingSaid = text => {
this.setState({ interimText: text });
};
const onEndEvent = () => {
if (this.state.listening) {
this.startListening();
}
};
const onFinalised = text => {
this.setState({
finalisedText: [text, ...this.state.finalisedText],
interimText: ''
});
};
try {
this.listener = new SpeechToText(onFinalised, onEndEvent, onAnythingSaid);
} catch (error) {
this.setState({ error: error.message });
}
}
Above demo here.
- onFinalised - a callback that will be passed the finalised transcription from the cloud. Slow, but accuate.
- onEndEvent - a callback that will be called when the end event is fired (speech recognition engine disconnects).
- onAnythingSaid - (optional) a callback that will be passed interim transcriptions. Fairly immediate, but less accurate than finalised text.
- language - (optional) the language to interpret against. Default is US English, and the supported languages are listed here.
The constructor will throw an error if speech recognition is not supported by the browser. Currently only Chrome is supported.
if (!('webkitSpeechRecognition' in window)) {
throw new Error("This browser doesn't support speech recognition. Try Google Chrome.");
}
Initiates listening to speech input.
Does just that. Stops listening.
MIT