v0.3.103

amruthpillai/reactive-resumev0.3.103Apr 19, 2025by KoljaB

AI Summary

This release introduces thread-safe inter-process communication, audio normalization, and an overhaul of event callbacks to run asynchronously. It also adds configuration options for wake words and VAD filters, along with enhanced CLI debugging capabilities.

Key Highlights

  • Replaced `mp.Pipe` with `SafePipe` to improve robustness of inter-process communication.
  • Implemented audio normalization to scale input to –0.95 dBFS for consistent transcription quality.
  • Overhauled all event callbacks to run asynchronously via helper threads.
  • Added `wakeword_backend` configuration and `faster_whisper_vad_filter` flags for finer control.

Breaking Changes

  • Replaced `mp.Pipe` with `SafePipe` for IPC.
  • Event callbacks now run asynchronously instead of synchronously.

New Features

  • New `normalize_audio` option for scaling audio input.
  • Embedding nanosecond-precision timestamps in client and server metadata.
  • CLI flags for `--faster_whisper_vad_filter` and `--debug_websockets`.
  • Improved error messages for wake word and VAD misconfiguration.

Full Release Notes

# RealtimeSTT 0.3.103

### Features & Improvements
- **Thread‑safe IPC**: Introduce `SafePipe` to replace `mp.Pipe`, hopefully ensuring robust inter-process communication (needs more tests).
- **Audio normalization**: New `normalize_audio` option scales input to –0.95 dBFS for consistent transcription quality.
- **Callback overhaul**: All event callbacks (VAD, wake‑word, turn detection, recording, realtime updates) now run asynchronously via helper threads.
- **Wake word & VAD**: Add `wakeword_backend` config and `faster_whisper_vad_filter` flag; improved error messages when misconfigured.
- **Rich metadata**: Embed nanosecond‑precision timestamps in both client and server, serialized as formatted strings.
- **CLI enhancements**: `--faster_whisper_vad_filter` and `--debug_websockets` flags give finer control over server behavior.
- **Testing updates**: Adjusted parameters in `realtimestt_test` and added a new `type_into_textbox.py` example.