Die satzweise vom Server gestreamten TTS-Chunks (audio-Event + Binär-Frame) wurden im Frontend nur gepuffert und erst beim done-Event komplett abgespielt — der Chunked-TTS-Aufwand brachte so keinen Nutzen. Jetzt: - scheduleChunk() hängt jeden ankommenden PCM-Chunk lückenlos an den bisher geplanten Stream (Web-Audio-Scheduling über streamPlayTime). Die Sprachausgabe beginnt, sobald der erste Satz synthetisiert ist. - case "audio" markiert den folgenden Binär-Frame als Streaming-Chunk. - done spielt den Gesamtpuffer nur noch ab, wenn nicht bereits gestreamt wurde (kein doppeltes Abspielen); Replay-Cache bleibt befüllt. - Die Chunk-Quellen liegen in activeSources -> Barge-in (stopAudio) stoppt auch laufende Streaming-Wiedergabe; streamPlayTime wird dabei zurückgesetzt. - Geräte-TTS-Modus überspringt die Chunks unverändert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app.js | ||
| apple-touch-icon.png | ||
| favicon-32.png | ||
| favicon.svg | ||
| index.html | ||