Build, operate, and troubleshoot Autonoannounce local speaker text-to-speech using the queued pipeline (enqueue to worker to ElevenLabs to playback backend)....
Runtime tools: python3, curl, and one local playback backend (mpv, ffplay, afplay, paplay, or PowerShell sound player)
Network destination for synthesis/preflight: https://api.elevenlabs.io
Overview
Use this skill to keep local speech fast, reliable, and policy-compliant by treating enqueue as fire-and-forget and isolating synthesis/playback inside the queue worker.
Quick start workflow
Confirm queue health with scripts/tts-queue-status.sh.
Enqueue speech with scripts/speak-local-queued.sh "text".
If audio does not play, inspect worker logs and runbook steps in references/runbook.md.
For latency tuning, run scripts/benchmark-autonoannounce.sh and compare against SLOs in references/perf-slos.md.
Operating rules
Keep the producer path non-blocking: enqueue then return immediately.
Keep synthesis/playback in worker-only execution paths.
Prefer fewer larger writes to the queue (coalesce bursty traffic when possible).
Use policy-safe output lanes: local speaker for protected users; no Discord voice-file fallback.
Treat one failed item as isolated: retry with bounds, then dead-letter; do not stall entire queue.