Skip to content

ear: transcribe out of process (whispercpp); MLX in-process starved the capture with music - #535

Merged
dp-web4 merged 1 commit into
mainfrom
mcnugget/ear-backend-note
Oct 25, 2026
Merged

dp-web4 merged 1 commit into
mainfrom
mcnugget/ear-backend-note

Conversation

@dp-web4

@dp-web4 dp-web4 commented Oct 24, 2026

Copy link
Copy Markdown
Owner

McNugget, 2026-10-24: the ear never chimed for five days.

  • What happened: with music in the room, the MLX backend was decoding in 20 of 20 py-spy samples, and the capture reader thread in none. The reader couldn't drain ffmpeg's pipe, so samples were lost, and an addressed "hey McNugget" reached Whisper as fragments ("Okay." ×28, dropped as silence).
  • The fix: SAGE_LISTEN_BACKEND=whispercpp decodes in whisper-server's own process. The same recorded audio replayed through it woke and heard correctly, and the first live try after the switch chimed and reached the room.

This PR is documentation only: the reason, written at the two places a seat chooses a backend (ear.py, and the MLX branch of listening.py). No behaviour changes.

🤖 Generated with Claude Code

…he capture with music

McNugget, 2026-10-24: the ear never chimed for five days. With music in the
room, the MLX backend was decoding in 20 of 20 py-spy samples and the capture
reader thread in none: it could not drain ffmpeg's pipe, samples were lost, and
an addressed "hey McNugget" reached whisper as fragments ("Okay." x28, dropped
as silence). SAGE_LISTEN_BACKEND=whispercpp decodes in whisper-server's own
process: the same recorded audio replayed through it woke and heard correctly,
and the first live try after the switch chimed and reached the room.

Documentation only: the reason, at the two places a seat picks a backend
(ear.py, listening.py's MLX branch). No behaviour change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dp-web4
dp-web4 merged commit 90bf19b into main Oct 25, 2026
1 check passed
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.

1 participant