Skip to content

fix(asr): add dolly/dougie/dory → Dotty corrections (#130) - #132

Merged
BrettKinny merged 1 commit into
mainfrom
fix/asr-name-corrections-130
May 31, 2026
Merged

BrettKinny merged 1 commit into
mainfrom
fix/asr-name-corrections-130

Conversation

@BrettKinny

Copy link
Copy Markdown
Owner

Closes #130.

Whisper mis-transcribes the wake-name "Dotty" as Dolly, Dougie, or Dory (observed in the #39 bench transcripts), none of which were in _ASR_CORRECTIONS — so name-addressed triggers like "goodnight Dotty" never matched and sleep never fired.

Change

Adds three entries to the existing correction table in receiveAudioHandle.py:

"dolly":  "Dotty",
"dougie": "Dotty",
"dory":   "Dotty",

Verification

Simulated the full _apply_asr_corrections → _apply_phrase_corrections → _detect_state_phrase pipeline on the issue's real transcripts:

ASR output after correction sleep trigger
Good night, Dolly. good night Dotty. ✅ fires
Good one, Dougie. Good one, Dotty. name resolved (not a sleep phrase)
Hey, Dory, wake up. Hey, Dotty, wake up. name resolved (not a sleep phrase)

The comma in "Good night, Dolly." is cleaned up by the existing ("good night", 0.7) fuzzy phrase-correction stage, so the good night dotty substring trigger matches.

Low risk in this single-device kid-robot context where those words are overwhelmingly mishearings of the name. The optional secondary item from the issue (whether bare "good night" should also trigger sleep) is deliberately not included here.

Note: no regression test added — receiveAudioHandle.py has no existing test harness (it pulls in 7 core.* modules only present in the xiaozhi container), so this is a data-only change verified by isolated simulation.

🤖 Generated with Claude Code

Whisper mis-transcribes the wake-name "Dotty" as "Dolly", "Dougie", or
"Dory" — none of which were in _ASR_CORRECTIONS, so name-addressed
triggers like "goodnight Dotty" never matched.

Add the three mishearings (observed in the #39 bench transcripts) to the
existing correction table. Verified end-to-end through the
asr-correct → phrase-correct → state-detect pipeline: "Good night,
Dolly." now resolves to "good night Dotty." and fires the sleep
trigger. Low risk in this single-device kid-robot context where those
words are overwhelmingly mishearings of the name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 31, 2026 11:30
@BrettKinny
BrettKinny merged commit 3d66656 into main May 31, 2026
9 of 10 checks passed
@BrettKinny
BrettKinny deleted the fix/asr-name-corrections-130 branch May 31, 2026 11:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds additional ASR post-processing corrections so Whisper mis-transcriptions of the wake-name “Dotty” (as “Dolly”, “Dougie”, or “Dory”) are normalized back to “Dotty”, allowing existing name-addressed state triggers (e.g., sleep phrases) to match reliably.

Changes:

  • Extend _ASR_CORRECTIONS in receiveAudioHandle.py with dolly/dougie/dory → "Dotty" mappings.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Name-based voice triggers fail — Whisper hears 'Dotty' as Dolly/Dougie, not in _ASR_CORRECTIONS

2 participants