- tts.py: voice_sample param replaces preset voice, add validate_voice_sample(), add record_voice_sample() with CLI (python tts.py record), validate .wav format/duration/channels on init - main.py: warn at startup if voice sample missing, show voice status in banner - .env.example: QWEN_TTS_VOICE now points to voices/echo_voice.wav - .gitignore: voice samples gitignored (personal data) - voices/README.md: instructions for recording & placing voice samples
25 lines
1.0 KiB
Plaintext
25 lines
1.0 KiB
Plaintext
# ===========================================================
|
|
# Echo Voice Assistant — Environment Configuration
|
|
# ===========================================================
|
|
# Copy this file to .env and fill in your values:
|
|
# cp .env.example .env
|
|
# ===========================================================
|
|
|
|
# --- OpenRouter (required) ---
|
|
# Get your key at: https://openrouter.ai/keys
|
|
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxx
|
|
OPENROUTER_MODEL=qwen/qwen-3-235b-a22b
|
|
|
|
# --- Vosk STT (optional overrides) ---
|
|
# Download models from: https://alphacephei.com/vosk/models
|
|
# Set to a local path relative to the project root
|
|
VOSK_MODEL_PATH=models/vosk-model-small-en-us
|
|
WAKE_WORD=echo
|
|
|
|
# --- Qwen3-TTS — Cloned Voice (required) ---
|
|
# Path to your 3-second .wav voice sample (16 kHz mono, 16-bit).
|
|
# Record one with: python tts.py record
|
|
QWEN_TTS_MODEL=Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
|
|
QWEN_TTS_VOICE=voices/echo_voice.wav
|
|
QWEN_TTS_INSTRUCT=Speak clearly with a warm, friendly tone. Be natural and conversational.
|