Skip to content

v2.2.0 — Echo Bleed Reduction

Latest

Choose a tag to compare

@whorne89 whorne89 released this 03 Mar 20:28
· 1 commit to main since this release

Added

  • Widened time window: Echo detection window expanded from 15s to 30s across all three detection layers. Catches delayed echo up to 30s apart. Recent segment retention increased from 60s to 90s.
  • Audio envelope correlation in live pipeline: is_echo() now runs as tier 3 in the live transcription pipeline (after energy gate, before Whisper). Uses envelope correlation with mic_rms guard to catch echo that Whisper transcribes as different words per channel.
  • Prefix/suffix extraction: When clause splitting can't isolate genuine speech (no punctuation delimiter), scans 1-4 word prefixes/suffixes. Recovers acknowledgments like "Okay", "Sure", "Yes" glued to echo without punctuation.
  • SequenceMatcher for medium segments: Character-level sequence matching for 6-15 word segments catches echo where Whisper wording differences reduce word overlap below threshold. Routes through clause recovery before full removal.
  • 20 new tests (261 total)

Changed

  • deduplicate_segments() default time_window: 15s → 30s
  • _is_text_echo() default time_window: 15s → 30s
  • _retract_echo_you() default time_window: 15s → 30s
  • Recent segment retention cutoff: 60s → 90s
  • _extract_unique_clauses() now falls back to prefix/suffix extraction when clause splitting fails