Voice Field Guide
Huey Underground emblem: a gunship Huey with a snarling face, over the words Huey Underground.

DCS World · Voice commands

Voice Field Guide

Talk to the framework the way you already talk on the radio. Hold your normal push-to-talk, make the call, release. The call goes out on the net for everyone to hear, as always, and the group acts on it. No second key, no menu, no chat box.

Build Voice 2026.10.15-2118 Status in flight test Download coming to #uv-downloads

Coming soon

Voice is flying with the squadron now and is not yet available to download. When it is ready, the package posts to #uv-downloads on Discord, the same way the Overlay posts to #uo-downloads. This page describes the build that will ship; expect wording to move a little as the flight tests land.

01

How it works

A small program runs beside DCS and SRS. Every time you key your SRS push-to-talk it listens to your microphone, and when you release it turns what you said into text and reads it the way a radio operator would. If the call was meant for one of the framework's groups, that group gets the order, exactly as if you had used the Overlay, and answers on the net like it always does.

The callsign comes first

It only acts on a call that starts with the callsign of a framework group that is on the map right now: a squad, a fire base, a flight, a GCA station, or the crew chief. Your own callsign can follow, as it would on a real net. The crew chief is the one exception to “first”: his name can sit anywhere in the call (Button it up, chief), because nothing else is called chief.

You“Falcon-3, Blue-1-1, say your sitrep.”
You“Foxtrot Bravo Lucy, fire mission on the red smoke, twenty rounds.”
You“Red-1-2 Charlie, pop smoke.”

Say the callsign however you would on the air: “Snoopy” or “Foxtrot Bravo Snoopy” for FB-Snoopy, “Falcon three” for Falcon-3, “Red one two Charlie” for a downed crewman's one-man group. A call to another pilot, a position report, a call to the tower, chatter: all ignored, because none of it started with a group's callsign. That is the firewall, and it is why you can talk normally with this running.

Three answers

  • The group answers on the net. It understood the call and the order went out.
  • “Station calling, say again.” in your own headset. It caught the callsign but not the order, or the order was ambiguous. Nothing was sent. Say it again, plainer. When it knows which part it missed it says so instead: Say again, which mark?, Say again the grid, Say again the frequency.
  • Silence. The call did not start with a callsign that is on the map. Nothing was sent.

The rule throughout is a say-again over a guess. A fire mission it is not sure about is thirty rounds on the wrong spot, so anything it half understood gets a say-again, never a best guess.

Correction

Saying “correction” mid-call restarts it: everything before the word is dropped and only what follows is read. “Falcon-2, correction, Falcon-3, pop smoke” goes to Falcon-3. That is why “correction” is not the word for walking artillery; see Adjust fire.

02

Getting started

Install

  1. The Underground Overlay must already be installed. Voice takes the server address from it.
  2. Unzip the package from #uv-downloads and double-click install.bat. It downloads a private copy of Python, the libraries and the speech model into %LOCALAPPDATA%\TheUnderground\Voice. Nothing is installed system-wide; delete that folder to uninstall.
  3. A desktop shortcut, Underground Voice, appears, and a Start Menu folder The Underground holds it beside Learn PTT.

The speech model runs on the CPU, under a second per call, and never touches the GPU that DCS is rendering with. A GPU model exists, but on a VR rig it was slower and stuttered DCS, so leave it alone unless you know your GPU is idle.

Run

Start Underground Voice before you fly and leave its window open. It shows every call it heard and what it did with it, which is the first place to look when something seems off. Close the window to stop.

Push-to-talk

It uses your SRS push-to-talk, read from SRS's own settings: the single PTT, or the per-radio switches when “Radio Switch works as PTT” is on. A keyboard or mouse PTT works as it is, and so does a button on a single plain stick. A PTT on a HOTAS, a throttle or a hat needs one short setup run: see Learn your push-to-talk.

Your name

Taken from SRS, the name DCS gave it. If SRS has never connected from this PC, start it once first.

2.1

Learn your push-to-talk

SRS records a stick button by the stick's DirectInput identity, which Voice cannot read back. With exactly one stick plugged in there is nothing to confuse, so a button on it works straight from the SRS settings. With a stick and a throttle, or a PTT on a hat, Voice cannot tell which device SRS meant and says so when it starts:

[voice] SRS binding -- 2 stick(s) present, cannot pick 'Joystick' button 15 -- run --learn-ptt

That is what Learn PTT is for. It watches every input on every stick, hat and key, asks you to hold the PTT, and remembers what you held. Once.

Run it

  1. With your sticks plugged in, open Learn PTT from the Start Menu folder The Underground (it is learn-ptt.bat in the Voice folder). It lists the sticks it sees first, so you can check yours are all there.
  2. “Hands off everything for a moment…” — take your hands off the controls for half a second. A HOTAS has switches that read as pressed when they are simply sitting in a position (three-way switches, mode selectors, detents). Everything held during that moment is the baseline and is ignored; the window names them. If you touch a switch here it will be ignored later, so sit still.
  3. “Hold your PTT now, modifier and all” — press and hold your push-to-talk exactly as you use it on the radio. If SRS has it behind a modifier (a shift button, a pinky switch), hold the modifier too. You have 15 seconds; it reads the combination a third of a second after the first input lands, so the second finger has time to arrive.
  4. It prints what it learned and asks: “do you key calls with ANOTHER switch too?” Let go of the first one. If you are on the per-radio method and key different switches for different radios, answer y and press the next one; the intercom switch you use for the chief counts. Answer n when every switch you key is in.
  5. It saves the set to Saved Games\DCS\Underground\voice.json and waits for a key. Start Underground Voice as usual; it reports the learned PTTs on its first line.

What it learns

Printed asMeaning
joy:1@VPC MongoosT-50CM3:15Button 15 on that stick. The stick is remembered by name, so a USB reshuffle that renumbers your devices does not lose it.
hat:0@TM Warthog Throttle:0:downA hat direction (up, down, left, right and the four diagonals).
key:29A keyboard key, by its DirectInput code, the same code SRS stores.
mouse:4A mouse button. SRS's window numbers them from 1, the file from 0; this is the file's number.
joy:0@…:3+joy:1@…:15Two inputs with a plus: both must be held at once. This is how a modifier comes out.
["joy:1@…:15", "joy:1@…:16"]A list in voice.json: any one of them keys. This is what several learned switches become.
It replaces SRS's bindings

What learn-ptt saves replaces the set Voice would otherwise read from SRS, so it has to hold every switch you key: one PTT, or the whole set of radio switches plus the intercom switch if you use one for the chief. Each press is one combination (a modifier and a switch held together count as one). Running it again starts a fresh set rather than adding to the old one. To go back to SRS's own bindings, delete the "ptt" line from voice.json.

If it goes wrong

  • “nothing pressed” — the 15 seconds ran out with nothing new held. Run it again and press harder, or check the stick is in the list it printed.
  • It learned the wrong thing — usually a switch you moved during the hands-off moment, or a finger that landed late. Run it again; the new result overwrites the old.
  • It learned a whole row of inputs — a switch that reads as held was not in the baseline because you were touching the controls at the start. Hands off, run it again.
  • Voice hears some calls and not others — you key a switch it was not taught. Run it again and press every one when it asks for another.
  • Voice starts and never hears a call — its first lines print the PTT it is watching. If that is not the one you key, learn it again.
03

The phrase book

The tables below show what to say after the callsign and what happens. The wording is deliberately loose: these are the shapes it listens for, not scripts to read. Numbers can be words or digits (“twenty rounds”, “eight hundred meters”, “zero two zero”) and filler between the parts is ignored. Everything else a group can do stays on the Overlay.

3.1

Reports & talk-on

You sayThey do
Falcon-3, say your sitrep · send me a situation report · what's your status The group's sitrep on its own net: strength, losses, wounded, in contact or secure.
Falcon-3, say your sitrep and let me know when you hear rotors · talk me in · guide me in · listen for my rotors · listen for me, I'm inbound · tell me if you hear my rotors · can you hear my rotors? The sitrep, then a talk-on: the group hooks to your aircraft and talks you in by ear, a bearing as you close, “right on top of us” overhead. Every call leads with both callsigns (Blue-1-1, Falcon-3 here. Rotors to our north.). Say it on any later sitrep to re-hook.
Falcon-3, cancel the talk-on · stop talking me in The hook closes with a sign-off. A pickup closes it on its own.
FB-Snoopy, give me your farm report · fuel and ammo · fuel state A fuel and ammunition report.
3.2

Smoke, flares & confirm

You sayThey do
Falcon-3, pop smoke · give me some smoke · mark your position The squad pops a color of its choosing and does not say which. Look for it, then confirm.
Falcon-3, pop green smoke · smoke, orange A named color. The color must sit beside the word “smoke”; a color elsewhere in the call is just talk. Fair warning: on a named pop an enemy within a mile may copy the color.
Falcon-3, confirm white smoke · I have green smoke · tally orange · visual red smoke · eyes on white “That's us”, “not our color”, or the warning that the enemy is popping smoke. A confirm with no color is a say-again.
Falcon-3, pop a flare · send up a flare A flare instead of smoke.
3.3

Move, hold & ROE

You sayThey do
Falcon-3, move northwest 800 meters · proceed bearing zero four five, half a click · move 500 meters, zero two zero · head east two clicks A move by bearing and range from where the group stands. Any move verb (move, proceed, go, head, displace, relocate, shift), a direction (sixteen compass points, “bearing 045”, or a bare three-digit heading) and a range (meters, or clicks). Add on the road to keep them on roads. A direction with no range, or a range with no direction, is a say-again.
Falcon-3, move to mark two · proceed to the red smoke A move to an F10 mark. See Orders on a mark.
Falcon-3, hold position · hold what you've got · hold Halt where they are.
Uzi-3, your ROE is weapons free · open fire · return fire only · weapons hold · hold your fire Rules of engagement, the same four states as the Overlay. For a ground group, “open fire” and “weapons free” are the same state.
3.4

Count, approach, resupply & radios

You sayThey do
Falcon-3, give me a ten count · count to five · slow count A count on their net so you can home on the carrier. Ten by default; “slow” spaces the numbers out.
Bearcat approach, request GCA · request a talkdown · request GCA (no station named) A ground-controlled approach: the handoff from the TOC on its net, then headings and altitudes on the approach frequency until the field is in sight. No station named means the nearest one, like the Overlay's default.
Bearcat approach, cancel GCA · cancel the approach Ends the talkdown.
FB-Snoopy, request resupply · send up a reload · say your ammo status The fire base's truck drives in from its pad and rearms the guns, if the pad has a reload to give. Same gates as the Overlay's resupply.
Falcon-3, switch to 31.5 fox mike · come up on three one, fox mike · push 35 decimal 5 · Pontiac-5, go to 251 · meet me on 251 uniform A retune. Any tune verb (switch to, come up on, push, go to, meet me on, change frequency to) and the number. “Fox mike” is FM, “uniform” is UHF (AM); leave the band out and it is worked out from the number (FM 30 to 75.95, AM 225 to 400). The acknowledgement comes back on the old net, then they switch, so retune your own radio once you hear it. A frequency the radio cannot reach, or a tune verb with no number, gets Say again the frequency. Saying your own net (Blue-1-1 on 30 fox mike, say your sitrep) is not a retune; it needs the tune verb.
Falcon-3, key your beacon for sixty seconds · give me a homer · beacon on 31.5 for two minutes · beacon off · kill the beacon A homing carrier (the morse tone) on the group's own net, or the frequency you name, for the ARC-131 HOME needle. The chief-style acknowledgement names the net it is coming up on. Sixty seconds unless you say otherwise, fifteen seconds to five minutes; beacon off, kill the beacon or stop transmitting stops it early. One DCS quirk: after a stop your own radio may keep playing the tone until the next call on that net replaces it.
04

Orders on a mark

A fire mission, a CAS station or a move can name an F10 mark the way you would on the net. The marks it knows are the ones the Overlay lists:

  • Your own numbered marks: mark two, marker 2. A blank mark you drop on the F10 map is auto-labeled Blue-1-1 Mark 2; that is the one “mark two” means. If two pilots each have a Mark 2 it asks you to say again.
  • The crew chief's smoke marks: the smoke, the orange smoke. The mark he drops on whoever just shot you.
  • The JTAC's mark: the JTAC mark, the JTAC's target, the JTAC smoke.
  • “The mark” when there is only one.
  • By grid: every mark the server labels ends with the mark's MGRS grid — Red smoke small arms LM 738 325, Blue-1-1 Mark 1 LM 738 325, JTAC AAA green LM 738 325 — on the F10 map and in the Overlay's Location list. So small arms grid 738 325, the red smoke grid 738 325, mark one grid 738 325 each name one mark exactly. Say the word “grid”, then three and three; the two letters are optional and only matter when two squares share the digits. The threat word (small arms, heavy weapon) picks the chief's smoke by what shot you.
You sayThey do
FB-Snoopy, fire mission on the red smoke, twenty rounds · Snoopy, fire mission, mark one, ten rounds · Lucy, twenty rounds on the JTAC mark Artillery on the mark's position. “Fire mission”, “rounds”, “shell”, “hammer” all read as fire; the round count rides along when said. Only an artillery group takes it.
Uzi-3, CAS on the JTAC mark · go work over the orange smoke, 500 meter radius · Pontiac-5, set up on mark two, weapons free An air group orbits the mark and hunts what it finds inside the radius (1500 m unless said). ROE rides along. Only an air group takes it.
Falcon-3, move to mark two · proceed to the red smoke, on the road A ground move to the mark.
FB-Snoopy, fire mission, small arms grid 738 325, ten rounds · Uzi-3, CAS on grid 752 311 · Falcon-3, move to grid 760 300 The same three orders, the mark named by its grid. The six digits must match a label on the map: a misheard digit matches nothing and nothing is sent.
“Say again, which mark?”

If more than one mark fits what you said (two red smokes on the field, three marks and you said “the mark”), you hear this line in your headset and nothing is sent. Pick it out: “the JTAC mark” against the chief's red smoke, “mark three” against “the mark”, or read the grid off the label: “the red smoke grid 738 325”. A grid that is not six digits gets “Say again the grid” instead. Typed mark labels are never matched by voice; use the Overlay for those.

05

Adjust fire

After a fire mission, walk the rounds without a mark. The legs are meters along and across the gun-target line, exactly like the Overlay's Adjust mode: add and drop move the aim point farther from or closer to the gun, left and right move it across. The battery remembers its last aim point; with no fire mission to adjust it says so.

You sayThey do
FB-Lucy, adjust, add one hundred, right fifty, ten rounds · Lucy, drop fifty, left one hundred The aim point moves by the legs and the battery fires again. One range leg and one deflection leg per call; the round count rides along.
FB-Lucy, repeat · fire for effect · same target, thirty rounds The same aim point again.
add one hundred, drop fifty · add one hundred ten rounds Say-again. Add and drop together, left and right together, a leg said twice, or a leg and a round count that run into one number all get a say-again rather than a guess. Put a breath between the leg and the rounds.
Say “adjust”, not “correction”

On this net “correction” means “disregard what I just said” and restarts your call, so “Lucy, correction, add two hundred” arrives with no callsign and is ignored. Lead with the callsign and “adjust”.

06

The crew chief

In a crew-chief aircraft (the Huey first) the chief takes orders too. Put the radio selector on INT so the call stays off the nets, key the same push-to-talk, and address him as Chief or Crew chief. His name can come first, last or anywhere in the call (Button it up, chief works). He takes four things and nothing else; anything else to him gets a say-again.

You sayHe does
Chief, arm embark · going in for a pickup · let's pick these guys up · take him aboard · rig out Arms the lift for a pickup, exactly like the Overlay's Embark button. Fly the envelope and they board. Saying it again while already armed changes nothing; the chief just says so.
Chief, arm disembark · drop them off · get him out · get this guy out · ropes out · going in for a drop Arms the lift for a drop.
Chief, secure the cabin · button it up · disarm · cancel the pickup · stand down · we're done Stands the lift down. Saying it with nothing armed changes nothing, so it is always safe to say.
Chief, how many we got back there? · status · head count · how are we looking back there A report, not an order: what is armed, how many are aboard and from which group, and the room left. Nothing changes. It is also the quickest check that your intercom binding works, because the answer is the chief himself on INT.
Chief, pop smoke · pop green smoke · pop a flare He throws it out the door and names the color on the intercom. It lands under or ahead of the aircraft depending on your speed and height.
The indicator

From Overlay 2026.10.13 the Embark and Disembark buttons show the server's truth, so a voice arm lights the button and the chief opens the doors, a few seconds behind the call. The lift stays armed after a load on purpose, so a crew of singles can be picked one after another. Not sure whether it is armed? Look at the button, or ask: “Chief, status.” Or say the arm again: if it already was, the chief answers “already set up, boss” and nothing changes. When the job is done, say so: “Chief, secure the cabin.” A forgotten arm picks up the next squad you fly low past.

07

What it will not do

  • Guess. Anything it half understood is a say-again. A wrong fire mission costs more than a repeated call.
  • Act on a call that did not start with a callsign (the crew chief excepted). Calls to other pilots, to the tower, position reports, chatter: ignored by design.
  • Take an order for a group that is not on the map, or a fire mission to a group that is not artillery, or a CAS station to one that does not fly.
  • Match a typed mark label. Only the generated labels (numbered marks, the chief's smoke, the JTAC's mark) are voice targets.
  • Replace the Overlay. Bombing and strafe runs, escorts, zone activation, the JTAC settings and the admin controls stay on the panel. The Overlay is also the backup when the net is noisy.
  • Transcribe anything but your PTT. It listens only while your push-to-talk is down. There is no open-mic mode.
08

If something looks wrong

What you seeWhat it usually is
“Station calling, say again.” It got the callsign, not the order. Check the Voice window for what it heard; say the order plainer, with a breath between the parts.
Nothing happened and no say-again The call did not start with a callsign on the map. Either the group is not spawned yet, or the name was misheard; the window shows the transcript and the score. Lead with the callsign, cleanly.
The group answered and I heard nothing Your radio. The answer went out on the group's own frequency; squads are on FM, flights and stations on AM. Tune to it.
“Negative contact with the net.” Voice could not reach the server. Confirm the Overlay works; voice uses its server address.
It never hears me The push-to-talk. If your PTT is on a stick or hat, run learn-ptt.bat (how). The window prints the PTT it is watching when it starts.
The window shows the wrong pilot name It is SRS's name. Start SRS once with the right name and restart Voice.
“Say again, which mark?” More than one mark fit, or none did (a misheard grid digit). Name it by number, color, “the JTAC mark” or the grid on its label.
“Say again the grid” The grid was not six digits. Say “grid”, then three and three: grid seven three eight, three two five.
“Say again the frequency” No number was heard after the tune verb, or the number is outside FM 30 to 75.95 and AM 225 to 400. Say it as digits with the band if in doubt: switch to three one decimal five, fox mike.
I retuned them and now hear nothing Working as designed. The acknowledgement came back on the old net; they are on the new one now. Tune your own radio to it.
The beacon tone keeps playing after “beacon off” The server stopped it (the Voice window shows the stop went out); your radio holds the last tone until the next transmission on that net. A DCS multiplayer quirk, not a stuck beacon.
A move did nothing It needed both a direction and a range; one without the other is a say-again. Or the destination was a typed mark.
It behaves unlike this guide The Voice window names its build on startup. Compare it with the latest post in #uv-downloads.

Every call is written to Saved Games\DCS\Underground\voice-log.jsonl: the transcript, what it decided and why. If a call keeps going wrong, that file is what to send along.

The Underground — Voice Field Guide. Documents voice build Voice 2026.10.15-2118, in flight test; the package is not yet published. The Overlay has its own guide: Overlay Field Guide.