better-speech-recognition
v0.3.1
Published
An improved speech recognition library with TypeScript support
Maintainers
Readme
Better Speech Recognition
An improved speech recognition library with TypeScript support, built on top of the Web Speech API.
Features
- Real-time transcription with interim results
- Continuous recognition mode
- TypeScript support
Installation
npm install better-speech-recognitionUsage
ES Modules
import {
createSpeechRecognition,
isSupported,
} from "better-speech-recognition";
if (isSupported()) {
const recognition = createSpeechRecognition({
language: "en-US",
continuous: true,
interimResults: true,
});
recognition.onResult = ({
finalTranscript,
interimTranscript,
completeTranscript,
}) => {
console.log("You said:", completeTranscript);
console.log("Currently saying:", interimTranscript);
};
recognition.start();
}Browser via CDN
<script src="https://cdn.jsdelivr.net/npm/better-speech-recognition@latest/dist/index.min.js"></script>
<script>
if (BetterSpeechRecognition.isSupported()) {
const recognition = BetterSpeechRecognition.createSpeechRecognition();
recognition.onResult = function (result) {
console.log("You said:", result.completeTranscript);
};
document.getElementById("startButton").onclick = function () {
recognition.start();
};
}
</script>API Reference
isSupported()
Checks if speech recognition is supported in the current environment.
import { isSupported } from "better-speech-recognition";
if (isSupported()) {
// Speech recognition is available
} else {
// Speech recognition is not supported in this browser
}createSpeechRecognition(options)
Creates a new speech recognition instance with the given options.
Options
continuous(boolean): Continue listening even after results. Default:trueinterimResults(boolean): Provide interim results. Default:truelanguage(string): Recognition language. Default:'en-US'
BetterSpeechRecognition Methods
start(): Start recognitionstop(): Stop recognitionreset(): Clear all transcriptssetLanguage(language): Change recognition language
Event Handlers
onResult: Fired when results are availablerecognition.onResult = ({ finalTranscript, interimTranscript, completeTranscript, event, }) => { // Handle the recognition results };onStart: Fired when recognition startsonEnd: Fired when recognition endsonError: Fired when an error occurs
Browser Compatibility
Visit caniuse.com for the latest compatibility information.
License
MIT
