Oolite Voice Control
From Elite Wiki
Contents
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
- 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
Use the following glovePIE script (V6, 15.03.2012):
// 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.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") 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") 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") 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") 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") 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("Captain, 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, fire energy bomb. , , " ... + "Weapons, fire laser. , , " ... + " and weapons, fire a 3 second burst. , , " ... + " , , Captain. 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. , , " ... + " , , Captain, you can ask me more about our muntitions sir. weapons tell me about pulse lazer. for example.") end if if said("What can I say to my tacticle officer?") then say("captain, as your number one officer, You can say to me, , , , " ... + "tacticle, what do you do. , , " ... + "launch escape pod. , , " ... + "tacticle, request docking permission. , , " ... + "tacticle, show advanced navigational array. , , " ... + "tacticle, show political information. , , " ... + "tacticle, show economic information. , , " ... + "tacticle, save position. , , " ... + "tacticle, evasive manoovers. , , " ... + "tacticle, launch cargo shepherd. , , " ... + "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. , , " ... + " , , Captain, I can help us all. with my superior knowledge.") end if if said("tacticle what do you do") then say("well captain, , , , " ... + "I am the ambasidor of the ship, my role is so important, i keep the charts. , , " ... + "I control the viewing screen. , , " ... + "I can advise you about the the nature of hostile craft. , , " ... + " , , you can ask me more about tactics. tacticle, tell me about mamba. for example.") end if 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("What can I say to my engineer?") then say("You can give orders to me captain, 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, fill her up. , , " ... + "engineering, load a missile. , , " ... + "and engineering, transfer fuel from external tank. , , " ... + " , , and captain. I always obay orders correctly, it's you, that makes mistakes!") end if if said("engineering what do you do?") then say("Captain, I maintain the ship and follow orders, sir., , , " ... + "You can ask me about the ships systems and upgrades. sir. , , " ... + " , , Captain, 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, captain, 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 captain, She's a fine ship is this one, try not to scratch her paint! ") end if