From 0f9b43c8ba6506aa2f0a3cc12abfb07c2dad5fb3 Mon Sep 17 00:00:00 2001 From: jenkins Date: Sun, 23 Aug 2026 16:50:48 -0300 Subject: [PATCH] perf(hermes-voice): reduce conversational latency --- dockerfiles/hermes-webui-atlas-voice.js | 11 ++++++++--- testing/tests/test_hermes_chat_quality.py | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/dockerfiles/hermes-webui-atlas-voice.js b/dockerfiles/hermes-webui-atlas-voice.js index f15a0ef4..b8f0aadd 100644 --- a/dockerfiles/hermes-webui-atlas-voice.js +++ b/dockerfiles/hermes-webui-atlas-voice.js @@ -252,7 +252,7 @@ // intermittently unreadable by ffmpeg. A bounded 90-second Opus capture // is small enough to retain as one browser-owned recording. recorder.start(); - const silenceMs=Math.max(900,parseInt(localStorage.getItem('hermes-voice-silence-ms')||'1600',10)||1600); + const silenceMs=Math.max(900,parseInt(localStorage.getItem('hermes-voice-silence-ms')||'1100',10)||1100); vadTimer=window.setInterval(function(){ if(!active||token!==generation||!recorder||recorder.state==='inactive') return; analyser.getByteTimeDomainData(samples); @@ -349,7 +349,7 @@ setState('speaking'); // Shorter first chunks lower time-to-first-audio; the next chunk is // synthesized while the current one plays. - const chunks=typeof window._splitForTTS==='function'?window._splitForTTS(text,160):[text]; + const chunks=typeof window._splitForTTS==='function'?window._splitForTTS(text,80):[text]; try{ let pending=fetchSpeech(chunks[0],language); for(let index=0;index