Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Voice recognition

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

Cmdr James wrote:
It seems that glovePIE checks the regional settings and in some versions also the timezone.

Of course as the license explicitly prevents its use in Israel, it is kind of irrelevant if its possible or not, as no one should be doing it.
True that! :D

Still, it might stop someone using it in London if they had an Israeli locale set up, which I believe is not the intent of the licence! ;)
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

I think the license is a political statement, if people who live in London chose to set an Israeli timezone and locale, I doubt the author will lose sleep over their inability to use his software.

Note: I dont think the license is sensible reagrdless of views on Israel. If I wrote software I would be happy for everyone to use it. Except maybe people with daft clauses in their licenses :p

The content of this message of licensed for reading by everyone worldwide, except those who have put silly politically (or religiously) motivated clauses in licenses for their software. If you are such a person, please do not read this message.
-Joe
Average
Average
Posts: 12
Joined: Sat Oct 09, 2010 3:13 pm
Location: Gal 3

New version Vr3

Post by -Joe »

Hi folks in this one i have added loads more commands and bug fixed / refined the experiance. Fuel injectors now have variable burn request times. The engineer does more and speaks back.

Anyone else tried my VR script? you won't look back, it's an Oolite evolutionary nescesity.


// 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")
y = said("weapons next missile")
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

Escape = said("launch escape pod")
L = said("tacticle request docking permission")
R = said("tacticle cycle cargo to dump")
z = said("tacticle zoom display") or said ("tacticle magnify display")
key.\ = 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 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")
F5 = said("tacticle display our reputation") or said ("tacticle display special cargo")
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")
Shift+C = said("helm lets have a drink") or said("helm time to visit the black monks") or said("helm dock with target") or said("helm dock with that ship")
key.Shift + D = 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")
F3 = said("engineering lets check out the ships for sale")
F2 = said("engineering show the ships options")
p = said("engineering freeze time and space")

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

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
say("Okay commander, I will equip the ship with a standard missile.")
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")

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

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

if said("What can I say to my weapons officer?") then
say("You can say "
... + "weapons target missile "
... + "weapons untarget missile "
... + "weapons launch missile "
... + "weapons next missile "
... + "weapons fire energy bomb "
... + "weapons fire laser "
... + "weapons fire a 3 second burst ")
end if

if said("What can I say to my tacticle officer?") then
say("You can say: "
... + "launch escape pod "
... + "tacticle request docking permission "
... + "tacticle show advanced navigational array "
... + "tacticle show polictical information "
... + "tacticle show economic information "
... + "tacticle save position "
... + "tacticle evasive manouvers "
... + "tacticle forward view "
... + "tacticle rear view "
... + "tacticle left view "
... + "tacticle right view "
... + "tacticle display short range scan "
... + "tacticle display short range scan "
... + "tacticle display data on system")
end if

if said("What can I say to my trader?") then
say("You can say: "
... + "trader display market prices "
... + "trader buy that "
... + "trader food, textiles, alloys, computers ")
end if

if said("What can I say to my engineer?") then
say("You can say: "
... + "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 "
... + "engineering transfer fuel from external tank")
end if

if said("What can I say to my helmsman?") then
say("You can say: "
... + "helm increase speed "
... + "helm decrease speed "
... + "helm engage fuel injectors "
... + "helm engage jump drive "
... + "helm prepare for galactic hyperspace "
... + "helm start hyperdrive countdown "
... + "helm dock quickly "
... + "helm start docking proceedure "
... + "helm take us out of dock ")
end if
-Joe
Average
Average
Posts: 12
Joined: Sat Oct 09, 2010 3:13 pm
Location: Gal 3

Re: Voice recognition

Post by -Joe »

I have updated the voice recognition for oolite using glovePIE. V6 now features "computer,what can I say" with much clearer sounds and each officer station now has character. More equivalents have been added too, I find that often in flight you forget the exact phrases, so I have added likely alternatives. This seems to complement the way glovePIE reads it so it works even better than expected.

It would be great to have this combined with a voice pack specifically designed to work for each helm, tactical, weapons, trader and engineering officer.

I have added the ability to converse with your crew, maybe talk about the oolite universe.


// 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
m4r35n357
---- E L I T E ----
---- E L I T E ----
Posts: 296
Joined: Wed Jan 19, 2011 4:00 pm

Re: Voice recognition

Post by m4r35n357 »

-Joe wrote:
L = said("tacticle request docking permission")
Prolly just me, but "tacticle" sounds a bit pervy . . . :)
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Re: Voice recognition

Post by Smivs »

m4r35n357 wrote:
-Joe wrote:
L = said("tacticle request docking permission")
Prolly just me, but "tacticle" sounds a bit pervy . . . :)
:lol:
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2020
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Voice recognition

Post by maik »

Added it to the [EliteWiki] Wiki and linked to it from the [wiki]Oolite Instruction Manual[/wiki]. Also on the Oolite Wiki.
User avatar
JazHaz
---- E L I T E ----
---- E L I T E ----
Posts: 2991
Joined: Tue Sep 22, 2009 11:07 am
Location: Enfield, Middlesex
Contact:

Re: Voice recognition

Post by JazHaz »

Didn't know this was even possible! :shock:
JazHaz

Gimi wrote:
drew wrote:
£4,500 though! :shock: <Faints>
Cheers,
Drew.
Maybe you could start a Kickstarter Campaign to found your £4500 pledge. 8)
Thanks to Gimi, I got an eBook in my inbox tonight (31st May 2014 - Release of Elite Reclamation)!
m4r35n357
---- E L I T E ----
---- E L I T E ----
Posts: 296
Joined: Wed Jan 19, 2011 4:00 pm

Re: Voice recognition

Post by m4r35n357 »

JazHaz wrote:
Didn't know this was even possible! :shock:
OK, so it's possible using paid-for software with a crap licence on a single platform, can we improve on that?
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2020
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Voice recognition

Post by maik »

It is freeware as far as I can tell, but has a crap license nonetheless.
Post Reply