Jump to content

[WIP] Voice Commander - Real captains use their voice

Recommended Posts

Download available here

Hi, I'm currently working on a plugin that enables players to command their ships via voice commands.

Please see the following video of me doing some tests:

Quick FAQ

On what operating systems does this work?

Windows only for now (I think from XP onwards.) I don't plan to support other operating systems myself, but I'm willing to accept patches to the source code once it is released.

Is my language supported?

Apparently Windows comes with a default speech recognition language installed. On Windows 7, you cannot install new languages unless you have Windows 7 Enterprise or Ultimate. If you don't, you're stuck with the default language. Please see your speech recognition settings in the system settings panel for what language that is.

Will I be able to specify what I will have to say for each command? (For example, I want to say "blue bayou" for turning prograde.)

Yes, those lines will be customizable.

Why is there a delay between your command and the response?

That delay comes from the speech recognition engine. It is necessary to recognize the end of a spoken command.

Will this be open to other plugins so that they can contribute new commands?


Is that really your voice in the video?

That's me.

Edited by blizzy78
Link to post
Share on other sites

That would depend on the feature set. My current plan is to use other plugins to do the hard lifting. For example, in the video, my plugin itself is not rotating the ship. Rather, it is telling MechJeb to do it. So what I have to do now is to decide what features I want to put in (and incidentally, what to left out for others to contribute from their own plugins.)

Dependence on those other plugins would ideally be completely optional. You should be able to use the Voice Commander plugin without MechJeb. But if you do, you're missing out on the rotation stuff, and whatever else I'll end up asking MechJeb to do. (And I presume that will be lots. ;)

Link to post
Share on other sites

Does the current feature list include feedback to the user that a command has been inputted? I imagine you've thought of that. I just tried testing using System.Speech.Synthesizer but KSP did not want to load the .dll Oh well.

"Mr. Crusher, take us out of here!"

*mechjeb applies full thrust after rotating 180 degs*

"Aye sir!"

Link to post
Share on other sites
Does the current feature list include feedback to the user that a command has been inputted?

No. It would usually be affirmative feedback only, and you would usually see the response on screen anyway.

Link to post
Share on other sites

Working great so far, great start blizzy!

Suggestions, so far:

  • Lock/unlock staging command.
  • Maybe macros, like {vesselname}: so there can be "KSC" and "{vesselname} over" to toggle VC, for example.
  • Profiles, so pre-launch or mission/ship specific settings can be created, like for rovers, landers, unmanned, KSO, planes, etc.

Edited by ozraven
Yet another idea...
Link to post
Share on other sites
I have a bug - After installing this mod I cannot use any engines except for the new SLS ones.

The plugin does not do anything to parts. Is there anything interesting in the output_log.txt?

Link to post
Share on other sites

How is the log written? Starting at top to bottom?

Edit - This part seems as if it would help

Kerbal X - Kerbal X

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

NullReferenceException: Object reference not set to an instance of an object
at ModuleAlternator.FindEngine () [0x00000] in <filename unknown>:0

at ModuleAlternator.OnStart (StartState state) [0x00000] in <filename unknown>:0

at Part.ModulesOnStart () [0x00000] in <filename unknown>:0

at Part+ .MoveNext () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

It seems to happen whenever I get one of the parts that won't work.

Edited by TheCanadianVendingMachine
Link to post
Share on other sites
[*]Maybe macros, like {vesselname}: so there can be "KSC" and "{vesselname} over" to toggle VC, for example.

I'm currently working on something where you could say "yaw plus 5" or "roll minus 23" to rotate around the specified axis by the specified amount. So far it is looking quite good, but I won't promise yet :)

Once that's working, the general mechanism should be usable for other commands as well, such as your {vesselname} suggestion (for example, "target {vesselname}", or "focus {bodyname}" in the map view.)

Link to post
Share on other sites
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...