Skip to content

All versions since 2.0.0

2.0.0

First public release of the rebuilt ResponsiveVoice — a complete, TypeScript-first rewrite of the original library, now split into focused, independently-versioned packages.

@responsivevoice/core is the browser text-to-speech client and a drop-in replacement for the legacy responsivevoice.js script — the same speak/cancel/pause/resume API, now fully typed and tree-shakeable. Free and open source.

Highlights

  • Native browser voices (Web Speech API) with automatic fallback to ResponsiveVoice server voices when the browser lacks one
  • Around 100 built-in voices across many languages and genders via a language-matching resolution chain — and thousands more through premium providers (Microsoft Azure, OpenAI, Google Cloud, and more) via Bring Your Own Key
  • Per-utterance callbacks (onstart/onend/onerror/onboundary) and global events, reliable across interruptions
  • Optional streaming playback — HTTP audio or WebSocket streaming — so speech starts before the full clip is ready
  • Server voices come from the v2 REST API, documented by a published OpenAPI 3.1 specification
  • Automatic iOS and Android audio unlocking via a built-in, customizable permission prompt
  • Voice catalog fetched and cached at runtime — new voices and quality improvements arrive continuously, no package upgrade required
  • Ships ESM, CJS, and a tree-shakeable browser bundle, also on the CDN at https://cdn.responsivevoice.org/sdk/latest/responsivevoice.js

Part of the ResponsiveVoice ecosystem: @responsivevoice/api-client (REST & WebSocket client), @responsivevoice/features (dashboard plugins), @responsivevoice/text (text processing), @responsivevoice/types (schemas & types).

Documentation: https://docs.responsivevoice.org

2.0.1

Patch Changes

2.0.2

Patch Changes

2.0.3

Patch Changes

2.0.4

Patch Changes

2.0.5

Patch Changes

  • Route init-time feature overrides through the website features schema so boolean shorthands are coerced before activation.

2.0.6

Patch Changes

2.1.0

Minor Changes

  • Raise the default chunk size for native voices and for voices served by the API.

Patch Changes

2.2.0 Latest

Minor Changes

  • Replace the ALLOW/DENY permission popup with a “Tap to Listen” prompt that recovers blocked speech on any gesture, fall back to the server engine when native synthesis fails, and use runtime autoplay probes so neither the prompt nor a doomed native attempt happens when it cannot help.

    Deprecates urlOverride, textOverride, and denyLabel (now no-ops with no slot in the new prompt) and allowLabel in favour of the new label option.