feat: Barge-in/Turn-Manager und VAD-Aeusserungserkennung (#4 Ausbau)
- Barge-in: Antwort-Turn als abbrechbarer asyncio.Task; {"type":"interrupt"} oder
neue Eingabe bricht laufende Antwort ab -> interrupted-Event (/ws/chat + /ws/voice)
- VAD (app/audio/vad.py): energie-basierte Stille-Erkennung (reines Python, int16-PCM)
- /ws/voice opt-in {"type":"start","vad":true}: automatisches Aeusserungsende ohne end
- Tests: 52 gruen (+5: VAD-Unit, Barge-in, VAD-Auto-Segmentierung)
- Doku aktualisiert (README, BEDIENUNGSANLEITUNG, Architektur)
Offen (schwere Deps/Dienste): echte partielle Live-Transkripte (Streaming-STT),
WebRTC (aiortc). STT laeuft heute pro Aeusserung.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
9340d3f998
commit
093da817d8
6 changed files with 312 additions and 48 deletions
14
README.md
14
README.md
|
|
@ -149,8 +149,18 @@ transkribiert (STT), sendet ein `transcript`-Event und durchläuft dann dieselbe
|
|||
Antwort-Pipeline wie `/ws/chat` (inkl. `stream`/`audio_stream`). Damit ist
|
||||
Sprach-zu-Sprach-Konversation über einen Kanal möglich.
|
||||
|
||||
> Partielle Live-Transkripte (Streaming-STT mit VAD), Barge-in/Turn-Manager und
|
||||
> WebRTC sind als nächste Increments vorgesehen (siehe Architektur-Dokument).
|
||||
**VAD (automatische Äußerungserkennung):** Mit `{"type":"start","vad":true,
|
||||
"sample_rate":16000,"format":"pcm"}` segmentiert der Server Äußerungen selbst anhand
|
||||
von Stille (energie-basiert, reines Python) — ohne explizites `end`. Optional:
|
||||
`vad_silence_ms`, `vad_threshold`.
|
||||
|
||||
**Barge-in:** Eine laufende Antwort lässt sich mit `{"type":"interrupt"}` (oder durch
|
||||
eine neue Eingabe) abbrechen — der Server stoppt das Streaming und meldet
|
||||
`{"type":"interrupted"}`. Wichtig für natürliche Gespräche.
|
||||
|
||||
> Echte **partielle Live-Transkripte** (Streaming-STT-Dienst, wortweise während des
|
||||
> Sprechens) und **WebRTC** sind als nächste Increments vorgesehen (siehe
|
||||
> Architektur-Dokument). Heute läuft STT pro Äußerung.
|
||||
|
||||
## Authentifizierung
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue