Tuesday, August 15, 2006

I wrote a program to speech control the FS9 default ATC from a remote machine

One of my biggest wishes for the MSFS is..realistic, truely voice controlled Air Traffic Control (ATC) .

However, it still seems like a distant dream specially now the MicroSoft team has confirmed that there are no major enhancements to the ATC system in the FSX release. That leaves me still waiting eagerly for the technology to catch up and allow the simmers to realistically 'converse' with the ATC programs.

I know, serious simmers use VATSIM for realistic ATC and not depend on the software simulated ATC. If you are flying 'all the time' with VATSIM then good for you. But being a novice, I still want to use either the default ATC or programs like RC. And the major problem with these programs is - they all use keyboard as their user interface.

I am tired of using the keyboard to select the ATC menu choices. Specially in a homebuilt hardware based cockpit environment, having to use keyboard to interact with the ATC is so unreal and annoyingly distracting.

So, I went back looking at options to use speech to control the FS9 ATC. I am aware some people use speech programs like 'voice buddy', 'Flight Assistant' or 'shout' to map their voice commands to ATC menu keyboard keys. While this works ok, I have an additional important requirement that made me not use any of these known techniques. As far as I know, all the above programs require you to run them on the FS9 computer hence potentially impacting it's framerate.

So, my key requirement is - I want my speech recognition process to run on a remote computer and not on the FS9 computer.

As we all are well aware of to what extents a simmer would go for the ever elusive framerate nirvana :-), I ended up writing a program that uses the WideFS/FSUIPC to communicate and control the FS9 default ATC. I now can make ATC menu selections completely hands-free through voice. The freedom I gained is awesome and the command recognition is 100%. I can't be more happy.

Currently, I would say "Traffic Control" to either 'bring up' or 'Close' (useful to quickly get the atc transparent menu out of your way) the ATC window. Once the ATC window shows up, I would say "select one" (or two,threee,four..) to select the appropriate menu item.

Ofcourse, I know it doesn't sound realistic ATC communication. I thought of creating somekind of smart menu where instead of saying "select one", you would be able to say generic command like "contact ground control". But unfortunately I couldnt implement it due the fact that currently FS9 doesn't expose any of their ATC menu text details via offsets (confirmed by peter dowson) and there is no ATC api available either to hookup. Also, I wish I could display the ATC menu window on the remote machine rather than on the FS9 main display as it does now by default. But here also unfortunately I couldn't do much due to the same FS9 constraints.

But in the end, I am fully satisfied with having some kind of speech interface that I could run on a remote machine. My ATC experience is way better now than earlier when I had to deal with the keyboard. And I am thrilled with the reliability of the command recognition, which is 100%.

My next wish is..to add similar capability to the Radar Contact (a third part ATC add-on) if I end up owning a copy of it. I know RC currently suffers from the same draw back of keyboard as it's only user interface.

If you are interested in my program, drop me a line at: "projsri777 AT yahoo dot com".

8 comments:

Anonymous said...

Nice program but after I downloaded the application I started it. But there only was a message box that sayed "Failed to initialize speech". How can I get this program work?

srini said...

Oh, have you tested whether the MS speech engine is installed on your machine first as instructed in the README file?

check this link for installing the speech engine..

http://support.microsoft.com/kb/306537/EN-US/

-srini

Anonymous said...

Yes, is installed - with some addon languages... I'll try to reinstall everything, maybe it works

srini said...

I am sorry you are running into problems with it. I see many people downloaded it and no one has contacted me with an issue. After you posted, I have downloaded it myself from avsim and tested it and it worked fine for me.

So, please independently make sure your speech recognition engine is installed and working correctly before trying this program.

I will be glad to help if I can. Please write to me at: "projsri777 AT yahoo DOT com"

srini said...

Also, make sure you have a file called "FSVoiceATC.cfg" in the same directory where you are running my program from. If you have simply unzipped the downloaded program file, you would see this file. If this file is missing in the program directory, then also you would get the exact same error that you mentioned. Please check.

Emile said...

Very nice program! Works right out of the zip. I too get a 100% recognition rate and I have a terrible accent.

I agree with you that Microsoft should have added speech recognition to FSX. Maybe the SDK is better so that other vendors can add it.

Thanks for your contribution to the flightsim community!

Emile.

Emile said...

Are you planning to make an FSX version? Looking forward to it!

Unknown said...

I can not get thew program to work,I get the following message; " The application failed to start because the application configuration is incorrect./ Reinstalling the application may fix this problem". I have the config file located in the same folder as the program file. Could you be a little more specific as to how to set the two computer up. Thanks,

Don