HangarControl Voice Commands
1. Overview
Voice Commands lets you fly with your voice. Say "gear down" and HangarControl lowers the gear. Say "set heading 210" and the heading bug goes to 210. You decide the phrases and you decide what each one does.
A voice command is bound the same way a button is. Anything you can put on a button in HangarControl, you can put on a phrase. Everything runs on your own PC. Nothing you say is sent online.
How It Works
- You add Voice Commands to a profile, the same way you add a controller.
- You type the phrases you want to say and bind each one to an action.
- When the service is running, HangarControl listens to your microphone.
- A speech model on your PC turns what you said into text.
- HangarControl works out which of your commands that text was meant to be, even if you stuttered, added a word, or it misheard you slightly.
- The command runs exactly as if you had pressed a button bound to the same thing.
What You Need
- HangarControl installed and running.
- A microphone. A headset mic works best because it keeps engine and fan noise out.
- A speech model. This is a one time download you start from the Voice Commands page. It needs an internet connection once. After that, voice works with no internet at all.
- A simulator connected through HangarControl, for the commands to act on.
2. Getting Started
These six steps take you from nothing to your first spoken command.
Turning On Voice Commands
Voice Commands is added to a profile like any other device.
- Open Control Bindings and select the profile you want to use voice with.
- Click ๐ฎ Choose Devices.
- Find Voice Commands in the Available Devices list. It is always there. No hardware is needed for it to show up.
- Double click it to move it to Active Devices.
- Click ๐พ Save Changes, then โ Back.
Opening the Page
Back on Control Bindings, Voice Commands now shows in the Attached Devices list for that profile. Double click it. The Voice Commands page opens.
Downloading the Speech Model
On the right side of the page, find the Speech model section. The Model box is already set to Base (142 MB, recommended). Click Download and wait for the bar to finish. The line under the boxes changes to Downloaded and ready.
You only do this once per model.
Checking Your Microphone
In the Microphone and listening section, the Microphone box starts on Windows default microphone. Pick a different one if you need to.
Now talk and watch the Mic level bar at the top right of the page. It should move while you speak. If it doesn't, pick another microphone from the list.
Your First Command
- In the Commands section, type
gear downin the box at the top. - Click Add command, or press Enter.
- The binding window opens. Choose what the phrase does, the same way you would for a button, and click Save All.
The command now shows in the list with what it does written under it.
Saying It
- Make sure the service is running. If it isn't, go back to Control Bindings and click โถ START SERVICE.
- On the Voice Commands page, the status at the top right should say Ready.
- Hold the Hold to talk button with the mouse, say "gear down", and let go.
You hear a short tone, the command runs, and it appears under Recently heard with the word Fired.
3. The Voice Commands Page
Header and Status
| Item | What It Does |
|---|---|
| โ Back | Returns to the previous view. |
| Status | The colored label at the top right. It tells you what voice is doing right now. Hover over it for more detail. |
| Mic level | A bar that moves with the sound your microphone picks up. Use it to confirm the right microphone is selected. |
| Hold to talk | Hold this with the mouse to talk, same as your push to talk button. It only shows in push to talk mode. |
What the Status Says
| Status | Meaning |
|---|---|
| Ready | Push to talk mode, waiting for you to hold your button. |
| Listening | The microphone is open and HangarControl is listening. |
| Thinking... | You finished talking and it is working out what you said. |
| Loading model... | The speech model is being loaded. This happens when the service starts or after you change a setting. |
| Needs speech model | The selected model is not downloaded yet. |
| No commands yet | The active profile has no voice commands to listen for. |
| Voice is off | Voice Commands is not in the active profile's Active Devices. |
| Service stopped | The HangarControl service is not running. |
| Error | Something is wrong, usually the microphone. The reason is written at the top of the page. |
Page Layout
The page has two columns.
| Left Column | Right Column |
|---|---|
| Commands: your phrases, the starter packs, and the editor. | Microphone and listening: microphone, listening mode, push to talk button, wake word. |
| Test by typing: check what a phrase would match without saying it. | Speech model: model, language, download, and language pack. |
| Accuracy: how strict matching is, pause length, mic sensitivity, tones. | Recently heard: what it heard and what happened, with a Teach button. |
4. Listening Modes
The Microphone and listening section decides which microphone is used and when HangarControl listens. The How it listens box has three choices.
Choosing a Microphone
Pick your microphone in the Microphone box. Windows default microphone follows whatever Windows is set to use. Click Refresh if you plugged a microphone in after opening the page.
If the microphone you picked earlier is not plugged in, it stays in the list marked (not connected) so your choice is not lost.
Push to Talk
Push to talk (hold a button while you speak) is the default. The microphone is only open while you hold your button, so nothing fires by accident.
- Under Push to talk button, click Set.
- Press the controller button or keyboard key you want to use.
The label shows what you picked, for example Key: F13 or the controller's name and button number. Click Clear to remove it. Press Esc to cancel while it is waiting for a press.
Press Once Instead of Holding
Tick Press once to start talking, press again to stop if you would rather not hold the button down. One press opens the microphone and the next press closes it.
Always Listening
Always listening keeps the microphone open. HangarControl works out where each phrase starts and ends from the pauses in your speech. A clear, complete command fires as soon as you finish it.
In this mode room chatter and anything that is not close to one of your commands is ignored quietly. It does not beep at you and it is not added to Recently heard.
Wake Word
Wake word (say it first, like "hangar, gear down") also keeps the microphone open, but a phrase only counts when it starts with your wake word. The wake word is hangar until you change it in the Wake word box.
There are two ways to use it:
- All in one breath. Say "hangar, gear down".
- Wake word first, then the command. Say "hangar" on its own. You hear the listening tone. Your next phrase within 6 seconds does not need the wake word.
A lead in word is fine, so "hey hangar" and "okay hangar" both work.
5. Commands
A command is a phrase plus what it does. Commands live in the Commands section on the left of the page.
Adding a Command
Type the phrase in the box at the top of the Commands section. Type it the way you'd naturally say it, like gear down or landing lights on.
Click Add command or press Enter. The binding window opens straight away so you can choose what the phrase does.
HangarControl will not add the same phrase twice. If you already have it, as a phrase or as another way of saying one, you are told which command has it.
Speaking a Phrase In
Instead of typing, hold ๐ค Hold to speak next to the box, say the phrase, and let go. What it heard is typed into the box so you can fix it before clicking Add command. This is a good way to see how the speech model writes a word you are not sure how to spell.
The speech model has to be downloaded for this button to work. If you get "Didn't catch that", hold the button the whole time you are talking.
Binding a Command
Click Bind on a command to choose what it does. This opens the same binding window used for controller buttons, so a phrase can do anything a button can: a simulator event, a DCS command, a keyboard shortcut, a sequence, a conditional action, and so on. The binding window is covered in the HangarControl Walkthrough under Button Configuration.
Reading a Command Row
Each command shows its phrase, any other ways of saying it after Also:, and one line describing what it does.
| You See | Meaning |
|---|---|
| Orange border | The command is bound and ready. |
| Grey border and Not bound yet. Click Bind to choose what it does. | The phrase has no action yet. The button reads Bindโฆ until it does. |
| Blue border and inherited | The command comes from a parent profile. See Inherited Commands. |
| Faded phrase and disabled | The command is switched off and will not be listened for. |
| Button | What It Does |
|---|---|
| Bind | Opens the binding window to choose what the phrase does. |
| Test | Runs the command now, as if you said it. The service has to be running and this has to be the active profile. |
| Edit | Opens the editor under the list. |
| Delete | Removes the command and what it is bound to. |
Editing a Command
Click Edit on a command. The editor opens below the list.
| Field | Description |
|---|---|
| Phrase | The main phrase. |
| Other ways you say it (one per line) | Extra phrases that run the same command. Add as many as you like, one on each line. For example "landing gear down" under "gear down". |
| Enabled | Untick to switch the command off without deleting it. |
Click Save to keep your changes or Cancel to drop them.
Deleting a Command
Click Delete and confirm. The phrase and what it was bound to are both removed. For an inherited command, Delete only turns it off for this profile. The parent profile keeps it.
Phrases That Sound Alike
When you add or edit a phrase that sounds a lot like one you already have, HangarControl warns you: "Heads up: ... sounds a lot like ... If they get mixed up, reword one of them." The command is still saved. Use Test by typing to check that both phrases land on the right command.
6. Value Commands
A value command takes a number you say and sends it to the simulator. "Set heading 210" sets the heading bug to 210. "Com 1 126.35" tunes the radio.
Making a Value Command
Type the phrase with a # standing in for the number, for example set heading #, and click Add command.
The editor opens instead of the binding window. HangarControl makes its best guess at what the number is for from the words in your phrase. Check the What the number sets box and change it if the guess is wrong, then click Save.
A value command has no Bind button. Its number is sent by the setting you chose in the editor.
What the Number Sets
| Choice | What You Say | Accepted Numbers |
|---|---|---|
| Heading bug | "set heading 210" | 0 to 360. Saying 360 sets 0. |
| Autopilot altitude | "set altitude 10,500" | 0 to 60,000 feet. |
| Flight level | "flight level 350" sets 35,000 feet | 10 to 600. |
| Vertical speed | "climb 500", "descend 500" | Up to 9,900 feet per minute. |
| Autopilot speed | "set speed 250" | 30 to 999 knots. |
| COM active and COM standby | "com 1 126.35" | 118 up to 137. |
| NAV active and NAV standby | "nav 1 110.5" | 108 up to 118. |
| Transponder (squawk) | "squawk 7700" | Up to four digits, each 0 to 7. |
| Altimeter | "altimeter 29.92" or "altimeter 1013" | 27 to 32 inches, 2700 to 3200 said without the point, or 900 to 1100 millibars. |
| Course (OBS) | "course 270" | 0 to 360. |
| Flaps (notch or degrees) | "flaps 2" | The flap handle notch, where 0 is up. See Flaps by Degrees. |
| Flaps, this many notches | "flaps increase 2" | 1 to 10 notches. |
| Just the number (custom target) | Anything | Any number. Needs a custom target. |
Extra Options
- Radio 1 or Radio 2 shows for COM, NAV and Course. It picks which radio the number goes to.
- Going down (the number turns negative) shows for Vertical speed and Just the number. Tick it for a command like "descend #" so that "descend 500" sets minus 500.
- Retract (up that many notches instead of down) shows for Flaps, this many notches.
If you say a number that makes no sense for the command, nothing is sent and Recently heard tells you why, for example "400 isn't a heading (0 to 360)".
How to Say Numbers
In English, say numbers whichever way is natural. These all work:
| You Say | It Reads |
|---|---|
| "two seven zero" or "two hundred seventy" | 270 |
| "oh nine zero" or "zero nine zero" | 090 |
| "ten thousand five hundred" or "one zero thousand five hundred" | 10500 |
| "twenty two hundred" | 2200 |
| "one two six decimal three five" or "one two six point three five" | 126.35 |
| "one twenty one point five" | 121.5 |
| "two two zero zero" | 2200 |
| "minus five hundred" | -500 |
| "tree", "fife", "niner" | 3, 5, 9 |
Units after the number are fine and are ignored: "ten thousand five hundred feet", "descend one thousand feet per minute", "two five zero knots".
A radio frequency said without the point also works. "Com 1 one two six three five" is read as 126.35.
Custom Targets
The Custom target box sends the number somewhere other than the standard MSFS event. Leave it empty to use the standard event. Fill it in for an aircraft that uses its own variables, or for X-Plane.
| You Enter | What Happens |
|---|---|
An event or variable name, such as L:FNX_HDG_SET | The number is sent as that event's or variable's value. |
A B: event, such as B:AUTOPILOT_HEADING_SET | The number is sent as the event's parameter. |
Calculator code with {value} in it, such as {value} (>L:MY_VAR) | Your number replaces {value} and the code is run. |
An X-Plane DataRef, such as sim/cockpit/autopilot/heading_mag | With X-Plane as the simulator, the number is written to that DataRef. |
Scale and Offset
Before a custom target gets the number, it is multiplied by Scale and then Offset is added. Leave them at 1 and 0 to send the number as it is. The line under the boxes tells you which unit the number arrives in. For example a COM frequency arrives in Hz, so a variable that wants kHz needs a Scale of 0.001.
Flaps by Degrees
With Flaps (notch or degrees), the number you say is the notch: "flaps 2" is the second notch and "flaps 0" is up.
For an aircraft that calls its flaps by degrees, fill in Flap settings in degrees, in handle order. Then say the degrees and HangarControl finds the matching notch.
| Aircraft | Flap Settings to Enter |
|---|---|
| Boeing 737 | 0, 1, 2, 5, 10, 15, 25, 30, 40 |
| Airbus A320 | 0, 1, 2, 3, 4 |
With the 737 list filled in, "flaps 15" moves the handle to notch 5, which is where 15 sits in the list counting from 0. A number that is not in the list is refused.
Testing a Value Command
Click Test on a value command. HangarControl asks "What number?". Type it the way you would say it, with digits or with words, and click OK. The number is sent as if you had spoken it and the result shows under Test by typing.
7. Several Commands at Once
You can say more than one command in a single breath. They run in the order you said them, with a short gap between each so the simulator takes every one.
How to Say Them
| You Say | What Runs |
|---|---|
| "taxi lights on, landing lights on" | Both commands, in that order. |
| "taxi lights on and strobes on then gear up" | All three. "and", "then", "and then" and "also" all work as breaks. |
| "turn on taxi lights and landing lights" | Both lights on. You only have to say the on or off part once. |
| "gear down, heading 180, flaps 2" | Plain commands and value commands can be mixed. |
Up to 8 commands can be said at once. Small talk around them, like "thanks" at the end, is ignored.
When One Is Missed
- Push to talk and wake word: the commands that were understood run, and the missed one is listed in Recently heard after "Didn't catch". In wake word mode you can say the missed one again without the wake word.
- Always listening: it is all or nothing. If any piece is not understood, none of them run. This stops half a sentence of room chatter from firing something.
8. Starter Packs
Starter packs add a set of ready made commands in one click. There are three, shown as buttons under the phrase box.
| Pack | What It Adds |
|---|---|
| Value starter pack | Value commands for heading, altitude, flight level, climb, descend, speed, COM, NAV, squawk, altimeter and course. |
| Autopilot starter pack | Autopilot on and off, flight director, heading, nav, approach, back course, altitude hold, VS, FLC, yaw damper and autothrottle. Already bound. |
| Aircraft systems starter pack | Battery, alternator, avionics, lights, parking brake, fuel selector, cowl flaps, flaps, gear, pitot heat, carb heat, fuel pump, speed brakes, seatbelt sign, magnetos and pause. Already bound. |
The full list of every phrase in each pack is in the Quick Reference.
Adding a Starter Pack
Click Add value starter pack, Add autopilot starter pack or Add aircraft systems starter pack. The commands appear in your list and a message tells you how many were added.
Any command whose words you already have is skipped, so a starter pack never overwrites something you made.
Removing a Starter Pack
Once a pack is in the profile, its button changes to Remove ... starter pack. Click it and confirm. Only the commands the pack added are removed. Commands you made yourself stay.
Changing What One Does
Starter pack commands are ordinary commands. For a plain one, click Bind and change the action. For a value command, click Edit and give it a custom target. You can also edit the phrase and add other ways of saying it.
9. Voice on Any Binding
If a button on one of your controllers already does what you want, you do not have to build it again as a voice command. Attach a phrase to that binding instead. The phrase runs whatever the binding does, and if you change the binding later the phrase follows it.
The Voice Button
Open the device's configuration view and open the binding window for the button you want.
Select the press type you want the phrase to run. On the Configuring: line, click ๐ค Voice. The button shows for Single Press, Long Press, Double Tap and Release. It does not show for Hold.
Type a phrase and click Add, or hold ๐ค Hold to speak and say it. Add as many phrases as you like, then click Done.
Click Save All in the binding window. Your phrases are saved with it. If you cancel the binding window, the phrases are dropped too.
The Voice button shows a count, like ๐ค Voice (2), when that press type has phrases attached.
Linked Commands on the Page
Phrases added this way also show in the Commands list on the Voice Commands page. Under the phrase it says Runs followed by the button, device and press type it is attached to.
- They have no Bind button. To change what one does, change the binding it is attached to.
- Edit lets you change the words, add other ways of saying it, or switch it off.
- Delete removes only the voice command. The binding it was attached to stays.
If the binding a phrase was attached to is later cleared, the row says Link broken. Delete the command, or add the phrase again from that binding.
10. Speech Model
The speech model turns your voice into text on this PC. Bigger models understand accents and unclear speech better but use more CPU.
Choosing a Model
| Model | Download Size | Best For |
|---|---|---|
| Tiny | 75 MB | The fastest. Weakest with accents. |
| Base | 142 MB | Recommended for English. A good balance of speed and accuracy. |
| Small | 466 MB | Better with accents and unclear speech. |
| Turbo | 547 MB | The most accurate. Needs a strong CPU. |
Downloading
Pick a model in the Model box. If it is not on this PC yet, the line below says Not downloaded yet with its size, and a Download button shows. Click it. Click Cancel to stop a download.
Each model is downloaded once. Tiny, Base and Small come in two versions, one for English and one for every other language, so changing the language can mean one more download.
If you see "Download failed. Check your internet connection and try again.", do exactly that.
Removing Models
| Button | What It Does |
|---|---|
| Remove other models | Deletes downloaded models you are not using, to free disk space. The one in use stays. |
| Remove all speech models | Deletes every downloaded speech model from this PC, including the one voice uses now. Voice stops listening until a model is downloaded again. Your phrases and voice settings stay. |
11. Accuracy and Feedback
Accuracy Settings
The Accuracy section is at the bottom of the left column.
| Setting | Description |
|---|---|
| How close it has to match | From 0.50 to 0.95. It starts at 0.72. Lower forgives more. Higher avoids mistakes. Lower it if good phrases are being rejected. Raise it if the wrong command fires. |
| Pause allowed mid phrase | From 0.3 to 3.0 seconds. It starts at 0.8. This is how long a silence ends your phrase. Raise it if you pause or stutter. Only used when always listening or using a wake word. Push to talk waits for you to let go. |
| Mic sensitivity | Right is more sensitive. Lower it if fans or engine noise keep triggering it. Raise it if it misses quiet speech. |
| Play a short tone when it hears you | Turns the feedback tones on or off. |
| Tone volume | How loud the tones are. |
Tones
The tones tell you what happened without looking away from the sim.
| Tone | Meaning |
|---|---|
| Rising chirp | The microphone just opened. You hear it when push to talk opens, and when the wake word is heard on its own. |
| Single bright blip | The command was recognized and fired. |
| Falling two tone | Nothing matched, or a command matched but could not run. |
| Two flat blips | Two commands were too close to call, so nothing ran. |
Test by Typing
The Test by typing section shows which command a phrase would match, without using your voice. It is the quickest way to check that two phrases aren't too close.
Type a phrase and click Check, or press Enter. You can also hold ๐ค Hold to speak and say it. That hears it the same way live voice does, then checks it.
| Result | Meaning |
|---|---|
| Matches "..." | That command would run. The number is how close the match was. |
| Would set ... | A value command matched, and this is what it would set. |
| Runs N commands, in this order | It was read as several commands. |
| Not close enough | The nearest command is named, with how close it was and how close it needed to be. |
| Too close to call | Two commands fit almost equally well. Nothing would run. Reword one of them, or add another way of saying it. |
| No match | Nothing was close. |
Tick Also run the matched command to have Check fire the command as well.
Recently Heard and Teach
The Recently heard section lists what HangarControl heard, the time, and what happened. The last 30 are kept. Click Clear list to empty it.
If it keeps hearing one of your phrases wrong, teach it:
Say the phrase. Find the row in Recently heard that shows what it heard instead.
In the box on that row, pick the command you meant, then click Teach. The button changes to Learned.
What it heard is added to that command as another way of saying it. From now on, hearing that will run the command you picked. You can see it, and remove it, in the command's Edit panel.
What It Forgives
You do not have to say a phrase perfectly. In English, all of these still run "gear down":
| You Say | Why It Still Works |
|---|---|
| "g g gear down" | Stutters and repeated words are removed. |
| "um, gear, uh, down" | Filler sounds are dropped. |
| "put the gear down please" | Extra words cost a little, not everything. |
| "gear town", "gear dawn" | Near misses and sound alike words are caught. |
Two things are never forgiven, on purpose:
- Opposites. "Gear up" will never fire "gear down". The same goes for on and off, open and close, left and right, extend and retract, arm and disarm, and similar pairs.
- Numbers. "Flaps 1" and "flaps 2" must match exactly.
Radio speech is understood. "Tree", "fife" and "niner" are read as 3, 5 and 9. A letter and its phonetic word are the same thing, so "nav b" and "nav bravo" match each other.
12. Other Languages
Voice Commands works in languages other than English. You type your phrases in your own language and say them in your own language.
Picking Your Language
In the Speech model section, pick your language in the Language you speak box. A line under the box tells you what HangarControl knows about that language.
Languages other than English use a different version of the Tiny, Base and Small models. If the line below says Not downloaded yet, click Download.
Built In Languages
English is built in, with radio numbers (niner, tree, fife) and the phonetic alphabet.
These languages come with their own words built in: spoken numbers, on and off words, and the words between two commands.
- German
- French
- Spanish
- Italian
- Portuguese
- Dutch
- Polish
Every other language in the list still works for commands you type. What is missing until someone fills in a language pack is spoken number words, the on and off safety check, and saying several commands joined by a word like "and".
The Language Pack Window
A language pack is the list of small words HangarControl needs to understand your language as well as it understands English. You can change the built in words, or build a pack from nothing for a language that has none.
With a language other than English picked, click Language pack... under the language box. The window has four sections, chosen with the buttons at the top: Numbers, On and off words, Other words and Starter commands.
Every box is optional. The more you fill in, the more forgiving voice gets. Put a comma between words when there is more than one. You do not have to type accent marks the same way the speech model writes them. Both spellings are treated as the same word.
| Button | What It Does |
|---|---|
| Save | Keeps your changes and closes the window. |
| Cancel | Closes the window and puts everything back the way it was. |
| Import... | Loads a language pack file someone shared with you. |
| Export... | Saves what is in the window as one file you can share. |
| Reset words | For a built in language. Puts back the words that come with HangarControl. Your starter commands stay. |
| Clear words | For a language with no built in pack. Empties the boxes. Your starter commands stay. |
Numbers
This section is what lets you say a heading, an altitude or a frequency out loud.
| Box | What to Type |
|---|---|
| 0 to 19, then 20, 30 ... 90 | How you say each number. If there is more than one way, put a comma between them. German 1 is eins, ein. |
| Hundred and Thousand | Your words for one hundred and one thousand. |
| Word between the ones and the tens | Only if your language has one. German says einundzwanzig (one AND twenty), so its word is und. Dutch is en. |
| Word for the decimal point | What you say in the middle of a frequency, such as komma or virgule. |
| Word for minus | Your word for a negative number. |
| Other number words | One per line, written as number = word. For numbers that have a word of their own, such as Spanish 200 = doscientos, doscientas. |
Numbers written as one long word made of the pieces above, like German zweihundertzehn, are worked out for you. You do not have to list them.
On and Off Words
| Box | What to Type |
|---|---|
| Opposites | One pair per line, with a slash between them, such as an / aus. Words that mean the opposite of each other: on and off, up and down, open and close. HangarControl will never fire one when it heard the other. |
| Words you say between two commands | Lets you say two commands in one breath. German: und, dann, und dann. |
| Lead in words | Words that only mean "do it", like "turn" in "turn the lights on". German: schalte, mach. |
Other Words
| Box | What to Type |
|---|---|
| Filler sounds | The noises people make while thinking. They get thrown away. |
| Words that don't matter | Small polite words that carry no meaning, such as your words for "please" and "the". |
| Small talk | Things you might say after a command that aren't one, such as your word for "thanks". |
| Units you say after a number | Your words for feet, knots, degrees and so on. |
| Words the speech model keeps getting wrong | One per line, written as heard = meant. |
| One sentence that tells the speech model what it's listening to | In your language: "Flight simulator cockpit voice commands:". It helps the model write aviation words correctly. |
Starter Commands
This section lists every starter pack command in English, with a box beside each one. Type how you say it in your language. The first one is the phrase, and anything after a comma is another way of saying it.
For a value command, keep the # where the number goes. HangarControl will not let you save one that lost its #.
When you click one of the starter pack buttons on the Voice Commands page, the pack is added using your words. A command you left empty is added in English.
Try It
The Try it box at the bottom of the window shows you whether your number words work.
- Type something the way you'd say it, with the number as words. In German:
Kurs zweihundertzehn. - Click Try or press Enter.
- The window shows how HangarControl reads it. For that example: kurs 210.
Number words should have turned into digits. If one didn't, check how it's spelled in the Numbers section.
Sharing a Language Pack
You only have to build a language pack once, and one person can build it for everyone who speaks that language.
- To share yours: click Export... and send the file it saves.
- To use someone else's: click Import..., pick the file, look it over, then click Save.
If the file was made for a different language than the one you have picked, HangarControl asks before loading it.
Value Commands in Your Language
Value commands work the same way in every language: put a # where the number goes, such as Kurs #.
The one difference is the guess. HangarControl guesses what the number is for from English words in the phrase. With a phrase in another language it usually cannot guess, and the editor opens on Just the number (custom target). Pick the right choice in What the number sets yourself, for example Heading bug, then click Save.
13. Profiles and Backup
One List per Profile
Voice commands belong to a profile. The phrases you make for one aircraft never show up in another aircraft's profile. Live voice always listens for the active profile's commands.
When you copy or duplicate a profile, its voice commands are copied with it.
Inherited Commands
A child profile picks up its parent's voice commands, the same way it picks up the parent's bindings. Inherited commands have a blue border and the word inherited.
| You Do This on the Child | What Happens |
|---|---|
| Edit or Bind an inherited command | The child gets its own copy with your change. The parent is not touched. |
| Delete an inherited command | It is turned off for this profile only. The parent keeps it. |
| Teach on an inherited command | The child gets its own copy with the new way of saying it added. |
Removing Voice Commands
Backup and Restore
HangarControl's Backup and Restore carries your voice commands, your voice settings and your language packs. Speech models are not included in a backup because of their size. On a new PC, click Download once and everything else is already there.
14. Troubleshooting
Status Says...
Service stopped
Voice only listens while the service is running. Go to Control Bindings and click โถ START SERVICE.
Voice is off
Voice Commands is not in the active profile's Active Devices. Add it in ๐ฎ Choose Devices and save. See Turning On Voice Commands.
Needs speech model
The model picked in the Model box is not on this PC, or the language was changed and its version of the model is not downloaded yet. Click Download in the Speech model section.
No commands yet
The active profile has no enabled voice commands. Add one, or add a starter pack.
Error
The reason is written at the top of the page.
- If it mentions the microphone: check the mic is plugged in and picked on this page, and that Windows lets desktop apps use the microphone (Windows Settings, Privacy, Microphone).
- If it says the speech engine couldn't start: reinstall HangarControl, and make sure the Microsoft Visual C++ 2015 to 2022 Redistributable (x64) is installed.
Common Issues
The Mic Level Bar Doesn't Move
The wrong microphone is selected. Pick another one in the Microphone box. Click Refresh if yours is not in the list.
Nothing Happens When I Talk
- Check the status. It has to say Ready or Listening.
- In push to talk mode, make sure a button is set, or use Hold to talk on the page. Hold it the whole time you are talking.
- In wake word mode, the phrase has to start with the wake word.
- Make sure you are speaking to the active profile. The page warns you at the top if the profile you are editing is not the active one.
It Heard Me but the Command Didn't Run
Look at the row in Recently heard. The line under what it heard says why. Every result is explained in the Quick Reference.
It Keeps Hearing a Word Wrong
Use Teach to attach the mishearing to the right command. If it mishears many words, move up to a bigger speech model.
The Wrong Command Fires
Two phrases are too much alike. Use Test by typing to see what each one matches, then reword one of them. Raising How close it has to match also helps.
"Too close to call"
Two commands fit what you said almost equally well, so nothing ran. Reword one of them or add another way of saying it that sets them apart.
It Fires When Nobody Gave a Command
This is most likely in always listening mode. Lower the mic sensitivity, raise How close it has to match, or switch to wake word or push to talk.
It Cuts Me Off Mid Phrase
Raise Pause allowed mid phrase. This matters most if you pause or stutter.
Commands Feel Slow
Pick a smaller speech model. Tiny and Base react faster than Small and Turbo.
A Value Command Matched but Set Nothing
- The number is out of range. The result says so, for example "400 isn't a heading (0 to 360)".
- "the built in values are for MSFS. Give it a custom target for this sim": you are not flying MSFS. Give the command a custom target.
- "MSFS isn't connected": start the sim and make sure HangarControl is connected to it.
- The aircraft ignores the standard event. Many complex aircraft use their own variables. Give the command a custom target.
"Didn't catch that" on Hold to Speak
Hold the button the whole time you're talking, and let go when you are done.
Test Says to Start the Service or Switch Profile
The Test button runs a command for real, so the service has to be running and the profile you are editing has to be the active one.
My Language Is Being Written as English
Make sure your language is picked in Language you speak, not English and not Detect automatically. Use the Small or Turbo model.
Number Words Don't Work in My Language
Open the language pack and check the Numbers section. Use Try it to see how a number is read. Saying the number so the speech model writes digits also works.
15. Quick Reference
Recently Heard Results
| Result | Meaning |
|---|---|
| Fired | The command matched and ran. |
| Fired (early) | Always listening or wake word mode. The command was clear and complete, so it ran at your first short pause. |
| Set ... | A value command ran. It shows what was set, such as "Set heading 210". |
| Fired N commands | Several commands were said at once and all of them ran. |
| Fired N of M. Didn't catch: ... | Several commands were said. Some ran. The ones listed were not understood. |
| Matched, but ... | A value command matched but could not be sent. The reason follows. |
| Matched, blocked by device layer | The command matched, but a device layer is not letting it through. |
| Not sure (closest: "...") | Nothing was close enough. The nearest command is named. Use Teach if that was the one you meant. |
| Too close to call: "..." or "..." | Two commands fit equally well, so nothing ran. |
| No match | What was heard is not close to any command. |
| Wake word, listening for a command | The wake word was heard on its own. Say the command next. |
| Too long to be a command | Far more words than any of your commands. Usually someone talking in the room. |
Value Starter Pack
Say the number where the # is.
| Phrase | Other Ways to Say It | Sets |
|---|---|---|
| set heading # | "heading #" | Heading bug |
| set altitude # | "altitude #" | Autopilot altitude |
| flight level # | "fl #", "climb flight level #", "descend flight level #" | Autopilot altitude, as a flight level |
| climb # | "vertical speed up #", "vertical speed #" | Vertical speed |
| descend # | "vertical speed down #" | Vertical speed, going down |
| set speed # | "speed #", "airspeed #" | Autopilot speed |
| com 1 # | "set com 1 #", "com 1 active #" | COM 1 active |
| com 1 standby # | "set com 1 standby #" | COM 1 standby |
| com 2 # | "set com 2 #", "com 2 active #" | COM 2 active |
| com 2 standby # | "set com 2 standby #" | COM 2 standby |
| nav 1 # | "set nav 1 #", "nav 1 active #" | NAV 1 active |
| nav 1 standby # | "set nav 1 standby #" | NAV 1 standby |
| nav 2 # | "set nav 2 #", "nav 2 active #" | NAV 2 active |
| nav 2 standby # | "set nav 2 standby #" | NAV 2 standby |
| squawk # | "transponder #", "set transponder #" | Transponder code |
| altimeter # | "set altimeter #", "baro #" | Altimeter |
| course # | "set course #", "course 1 #" | Course 1 |
Autopilot Starter Pack
| Phrase | Other Ways to Say It | What It Does |
|---|---|---|
| autopilot on | "engage autopilot", "autopilot engage" | Autopilot on |
| autopilot off | "disconnect autopilot", "autopilot disconnect", "disengage autopilot" | Autopilot off |
| flight director | "toggle flight director", "flight director on", "flight director off", "FD" | Flight director (toggle) |
| heading mode | "heading hold", "heading select" | Heading mode (toggle) |
| nav mode | "nav hold", "nav select" | Nav mode (toggle) |
| approach mode | "approach", "arm approach" | Approach mode (toggle) |
| back course | "back course mode", "reverse course", "reverse course mode" | Back course (toggle) |
| altitude hold | "alt hold", "altitude mode" | Altitude hold (toggle) |
| VS mode | "vertical speed mode", "vertical speed hold" | Vertical speed mode (toggle) |
| flight level change | "FLC", "level change", "FLC mode" | Flight level change (toggle) |
| yaw damper | "toggle yaw damper", "yaw damper on", "yaw damper off" | Yaw damper (toggle) |
| autothrottle | "auto throttle", "arm autothrottle", "autothrottle arm" | Autothrottle arm (toggle) |
Aircraft Systems Starter Pack
| Phrase | Other Ways to Say It | What It Does |
|---|---|---|
| master battery on | "battery on", "battery master on" | Master battery on |
| master battery off | "battery off", "battery master off" | Master battery off |
| alternator on | "master alternator on", "alternators on" | Alternator on |
| alternator off | "master alternator off", "alternators off" | Alternator off |
| avionics on | "avionics master on" | Avionics master on |
| avionics off | "avionics master off" | Avionics master off |
| strobes on | "strobe lights on", "strobe on" | Strobes on |
| strobes off | "strobe lights off", "strobe off" | Strobes off |
| beacon on | "beacon light on", "beacon lights on" | Beacon on |
| beacon off | "beacon light off", "beacon lights off" | Beacon off |
| nav lights on | "navigation lights on", "position lights on" | Nav lights on |
| nav lights off | "navigation lights off", "position lights off" | Nav lights off |
| taxi lights on | "taxi light on" | Taxi lights on |
| taxi lights off | "taxi light off" | Taxi lights off |
| landing lights on | "landing light on" | Landing lights on |
| landing lights off | "landing light off" | Landing lights off |
| panel lights on | "panel light on", "instrument lights on" | Panel lights on |
| panel lights off | "panel light off", "instrument lights off" | Panel lights off |
| cabin lights on | "cabin light on" | Cabin lights on |
| cabin lights off | "cabin light off" | Cabin lights off |
| parking brake on | "set parking brake", "parking brake set" | Parking brake on |
| parking brake off | "release parking brake", "parking brake release" | Parking brake off |
| fuel selector both | "fuel both", "fuel selector all" | Fuel selector both |
| fuel selector left | "fuel left" | Fuel selector left |
| fuel selector right | "fuel right" | Fuel selector right |
| fuel selector off | "fuel off" | Fuel selector off |
| cowl flaps open | "open cowl flaps" | Cowl flaps open |
| cowl flaps closed | "close cowl flaps", "cowl flaps close" | Cowl flaps closed |
| flaps up | "retract flaps", "flaps retract" | Flaps up |
| flaps full | "full flaps", "flaps down full" | Flaps full |
| flaps increase | "more flaps", "flaps down one notch", "extend flaps" | Flaps down one notch |
| flaps decrease | "less flaps", "flaps up one notch" | Flaps up one notch |
| gear down | "landing gear down" | Gear down |
| gear up | "landing gear up" | Gear up |
| pitot heat on | Pitot heat on | |
| pitot heat off | Pitot heat off | |
| carb heat on | "engine anti ice on" | Carb heat / engine anti ice on |
| carb heat off | "engine anti ice off" | Carb heat / engine anti ice off |
| fuel pump | "toggle fuel pump" | Fuel pump (toggle) |
| speed brakes extend | "spoilers extend", "speed brakes out" | Speed brakes extend |
| speed brakes retract | "spoilers retract", "speed brakes in" | Speed brakes retract |
| spoilers arm | "arm spoilers" | Spoilers arm (toggle) |
| seatbelt sign | "seat belt sign", "fasten seatbelts" | Seatbelt sign (toggle) |
| magnetos both | "mags both" | Magnetos both |
| magnetos off | "mags off" | Magnetos off |
| pause | "pause sim" | Pause |
| unpause | "resume sim", "resume" | Unpause |
The aircraft systems pack also adds three flap value commands:
| Phrase | Other Ways to Say It | Sets |
|---|---|---|
| flaps # | "set flaps #" | Flaps, by notch or by degrees |
| flaps increase # | "flaps down # notches", "flaps extend #", "more flaps #" | Flaps down that many notches |
| flaps decrease # | "flaps up # notches", "flaps retract #", "less flaps #" | Flaps up that many notches |
Languages
Languages in the Language you speak box, besides English and Detect automatically. The ones in bold come with a built in language pack.
Afrikaans, Arabic, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Tagalog, Thai, Turkish, Ukrainian, Vietnamese.