Simple confirmation... seems like it works... You'll need beta v1.5.5.7... anybody want to test this out?

3,261 views
Skip to first unread message

Gary

unread,
Aug 29, 2014, 1:00:30 AM8/29/14
to voice...@googlegroups.com
Attached are some commands i put in a profile for you guys to try out.  If this works (seems to work well for me... strangely well), please feel free to share it on your frequented game forums :)

If you load the profile, 'Simple Confirmation' and issue the command for, 'confirmation needed' you should be asked, 'Would you like to eject your cargo?  Yes or no?' via tts.

You can reply with yes, no, affirmative, decline or declined, or, 'hells no' and it should respond appropriately.  Also, if you take too long, it will time out and say, 'you waited too long'.

Some things to note :  

There are four commands to make this work : 

1)  'confirmation needed'... this does the main stuff (note that, 'allow other commands to execute while this one is running' is set to true
2)  a command (multipart) to set a flag to 1 when you confirm 
3)  another command (multipart) to set a flag to 2 when you decline 
4)  'wait for condition' command that the main command executes and waits on.  This command is a repeating command that has a pause of 0.25 seconds.  The pause is there to help slow the loop a bit to maybe prevent a deadlock and to be able to set a predictable timeout for the confirmation when the value is set.  If you multiply the pause time (like a polling frequency) times the number of times the loop repeats (in this case 40 iterations) that gives about ten seconds from the time tts STARTS speaking until it times out.  If you want it to be faster polling, lower the pause value. The command exits if the flag is set (from your other commands).

Also, you can give your answer while tts is still speaking (the loop starts immediately).


Anyways, I thought this would be kind of fun to put together and could be useful.  As noted in the header, you'll need beta v.1.5.5.7, since this does rely on breaking out of a loop when a condition is met.

This *may*, if it works out alright, negate the need for me to create an internal confirmation command...  (hope hope hope).


Have a good night!

Gary
Simple Confirmation-Profile.vap

Gary

unread,
Aug 29, 2014, 1:08:31 AM8/29/14
to voice...@googlegroups.com
Thinking this could be augmented to be some kind of conversation bot...  not sure yet... lol

Gary

Gary

unread,
Aug 29, 2014, 1:12:05 AM8/29/14
to voice...@googlegroups.com
Also, since the 'confirmation needed' command allows any other command to execute while it is waiting, you can issue other commands before giving an answer...  you already knew that, tho.

Gary... up late chattin' it up.

Raron

unread,
Aug 29, 2014, 1:54:42 AM8/29/14
to voice...@googlegroups.com
Works great here!

In fact so great that I didn't even have to confirm it - when I took the mic closer to the loudspeakers (I just had to try it), it heard the TTS saying "... eject the cargo?  yes or no", and recognized the "yes" part lol :)

Zephy

unread,
Aug 29, 2014, 3:55:54 AM8/29/14
to voice...@googlegroups.com
Hahah, you'll need to use headphones or remove the "yes or no" part, which isn't really necessary since the possible answers are rather obvious...
Anyway nice idea Gary. Developping this to have some kind of short conversation would be very (nerd) fun ! :-)

Lynx-Lynx

unread,
Aug 29, 2014, 9:42:00 AM8/29/14
to voice...@googlegroups.com
Just perfect !

gonna replace my previous one now !

Thank you very much for all the work you invest !

Gary

unread,
Aug 29, 2014, 11:58:44 AM8/29/14
to voice...@googlegroups.com
This looks like it could be way more flexible than what I would have created as a canned action.  My plan was to have a, 'wait' command that would have two commands that you would indicate as, 'confirm' and, 'decline' with a timeout.  With this, you can have as many different responses as you want.

Jerry Ozbun

unread,
Aug 29, 2014, 1:01:06 PM8/29/14
to voice...@googlegroups.com
Frickin awesome!!!


--

---
You received this message because you are subscribed to the Google Groups "VoiceAttack" group.
To unsubscribe from this group and stop receiving emails from it, send an email to voiceattack...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raron

unread,
Aug 29, 2014, 1:26:42 PM8/29/14
to voice...@googlegroups.com
@ Zephy:

I know, that was just for fun :-)

Confused Monkeh

unread,
Sep 1, 2014, 4:29:23 PM9/1/14
to voice...@googlegroups.com
Holy bejeezus! this is awesome. Thank you. Thank you very much :D

Tim

unread,
Sep 1, 2014, 8:16:02 PM9/1/14
to voice...@googlegroups.com
Holy cow this is awesome, thanks so much for this. Going to have some fun with self-destruct timers tonight!
Message has been deleted

iBuilder Live

unread,
Sep 4, 2014, 4:47:04 AM9/4/14
to voice...@googlegroups.com
Hey Gary, and peeps, 

I checked this out as I was writing something similar and your solution for Star Citizen eject sequence, while similar to mine, works but with one slight flaw.   

If you were to say no, or yes or any of the confirmation responses BEFORE you say "confirmation needed", the value of confirmValue did not seem to change back to 0 as intended on the very first line of the command, and I immediately got the result you'd expect if I had answered yes or no without saying anything.  Duplicate this with your profile by saying Yes, then say Command needed and do not respond..  It will ask if you want to eject cargo, then tells me my cargo has been ejected even tho I did not respond.  The same holds true for the no responses.  

I have attached a solution with one additional command "reset confirmation"  which sets {confirmValue} = 'Not Set' AND a {TXT:confirmValue} = "Not  been set"
I use the TXTvar to give me audible feedback on states while testing.   
So in this example you will see I edited the "eject" command to say the text value of {TXT:confirmValue}.
Also added the "reset confirmation" at the top, replacing your set confirmValue = 'Not Set'  because it added the ability to ensure the command executed completely before continuing to the next command line by making the command wait till this was executed before continuing.

Hope that works for you all, it was flawless for me, I could not break it.  no matter how many times you say yes or now before saying eject.

Cheers, 



iBuilder.
EjectConfirmation.vap

Lynx-Lynx

unread,
Sep 10, 2014, 2:30:12 PM9/10/14
to voice...@googlegroups.com
OK, i think i want to share my attempt now as well.

Using Gary's base confirm Profile, i have adjusted the commands.

Star Citizen example:

at the beginn of the game you need to initialize all variables, you do this by running/saying the "start system" command. This only needs to be done once !

this sets the Variable "Schleudersitz" (german - emergencyseat) to 0.

if you say now " Emergency seat" it sets Schleudersitz value to 1 -- This is important because "yes" to confirm and "No" to cancel will only execute, if this value is 1 !
and TTS will ask you"sure ?" (Keep it short, in an emergency i don't want to have a PC asking me tons of words....)
Yes or No it does nothing If "emergencyseat" wasn't called before. This solution is also usefull, because you still can use "Yes" and "No" also for other commands with verifications needed, you only need to implement a variable and it would execute, because all
what "Yes" or "No" does is changing the "Schleudersitz" value.

If you say "yes" after saying "Emergency seat" it sets "Schleudersitz" to 2 (In the Yes - command), the SchleudersitzTimer command interrupts (Schleudersitz is not equal 1 anymore), and jumps back to main command (Emergency seat)
If you say "No" after saying "Emergency seat" it sets "Schleudersitz" to 3 (In the No - command), the SchleudersitzTimer command interrupts (Schleudersitz is not equal 1 anymore), and jumps back to main command (Emergency seat)
If the timeout happens,"Schleudersitz" still equals1, It also jumps back to the main command (Emergency seat)

Back in the Emergencyseat command it checks now for 3 conditions !

If "Schleudersitz" is still 1, TTS says "Timeout reached"  AND sets "Schleudersitz" to 3  (Like i cancelled) and the EmergencySeat continues
If "Schleudersitz" is 2, TTS says "see you later" , Star Citizen would get now the Keypress (Right ALT + L), it sets Schleudersitz back to 0, and exits the  Emergency Seat command !
If "Schleudersitz" is 3 (after timeout OR canceling), TTS says " securing emergencyseat safety bolts again" EmergencySeat still continues

and in the last line it sets "Schleudersitz" back to 0 (like nothing happened) and then exits the command.

That's all ! Works flawless and reliable....AND the YES and NO commands are still available for other verifications !!!

Have fun


Am Freitag, 29. August 2014 07:00:30 UTC+2 schrieb Gary:
EmergencyConfirmFullyWorking-Profile.vap

Dizzy High

unread,
Sep 30, 2014, 6:39:44 PM9/30/14
to voice...@googlegroups.com
Thanks Lynx - Lynx/

I took your excellent profile, and made some adjustments so multiple commands can be run using the same set-up

By creating command lists,and response lists that use a condition to determine which one to use.
My profile is for Elite Dangerous but the same methodology applies to anything really.

I  also created a step by step tutorial and a quite thorough explanation of the set-up and how it all works at the end of the tutorial.

I've credited you in the tutorial also :) as the main set-up was taken from you.
you can download it here, if your interested:
https://dl.dropboxusercontent.com/u/5769149/Voice%20Attack%20Conditions%20Tutorials.zip


Lynx-Lynx

unread,
Oct 4, 2014, 7:08:06 PM10/4/14
to voice...@googlegroups.com
Hi Dizzy High,

chapeau !!!

I am highly impressed by your Tutorials. You have put alot of efford and work into them !

Thanks for giving me credits, but like i mentioned in my previous post, the original idea came from Gary - the man himself.
I only finetuned the profile to be more versatile.

I think you have completed the confirmation profile now into a fully modular concept. with your tut everybody should be able to to make their own confirmations now.

But also your general explaining on conditions and sharing your ideas ! absolutely great !!


Am Freitag, 29. August 2014 07:00:30 UTC+2 schrieb Gary:

curtas...@gmail.com

unread,
Dec 16, 2014, 10:26:54 PM12/16/14
to voice...@googlegroups.com
Love it. I am setting my VoiceAttack, with LCARS (Library Computer Access/Retrieval System). The OS from Star Trek. Right now, it is just using the simple computer noise, and pre-recorded LCARS vocals.  So I am able to give it a command, and it asks for an "authorization code". So, as long as you know the proper response, with the proper value you need, well, you get it.
-Bear

-Ice

unread,
Dec 21, 2014, 5:44:05 PM12/21/14
to voice...@googlegroups.com
Curses to you Dizzy!!  Shucks, bollocks, and other things!!  Thanks to your insanely cruel and inhumane tutorials that is devilishly detailed, I'm now going to miss a few more hours of sleep!!

I owe you a couple of liters of Mt. Dew (or beverage of your choice with similar value!) for this guide!!

Dizzy High

unread,
Feb 24, 2015, 3:40:22 AM2/24/15
to voice...@googlegroups.com
he he :)
Many hours were lost making those tutorials, glad to pass on the reduced sleep i got to others :)

Gary

unread,
Mar 30, 2015, 3:40:02 AM3/30/15
to voice...@googlegroups.com
I made a sample revision, using the new stuff in the latest beta (see attached).  This one eliminates the extra, repeating command which allows a confirmation to be contained within just three commands : the initialization command ('confirmation needed'), confirm and decline.  With a combination of condition blocks and jump markers, you can build a decent, 'while loop' right inside the command without need to call an external, repeating command.  There's also some comments in the 'confirmation needed' command to show whats going on.  It's a little bit 'wordier' in there than just calling an external command, but I think it might be useful... maybe a little easier to understand what's going on (maaaaaaaaybe).

Gary
Simple Confirmation-Revised.vap

Robert Scott

unread,
Mar 30, 2015, 6:05:51 PM3/30/15
to voice...@googlegroups.com

You must be some kind of mind reader or something. I was sitting here thinking it would be great if there was another example like the simple confirmation for the new stuff and came to the forums to beg for one. What do you know? Bam, there it is. Thanks. :)

Nate

unread,
Apr 16, 2015, 12:14:15 PM4/16/15
to voice...@googlegroups.com
This is great!

George Triay

unread,
Aug 3, 2015, 3:33:34 AM8/3/15
to VoiceAttack

-------------------------------------

Pretty AWESOME Gary!!! Just what I was looking for.

The only thing you forgot to add is the   " [●] This completes all other current-playing text-to-speech", on both the confirmation responses, yes or no so that the first question tts stops playing or talking if you answer before it finishes talking.  Other than that it works great!!

MANY THANKS!!!!!!
Reply all
Reply to author
Forward
0 new messages