v1.0.0

Dokploy/dokployv1.0.0May 10, 2026by KoljaB

AI Summary

RealtimeSTT v1.0.0 introduces a modular transcription engine system, expands ASR support with new engines, and adds a browser-based FastAPI streaming server with multi-user capabilities and advanced scheduling features.

Key Highlights

  • New Transcription Engine System with lazy-loaded backends for final and realtime transcription.
  • Expanded ASR engine support including Whisper CPP, OpenAI Whisper, Moonshine, Parakeet, and Cohere.
  • FastAPI Browser Streaming Server featuring multi-user sessions and wake-word support.
  • Syllable-boundary scheduling reduces dropped realtime ASR calls by 81.6%.
  • Enhanced stability fixes for recorder performance and audio pre-roll management.

Breaking Changes

  • Legacy browser client WebSocket port changed from 8001 to 9001.
  • Installation requires explicit extras selection (e.g., `pip install "RealtimeSTT[faster-whisper]"`) instead of default installation.

New Features

  • Lazy-loaded transcription engine abstraction system with separate backends for final and realtime transcription.
  • Support for new ASR engines: whisper_cpp, openai_whisper, Moonshine, Parakeet/NeMo, Granite Speech, Qwen3-ASR, and Cohere Transcribe.
  • Browser-based FastAPI streaming server with multi-user session management, wake-word detection, and metrics.
  • CPU-only acoustic boundary scheduling (syllable-boundary) for optimized realtime transcription.
  • RealtimeTextStabilizer for improved text stability, outlier handling, and structured updates.
  • Customizable installation via pip extras for optional ASR and wake-word stacks.

Full Release Notes

# RealtimeSTT v1.0.0

### Major Features

- **New Transcription Engine System**
  - Added a lazy-loaded engine abstraction under `RealtimeSTT/transcription_engines`.
  - `faster_whisper` remains the compatibility default.
  - Final and realtime transcription can now use different backends via `transcription_engine` and `realtime_transcription_engine`.
  - Backend-specific settings can be passed separately with `transcription_engine_options` and `realtime_transcription_engine_options`.

- **New ASR Engines**
  - Added `whisper_cpp` through `pywhispercpp`.
  - Added `openai_whisper` for OpenAI’s local Whisper package.
  - Added Moonshine, NVIDIA Parakeet/NeMo, Granite Speech, Qwen3-ASR, and Cohere Transcribe adapters.
  - Added CPU INT8 sherpa-onnx paths for Parakeet and Moonshine.
  - Added optional Kroko-ONNX aliases: `kroko_onnx`, `kroko`, and `banafo_kroko`.

- **FastAPI Browser Streaming Server**
  - Added `example_fastapi_server`, a browser-based streaming STT server with binary WebSocket audio input.
  - Added multi-user support with session-local audio buffers, VAD state, transcript state, segment IDs, clear/reset, warnings, errors, realtime text, and final text.
  - Heavy ASR models are shared through final/realtime inference lanes instead of loading one model per browser session.
  - Added fair per-session scheduling, realtime coalescing, stale realtime job dropping, final-job preservation, capacity limits, `/health`, `/api/config`, and `/api/metrics`.
  - Added wake-word support in the FastAPI server, including Porcupine/OpenWakeWord options and a follow-up window after wake activation.

- **Syllable-Boundary Realtime Scheduling**
  - Added optional CPU-only acoustic boundary scheduling with `realtime_transcription_use_syllable_boundaries`.
  - The scheduler triggers realtime ASR near likely syllable/vowel boundaries, with configurable sensitivity and follow-up delays.
  - In the reference fixture, realtime ASR calls dropped from 239 to 44, an 81.6% reduction, while final WER stayed at 0.000.

### Improvements

- **Customizable Installation**
  - `pip install RealtimeSTT` now installs the core recorder, audio, WebRTC VAD, and Silero VAD dependencies.
  - Optional ASR and wake-word stacks are exposed as extras, including `faster-whisper`, `whisper-cpp`, `openai-whisper`, `sherpa-onnx`, `parakeet`, `qwen`, `porcupine`, `openwakeword`, `wakewords`, `recommended`, and `all`.
  - Wake-word dependencies are no longer mandatory unless selected. WebRTC VAD and Silero VAD remain core dependencies because the recorder still initializes both VAD paths.

- **Realtime Text Stability**
  - Added a structured `RealtimeTextStabilizer` with stable deltas, unstable preview text, outlier handling, finalization checks, and diagnostics.
  - Added `on_realtime_text_stabilization_update` for applications that need structured realtime stabilization events.

- **Docs And Examples**
  - Reworked the README into a shorter entry point and moved detailed guidance into `docs/`.
  - Added docs for installation, configuration, transcription engines, wake words, external audio, FastAPI server usage, troubleshooting, testing, and architecture.
  - Added per-engine documentation for faster-whisper, whisper.cpp, OpenAI Whisper, Moonshine, sherpa-onnx, Parakeet/NeMo, Transformers engines, Cohere, and Kroko-ONNX.

### Fixes

- **Recorder Stability: Slow Final Transcription**
  - Fixed a recorder bug where slow CPU final transcription could cause following speech to be missed while `text()` was blocked.
  - Completed recordings are now queued, continuous listening stays armed during final transcription, delayed Silero confirmation is tolerated, and finite `feed_audio()` streams can be flushed.
  - The CPU/int8 regression now preserves all 9/9 utterances with combined WER 0.000.

- **Recorder Stability: Stale Pre-Roll Audio**
  - Fixed stale pre-recording audio leaking from one utterance into the next final transcription.
  - The pre-roll buffer is now cleared when a recording transitions to stopped, while normal fresh pre-roll behavior is preserved.

- **Server Isolation And Backpressure**
  - Transcript events are routed only to their owning browser session.
  - Session slots are reserved before recorder construction to prevent connection bursts from over-instantiating recorders.
  - Added per-session backlog limits and long-audio force-finalization to keep the server responsive under load.

### Other

- Updated Docker/CUDA packaging to CUDA 12.8.1/cuDNN on Ubuntu 24.04 with PyTorch/Torchaudio 2.7.1 cu128.
- Split GPU Torch requirements into `requirements-gpu-torch.txt`.
- Updated the legacy browser client WebSocket port from 8001 to 9001.
- Added ignored/excluded local development folders, model caches, test results, private docs/tests, backups, and secrets to `.gitignore`/`MANIFEST.in`.
- Added GitHub funding metadata.
- Package version bumped to `1.0.0`.

### Compatibility Notes

- Existing `AudioToTextRecorder` usage with the default faster-whisper backend remains the intended compatibility path, but environments should now install the needed extras explicitly, for example `pip install "RealtimeSTT[faster-whisper]"`.
- Some new engines are experimental or platform-sensitive. Kroko-ONNX is registered and contract-tested, but real Windows validation was blocked by upstream native build issues; use Linux, WSL2, or Docker for runtime validation.