fix: TTS 중첩클릭 에코 버그 + 음성엔진 한/영 발음 개선 + 생성속도 2배

- web-ui: 🔊 버튼 연타/중첩 클릭 시 이전 요청이 완료되면서 새 요청과 오디오가
  겹쳐 재생되던 버그 수정 (playTTSText/playTTSMsg를 _ttsPlay 공용 코어로 통합,
  AbortController + 활성 버튼 가드로 stale response의 재생을 원천 차단)
- voice.tts.provider를 edge_tts(ko-KR-SunHiNeural)에서 xtts_gpu로 전환 —
  실제로는 실시간 통화와 동일한 GPU 엔진(OmniVoice)을 타서 영어 섞인 문장의
  발음이 훨씬 자연스러워짐
- voice_engine.py: OmniVoice num_step 기본값을 32→16으로 낮춤. STT 왕복
  검증으로 실측: ~1.9배 빠른 생성(2.94s→1.55s), 품질 저하 없음(8은 문장이
  깨져서 폐기). 텍스트 버튼/실시간 통화 양쪽에 공통 적용됨

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
kim
2026-07-10 14:42:44 +09:00
co-authored by Claude Sonnet 5
parent f014fec7e2
commit adfa136597
3 changed files with 52 additions and 59 deletions
+6 -6
View File
@@ -21,7 +21,7 @@
"providers": {
"ollama": {
"endpoint": "http://localhost:11434",
"model": "gemma4:31b-cloud"
"model": "gemini-3-flash-preview:cloud"
},
"lm_studio": {
"endpoint": "http://host.docker.internal:1234",
@@ -45,11 +45,11 @@
}
},
"models": {
"primary": "gemma4:31b-cloud",
"primary": "gemini-3-flash-preview:cloud",
"roles": {
"manager": "gemma4:31b-cloud",
"executor": "gemma4:31b-cloud",
"verifier": "gemma4:31b-cloud",
"manager": "gemini-3-flash-preview:cloud",
"executor": "gemini-3-flash-preview:cloud",
"verifier": "gemini-3-flash-preview:cloud",
"background_task": ""
}
},
@@ -239,7 +239,7 @@
"language": "ko"
},
"tts": {
"provider": "edge_tts",
"provider": "xtts_gpu",
"model": "ko_KR-kss-medium",
"voice": "ko-KR-SunHiNeural"
},