Hotfix nach Realtest: Turn-Hold konservativ + Smart-Turn-Vorwaermen (3,3s -> 0,16s Kaltstart)
User-Feedback 'sehr langsam' diagnostiziert (voice_metrics): (1) zwei App-Instanzen liefen parallel (Dev-Instanz vergessen — beendet), (2) Semantik-Hold hielt echte Saetze auf. - useVAD: warten NUR noch bei sehr sicherem 'unfertig' (P(fertig) < 0.15 statt < 0.5), max. eine Warterunde pro Aeusserung, HOLD 1,8s -> 1,2s, Not-Aus localStorage lucy_turncheck=0, Entscheidung wird bei lucy_perf=1 geloggt (fuer echtes Nachtunen) - voice_service: Smart Turn beim Start vorwaermen (Probe-Inferenz auf Stille) — der 3,3s-Kaltstart traf sonst den ersten gesprochenen Satz; deployt + verifiziert (0,16s) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -494,6 +494,18 @@ async def lifespan(_app: FastAPI):
|
||||
else:
|
||||
stt_model()
|
||||
log.info("Voice-Sidecar bereit (STT whisper '%s', Piper-Dir %s).", STT_MODEL, VOICES_DIR)
|
||||
# Smart Turn vorwärmen (Modell + transformers-Import + 1 Probe-Inferenz): der erste
|
||||
# /turn-Aufruf kostete sonst ~3,3 s — das traf beim Realtest den ersten gesprochenen Satz.
|
||||
try:
|
||||
import io as _io
|
||||
import numpy as _np
|
||||
import soundfile as _sf
|
||||
buf = _io.BytesIO()
|
||||
_sf.write(buf, _np.zeros(16000, dtype="float32"), 16000, format="WAV", subtype="PCM_16")
|
||||
check_turn(buf.getvalue(), ".wav")
|
||||
log.info("Smart Turn vorgewärmt.")
|
||||
except Exception:
|
||||
log.warning("Smart-Turn-Vorwärmen fehlgeschlagen (Feature bleibt lazy).", exc_info=True)
|
||||
except Exception:
|
||||
log.exception("STT-Vorwärmen fehlgeschlagen (Dienst läuft, /health meldet Detail).")
|
||||
yield
|
||||
|
||||
Reference in New Issue
Block a user