my_voice_assistant_v2/app
Dieter Schlüter 0d907a1886 feat(barge-in): Unterbrechen der KI-Antwort per Mikrofon-Button und Enter
Web-Interface (app.js):
- Mic-Button hat jetzt 3 Zustände: idle (grün 🎤) / Aufnahme (rot pulsierend) /
  KI antwortet (amber ⏹, klicken = Barge-in)
- Barge-in sendet {"type":"interrupt"} auf der aktiven WS-Verbindung (activeWs)
  und stoppt alle laufenden AudioBufferSourceNodes sofort (stopAudio)
- busy + Button-Reset erfolgen automatisch wenn die WS schliesst

Terminal (voice_loop.py):
- _stdin_watcher(): polling via select.select (nicht-blockierend, kein Thread-Leak)
  wartet auf Enter-Tastendruck waehrend Server antwortet
- _send_and_play() raced one_turn gegen _stdin_watcher mit asyncio.wait;
  bei Barge-in: interrupt-Frame an Server, Player.terminate(), feeder beenden
- Feedback: "↩ Unterbrochen — drücke [Enter] für neue Aufnahme …"

Server-Seite war bereits vollstaendig implementiert (ws.py, kein Handlungsbedarf).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 18:38:33 +02:00
..
api feat(users): SSO-Nutzer-Personalisierung + Admin-Endpunkte 2026-06-18 17:55:05 +02:00
audio feat: Barge-in/Turn-Manager und VAD-Aeusserungserkennung (#4 Ausbau) 2026-06-17 05:06:58 +02:00
core perf(startup): lokale Modelle beim Start vorladen (Warm-up) 2026-06-18 08:27:37 +02:00
pipeline feat(tts): Aussprache-Lexikon befüllt (verifizierte Vokallängen-Fixes) + case-insensitiv 2026-06-17 23:19:17 +02:00
providers feat(tts): Chatterbox-Provider (hohe Qualitaet + Voice-Cloning) anbinden 2026-06-18 09:44:31 +02:00
safety feat(safety): zweistufige Notfall-Erkennung mit LLM-Klassifikation 2026-06-18 03:24:25 +02:00
utils Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
web feat(barge-in): Unterbrechen der KI-Antwort per Mikrofon-Button und Enter 2026-06-18 18:38:33 +02:00
__init__.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
auth.py feat(auth): Forward-Auth via JWT-Cookie (YunoHost yunohost.portal) 2026-06-18 08:44:33 +02:00
config.py feat(tts): Chatterbox-Provider (hohe Qualitaet + Voice-Cloning) anbinden 2026-06-18 09:44:31 +02:00
dependencies.py feat(tts): Chatterbox-Provider (hohe Qualitaet + Voice-Cloning) anbinden 2026-06-18 09:44:31 +02:00
errors.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
main.py perf(startup): lokale Modelle beim Start vorladen (Warm-up) 2026-06-18 08:27:37 +02:00
metrics.py feat: Resilienz (Fallback-Ketten) und Metriken (#5) 2026-06-17 05:19:07 +02:00
quota.py feat: Tageskontingent und Notfall-Eskalation (#6) 2026-06-17 05:29:30 +02:00
schemas.py feat(users): SSO-Nutzer-Personalisierung + Admin-Endpunkte 2026-06-18 17:55:05 +02:00
store.py feat(users): SSO-Nutzer-Personalisierung + Admin-Endpunkte 2026-06-18 17:55:05 +02:00