Environment Variables Reference

March 1, 2026 ยท View on GitHub

Complete reference of all environment variables used by VoiceMode.

Variable Precedence

Environment variables are processed in this order (highest to lowest priority):

  1. Command-line environment (OPENAI_API_KEY=xxx voicemode)
  2. MCP host configuration
  3. Shell environment variables
  4. Project .voicemode.env file
  5. User ~/.voicemode/voicemode.env file
  6. Built-in defaults

Core Configuration

API Keys

VariableDescriptionDefaultExample
OPENAI_API_KEYOpenAI API key for cloud TTS/STTNonesk-proj-...

Voice Services

Text-to-Speech (TTS)

VariableDescriptionDefaultExample
VOICEMODE_TTS_BASE_URLSComma-separated TTS service URLshttp://127.0.0.1:8880/v1,https://api.openai.com/v1http://localhost:8880/v1
VOICEMODE_VOICESComma-separated voice preferencesaf_sky,alloynova,shimmer
VOICEMODE_TTS_VOICEDefault TTS voiceFirst from VOICESnova
VOICEMODE_TTS_MODELSComma-separated TTS modelstts-1-hd,tts-1gpt-4o-mini-tts,tts-1
VOICEMODE_TTS_MODELDefault TTS modelFirst from MODELStts-1-hd
VOICEMODE_TTS_SPEEDSpeech speed (0.25-4.0)1.01.5

Speech-to-Text (STT)

VariableDescriptionDefaultExample
VOICEMODE_STT_BASE_URLSComma-separated STT service URLshttps://api.openai.com/v1http://localhost:2022/v1
VOICEMODE_STT_MODELSTT modelwhisper-1whisper-1
VOICEMODE_STT_PROMPTVocabulary biasing for Whisper (names, terms)Nonetmux, Tali, kubectl

Whisper Configuration

VariableDescriptionDefaultExample
VOICEMODE_WHISPER_MODELWhisper model sizelarge-v2base.en
VOICEMODE_WHISPER_LANGUAGELanguage code or 'auto'autoen
VOICEMODE_WHISPER_PORTWhisper server port20222023
VOICEMODE_WHISPER_MODEL_PATHPath to Whisper models~/.voicemode/models/whisper/models/whisper

Kokoro Configuration

VariableDescriptionDefaultExample
VOICEMODE_KOKORO_PORTKokoro server port88808881
VOICEMODE_KOKORO_MODELS_DIRKokoro models directory~/Models/kokoro/models/kokoro
VOICEMODE_KOKORO_CACHE_DIRKokoro cache directory~/.voicemode/cache/kokoro/cache/kokoro
VOICEMODE_KOKORO_DEFAULT_VOICEDefault Kokoro voiceaf_skyam_adam

Soundfonts

VariableDescriptionDefaultExample
VOICEMODE_SOUNDFONTS_ENABLEDEnable/disable soundfont playbacktruefalse
VOICEMODE_HOOK_DEBUGEnable debug output from hook receiverunset1

VOICEMODE_SOUNDFONTS_ENABLED can be set in ~/.voicemode/voicemode.env or the shell environment. The sentinel file (~/.voicemode/soundfonts-disabled, managed by voicemode soundfonts on/off) takes priority when present.

See the Soundfonts Guide for details.

Audio Configuration

Audio Formats

VariableDescriptionDefaultExample
VOICEMODE_AUDIO_FORMATGlobal audio formatpcmmp3
VOICEMODE_TTS_AUDIO_FORMATTTS-specific formatpcmopus
VOICEMODE_STT_AUDIO_FORMATSTT-specific formatmp3wav

Supported formats: pcm, opus, mp3, wav, flac, aac

Audio Quality

VariableDescriptionDefaultExample
VOICEMODE_SAMPLE_RATESample rate in Hz2400048000
VOICEMODE_OPUS_BITRATEOpus bitrate in bps3200064000
VOICEMODE_MP3_BITRATEMP3 bitrate64k128k
VOICEMODE_AAC_BITRATEAAC bitrate64k96k

Audio Feedback

VariableDescriptionDefaultExample
VOICEMODE_AUDIO_FEEDBACKEnable recording chimestruefalse
VOICEMODE_FEEDBACK_STYLEChime stylewhispershout
VOICEMODE_CHIME_PRE_DELAYSilence before chime (seconds)0.11.0
VOICEMODE_CHIME_POST_DELAYSilence after chime (seconds)0.20.5

Voice Activity Detection

VariableDescriptionDefaultExample
VOICEMODE_VAD_AGGRESSIVENESSVAD level (0-3)33
VOICEMODE_DISABLE_VADDisable VADfalsetrue
VOICEMODE_DISABLE_SILENCE_DETECTIONDisable silence detectionfalsetrue
VOICEMODE_SILENCE_THRESHOLDSilence duration (seconds)3.05.0
VOICEMODE_MIN_RECORDING_TIMEMinimum recording (seconds)0.51.0
VOICEMODE_MAX_RECORDING_TIMEMaximum recording (seconds)120.060.0

File Storage

VariableDescriptionDefaultExample
VOICEMODE_DATA_DIRData directory~/.voicemode/data/voicemode
VOICEMODE_LOG_DIRLog directory~/.voicemode/logs/var/log/voicemode
VOICEMODE_CACHE_DIRCache directory~/.voicemode/cache/tmp/voicemode
VOICEMODE_SAVE_ALLSave all audio filesfalsetrue
VOICEMODE_SAVE_RECORDINGSSave input recordingsfalsetrue
VOICEMODE_SAVE_TTSSave TTS outputfalsetrue

Logging and Debugging

VariableDescriptionDefaultExample
VOICEMODE_DEBUGEnable debug modefalsetrue
VOICEMODE_LOG_LEVELLog levelinfodebug
VOICEMODE_EVENT_LOGEnable event loggingfalsetrue
VOICEMODE_CONVERSATION_LOGLog conversationsfalsetrue
VOICEMODE_SKIP_TTSSkip TTS for testingfalsetrue

Log levels: debug, info, warning, error, critical

Advanced Features

Emotional TTS

VariableDescriptionDefaultExample
VOICEMODE_ALLOW_EMOTIONSEnable emotional TTSfalsetrue
VOICEMODE_EMOTION_AUTO_UPGRADEAuto-upgrade to emotional modelfalsetrue

Service Preferences

VariableDescriptionDefaultExample
VOICEMODE_PREFER_LOCALPrefer local servicestruefalse
VOICEMODE_AUTO_START_SERVICESAuto-start local servicesfalsetrue

Serve Command

VariableDescriptionDefaultExample
VOICEMODE_SERVE_TRANSPORTMCP transport protocol (streamable-http or sse)ssestreamable-http
VOICEMODE_SERVE_ALLOW_LOCALAllow localhost connectionstruefalse
VOICEMODE_SERVE_ALLOW_ANTHROPICAllow Anthropic IP rangesfalsetrue
VOICEMODE_SERVE_ALLOW_TAILSCALEAllow Tailscale IP range (100.64.0.0/10)falsetrue
VOICEMODE_SERVE_ALLOWED_IPSCustom CIDR allowlist (comma-separated)None192.168.1.0/24,10.0.0.0/8
VOICEMODE_SERVE_SECRETURL path secret segmentNonemy-secret-uuid
VOICEMODE_SERVE_TOKENBearer token for authenticationNonemy-secret-token

Legacy Variables

These variables from older versions are still supported:

Old VariableNew VariableNotes
VOICE_MODE_DEBUGVOICEMODE_DEBUGDeprecated
VOICE_MODE_SAVE_AUDIOVOICEMODE_SAVE_ALLDeprecated
TTS_BASE_URLVOICEMODE_TTS_BASE_URLSStill supported
STT_BASE_URLVOICEMODE_STT_BASE_URLSStill supported
TTS_VOICEVOICEMODE_TTS_VOICEStill supported
TTS_MODELVOICEMODE_TTS_MODELStill supported

Configuration Files

User Configuration

Create ~/.voicemode/voicemode.env:

export OPENAI_API_KEY="sk-..."
export VOICEMODE_VOICES="nova,shimmer"
export VOICEMODE_DEBUG=false

Project Configuration

Create .voicemode.env in project root:

export VOICEMODE_VOICES="onyx"
export VOICEMODE_TTS_SPEED=0.9

MCP Host Configuration

When used as an MCP server, environment variables can be set in the host configuration:

{
  "mcpServers": {
    "voicemode": {
      "command": "uvx",
      "args": ["voice-mode"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "VOICEMODE_DEBUG": "true"
      }
    }
  }
}

Debugging Environment

To see all active environment variables:

voicemode config show --env

To test with specific variables:

VOICEMODE_DEBUG=true VOICEMODE_LOG_LEVEL=debug voicemode converse