Skip to content

v2.1.1 - Improved RMS Detection

Choose a tag to compare

@pjdoland pjdoland released this 02 Jan 15:39
· 100 commits to main since this release

Improvements

Better Silence Detection

  • Peak RMS Detection: Switched from average RMS to peak RMS using 100ms sliding windows
    • Prevents silence from dragging down amplitude measurements
    • Detects speech even when surrounded by quiet audio
    • More accurate filtering of background noise

Enhanced Logging

  • Added detailed RMS logging with 📊 indicator for easier threshold tuning
  • Shows both peak RMS value and current threshold for each audio capture

Configuration Updates

  • Updated MIN_AUDIO_RMS threshold from 800 to 60 (appropriate for peak RMS measurements)
  • Removed all hard-coded RMS values - now uses settings.MIN_AUDIO_RMS throughout

Transcription Filtering

  • Added "bye" to meaningless transcription filter to reduce false positives
  • Reduces erroneous wake-up triggers from background noise

Technical Details

The new peak RMS algorithm:

  1. Divides audio into 100ms windows with 50% overlap
  2. Calculates RMS for each window
  3. Returns the maximum RMS value found

This approach is much more effective at detecting actual speech in buffers that contain both speech and silence, significantly improving the accuracy of the silence filtering system.