- server.py: FastAPI + WebSocket server wrapping Brain, TTS, Actions
- WS /ws/chat: streaming chat with token-by-token delivery
- GET /api/audio/{filename}: serve generated TTS audio
- GET /api/health: server status check
- Serves static web UI from web/ directory
- web/: self-contained HTML/CSS/JS frontend
- Responsive chat interface with message bubbles
- WebSocket client for real-time streaming
- Voice input via Web Speech API (mic button)
- TTS audio playback (auto + manual replay)
- Conversation sidebar with history
- Settings panel (voice, TTS, sidebar toggles)
- Dark mode support via prefers-color-scheme
- Updated requirements.txt with fastapi, uvicorn, websockets
- Updated .env.example with SERVER_HOST/PORT config
38 lines
865 B
Plaintext
38 lines
865 B
Plaintext
# ===========================================================
|
|
# Echo Voice Assistant — Dependencies
|
|
# ===========================================================
|
|
# Install with: pip install -r requirements.txt
|
|
#
|
|
# Note: For GPU-accelerated TTS, install PyTorch with CUDA
|
|
# support first: https://pytorch.org/get-started/locally/
|
|
# ===========================================================
|
|
|
|
# --- Core (STT) ---
|
|
vosk>=0.3.45
|
|
pyaudio>=0.2.14
|
|
openwakeword>=0.5.0
|
|
|
|
# --- LLM ---
|
|
openai>=1.30.0
|
|
python-dotenv>=1.0.0
|
|
|
|
# --- Web Server ---
|
|
fastapi>=0.110.0
|
|
uvicorn[standard]>=0.29.0
|
|
websockets>=12.0
|
|
python-multipart>=0.0.9
|
|
|
|
# --- TTS (Qwen3-TTS) ---
|
|
# Install from source or PyPI once available:
|
|
# pip install qwen-tts
|
|
torch>=2.1.0
|
|
soundfile>=0.12.1
|
|
transformers>=4.40.0
|
|
accelerate>=0.27.0
|
|
|
|
# --- Audio Playback ---
|
|
pygame>=2.5.0
|
|
|
|
# --- Utilities ---
|
|
numpy>=1.26.0
|