13,208
edits
No edit summary |
(+-First section reordering; +-cleanup: Heading levels and line breaks; +-Code tags for command line and code; +-Sorting some links into a Related content heading.; +-Some more things) |
||
Line 16: | Line 16: | ||
|developers = Rodolfo (rleibner on the forum) | |developers = Rodolfo (rleibner on the forum) | ||
}} | }} | ||
[[Spoken ATC]] allows the pilot to listen to the directives of the ''Air Traffic Controller''. | |||
The module is not intended to compete with FGComm, Festival or other similar features. | The module is not intended to compete with FGComm, Festival or other similar features. | ||
On the contrary, | On the contrary, it is meant to substitute them when these are not available (for example due to constrained hardware resources, no Internet connection, etc.)<ref>{{cite web | ||
|url = https://forum.flightgear.org/viewtopic.php?p=312968#p312968 | |url = https://forum.flightgear.org/viewtopic.php?p=312968#p312968 | ||
|title = <nowiki> ATC </nowiki> | |title = <nowiki> ATC </nowiki> | ||
Line 27: | Line 29: | ||
}}</ref> | }}</ref> | ||
== Preface == | |||
'''Typically''', you should tune the ATC-station frequency and make a request by pressing {{key press|<}} key. You may hear something like: | |||
<small> | <small> | ||
* ''"Charlie X-ray Bravo Echo X-ray , this is Montevideo Carrasco International tower. QNH 1024 or 30 point 24 inches. Join left pattern Runway 1 9 and report."'' | * ''"Charlie X-ray Bravo Echo X-ray , this is Montevideo Carrasco International tower. QNH 1024 or 30 point 24 inches. Join left pattern Runway 1 9 and report."'' | ||
Line 43: | Line 43: | ||
* ''"Charlie X-ray Bravo Echo X-ray , Exit Runway at first taxiway and contact Ground 121 point 82."'' | * ''"Charlie X-ray Bravo Echo X-ray , Exit Runway at first taxiway and contact Ground 121 point 82."'' | ||
</small> | </small> | ||
That is only an example of standard | That is only an example of standard [[ATC phraseology|VFR Phraseology]] that you can expect from '''Spoken ATC'''. | ||
that you can expect from '''Spoken ATC'''. | |||
== How to install == | |||
{{note |This is the latest version, v.2.2.4 (Apr 26, 2019) }} | |||
Download this [[Addon]] from {{fgaddon source |path=Addons/SpokenATC |text=SourceForge}}. Read the [[FGAddon#Obtaining_aircraft|directions]] as a reference. | |||
= | Start your FGFS session including <code>--addon=<your local path>/SpokenATC</code> in the command line or in the ''settings'' tab of the launcher. | ||
== How to use it == | |||
= How to use it = | |||
Launch FlighGear (or re-start it) and tune Comm1 to an available ATC frequency (you can find them at ''Menu/Location/Airfield information''), | Launch FlighGear (or re-start it) and tune Comm1 to an available ATC frequency (you can find them at ''Menu/Location/Airfield information''), | ||
and press the {{key press|<}} key to transmit your request. | and press the {{key press|<}} key to transmit your request. | ||
You will hear the ATC's answer according the standard VFR phraseology, depending on your current position, weather and previous messages: | You will hear the ATC's answer according the standard VFR phraseology, depending on your current position, weather and previous messages: | ||
* If you are on ground | * If you are on ground: | ||
** The code interprets it's a taxi request (if you are far from the runway or you've just landed), | ** The code interprets it's a taxi request (if you are far from the runway or you've just landed), | ||
** or a take-off request (if you are on the correct Runway or at his holding point). | ** or a take-off request (if you are on the correct Runway or at his holding point). | ||
* If you are flying | |||
* If you are flying: | |||
** The code interprets it's an approach request (if you tunned an APP station), | ** The code interprets it's an approach request (if you tunned an APP station), | ||
** or a landing request (if you tunned a TWR station), | ** or a landing request (if you tunned a TWR station), | ||
** or a departure request (if you tunned a DEP station. and you are climbing after a take-off). | ** or a departure request (if you tunned a DEP station. and you are climbing after a take-off). | ||
Note that only TWR stations can deliver landing or take-off clearances, and only GND or TWR stations can deliver taxiing ones. | Note that only TWR stations can deliver landing or take-off clearances, and only GND or TWR stations can deliver taxiing ones. | ||
Where there is not a specific GND or APP-DEP freq., TOWER can take their tasks. | |||
== Heavy airplanes == | If they do exist, TWR will redirect to the specific frequency. | ||
Only at initial contact, the ATC message includes his station name & type, and the current QNH. | |||
APP stations will give a vector to the runway threshold in use (if you are far from there) or order to contact TWR (if you are inside the CTR). | |||
TWR stations will give instructions to join pattern or make direct final (depending on your position). | |||
== Tips == | |||
=== Heavy airplanes === | |||
To request a ILS runway, contact ATC using {{key press|Ctrl}}{{key press|<}}. | To request a ILS runway, contact ATC using {{key press|Ctrl}}{{key press|<}}. | ||
== A realistic behavior == | |||
=== A realistic behavior === | |||
To achieve realistic behavior, follow a logical sequence of communications, viz.: | To achieve realistic behavior, follow a logical sequence of communications, viz.: | ||
* Contact GND (or TWR) prior to taxiing. | * Contact GND (or TWR) prior to taxiing. | ||
Line 86: | Line 89: | ||
* Contact APP (if available) prior to enter the CTR. | * Contact APP (if available) prior to enter the CTR. | ||
* etc, etc. | * etc, etc. | ||
== On screen voice == | |||
=== On screen voice === | |||
If the writen messages bother you, when binding (see above) you can call the function as | If the writen messages bother you, when binding (see above) you can call the function as | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<script> <![CDATA[ spoken_atc.speak(n); ]]> </script> </syntaxhighlight> | <script> <![CDATA[ spoken_atc.speak(n); ]]> </script> </syntaxhighlight> | ||
with '''n''' seconds you want, even 0 meaning no messages at all.< | with '''n''' seconds you want, even 0 meaning no messages at all. | ||
== Phraseology customization == | |||
You can customize the phraseology by editing the <code>phraseology.xml</code> file. | |||
There you can find groups of tags like: | There you can find groups of tags like: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 102: | Line 107: | ||
<foo type="string">to fly. </foo> | <foo type="string">to fly. </foo> | ||
. . . . </syntaxhighlight> | . . . . </syntaxhighlight> | ||
which will be read as a single sentence (''"Hello world. It is a good day to fly. "''). | which will be read as a single sentence (''"Hello world. It is a good day to fly. "''). | ||
=== Literals === | === Literals === | ||
Those in the example above are literal sentences that you can change by the strings you want. | Those in the example above are literal sentences that you can change by the strings you want. | ||
{{note | | {{note | | ||
* You should not include either " or ' . | * You should not include either <code>"</code> or <code>'</code>. | ||
* Punctuation is meaningfull. }} | * Punctuation is meaningfull. }} | ||
=== Substitutions === | === Substitutions === | ||
Strings starting by | Strings starting by <code>%</code> will call some '''property value'''. | ||
In the example above replace | In the example above replace <code>day</code> by <code>% /sim/startup/time-offset-type</code>. | ||
Now the sentence will be read as ''"Hello world. It is a good morning to fly. "'' or ''"Hello world. It is a good evening to fly. "'' depending on the time. | |||
Now the sentence will be read as ''"Hello world. It is a good morning to fly. "'' or ''"Hello world. It is a good evening to fly. "'' depending on the time. | |||
{{note | | {{note | | ||
* The called property must be a string.}} | * The called property must be a string.}} | ||
=== Concatenation === | === Concatenation === | ||
Strings starting by | Strings starting by <code>~</code> will append the sentence with another one. | ||
Try this: | Try this: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 124: | Line 135: | ||
<foo type="string">Have a nice fly, </foo> | <foo type="string">Have a nice fly, </foo> | ||
<foo type="string">~short</foo> | <foo type="string">~short</foo> | ||
. . . . </syntaxhighlight>when calling ''foo'' you should hear ''"Have a nice fly, <your-callsign> , "'' | . . . . </syntaxhighlight>when calling ''foo'' you should hear ''"Have a nice fly, <your-callsign> , "'' | ||
=== Word Replacement === | === Word Replacement === | ||
If you find that the word ''Wind'' is not pronounced clearly, you can change it by ''Winnded'' or similar to increase its intelligibility. | If you find that the word ''Wind'' is not pronounced clearly, you can change it by ''Winnded'' or similar to increase its intelligibility. | ||
Better? Fine, but what about the message on the screen? | Better? Fine, but what about the message on the screen? | ||
Include a tag with the pattern <replace type="string">'''old''':'''new'''</replace> : | Include a tag with the pattern <code><nowiki><replace type="string">'''old''':'''new'''</replace></nowiki></code>: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
. . . . | . . . . | ||
<replace type="string">Winnded:Wind</replace> | <replace type="string">Winnded:Wind</replace> | ||
. . . . </syntaxhighlight> | . . . . </syntaxhighlight> | ||
Besides that, you can call the <code>spoken_atc.say()</code> function at runtime to check your customization. | |||
=== spoken_atc.say() function === | === spoken_atc.say() function === | ||
You can ... [TODO] | You can ... [TODO] | ||
<big>And remember this is '''VFR''': heed the instructions of the ATC but '''keep your eyes wide open !'''</big> | |||
== References == | |||
{{Appendix}} | |||
== Related content == | |||
=== Wiki articles === | |||
* [[ATC phraseology]] | |||
* [[Howto:Implementing a simple GCA system]] - Ground Controlled Approaches | |||
* [[Spoken GCA]] | |||
= | === Forum topics === | ||
* [https://forum.flightgear.org/viewtopic.php?f=30&t=32408 Spoken ATC] | |||
= | |||
[[Category:FlightGear add-ons]] | [[Category:FlightGear add-ons]] | ||
[[Category:Air Traffic Control]] | [[Category:Air Traffic Control]] |