VoiceAttack version 1.5.7 out on the site

1,469 views
Skip to first unread message

Gary

unread,
Dec 6, 2014, 8:32:30 PM12/6/14
to voice...@googlegroups.com
Hello, folks.  Been a while since a full release.  I think the dust has settled enough to release what I've been sitting on for like two months now.  Below is the release notes from the site.  You can access the new version here :  http://www.voiceattack.com/download.aspx    Also, for those of you with gimped up Windows installers, a zipped directory is available here :  http://www.voiceattack.com/filesend.aspx?id=VoiceAttack157.zip

Hope you are all having a great evening!

Gary




v1.5.7

-    Improvements

     -  First pass at joystick integration in VoiceAttack.
        You can now assign the buttons on up to two devices to 
        control features such as command execution and start/
        stop listening.  Each device can have up 128 buttons, plus
        up to four POV (hat) controllers.  VoiceAttack will treat 
        each pov as a set of switches that can have 1, 2, 4 or 8 
        positions (they will display as POV 1-8, and act just like
        pressing buttons).  For the 2 direction switches, you
        can choose either up/down or left/right.  There is also
        two-button modifier support which can be cross-stick (eg, 
        press button 1 on joystick 1 plus button 5 on joystick 2
        will execute a macro).

        You will find this feature in pretty much every place that 
        you'll find keyboard shortcuts (including profile override).  
        To turn on joystick support, just go into the options screen 
        and click on the, 'joystick options' button.  Full documentation
        is included down in the .pdf if it's not obvious as to 
        what is going on.  You'll notice in the command screens you
        have yet another checkbox labeled, 'when i press joystick 
        button'.  This is where you can assign your buttons to your
        commands.  There are two new, 'other' actions:  enable/disable 
        joysticks.
        
        I didn't implement a, 'stop all commands' as global
        feature, since there is already a command action that
        does the same thing.  If this comes up as a need later,
        we can work it out then :)
        
    -   Added, 'Wait until tts is finished before continuing'.
        This will hold up the executing command until the
        speech finishes (Useful for prompts).

    -   Added, 'TTS can complete other tts' feature to 
        complete any other executing TTS.  Note that any TTS
        marked, 'wait til finished' will be completed and
        execution will resume in that command.  Use with
        caution.
       
        Adding the, 'wait' feature has added the need to have
        multiple instances of TTS (due to threading).  This, 
        coupled with the ability to stop all processes (and 
        also stop any executing tts) has now made it to where multiple
        TTS instances can run at the same time.  This may
        cause some to have to redo their profiles somewhat, but the
        requests for having a, 'wait until finished' come up
        a LOT.  The, 'interrupt' feature was added in case that gets 
        annoying.        
       
    -   Added, 'Wait until sound is finished before continuing'.
        This will hold up the executing command until the
        sound file finishes playing (Useful for prompts). 

    -   Added, 'This sound can complete other currently-playing
        sounds' feature to complete any other playing sound file
        Note that any sound that is playing and is marked, 'wait 
        til finished' will be completed and execution will resume
        in that command.  Use with caution.
       
        Adding the, 'wait' feature has added the need to have
        multiple instances of sound players loaded (due to threading).
        This, coupled with the ability to stop all processes (and 
        also stop any executing sounds) has now made it to where 
        multiple sound players can run at the same time.  This may
        cause some to have to redo their profiles somewhat, but the
        requests for having a, 'wait until finished' come up a LOT.  
        The, 'interrupt' feature was added in case that gets 
        annoying.
       
        *******Isn't copy and paste great? :)
       
        NOTE: If you are using, 'Force Legacy Audio' or have removed
        your Windows Media Player components, these features will not
        be available to you (a warning will be given in the log to 
        indicate this when encountered).        

    -   Updated command edit to allow for multiple
        actions to be selected and manipulated at once.
        Ctrl + A selects all, holding down shift allows
        for multiple items to be selected, holding down
        ctrl will allow for you to pick non-contiguous
        items, etc (just like a normal list box... lol).
        You can move groups of items (even non-contiguous
        items) up and down, delete, copy and paste
        (within the same command or even within another
        command in another profile).

    -   Added, 'copy all as text' to command list.  This
        should help showing command actions be a little easier
        than typing or exporting profiles.
                
     -  Added 'Copy Selected as Text' for sharing
        just portions of your commands.

     -  Added option to stop a repeating macro from 
        executing if the active window loses focus.
        
     -  Added X,Y input boxes for mouse, 'move to'.

     -  Added support for .ogg.  You will need to make
        sure you have a codec for it in Windows Media
        Player in order to actually hear the sound.
        (The codec can be found here : 
        http://xiph.org/dshow/).  Note, this will only
        work in non-legacy mode (just like .mp3 and 
        .wma).
        
     -  Added new token {TXTURL:textValueName}.  This works
        just like the {TXT:textValueName} token, except what
        you get back is the value URL encoded.  Also, if the
        value is not set, you will receive a blank value instead
        of a url encoded, 'not+set' :)        
        
     -  Added the ability to execute a command on profile 
        selection.  Whenever a profile is chosen (even on
        VoiceAttack startup) and this option is set, the
        selected command will be executed.  Some will want
        to use this to play a sound (or tts).  Some may
        want to use this to initialize stuff.  A log message
        is written to remind you that this is going on :)
        
     -  Added an unrecognized command, 'catch all'
        command that can be selected from the profile 
        overrides screen.  If a command is selected and an
        unrecognized phrase is encountered, this command
        will be executed.  The {CMD} token will be overridden
        with the unrecongized value (if you want to do anything
        with that value... say it back to you with TTS, pass
        to a plugin, whatever).  Outside of that, it works
        just like any other command (including the confidence
        level).  Use it to play a sound (which is what I'm sure
        it will be used for the most... lol).
        
     -  Added advanced feature, 'Execute Another Command by Name'.
        In the, 'Execute Another Command' action screen, you can
        now either pick another command from a dropdown list or
        you can enter the name of a command to execute in the
        provided text box.  The text box can contain replacement
        tokens for how ever you want to use it.  This is designated
        as an, 'advanced' feature since there is limited loop 
        checking performed.  If a full command name exists, a check
        will be made.  If the command can not be found (with or 
        without tokens) there is no loop check.  This can easily
        freeze and/or crash VoiceAttack.  You've been warned :)
        Also, if you are trying to execute a multipart command by
        name, you can pick any one of the commands and it will
        be used (for instance, if you have a multipart command
        labeled, 'test;test all;test something', you can just
        put, 'test' in the box.        
        
    -   Confidence levels are now exposed to the user for
        selective execution of commands.  When the speech
        engine recognizes a phrase, a confidence score is
        given based on how accurate the speech engine thinks
        it was at recognizing.  You can now indicate that a 
        minimum score must be met in order to execute commands.  
        This value can be set in the options page as a 'global'
        minimum, at the profile level as an overide and default
        for all commands in that profile, or, at the command 
        itself (which overrides everything).  If a phrase is
        recognized but is rejected due to being below this
        threshold, indication will be shown in the log.
       
        If the confidence level is used in composite commands
        (prefixes/suffixes), if either of the parts is using
        the confidence level, the derived command will use
        that level.  If *both* parts are using the confidence
        level, the maximum of the two will be used.  

    -   Included support for mouse back and forward buttons
        in the mouse action screen.  You can now click,
        double-click, hold down and release the mouse forward
        and back buttons just like you could the other three.
        
    -   Added new token {TXTRANDOM:value} to allow
        for the simple randomization of text within a token.
        For example, TTS could be set up to say, 
        'I love {TXTRANDOM:food;animals;jewelry}' and the result
        would be, 'I love animals' or, 'I love food' or, 'I love
        jewelry'.  Note that the, 'value' portion can be
        another token, however, if you want to randomize
        randomized tokens, I might suggest using text values
        to store each part (may or may not work like you want
        it to otherwise... winding down an endless permutation
        trail for testing at this point).        
        

-    Bug Fixes

     -  Removed code to release modifier keys on kill
        command to avoid any unpleasantness.  I guess 
        this isn't technically a bug, but it's definitely 
        not an, 'improvement'.        
        
     -  Fixed bug where -listeningoff command line parameter
        would prevent startup command from executing.        

      -  Fixed an issue where the key passthrough was not
         staying set for some hotkeys.

Adrian Collie

unread,
Dec 7, 2014, 11:42:02 AM12/7/14
to voice...@googlegroups.com
Holy Space Monkeys! Thats a heck of an update. I was a bit circumspect when I first heard about the proposed joystick command links a few months ago, but now I have read about it I can see this is going to get used by me a fair bit.

Thanks a lot Gary.

RoyMi6

unread,
Dec 8, 2014, 4:47:46 AM12/8/14
to voice...@googlegroups.com
Really nice update!

Can I get in early with a feature request for the "unrecognised/catch all" functionality?

It would be really nice if there was some kind of search done by the system so that it could feed back a "say" phrase that you might mean as a "command suggestion"

E.g.
I say "lower gear"
VA hears "power gear"
I've got a command "lower gear; lower landing gear; drop gear; drop landing gear; deploy gear; deploy landing gear"
A fuzzy search matches the above command the most
VA returns one of the "say" commands back to me as {COMMAND_SUGGESTION} (i.e. "lower gear");
I use TTS to say "I'm sorry, I don't understand 'power gear'. Did you mean 'lower gear'"

It would also work really well if you haven't got fleshed out commands:

E.g. I say "lower landing gear"
VA hears (perfectly) "lower landing gear"
I've only got the commands "lower gear; deploy gear"
A fuzzy search matches the above command the most
Returns command suggestion and uses TTS as before

Would really "close the loop" you can get stuck in while using VoiceAttach when you're working from a vap profile you've downloaded online, you're just getting used to what you've added as commands, or you have a friend over that is trying it for the first time and needs to work on their pronunciation.

Roy
Message has been deleted

Alois Dumas

unread,
Dec 8, 2014, 10:28:52 AM12/8/14
to voice...@googlegroups.com
Ok,
Found it. 

:)

Thanks ! 

Zephy

unread,
Dec 8, 2014, 10:30:13 AM12/8/14
to voice...@googlegroups.com
Thanks a lot Gary :)

ayreml...@googlemail.com

unread,
Dec 10, 2014, 2:13:29 PM12/10/14
to voice...@googlegroups.com
i purchased where is my key?

Jerry Ozbun

unread,
Dec 10, 2014, 2:24:26 PM12/10/14
to voice...@googlegroups.com
Hello.

Have you checked your spam folder?

--

---
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.

Gary

unread,
Dec 10, 2014, 4:30:27 PM12/10/14
to voice...@googlegroups.com
The email address you are sending from is not the same as what you have on file for PayPal.  I have replied to your message sent to support.

Hope that helps!

Gary

HeroHarmony

unread,
Dec 10, 2014, 4:32:54 PM12/10/14
to voice...@googlegroups.com
It looks like I tuned in just in time. I haven't updated in awhile. Great work as always Gary! 

Ken Patterson

unread,
Dec 11, 2014, 1:05:04 PM12/11/14
to voice...@googlegroups.com
I thought I had seen here someone post this error:

UNABLE TO EXECUTE PROFILE INITIALIZE COMMAND. COMMAND NOT AVAILABLE.

Initialize is a command I have set in options as the command to run when starting VA. If I export my profile, delete it, then when I re-import my profile it will give that error and I will see that, in options, the setting to run a profile at start is cleared.

Gary

unread,
Dec 11, 2014, 4:34:05 PM12/11/14
to voice...@googlegroups.com
Thanks for the heads-up.  I will look into this.

Gary

Gary

unread,
Dec 11, 2014, 10:12:23 PM12/11/14
to voice...@googlegroups.com
Hi, Ken.  I have found and fixed the issue. 

I also added, 'Disable profile initialize commands' to the Load Options screen (if you press Ctrl + Shift on start up).  I found this necessary, since I was goofing around and discovered that if you initialize a profile with a command that changes to another profile, you will not be able to load your profile again... lol

This will be out in the next beta (coming soon).  This will need to be fast-tracked to release, since it may cause issues for others.  Good catch!

Gary

On Thursday, December 11, 2014 12:05:04 PM UTC-6, Ken Patterson wrote:

Gary

unread,
Dec 11, 2014, 10:59:22 PM12/11/14
to voice...@googlegroups.com
Hi, Ken.  I put the latest beta out on the site that has a fix for what you are experiencing.  The issue was with the export of the profile, so, whatever change you had made will have to be redone.

The beta can be found here : http://www.voiceattack.com/beta.aspx

Let me know if that does the trick for you.  If so, I will make a full release out of it (unless something else comes up in the short term).

Gary

On Thursday, December 11, 2014 12:05:04 PM UTC-6, Ken Patterson wrote:

glyn windross

unread,
Dec 12, 2014, 3:55:08 AM12/12/14
to voice...@googlegroups.com
gary can you help  ive got the full voice attack and have the code where do I go to register so I can start to set up


On Sunday, December 7, 2014 1:32:30 AM UTC, Gary wrote:

Luca D

unread,
Dec 12, 2014, 4:14:11 AM12/12/14
to voice...@googlegroups.com
There's a button in the option window, you can open that using the wrench icon on the top

Ed Curtis

unread,
Dec 13, 2014, 1:02:38 AM12/13/14
to voice...@googlegroups.com
Great update, can I request an option for multiple independent joystick buttons for joystick recognition.

When I fly a helicopter in DCS I use one controller, but when flying a fixed wing aircraft I use another...

Gary

unread,
Dec 13, 2014, 12:47:39 PM12/13/14
to voice...@googlegroups.com
Hi, Ed.

You can use up to two buttons on up to two sticks at a time.  For example, pressing button 3 on joystick 1 and button 4 on joystick 2 at the same time can invoke a macro.

Hope that helps!

Gary


On Saturday, December 13, 2014 12:02:38 AM UTC-6, Ed Curtis wrote:

Ken Patterson

unread,
Dec 13, 2014, 1:39:21 PM12/13/14
to voice...@googlegroups.com
Ok, I tested this out. It did not work, at first. Even after exporting the profile again, deleting it, and re-importing. Still gave the error. It wasn't until I uninstalled VA then reinstalled that it started working.

Ken Patterson

unread,
Dec 13, 2014, 2:01:07 PM12/13/14
to voice...@googlegroups.com
Ok, here's another bug. I am going partly by memory cause in fixing it I lost a detail of the bad code, but here goes

Example 1:

Begin Condition : [Variable1] Equals 0
    Set [Variable2] value to 0
End Condition
Begin Condition : [Variable1] Equals 1
    Set [Variable2] value to 0
    Say, 'setting is disabled'  (and wait until it completes)
End Condition 


Example 2:

Begin Condition : [Variable1] Is Less Than Or Equals 1
    Set [Variable2] value to 0
    Begin Condition : [Variable1] Equals 1
        Say, 'setting is disabled'  (and wait until it completes)
    End Condition 
End Condition


Ok, so. I have example 2 and it's not working for me so I am trying to debug it. (why it wasn't working is irrelevant, the reason was elsewhere in the script and not relevant to the bug I am describing). So, I change the script to example 1 but I still have my bug. I need to see the bigger picture so I use the 'Copy All as Text' command on example 1 so I can view it in Notepad. But, what it shows me in Notepad is example 2. I can sit there and look at both of them, showing different code. I can repeat this half a dozen times. The actual fix to MY bug was me moving an End Condition in example 1 up a few lines (this is the detail i cannot remember exactly but the specifics are likely unimportant.. maybe) and once I moved it up, recopied the script to Notepad, then it showed me correct script from example 1.

Good luck. This one looks like it might be fun to narrow down.. but not a program breaker. I'm ASSUMING some kinda validation problem on the Conditionals as a root cause? Just a complete guess, though, as I can't see your code.

Ken

Ken Patterson

unread,
Dec 13, 2014, 2:29:06 PM12/13/14
to voice...@googlegroups.com
Duh! I wasn't thinking. Without being able to reduplicate the problem you're not gonna be able to debug it easily. I'll see what I can do, but I don't know if I can reduplicate it either.

One very important detail I did forget, though, is that when I would save example 1 (before moving the End Condition) I could save no problem. After moving the End Condition up it gave me an error about the Conditionals being incorrect, not 1:1 with Begins (which is why I am assuming a problem in Conditional validation) and I had to delete an End Condition (the other detail I cannot remember.. which End Condition). So, I must have made a change to Conditionals which made them not pair up 1:1 but VA did not catch it when I would save and, at that point, it would show me differing script when comparing VA to Notepad, and once I fixed the Condition by moving it up, getting an error about matching, then deleting the End Condition did it show matching script.


Now that I think about it, MY bug was probably a side effect of the ghost End Condition. That may move importance up a little.

 

Gary Magenheimer

unread,
Dec 13, 2014, 2:41:29 PM12/13/14
to voice...@googlegroups.com
I'm not sure how to fix the problem since there isn't any indication as to what your expectation is.  

Can you please describe what it is you were expecting it to do what it is doing that you are not expecting.

Just a heads up though, something that folks don't realize at first is that conditions do not initialize to zero.  This is by design. If you access the condition without setting the value, their value is "not set".

Hope that helps!

Gary

Gary

unread,
Dec 13, 2014, 4:43:50 PM12/13/14
to voice...@googlegroups.com
Just like in software development, every End Condition must have a corresponding Begin Condition.  End Conditions can not come before Begin Conditions, otherwise you will get an error and will not be able to save your macro.

For example, this should work :

Begin Condition
   Do Something
   Begin Condition
      Do Something
   End Condition
End Condition

This will not work :
Begin Condition
   Do Something
End Condition
End Condition
Begin Condition

The editor should be displaying the nesting properly, so you can kind of see by the alignment of, 'begins' and 'ends'.  It's a little advanced and will take some adjustment to get used to it.

Hope that helps!

Gary

Ken Patterson

unread,
Dec 13, 2014, 6:43:15 PM12/13/14
to voice...@googlegroups.com
Oh no. I guess I didn't explain myself well. I am observing a bug where when I use VA Editors 'Copy All as Text' menu command and copy that text to Notepad, what I see in Notepad is different than what I see in the Editor. I tried many ways to get it to stop (exporting, deleting, reimporting for example) and I could reproduce it several times. It wasn't until (I thought) I saw an error in the code having to do with the placement of an End Condition which I then moved up a few lines and when I did, I tried to hit 'Ok' to save the command change but it would not let me save it because it said my Begin/End Conditions did not match up. Well, it had been letting me save it before. I didn't add anything, I just moved a line. So I look at it again, and sure enough there was an extra End Condition. I deleted it and it let me save and then when I used the 'Copy All as Text' command again, it showed matching commands in VA and Notepad.

To reiterate:

1. I had code that was not working for me
2. I try to Copy it as text to Notepad so I can see the bigger picture
3. The two copies do not match (and this happened many times)
4. I move an End Condition and VA complains, (not 1:1)
5. I find and delete an extra End Condition that VA did not catch before
6. Both problems (my logic execution that was broken and VAs non-matching commands in VA/Notepad) are fixed.

Two different problems. Though, the answer was likely the same cause, an extra End Condition that, for some reason wasn't being caught at save until I moved it. If I didn't spend over 30 minutes trying to resolve the non-matching commands between VA and Notepad I would have chalked up my logic not working to my imagination and never would have bothered you. But something IS going on there, I just didn't think to save screenshots at the moment.

I hope this made better sense

Gary

unread,
Dec 14, 2014, 12:05:03 AM12/14/14
to voice...@googlegroups.com
If you can, is it possible to export the profile with just the offending commands so I can take a look at it?  You can upload it here or send it over to sup...@voiceattack.com
I will take a look at it and see if there is something amiss.

Gary

Ken Patterson

unread,
Dec 14, 2014, 10:49:42 AM12/14/14
to voice...@googlegroups.com
Gah! That's what I shoulda done! Stupid me, I shoulda captured the XML file when it was in it's bad state. My bet is any remnant of the problem is gonna be gone, now that the offending line was removed, but, ya never know. 

What I will do is I will save the XML (.vap) file in it's current state for you but, unfortunately, I won't send it to you until I get this profile ready to release here in the next 2-3 weeks. I don't want any part of this profile out in the public until she's at least at Alpha. It's a pride thing :) I really, really can't wait to show it off and let everyone use it, but it will have to wait til then and I will send you the version I save today and point out the offending lines.

Ken

Ed Curtis

unread,
Dec 27, 2014, 5:20:47 PM12/27/14
to voice...@googlegroups.com
Thanks Gary, That's great, but I'd actually just like to have it so that I can use one button on each joystick independently to act as the "Global Listening Joystick Button" for voice recognition rather than together if possible?

Instead of;

Joy 1 button 2 AND Joy 3 button 15

I'm looking for;

Joy 1 button 2 OR Joy 3 button 15

Ed

Gary

unread,
Dec 29, 2014, 12:10:22 PM12/29/14
to voice...@googlegroups.com
Yeah... that would require an interface change and an update to a lot of code to make that happen.  That probably won't occur any time soon :(

Sorry about that!

Gary

Ed Curtis

unread,
Dec 30, 2014, 5:03:02 AM12/30/14
to voice...@googlegroups.com
No problem, I've just found out that I can set an override for each profile, so I've set this for my helicopter profiles!

Thanks,

Ed

Ken Patterson

unread,
Jan 4, 2015, 3:36:46 PM1/4/15
to voice...@googlegroups.com
Ok, I just sent a 7z file to support@

Interested in problem 4 (not 5).. and your thoughts :)


On Saturday, December 13, 2014 9:05:03 PM UTC-8, Gary wrote:
Message has been deleted
Message has been deleted
Message has been deleted

Martin Wheeler

unread,
Jan 26, 2015, 3:17:20 PM1/26/15
to voice...@googlegroups.com
Hello Gary

Can I check I have 1.5.7 loaded - I can add vap settings from other users, but I cannot enable joysticks in VA - in options - Joystick button enable is greyed out and "disabled" cannot be activated - the Enable Joystick 1/2 cannot be enabled - as the "tick" box does not recognise any entry - I have T-Flight HOTAS-X which is loaded in Win8.1 and used for ED with no problems, as I have my own keybinds for keyboard etc - I wanted to change a .vap from another user (quicker) but could not get it to recognise button 6 rather than 3 that I use.  I created a new blank profile and tried to add a deploy landing gear (button7) but it would not see the joystick - all buttons checked in Control panel devices.  I could locate anything regarding this.

Any thoughts?

Cheers - hoping

Martin

Gary

unread,
Jan 27, 2015, 4:45:19 PM1/27/15
to voice...@googlegroups.com
Hi, Martin.

In your C:\Program Files (x886)\VoiceAttack folder, do you see SharpDX.DirectInput.dll, SharpDX.dll and VAJS.dll in there?  Those files need to be in place for the joystick feature to be enabled.

Gary

Martin Wheeler

unread,
Jan 27, 2015, 7:13:10 PM1/27/15
to voice...@googlegroups.com

Hello Gary

 

It was user error – I kept expecting the VA option to allow me to click in the enable box – but the text above remarked click on “+” – as I have 4K monitor – the text is very small – so I missed it, I thought I read it without registering what it said – I saw the Enable Joystick 1 & 2 tick boxes – rather than the greyed out “+ or –“.

 

 

Sorry about that – working now – so I can get VA to register I have clicked a button as well as the key option.

 

Regards

 

Martin

--

---
You received this message because you are subscribed to a topic in the Google Groups "VoiceAttack" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/voiceattack/R0g73QG3r7M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to voiceattack...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.




This email has been checked for viruses by Avast antivirus software.
www.avast.com


image001.png
Reply all
Reply to author
Forward
0 new messages