Skip to content

feat(relay): add echo_gate_enabled toggle to bypass echo gate on no-echo paths#66

Merged
sonsangwoo1116 merged 1 commit into
mainfrom
feat/echo-gate-toggle
Jul 5, 2026
Merged

feat(relay): add echo_gate_enabled toggle to bypass echo gate on no-echo paths#66
sonsangwoo1116 merged 1 commit into
mainfrom
feat/echo-gate-toggle

Conversation

@sonsangwoo1116

Copy link
Copy Markdown
Contributor

배경

7/4 00:35 KST에 US VM(wigvo-relay)에 feat/echo-gate-toggle-demo 브랜치(f9af061)가 수동 배포되어, 프로덕션이 main과 다른 코드를 돌고 있습니다. 이 PR은 그 배포된 변경을 main에 정식으로 머지해서 코드와 프로덕션을 다시 일치시킵니다.

  • 이 브랜치(feat/echo-gate-toggle)는 demo 브랜치와 patch-id가 동일한 커밋을 현재 main 위에 리베이스한 것입니다.
  • 머지하면 "Deploy Relay (US VM)" 워크플로우가 트리거되어 VM이 main 기준으로 재배포됩니다 (동작 변화 없음, 컨테이너 재시작만 발생).

변경 내용

  • echo_gate_enabled 설정 토글 추가 — 에코가 물리적으로 발생하지 않는 경로에서 echo gate를 우회
  • echo_gate.py에 우회 분기, text_to_voice.py / voice_to_voice.py에 토글 전달
  • 토글 동작 테스트 54줄 추가 (test_echo_gate.py)

🤖 Generated with Claude Code

…cho paths

Session B echo gate injects silence during Session A TTS to suppress
acoustic echo. On a handset/headset there is no acoustic echo path, so
this deletes the recipient's real speech (confirmed in prod: recipient
at peak_rms=2092 fully silenced -> buffer 0.00ms -> 15s timeout ->
hallucinated filler). Add env-gated echo_gate_enabled (default True,
behavior-neutral). When False, EchoGateManager passes all audio through.

- config.py: echo_gate_enabled: bool = True
- echo_gate.py: enabled param + guards in _activate/on_tts_done/filter_audio
- voice_to_voice.py, text_to_voice.py: pass enabled=settings.echo_gate_enabled
- tests: 4 new (disabled no-ops + enabled control), 86 pass

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
wigvo-web Ready Ready Preview, Comment Jul 5, 2026 7:44am

@sonsangwoo1116 sonsangwoo1116 merged commit 37ab065 into main Jul 5, 2026
5 checks 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.

2 participants