feat: Audio-Streaming (chunked TTS) über WebSocket (#4 Ausbau)
- SentenceChunker (pipeline/sentence_chunker.py): inkrementelle Satzsegmentierung
- Orchestrator.chat_stream(on_audio): satzweise TTS, Audio-Chunk pro fertigem Satz;
Gesamtaudio zusaetzlich an den Output-Endpunkt
- WS /ws/chat {"audio_stream":true}: audio-Events (json seq + binaerer Frame) live,
kein finales Vollaudio; mit stream kombinierbar
- Tests: 45 gruen (+2: Sentence-Chunker, Audio-Streaming)
- Doku aktualisiert (README, BEDIENUNGSANLEITUNG, Architektur)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
379e002460
commit
b5913b0a44
7 changed files with 157 additions and 19 deletions
|
|
@ -274,7 +274,9 @@ Diese Erinnerungen gibt der Assistent bei jedem Chat als Kontext mit — auch oh
|
|||
`{"text": "..."}`; Antwort kommt als Event-Folge (`ack`, `semantic`, Audio, `done`).
|
||||
Token per Query (`?token=…`), Gedächtnis per `?session_id=…`. Mit
|
||||
`{"text": "...", "stream": true}` kommt die Antwort schon während der Generierung
|
||||
als `token`-Events (geringere wahrgenommene Latenz).
|
||||
als `token`-Events (geringere wahrgenommene Latenz). Mit `"audio_stream": true`
|
||||
kommt zusätzlich das Audio satzweise (`audio`-Event + binärer Frame), sobald ein
|
||||
Satz fertig ist.
|
||||
|
||||
> **Für lokale Entwicklung** ist in der mitgelieferten `.env` `AUTH_ENABLED=false`
|
||||
> gesetzt — dann ist kein Token nötig (anonymer Nutzer).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue