Oolite Voice Control

From Elite Wiki

About

Commander Joe has been working on a voice recognition command system.

Requirements

It uses the Windows 7 built-in voice recognition and the glovePIE interface.

History

  • V8: Tactical knows about the nature of IFF scanner targets, trader knows about all trade items and offers guidance with clearer/better responses, weapons knows about lasers, references to captain changed to commander, bug fixes and improved phrases here and there.
  • V7: The trader crewman having knowledge of each commodity.
  • V6: Features "computer,what can I say" with much clearer sounds, each officer station now has character, more equivalents have been added, added the ability to converse with your crew.
  • V5: Added more commands and bug fixed / refined the experience, fuel injectors now have variable burn request times, the engineer does more and speaks back.
  • V4: Added spoken feedback, list the commands with "what can i say?"

Installation

// Commander Joe GLOVEPIE VR for oolite

// Using a text editor globally replace

// helm for Sulu
// weapons for Checkov
// tacticle for Spock
// engineering for Scotty 

// may help you remember each officers role

// Targetting computer

t = said("weapons target missile") or said("weapons arm missile")
u = said("weapons untarget missile") or said("weapons dissarm missile")
m = said("weapons launch missile") or said("weapons fire missile")
m = said("weapons launch drone") or said("weapons launch probe") 

y = said("weapons next missile") or said("weapons next pylon")
// key.underline = said("weapons offline") or said("weapons online")

key.Multiply = said("weapons cycle forward between targets")
key.minus = said("weapons cycle backward between targets")

// weapons

Tab = said("weapons fire energy bomb")
A = said("weapons fire laser")

if said("weapons fire a 3 second burst") then begin
press A
wait 3000 ms
release A
end

if said("weapons let them have it") then begin
press A
wait 5000 ms
release A
say("Hey commander, we got them that time, we really blasted them.")
end

// tactical

m = said("tacticle launch cargo shepherd") or said("tacticle launch cargo magnet")

Escape = said("launch escape pod")
e = said("tacticle E.C.M.") or said("tacticle counter measures")
L = said("tacticle request docking permission")
R = said("tacticle cycle cargo to dump") or said("tacticle cycle cargo to eject")
D = said("tacticle dump cargo") or said("tacticle eject cargo")
z = said("tacticle zoom display") or said ("tacticle magnify display") or said("tacticle zoom IFF display") or said ("tacticle magnify IFF display")
key.Slash = said("tacticle next compass mode") or said ("tacticle change compass mode")

if said("tacticle Show log") or said ("tacticle display the ships log") then begin
press Console
wait 9000 ms
release Console
end

if said("tacticle show advanced navigational array") then begin
press LeftShift+6
wait 9000 ms
release LeftShift+6
end

if said("tacticle show polictical information") then begin
press I
wait 9000 ms
release I
end

if said("tacticle show economic information") then begin
press I
wait 9000 ms
release I
end

if said("tacticle show information") then begin
press I
wait 9000 ms
release I
end

if said("tacticle save position") then begin
press F2
wait 100 ms
release F2
wait 1000 ms
press enter
wait 100 ms
release enter
end

if said("tacticle evasive manouvers") then begin
press up
wait 3000 ms
release up
wait 100 ms
press left
wait 500 ms
release left
wait 100 ms
say("evasive manouvers in progress")
press down
wait 500 ms
release down
press right
wait 500 ms
release right
end

F1 = said("tacticle forward view") or said ("tacticle front view")
F2 = said("tacticle rear view")
F3 = said("tacticle left view")
F4 = said("tacticle right view")
r = said("tacticle scan forwards") or said ("tacticle whats that") or said ("tacticle activate forward scan") or said ("tacticle forward scan")
F5 = said("tacticle display our reputation") or said ("tacticle display special cargo") or said ("tacticle whats our status") or said ("tacticle status report")
F6 = said("tacticle display short range scan") or said ("tacticle short range scan")
F6 = said("tacticle display long range scan") or said ("tacticle long range scan")
F7 = said("tacticle display data on system") or said ("tacticle data on system") or said ("tacticle display system records")

// helm

key.Apostrophe = said("helm left a bit")
key.Dot= said("helm right a bit")
key.up= said("Up") or said("previous item")
key.Down= said("Down") or said("next item")

w = said("helm increase speed") or said("helm more speed")
s = said("helm decrease speed") or said("helm slow down") 

if said("helm engage fuel injectors 3 second burn") then begin
press i
wait 3000 ms
release i
end
if said("helm engage fuel injectors 10 second burn") then begin
press i
wait 10000 ms
release i
end
if said("helm engage fuel injectors 15 second burn") then begin
press i
wait 15000 ms
release i
wait 10000 ms
say("Wha hey commander, that was fun!")
end

j = said("helm engage jump drive") or said("helm engage the jump drive") or said("helm fire up the jump drive")
g = said("helm prepare for galactic hyperspace")
h = said("helm start hyperdrive countdown") or said("helm make it so") or said("helm get us out of here")
c = said("helm start docking proceedure") or said("helm start the docking proceedure") or said("helm initiate docking sequence")
c = said("helm lets have a drink") or said("helm time to visit the hoopy casino") or said("helm dock with target") or said("helm dock with that ship")
key.Shift + C = said("helm dock quickly")
F1 = said("helm take us out of dock") or said("helm launch the ship")

// Engineering

F3 = said("engineering we need to buy new equipment") or said ("engineering we need new equipment")
F3 = said("engineering lets check out the ships for sale")
F2 = said("engineering show the ships options")
p = said("engineering freeze time and space") or said("engineering freeze space and time")

if said("engineering fill her up") or said("engineering buy fuel") then begin
say("Okay commander I will get the fuel loaded.")
press F3
wait 100 ms
release F3
wait 500 ms
press enter
wait 100 ms
release enter
end

if said("engineering load a missile") then begin
say("Okay commander, I will equip the ship with a standard missile.")
press F3
wait 100 ms
release F3
wait 500 ms
press down
wait 100 ms
release down
wait 500 ms
press enter
wait 100 ms
release enter
wait 6000 ms
end

if said("engineering damage report") then begin
press F5
wait 100 ms
release F5
wait 3000 ms
say("Oooh commander, this ship is as good as she will ever be.")
wait 7000 ms
press F1
wait 100 ms
release F1
end

if said("engineering transfer fuel from external tank") then begin
say("Okay commander I will pump the fuel, I hope you've selected the fuel pod properly this time.")
wait 6000 ms
press t
wait 100 ms
release t
wait 500 ms
press key.M
wait 100 ms
release key.M
end
// Trader

F8 = said("trader display market prices") or said("trader display the market prices") or said("trader display market prices on main screen")
F8 = said("trader display contracts") or said("trader display contracts available")

enter = said("trader buy that")
enter = said("trader sell that")
space = said("continue")

if microphone.partialphrase<> then debug = microphone.PartialPhrase

if said("computer what can I say") then
say("Please ask: What can I say to my helmsman. or. What can I say to my trader. or. What can I say to my weapons officer")
end if

if said("What can I say to my weapons officer?") then
say("Commander in battle, you can order me thus, , , , , , , "
... + "Weapons, what do you do. , , "
... + "Weapons, target missile. , , "
... + "Weapons, untarget missile. , , "
... + "Weapons, launch missile. , , "
... + "Weapons, launch drone. , , "
... + "Weapons, launch probe missile. , , "
... + "Weapons, next missile. , , "
... + "Weapons, online or offline. , , "
... + "Weapons, fire energy bomb. , , "
... + "Weapons, fire laser. , , "
... + " and weapons, fire a 3 second burst. , , "
... + " , , Commander. In the heat of conflict. the valiant will earn their Glory.")
end if

if said("Weapons what do you do?") then
say("I defend the ship with honour sir, , , , "
... + "I'm an expert in dissintegrations. , , "
... + " , , Commander, you can ask me more about our guns sir. weapons tell me about pulse lazer. for example.")
end if

if said("weapons tell me about pulse lazer") then
say("Commander sir, , , , "
... + "A pulse lazer is no weapon sir. , , "
... + "It may anoy hostiles, but it won't hurt them much.")
end if

if said("weapons tell me about beam lazer") then
say("Commander, , , , "
... + "A beam lazer is a useful primary weapon sir. , , "
... + "Don't take on hostiles without one")
end if

if said("weapons tell me about military lazer") then
say("Commander, , , , "
... + "A military lazer is the prefered weapon of long lived commanders sir.")
end if

if said("weapons tell me about mining lazer") then
say("Commander, , , , "
... + "A mining lazer blasts asteroids into valuable minerals.")
end if

if said("What can I say to my tacticle officer?") then
say("Commander, as your number one officer, You can say to me, , , , "
... + "tacticle, what do you do. , , "
... + "launch escape pod. , , "
... + "tacticle, activate forward scan. , , "
... + "tacticle, identify target yellow for example. , , "
... + "tacticle, request docking permission. , , "
... + "tacticle, show advanced navigational array. , , "
... + "tacticle, show political information. , , "
... + "tacticle, show economic information. , , "
... + "tacticle, save position. , , "
... + "tacticle, evasive manoovers. , , "
... + "tacticle, counter measures. , , "
... + "tacticle, launch cargo shepherd. , , "
... + "tacticle, cycle cargo to eject. , , "
... + "tacticle, eject cargo. , , "
... + "tacticle, forward view. , , "
... + "tacticle, rear view. , , "
... + "tacticle, left view. , , "
... + "tacticle, right view. , , "
... + "tacticle, display short range scan. , , "
... + "tacticle, display long range scan. , , "
... + "and tacticle, display data on system. , , "
... + " , , commander, I can help us all. with my superior knowledge.")
end if

if said("tacticle what do you do") then
say("well commander, , , , "
... + "I am the ambassidor of the ship, my role is so important, i keep the charts. , , "
... + "I control the viewing screen and eye FF scanner. , , "
... + "I can advise you about the nature of hostile craft. , , "
... + " , , you can ask me more about tactics. tacticle, tell me about python. for example.")
end if

if said("tacticle indentify target red") then say("commander, red target is hostile.")
if said("tacticle indentify target yellow") then say("commander, yellow target is a freindly.")
if said("tacticle indentify target white") then say("commander, white target is probably just a rock sir.")
if said("tacticle indentify target green") then say("commander, the green target is a giant space station sir.")
if said("tacticle indentify target flashing red green") then say("danger commander, red green target the is tharr goids.")
if said("tacticle indentify target flashing green yellow") then say("commander, yellow green target is just a navigation bouy.")
if said("tacticle indentify target flashing yellow red") then say("danger commander, yellow red target is an active Q bomb.")
if said("tacticle indentify target flashing blue") then say("commander, blue flashing target is a hyperspace worm hole.")
if said("tacticle indentify target flashing orange yellow") then say("commander, be alert, flashing orange yellow target has offender status.")
if said("tacticle indentify target flashing orange magenta") then say("commander, be aware, flashing orange magenta target has fugative status.")

if said("What can I say to my trader?") then
say("You can. you can say, to me boss, , , , "
... + "Trader, what do you do. , , "
... + "trader, display market prices. , , "
... + "trader, buy that. , , "
... + "and trader food, textiles, alloys, computers etc. , , "
... + " , , Trust in me boss. and we will all make lots of credits!")
end if

if said("Trader what do you do?") then
say("OK boss, , , , "
... + "Well you see boss, I'm the wheeler deeler here just ask me. , , "
... + "Trader, how do we make the credits by regular trading. , , "
... + "Trader, how do we make the credits by bulk trading. , , "
... + " , , Hey boss, you can ask me more about what to buy just say. trader tell me about Textiles. for example.")
end if

if said("Trader how do we make the credits by regular trading") then
say("OK boss, , , , "
... + "Well you see, we can buy computers cheaply at a high tech industrial planet. , , "
... + "and then we fly to a poor arigcultural planet and sell those computers we bought for more munny. , , "
... + "You see boss, you got to know what to buy, and where to sell it. , , "
... + " , , Hey boss, you can ask me more about what to buy soon just say. trader tell me about Alloys. for example.")
end if

if said("trader tell me about food") then
say("OK boss, , , , "
... + "we can fly to agricultural planets and bye food for a low price. , , "
... + "then sell food to rock hermitts, starships, bars, and industrial planets.")
end if

if said("trader tell me about textiles") then
say("Yes boss, , , , "
... + "we can fly to agricultural planets and bye textiles for rag munny. , , "
... + "then sell our textiles to the fashion houses on high tech industrial planets.")
end if

if said("trader tell me about radioactives") then
say("look boss, , , , "
... + "If we bye radioactives, our ship will glow in the dark.")
end if

if said("trader tell me about slaves") then
say("boss, i don't recommend dealing in slaves. , , "
... + "If we buy slaves. We will end up as galactic outlaws.")
end if

if said("trader tell me about liqour") then
say("well boss. , , , "
... + "we can fly to agricultural planets and bye kegs of cheap beer. , , "
... + "then sell it to a bar in an annarchy system for a good profit.")
end if

if said("trader tell me about luxuries") then
say("hey boss , , , "
... + "we can bye the new must have Apple eyepad at high tech industrial slave planets. , , "
... + "everyones gotta have the new eyepad. Even at 100 credits plus.")
end if

if said("trader tell me about narcotics") then
say("boss, i don't recommend dealing in narcotics. , , "
... + "If we bye narcotics. We will end up as galactic outlaws. , , "
... + "i have been told the best place to bye Arcturan Mega weed is from pushers at a space bar. , , "
... + "Galcorp customs are known to blast drug dealers ships and then their escape pods.")
end if

if said("trader tell me about computers") then
say("boss , , , "
... + "we can bye the latest computer devices from high tech industrial worlds. , , "
... + "we then sell them to low tech worlds for a big profit.")
end if

if said("trader tell me about machinery") then
say("boss , , , "
... + "we can bye the latest production machinery devices from high tech industrial worlds. , , "
... + "we then sell these items to farmers on agricultural worlds.")
end if

if said("trader tell me about alloys") then
say("boss , , , "
... + "we bye used alloys from the galactic navy. , , "
... + "we then recycle them by selling them to shipyards on industrial worlds.")
end if

if said("trader tell me about firearms") then
say("boss, i don't recommend dealing in firearms. , , "
... + "If we buy firearms. We will end up as galactic outlaws. , , "
... + "Rock hermitts and starships are always looking for firearms.")
end if

if said("trader tell me about furs") then
say("Lovely Millennium Wompom Pelts. , , "
... + "They are always in demand on ice planets boss.")
end if

if said("trader tell me about minerals") then
say("well boss, , , , "
... + "The best way to get minerals is to mine them ourselves. , , "
... + "for this we need fuel scoops, and a mining laser.")
end if

if said("trader tell me about gold") then
say("boss, , , , "
... + "Gold is sold by the kilo, so we can carry lots of it. , , "
... + "Buy it whenever we see it at a low price.")
end if

if said("trader tell me about Platinum") then
say("well boss, , , , "
... + "Platinum is sold by the kilo, so we can carry a lot of it. , , "
... + "Buy it whenever we see it at a low price.")
end if

if said("trader tell me about gem stones") then
say("boss, , , , "
... + "gem stones are sold by the gram, so we can carry lots of them. , , "
... + "Bye them whenever we see them from rock hermitts. , ,"
... + "We get the best price for gem stones when we sell them to royal houses on feudal planets.")
end if

if said("trader tell me about alien items") then
say("boss, , , , "
... + "We get the best price for alien items when we sell them to the galactic navy.")
end if

if said("What can I say to my engineer?") then
say("You can give orders to me commander, for example , , , , "
... + "engineering, what do you do. , , "
... + "engineering, we need to buy new equipment. , , "
... + "engineering, lets check out the ships for sale. , , "
... + "engineering, show the ships options. , , "
... + "engineering, buy fuel. , , "
... + "engineering, load a missile. , , "
... + "and engineering, transfer fuel from external tank. , , "
... + " , , and commander. I always obay orders correctly, it's you, that makes mistakes!")
end if

if said("engineering what do you do?") then
say("Commander, I maintain the ship and follow orders, sir., , , "
... + "You can ask me about the ships systems and upgrades. sir. , , "
... + " , , commander, you can ask me more about engineering matters. engineering tell me about fuel scoops. for example.")
end if

if said("What can I say to my helmsman?") then
say("eye eye. , , When i am at the helm, commander, You can say to me, , , , "
... + "helm, increase speed. , , "
... + "helm, decrease speed. , , "
... + "helm, engage fuelinjectors. , , "
... + "helm, engage jump drive. , , "
... + "helm, prepare for galactic hyperspace. , , "
... + "helm, start hyperdrive countdown. , , "
... + "helm, dock quickly. , , "
... + "helm, start docking proseedure. , , "
... + "and helm, take us out of dock. , , "
... + " , , and one more thing commander, She's a fine ship is this one, try not to scratch her paint! ")
end if
Editorial Note on the above: spelling mistakes are unchanged (some may be necessary for pronounciation). 
But note that some of the information is misleading (eg.: Lovely Millennium Wompom Pelts. , , "... + "They are always in demand on ice planets boss.")

Links