1.0.7 • Published 7 months ago

@raghavendra_kj/stt-js v1.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Speech-to-Text (STT) Library

Live Demo

You can view a live demo of the example here.

Introduction

The Speech-to-Text (STT) library provides a clean interface for integrating browser-based speech recognition into your web applications using the Web Speech API. It supports real-time transcription, interim results, and continuous listening.

Installation

npm install @raghavendra_kj/stt-js

Usage

Import the Library

import { STT } from "@raghavendra_kj/stt-js";

Create an Instance

const stt = new STT();

Start Recognition

await stt.start();

You can also pass options:

await stt.start({
  lang: "en-IN",
  continuous: false,
  interimResults: false
});

Stop or Abort Recognition

stt.stop(); // Gracefully ends recognition
stt.abort(); // Forcibly ends recognition

Add Event Listeners

stt.onResult((text) => {
  console.log("Final result:", text);
});

stt.onPartialResult((text) => {
  console.log("Interim result:", text);
});

stt.onError((error) => {
  console.error("Error occurred:", error);
});

Remove Event Listeners

stt.offResult(handler); // Remove a specific listener
stt.removeAllListeners(); // Remove all listeners

API Reference

STT.start(options?)

Starts speech recognition.

Parameters:

  • lang (string): Language code (default: "en-US")
  • continuous (boolean): If recognition should continue after pauses (default: true)
  • interimResults (boolean): Whether to include interim results (default: true)

Returns: Promise<void>

STT.stop()

Stops the recognition session gracefully.

STT.abort()

Forcibly aborts the recognition session.

STT.isRecognizing()

Returns a boolean indicating whether recognition is currently active.

STT.dispose()

Stops recognition and removes all listeners. Use for cleanup.

Event Listeners

Add Listeners

  • stt.onStart(handler: () => void): Triggered when recognition starts.
  • stt.onEnd(handler: () => void): Triggered when recognition ends.
  • stt.onResult(handler: (text: string) => void): Triggered when a final transcript is available.
  • stt.onPartialResult(handler: (text: string) => void): Triggered for interim transcript updates.
  • stt.onError(handler: (error: STTError) => void): Triggered when an error occurs.

Remove Listeners

  • stt.offStart(handler: () => void): Removes a specific "start" listener.
  • stt.offEnd(handler: () => void): Removes a specific "end" listener.
  • stt.offResult(handler: (text: string) => void): Removes a specific "result" listener.
  • stt.offPartialResult(handler: (text: string) => void): Removes a specific "partialResult" listener.
  • stt.offError(handler: (error: STTError) => void): Removes a specific "error" listener.
  • stt.removeAllListeners(event?): Removes all listeners for a specific event or all events.

Permissions

If supported, the library uses the Permissions API to check for microphone access.

Errors are reported through the "error" events.

Browser Support

Ensure the target browser supports the Web Speech API (e.g., latest versions of Chrome, Edge).

Example

A complete working example is available in example/index.html.

1.0.7

7 months ago

1.0.6

7 months ago

1.0.5

7 months ago

1.0.4

7 months ago

1.0.3

7 months ago

1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago