aboutsummaryrefslogtreecommitdiffstats
path: root/src/tts.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* tts: initialize piper exactly oncesalmonik5 days1-42/+39
|
* tts: run piper loading and synthesis on blocking threadssalmonik5 days1-16/+28
|
* tts: bound the audio cache and request lengthsalmonik5 days1-5/+86
|
* feat: piper now not a subprocess, cache system for TTSsalmonik2026-09-051-120/+264
|
* feat: local TTS via piper subprocess with Google fallbacksalmonik2026-08-181-0/+147
- New src/tts.rs: centralize TTS in synthesize(config, http_client, text) Piper subprocess primary, Google Translate fallback on error/missing - TTS_MODEL_PATH/TTS_VOICE env config (defaults to pl_PL-bass-high) - Fix Unknown interaction errors: spawn play_tts_in_channel in background so voice-state TTS no longer blocks the shard event loop (3s Discord limit) - Best-effort confirmation replies in /tts to prevent error cascade - Custom on_error handler: graceful interaction-expired error handling - Comprehensive tracing logging (engine, model, duration, stderr)