Using Voice Controls

Enabling Voice Controls

Related Links

Voice Controls are currently considered experimental. Major changes are expected in future updates. You must manually enable this capability inside the Prepar3D.cfg by setting EnableVoiceControl=1 under the [STARTUP] category.

Speech recognition can control many aspects of Prepar3D without the need for a keyboard or joystick. Using voice controls allows for a more interactive experience without losing the immersion by letting go of the joystick or taking off a virtual reality headset. The combination of physical controllers and speech recognition opens up a whole new world of simulation!

In order to use voice controls, make sure you have a microphone or headset that is:

Using Voice Controls

Voice Commands

When Voice Controls are active, simply speak a Phrase into the microphone and the Action will be executed in Prepar3D! Voice controls are best used for actions that require a single activation, instead of continuous actions such as firing an automatic weapon or adjusting an axis. Here is a list of the default voice commands:

Action Phrase
Pause/Unpause "Pause Prepar3D"
"Unpause Prepar3D"
Reset the scenario "Reset scenario"
Load a scenario "Load scenario [scenario name]"
Reset VR headset position "Reset VR"
"Reset virtual reality"
Open/Close the ATC "Open ATC"
"Close ATC"
Select an ATC Option "Select option [#]"
Turn engines on/off "Start engines"
"Shut down engines"
Set throttles to max/idle "Set throttles to max"
"Set throttles to idle"
Turn autopilot on/off "Enable autopilot"
"Disable autopilot"
Turn landing lights on/off "Turn on landing lights"
"Turn off landing lights"
Capture a screenshot "Take a screenshot"
Change the weather "Make it rain"
"Make it snow"
"Clear the weather"

Customizing Voice Commands

Phrases can be added or modified by editing the VoiceControlPhrases.cfg file located in %APPDATA%\Lockheed Martin\Prepar3D v4. Each line in the VoiceControlPhrases.cfg file represents a command, and one can be added to a new line with the comma-delimited format [phrase], [event], [certainty].

GLOBAL_CERTAINTY can be set at the top of the .cfg file to override all Certainty levels in the file. GLOBAL_CERTAINTY = -1 turns the override off.

Keep in mind that shorter phrases may be incorrectly picked up more often than longer ones. Use more complex phrases or a higher Certainty value to keep these commands from accidentally triggering.

A default command can also be removed by deleting the line for that command, or modified by changing the phrase for that command. The voice commands are loaded at startup and will require a restart for the changes to take effect.

Note: The VoiceControlPhrases.cfg only contains phrases that are bound to an Event ID. Some special phrases, such as "Load Scenario" and "Make it Rain", are not listed in this file.

Adjusting to Background Noise

Speech recognition works best in a quiet environment and with a good quality microphone. With a lot of background noise or talking, there may be some phrases that are recognized when they shouldn't. Decreasing the sensitivity of a microphone in the Windows sound settings to only pick up the words that are being spoken into it can help resolve some of these issues. To modify the sensitivity of a microphone:

  1. Open the Control Panel and select Sound.
  2. Change to the Recording tab.
  3. Select the microphone you are using and then Properties.
  4. Change to the Levels tab and adjust the slider to increase or decrease the sensitivity.

If a microphone is too close to the speaker, this may cause interference with voice recognition. Additionally, changing the Certainty requirement of a Phrase will change how often the Phrase will be recognized. A high Certainty will require that the speech recognizer will need to be more sure that the phrase was heard, and a lower Certainty requirement will activate when the recognizer is less sure.

Customizing Voice Commands Using the PDK

The Voice Control PDK service expands the capability of speech recognition even further than key events. Phrases can be added, similar to the VoiceControlPhrases.cfg file, and bound to key_events. However, a key_event parameter is optional and the phrase can be used with a custom event instead. When adding a phrase, a unique ID to that phrase is returned. This ID is broadcasted to all callbacks that are registered with the Voice Control Service. If a PDK plugin keeps track of the IDs, it can listen for them and run its own custom event when that phrase is recognized. This opens up the entire functionality of the PDK to the speech recognition in Prepar3D.