feat(presenter): replace Web Speech API with Piper TTS for high-quality voice

- New API route /api/presenter/tts proxies to compliance-tts-service
- usePresenterMode now uses Audio element with Piper-generated MP3
- Client-side audio caching (text hash → blob URL) avoids re-synthesis
- Graceful fallback to word-count timer if TTS service unavailable
- Add TTS_SERVICE_URL env var to pitch-deck Docker config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-20 12:23:37 +01:00
parent bcbceba31c
commit ddabda6f05
3 changed files with 150 additions and 79 deletions

View File

@@ -836,6 +836,7 @@ services:
LITELLM_URL: ${LITELLM_URL:-https://llm-dev.meghsakha.com}
LITELLM_MODEL: ${LITELLM_MODEL:-gpt-oss-120b}
LITELLM_API_KEY: ${LITELLM_API_KEY:-sk-0nAyxaMVbIqmz_ntnndzag}
TTS_SERVICE_URL: http://bp-compliance-tts:8095
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on: