Voice Server - Discord voice integration server
Changed voice field in NotifyRequest from hardcoded default to None, allowing the route handler to use settings.default_voice from .env. Added EnvironmentFile directive to systemd service for reliable config loading. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| app | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| OPERATIONS.md | ||
| PRD.md | ||
| PROJECT_ROADMAP.json | ||
| pyproject.toml | ||
| README.md | ||
| voice-server.service | ||
Voice Server
Local HTTP service for text-to-speech playback using Piper TTS.
Features
- HTTP POST endpoint for text-to-speech requests
- High-quality neural TTS using Piper
- Non-blocking audio playback with sounddevice
- Async request queue for concurrent handling
- Automatic OpenAPI documentation
Quick Start
# Install dependencies
uv pip install -e ".[dev]"
# Run server
uvicorn app.main:app --reload
# Test endpoint
curl -X POST http://localhost:8000/notify \
-H "Content-Type: application/json" \
-d '{"message": "Hello, world!"}'
API Endpoints
POST /notify- Submit text for TTS playbackGET /health- Health check endpointGET /voices- List available voice modelsGET /docs- OpenAPI documentation
Configuration
See .env.example for configuration options.
License
MIT