Language Selection
Choose your preferred language for both speech recognition and text-to-speech:- English - Uses Whisper STT with
enlanguage code - Español (Spanish) - Uses Whisper STT with
eslanguage code
Changing the language affects both speech-to-text transcription and the available voice options. Kokoro TTS supports both English and Spanish natively.
user_preferences.json:36 and defaults to "english".
Voice Speed Adjustment
Control how fast the AI speaks with the voice speed multiplier:The voice speed setting is passed to both Kokoro and Sherpa-ONNX TTS engines via the
speed parameter in tts_manager.py:94.Font Size Options
Choose from three preset font sizes to improve readability:| Size | Bubble Text | Input Text | Status Text |
|---|---|---|---|
| Small | 13px | 12px | 11px |
| Medium (default) | 15px | 14px | 13px |
| Large | 18px | 16px | 15px |
preferences.py:42-58.
Recording Mode Settings
Configure how voice recording behaves:Silence Duration
The recorder uses Voice Activity Detection (VAD) to automatically stop recording after detecting silence:- Default: 3.0 seconds of silence
- Adjustable: Change in
audio_utils.py:27 - Minimum audio duration: 1.0 seconds (filters out clicks and noise)
The silence threshold is set to 0.03 RMS to avoid triggering on background noise. This is configured in
audio_utils.py:21.Sample Rate
The recorder uses a 16000 Hz sample rate optimized for Whisper STT. If your microphone’s native sample rate differs, audio is automatically resampled (seeaudio_utils.py:61-63).
Auto-Send Configuration
Control whether recorded voice messages are sent automatically:Auto-Send Enabled (Default)
Auto-Send Enabled (Default)
When enabled (
auto_send: true), voice recordings are automatically transcribed and sent to the AI immediately after silence is detected.Use case: Hands-free conversation in Live ModeAuto-Send Disabled
Auto-Send Disabled
When disabled (
auto_send: false), you must manually press the send button after recording.Use case: Review transcriptions before sending in Classic Chat modepreferences.py:30 and defaults to true.
Saving Settings
All settings are automatically saved touser_preferences.json when you click the Save or Apply button. The preferences file is located in the application’s root directory.
Default Settings
If the preferences file doesn’t exist or is corrupted, the app uses these defaults (frompreferences.py:28-40):