Skip to content

How it works

Two parts: a thin client on your sim PC, and the controller in the cloud. One encrypted connection joins them for the whole flight.

How the parts of xatc-agent work together On your PC, X-Plane 12 gives the xatc-agent client the aircraft's state, and the client tunes X-Plane's radios; your microphone and headset carry your voice in and ATC's audio out. The client signs in through your browser with the sign-in service, then keeps one encrypted connection per flight to the ATC service in the cloud. It sends the aircraft's state, your voice and answers about your scenery, and receives ATC's audio and text, the approach plan and parking. In the ATC service, speech recognition hears the call, an AI model understands it, the controller agent (an AI model) decides which ATC tool to use, the tool checks the request and writes the phraseology, and text to speech speaks it. Monitors watch every frame and start ATC's own calls through the same tools. The tools read the FAA's data. Each flight is written to a flight log that is reviewed afterwards. Your PC The cloud X-Plane 12 your aircraft, weather, traffic, scenery xatc-agent client push-to-talk, radios, the cards plays ATC through a radio effect Microphone and headset aircraft state radio tuning your voice ATC audio Sign-in service knows which pilot is flying sign in, in your browser aircraft state your voice, while you hold push-to-talk answers about your scenery, when asked one encrypted connection per flight ATC's audio and text the approach plan parking, frequencies ATC service one isolated session per flight Hear speech to text Understand reads the call Decide picks a tool ATC tools check, phrase Speak text to speech Monitors watch every frame, call you first ATC's own calls A readback is judged by the AI model, item by item; code checks every quote against what you said. The FAA's data procedures, frequencies, airspace, altitudes Flight log reviewed after an AI model plain code: it checks, and it writes ATC's words data
How the parts work together. The AI model understands and chooses; plain code checks the request and writes what ATC says.

One radio call

  1. You key the mic. The client streams your audio while push-to-talk is held, beside a frame of aircraft state about once a second.
  2. Speech recognition turns the audio into text. It is tuned for aviation phraseology, and with the Scribe choice in Settings it is also given the names from your flight (callsign, cities, procedures, route fixes).
  3. Plain code checks the basics: is a controller on that frequency, and did your callsign come through.
  4. An AI model reads the call. Is it a readback of what ATC just said, a request, or both?
  5. A readback is judged item by item, quoting your own words. Code refuses any quote that is not in the transcript, then decides: accept in silence, correct one item, or ask once for a safety item.
  6. A request goes to the controller agent, an AI model that plays the position you called. Its job is to pick the right tool for what you asked: issue a taxi clearance, assign an altitude, clear an approach.
  7. The tool does the controlling. It checks the request against the FAA's data, your scenery and the state of your flight, writes the exact phraseology, and refuses in fixed words when the data says no.
  8. Text to speech speaks it, the client adds the radio effect (the optional radio voices already sound like a radio, so they get only the key-up click), and you hear it if a radio that is on and selected to listen is tuned to that frequency. A call you could not hear is said again once when the radio can hear it, within about a minute.

Meanwhile monitors watch every frame of your aircraft's state and start ATC's own calls: handoffs, readback reminders, an altitude that drifted, traffic.

Where the AI is, and where it is not

The AI model understands what you said and chooses what kind of thing a controller would do next. It does not invent the clearance.

The model does Code does
Classifies your transmission Decides whether a controller is listening on that frequency
Judges a readback against what was said Checks that every quoted word was really in your transmission
Picks the tool for your request Checks the request against the data: runways, procedures, minimum altitudes, traffic
Writes the words ATC speaks, in standard phraseology
Watches your flight and starts ATC's own calls

A model can still pick the wrong tool. When it does, the tool refuses rather than issue something the data does not support, and the cost is a retry or an "unable", not a wrong clearance. When no tool fits, ATC says "unable, I have not completed that training".

The data

  • The FAA's published data, updated every 28-day cycle: procedures (SIDs, STARs, approaches), fixes and airways, facility frequencies and hours, airspace boundaries, minimum vectoring and minimum IFR altitudes.
  • Your X-Plane, asked when needed: taxiways, stands and runway use. The weather and traffic around you are sent continuously. See Your X-Plane's data.

One session per flight

Each flight gets its own isolated session in the cloud, which keeps the flight's state: your clearance, where you are in the flight, what you still owe a readback for. It survives a reconnect (a transmission lost in a dropped connection is sent again once), and it stops when the flight ends.

Why it takes a moment to answer

Each reply involves speech recognition, two or three model calls (a router for every call, a judge for a readback, the controller agent for a request), and speech synthesis. Expect a few seconds from releasing push-to-talk to the first word. The log's Timing line shows each step.