Voice Options
Overview
iReporter can speak a message aloud when a button is pressed. Voice is configured globally in the Voice Options section and then controlled per-button using a Speak Text field on each button.
Enable Voice
Tick Enable Voice in the top bar to activate voice output. When enabled, the Voice Options and Push to Talk panels expand, and a Speak Text field appears on every button.
Voice Engine
Use the Voice Engine dropdown at the top of the Voice Options panel to choose between two speech engines:
| Engine | Description |
|---|---|
| Microsoft Voice | Uses the built-in Windows Text-to-Speech engine (SAPI). No internet connection required. Voice quality depends on your installed Windows voices — additional voices can be installed via Windows Settings > Time & Language > Speech. |
| Eleven Labs | High-quality cloud voice synthesis from ElevenLabs. Requires an API key and an internet connection. Produces significantly more natural-sounding speech than Windows TTS. See ElevenLabs Configuration for setup instructions. |
Selecting an engine shows only the configuration relevant to that engine.
Microsoft Voice Configuration
When Microsoft Voice is selected, a Windows Voice dropdown appears. Select any installed Windows SAPI voice. The default option uses whichever voice Windows has set as the system default.
ElevenLabs Configuration
When Eleven Labs is selected, the ElevenLabs configuration panel appears. See the ElevenLabs Configuration page for full setup instructions including how to obtain an API key.
Key fields:
- API Key — your ElevenLabs account API key
- Voice — click Load Voices to fetch available voices from your account, then select one
- Voice Output Device — the audio device used for speech output. Set to VB-Audio CABLE Input if you want voice routed through a virtual microphone into iRacing
- Switch to Microsoft Voice — clears ElevenLabs settings and switches back to Microsoft Voice
Pauses in Spoken Text
You can insert pauses into any Speak Text field using the {PAUSE} or {PAUSE:N} variable, where N is the pause duration in milliseconds.
{PAUSE}— inserts a 500 ms pause{PAUSE:1000}— inserts a 1000 ms (1 second) pause
Example: Crash detected. {PAUSE:500} Car {CRASHCAR} at turn three.
Per-Button Voice Control
When voice is globally enabled, a Speak Text box appears on each button. Enter the text to be spoken when that button is pressed. Message variables such as {DRIVER} and {CAR#} are supported and substituted with live data at press time.
The Disable Voice for this button checkbox (shown in the options row below the Button Mode dropdown) suppresses voice output for that specific button while keeping the speak text saved for future use.