AVCS4 Immersive Voice Control Radios for VoiceAttack
-
Are you still with us Semler?
I’m still here, I’ve just been very busy. All of March and into a few weeks of April, I was designing a ‘wiki page’ system for the VG website. It was assumed to be a 2-3 week project, ended up turning into 6 weeks of hell. But VG now has a wiki for all sorts of server info, players guides, and of course for my own AVCS profiles as well. The systems are done, the pages are not. All of 2021 so far has been devoted to overhauling the VG website, restructuring membership and group advancement systems, and developing new website systems for our members.
I intend to dive back into my AVCS projects asap - just wrapping up some unfinished work and tasks that got put off in the first quarter of this year. I hope to have some progress to announce within the next few weeks.
If you need help, like rubbra wrote, find the AVCS support channel in the VG Discord: https://veterans-gaming.com/discord/
-
Thanks Semler and rubbra. Had a look on Discord, but my issues are trivial and not so technical I imagine. A few of my commands don’t work( “out the box”), but the rest are great! This App is much appreciated.
-
Thanks Semler and rubbra. Had a look on Discord, but my issues are trivial and not so technical I imagine. A few of my commands don’t work( “out the box”), but the rest are great! This App is much appreciated.
It’s worth spending time making sure your audio is nice and clear without any echo. This made a huge difference in recognisability for me, as well as doing the speech training.
I also find that, if I use phrases before the actual command (wildcards), then it helps to leave a very slight gap before the command. Eg. Goblet4… ready for departure.
Sent from my iPhone using Tapatalk
-
I’ve finally had some time to spend with AVCS again, and have gotten a number of things accomplished. I had not anticipated several months away from this project, working most of this year on the website and the new VG Wiki, but this pause has given me perspective and a host of new ideas.
AVCS CALC and NATO Typing
I started back in easy, refining a yet unreleased alpha profile called NATO Phonetic Typing, which will be a standalone modular profile like AVCS CALC. This will let us turn on/off voice typing as needed, very helpful for VR - naturally, Windows Speech Recognition comes with a dictation based typing tool, but using VoiceAttack instead, we lose this. I don’t think I could approximate all of the features of this Windows tool, but with NATO Phonetic Typing, we can come close. Limitations of VA make commands of only a single letter (or few) very difficult to use as voice commands, so this profile allows typing by words - typing only the first letter of a word, like “Alpha” outputting the letter “a”. Common actions like ‘space’ or ‘capital’ are allowed as well, and ‘backspace’ or ‘go back 3’ (for example) for deleting the last 3 letters, or any number.Using what was learned there, I applied it to AVCS CALC to finally allow recognition of “minus” style subtraction operations, where in the past, “4 minus 3” would not fire, instead requiring the use of “4 subtract 3”. That is now all fixed, and “minus” operations are now fully functional and properly recognized without having to use “subtract”. This plays directly into the other improvement, allowing conversion of negative temperatures in Fahrenheit, Celsius/Centigrade, and/or Kelvin.
AVCS CORE and AVCS4 BMS
I’ve gotten back on track with AVCS CORE and AVCS4 BMS Radios. At long last, AVCS CORE is leaving Beta testing, and I am finally assembling the v1.0 profile package now, hoping to have it public within the next 3-4 weeks or sooner. During Beta test rounds, AVCS CORE has had a copy of its commands inside AVCS4 BMS Radios to keep things simple for those kind enough to participate in these Beta test profile versions. This was never meant to be permanent, else anytime I’d update AVCS CORE, any profile using copies of its commands would require a profile update/download/import as well. AVCS CORE is supposed to be a Hub profile so I can release AVCS4 Profiles for many games in addition to this sim, all having the benefit of using common commands from Save File System through Quick Command Creator. If I later update AVCS CORE, all AVCS4 profiles which rely upon it will inform the user to include the latest AVCS CORE profile commands into their AVCS4 Profile(s) during initialization.For v1.0 and onward, all users will need to include AVCS CORE profile commands through the AVCS4 BMS Radios profile options during first time initialization - the profile will pause initialization at that point, and provide instructions in the VA Event Log, and ask the user to say, “Initialize Profile” when done to pick back up where it left off. This is a one time action only needed when an AVCS4 profile for any game/sim (currently only AVCS4 BMS) is imported into VA.
I am also working on the AVCS Manuals and a set of VG Wiki pages dedicated to standard use as well as technical configuration details and options, and a full manual for using AVCS CORE Framework to build user profiles that take advantage of AVCS CORE systems. As these procedures and instructions become more solidified, I intend to release video versions of them - short videos less than 10 minutes in length on each different system - as well as promotional videos demonstrating standard and non-standard usage.
What’s new?
Features of the latest AVCS CORE will now include a fully voice controlled Push to Talk (PTT) system that will simply ask users to press a joystick button, keyboard key, or mouse button, and set/save that for the user defined PTT button. Up to 6 total PTT buttons can be set, any combination of controller(s), keyboard, or mouse buttons. The listening mode can be set to only block game/sim commands (default) or as a Global mode where PTT actually toggles VoiceAttack listening on/off. A PTT monitor loops when PTT mode is on and a PTT key has been set, to watch for any of these 6 keys to have been pressed. Users will no longer need to continually hold the PTT button to ensure a command fires - tapping it once “wakes” the recognition or command acceptance for several seconds until it toggles back “off”.The new PTT system also recognizes always down keys, so users can set dual-stage trigger style buttons like the trigger on the Saitek X52, or to use as a ‘Push to Mute’: hold a button, call the PTT command to set a PTT button, when asked to “push” a button, briefly release the ‘held’ button and then depress again - it will set this as PTT in reverse, so that VoiceAttack would only be prevented from recognition when this button is pushed. One example could be using this for your TeamSpeak3 Push to Talk button so that when you are speaking to others in TS3, VoiceAttack cannot be listening/recognizing commands.
…
Thank you all for your support and patience!
-
Nearly there… last rounds of polish and testing; going so well that I revisited my stretch goals and was able to integrate all of them! PTT mode will now have a “wake by name” when in Global Listening mode - disables all VA listening unless Push To Talk button(s) has been pressed, OR the user says the ‘Computer’ Assistant Name they have saved for their AVCS profile. Also added a system that can allow new voice commands and macros to be added through the Live Updates patch system, to insert new commands if needed without forcing users to download a new profile version. A CORE system can also identify any of these “MISC” commands that are set to fire AFTER profile initialization, with the ability to set global variables to values, so that if something did not occur right during init, I could create a patch command to fix it post-init anytime AVCS loads, again bypassing or postponing the need to release another physical profile version to be downloaded and imported by users.
Also added a voice command “Display the Command Reference” which identifies the current AVCS profile and opens the most up-to-date command reference page on my website, or the most recent command reference file (placed in VA_APPS/AVCS when profile first imported) if offline.
https://veterans-gaming.com/semlerpdx-avcs/profiles/commref/bms40.html/
-
Please download updated final version of AVCS CORE (v1.0) as well!
Thanks to everyone for helping to finish up final testing and for your patience this year as I’ve been so busy with the VG website!
As I wrote in my post about the final public AVCS CORE v1.0 release, I cannot believe I’m finally here! I’ve been working on this vision of a project for over a year and a half, and came up with the idea after the first “day one patch” due to a typo in one of my public voice command profiles. I dreamed of a profile hub that could help manage any game profile I release, as well as work like a template for VoiceAttack profile builders to use for their own projects, including AVCS CORE functions and methods in an included Template Profile.
Two of the largest setbacks for the AVCS4 BMS Voice Controlled Radios project had been my misunderstanding of how to deal with international decimal separators, and the extremely unintuitive Push to Talk Button setup procedure. With this final public release of AVCS4 BMS v1.40, I have at last overcome these issues, and the new Push to Talk Mode features are completely automated, voice controlled, and completely customizable including the classic default mode which only gates game commands behind the PTT key(s), and now an option to toggle Global Listening Mode with the use of the PTT button(s) (up to six keyboard, mouse, or controller buttons). As an added feature, users can set a ‘Computer’ Assistant name that works like holding the PTT button(s) for a brief period, waking Global Listening long enough to issue commands.
I’m also happy to announce that users can just say, “Open the Command Reference”, to view the latest updated command reference on the VG website, or the most recent command reference on file (if offline).
With this final public release including the AVCS CORE (v1.0) profile, I can even add new voice commands through patch updates between major profile updates if needed, to further minimize the need to force new profile download and imports for minor changes. So long as AVCS CORE command systems do not change, it should be very easy to support additions to games through game updates, or even modify and add to existing commands with new alternate phrasings to help maintain my goal of conceptual command use, “any way you say it”.
Huge thanks to everyone who helped out with comments, feedback, bug reports, and testing - there is no way I could have come this far without all the support and I just can’t thank everyone enough! Special thanks for the coffees! I still have plans to build upon this framework, and find a way to create game profile specific themed GUI elements, but for pure functionality, I’ll be using the VoiceAttack get-user input boxes until then.
DOWNLOAD: https://veterans-gaming.com/files/file/35-avcs4-voice-control-radios-for-falcon-bms/
Here’s the latest changelog:
Public Release AVCS4 BMS v1.40 Changelog May-11-2021 This is a Major Profile Update, and requires downloading and importing the latest AVCS4 BMS Radios (v1.40) and AVCS CORE (v1.0) profiles: New Commands: -"Open the Command Reference" (or variations - open up-to-date command reference page online, or last updated reference file locally if offline) -"Set a Computer Name" (or variations - set a 'Computer' Assistant name for AVCS PTT mode, say before any command to wake listening temporarily) -"Set a Push to Talk Button" (or variations - set up to 6 total keyboard, mouse, or joystick buttons through automated script - just press when asked) Fixes/Improvements: -Improved PTT (Push to Talk) Mode with voice controlled automated key/button detection during "Set" command -Added PTT Modes (chosen during "Set" command) for game/QCC commands only (default), or toggle VoiceAttack Global Listening Mode -Added PTT Mode 'Wake' by 'Computer' Assistant Name - set a name to say before any existing command to temporarily wake Global Listening Mode -Added Profile Misc. Commands to QCC, allows new commands or macros to be added via Live Update Patch Fix to CORE or AVCS4 profiles between major updates if needed -Added requirement to Include AVCS CORE Profile Commands through AVCS4 BMS Profile Options, instructions provided during first-time init -Fixed International Decimals - All Decimal Variables finally compatible for international users via cultural identification fix during init -Fixed Issue where user was asked to set Keyboard type more than once during first few profile uses, even when already saved to file and loaded properly
-
This post is deleted! -
Incredible work, Semler.
Thank you for all your life hours!!!
Still, some radio calls seem to have an incomplete target, such as:- Tower say again
- Tower abort
- Tower declare emergency
- Declare Emergency (without suffix)
- Two/Three/…. clear my six (Yes, I’m afraid this one is back :D)
Key down by variable [~selection_key] not set. No keys pressed.
Release by variable [~selection_key] not set. No keys released.Those calls all open the respective page, but do not send the final digit.
QWERTZ layout is active, and the decimal thing works fine now -
Incredible work, Semler.
Thank you for all your life hours!!!
Still, some radio calls seem to have an incomplete target, such as:- Tower say again
- Tower abort
- Tower declare emergency
- Declare Emergency (without suffix)
- Two/Three/…. clear my six (Yes, I’m afraid this one is back :D)
Key down by variable [~selection_key] not set. No keys pressed.
Release by variable [~selection_key] not set. No keys released.Those calls all open the respective page, but do not send the final digit.
QWERTZ layout is active, and the decimal thing works fine nowI have no idea how this could have happened, but it has been fixed. This was a repeat of a previous issue, and when I built v1.40 I had used the most recent config files from the last beta v1.3.92b - it is possible I got a file mixed up at some point with the version just before this fix. No matter, it is fixed for good now - I’ve entered a live update patch fix and you all will get it next time you restart VoiceAttack + AVCS4 BMS.
I wouldn’t have been able to build AVCS profiles for VoiceAttack if I didn’t have a keen attention to detail, but mistakes happen. This is exactly why AVCS “is” the way it “is”, and I’m happy that I can correct this on my end and simply push out a patch for folks to load next time they fire it up. During final testing a few weeks ago, I ran through every single voice command in AVCS CORE and AVCS4 BMS to be sure they were working exactly as designed, BUT for some reason, I allowed myself to assume all of the radio commands themselves were good since they had not been touched in any way since before the last beta. HA!
Have fun and thanks again for all the support!
It may have taken many, many life hours, but I also use it every day myself and not just in Falcon BMS - the included template for AVCS CORE is my ‘main’ Windows voice control profile with plenty of imported commands I’ve used over the years as well as a handful of Quick Commands created with the AVCS QCC system while in games where I added some last minute simple keypress commands on the fly, like ‘open the map’ or ‘keep walking’.
Cheers!
Public Release AVCS4 BMS v1.40.1 Changelog May-21-2021 This is a simple Live Update patch fix, no new profile download is required - the following fix applies to this update: Fixes/Improvements: -Fixed Tower Command(s) for "Abort", "Declare Emergency", and "Say Again" -- error of 'variable [~slection_key] not set. No keys pressed' (if this looks familiar, it is - key variables had a prefix of 'AVCS_BMS_KEY_AVCS_BMS_ATC_' instead of 'AVCS_BMS_KEY_ATC_') (apologies - somehow this persisted into 1.40, even though the configs were built off of last beta (1.3.92b) with this already fixed)
-
One last patch update to resolve yet another of the same sort of issue from yesterday. The patch update from the beta rounds which resolved an issue with “Clear My Six” has now been applied to the v1.40 profile via a patch update that will occur when folks load AVCS4 BMS next. I have gone through all of the changelogs and all of the config files to ensure each patch has been applied here, not sure how I got off on the wrong page to begin with, but I have verified that every line is correct now. There should be no lingering surprises waiting to pop at this point, at least not from those we’ve already resolved. Thanks for your patience and reports!
*To be clear: like the patch update yesterday, no new profile download is required. This patch will present an option during loading to sync your AVCS4 BMS config files with the updated versions on my website, after placing a backup of your current config files in use into the ‘config’ folder, the latest version of config files going into the ‘update’ folder just next to it. (in the VA apps folder at… “.\AVCS\CORE\BMS\40\update”
Public Release AVCS4 BMS v1.40.2 Changelog May-22-2021 This is a simple Live Update patch fix, no new profile download is required - the following fix applies to this update: Fixes/Improvements: -Fixed Flight Command(s) for "Clear My Six" -- had added to the former "Check My Six", but had not added a proper key (if this looks familiar, it is - like the patch update yesterday, somehow this persisted into 1.40) (apologies again - I have now reviewed all previous beta patches and ensured they have all been applied here)
-
Version Labeling Notes
Using current AVCS4 BMS profile version (at time of this post) for this example - v1.40.2
First number: 1.40.2 - this is the CORE version number, and corresponds to the CORE version of the required AVCS CORE profile, specifically the large F_CORE_INITIALIZE function inside it which initializes any AVCS profile I make
Second number: 1.40.2 - this is the MAJOR version number, and corresponds to the current Profile Download Package imported into VoiceAttack, and the folder number of config files in the VA Apps ‘AVCS’ folder
Third number: 1.40.2 - this is the MINOR version number, and corresponds to the current Config Patch Version and active set of config files last synced with most recent versions on the VG websiteA profile package will never show the MINOR version number in the profile name shown in VoiceAttack when selecting a profile; this number is unknown to it (and irrelevant to it). The complete version will always be displayed in the VocieAttack event log after initializing any AVCS profile, including the MINOR version number. In this example, if I change a profile system in v1.40 requiring a new download, this would be a “Major” update, and the name of the next package would be v1.41
Minor Updates (config patch only - NO profile download required)
When a small issue is found such as variables in profile config files, including text to speech phrases used by the profile, keys pressed by voice commands, or even the text phrasings of voice commands themselves, most bugs can be fixed with a minor patch update which does not involve downloading a new VoiceAttack profile and importing it. These simple “Live Update” patches sync the config files of users to those on the website, first taking the current configs you are using and placing them into a ‘previous’ minor version folder. This is so that users can ‘rollback’ one of these patches in the event that it is needed.Major Updates (profile download required)
When larger issues involve changing actual voice command actions inside the profile, a new download package must be created and a new Major version update is released, requiring users to download and import a new profile into VoiceAttack. I try to avoid this as much as possible, which is why I have put so much of the operation values into the config files, and included a system to add new simple commands through minor version patch updates by using the QCC system to augment current hard-set voice commands and rigid action lists.Never rename an AVCS profile or it will break key functions!
To view the current profile version of any AVCS profile, first switch to it and let it initialize - the profile title inside the VoiceAttack event log should display the complete version.
The profile name will always read the profile package version without the minor version, because this is unknown to it.Say, “Show the Profile Version”, anytime to see the full version of the currently active AVCS profile
Don’t worry - I built in plenty of logic to handle all sorts of curve balls, even if you had 1.40 imported already, misunderstood these patches and imported the 1.40 package again… AVCS would simply tell you to delete the duplicate profile and restart VoiceAttack. I’ll be creating a more in depth user guide and a technical manual for each AVCS profile at the VG website in the new VG Wiki Pages eventually, just wanted to get this information out there for now since there had been some misunderstandings. It is a key feature and the primary purpose of my AVCS CORE + AVCS4 (game) profile combo system to be able to ‘update’ profile information and data without requiring a new profile download and import every time, where possible. This is not naturally the way things work for VoiceAttack profiles - but it was worth the time spent to develop if I can respond to an issue with command phrase(s) bugs and all users get the fix automatically next time they initialize the profile.
-Sem
-
Semler,
Thank you very much for the new 1.04 Version. I’ve been using it this past week, and it has performed beautifully. One quick question. When requesting AWACS for nearest air threat, is it possible to include the phrase “request bogey dope”? I’ve had this phrase in my previous profile for years now, and changing that is a hard habit to break. I have refrained from including a single line as I feel that would screw with(interfere with) the AWACS calls you are running. If this sounds like I’m asking for you to include it, it’s not. I’m asking for my own sake, and if it’s possible that I may alter something…
Thanks for any help. Quasi… -
is it possible to include the phrase “request bogey dope”?
Hi Quasi,
just SPEAK the voice command “Add a new voice command” and follow the instructions.
Look out for “advanced voice command”.
Good old Semler has built in some very neat gimmicks there -
Semler,
Thank you very much for the new 1.04 Version. I’ve been using it this past week, and it has performed beautifully. One quick question. When requesting AWACS for nearest air threat, is it possible to include the phrase “request bogey dope”? I’ve had this phrase in my previous profile for years now, and changing that is a hard habit to break. I have refrained from including a single line as I feel that would screw with(interfere with) the AWACS calls you are running. If this sounds like I’m asking for you to include it, it’s not. I’m asking for my own sake, and if it’s possible that I may alter something…
Thanks for any help. Quasi…You can absolutely add a new voice command with a new “When I say” variant in the normal VoiceAttack manner, with the action to ‘Execute another command (by name)’ and just enter the phrase typically recognized - but I did include the QCC system for those unfamiliar with VoiceAttack command creation, and/or those who just want a quick ‘guide me through it’ flow with access to AVCS command options like AFM, PTT, or VAS (yes/no/code) confirmation.
I’ve not had the time or energy to move directly onto the guides, manuals, and videos I have in mind, but in my WIP manual for AVCS4 BMS, I have begun an entry in the new VG Wiki pages on our website (my HTML/CSS/PHP project of March 2021). The first section is literally a step by step guide for adding new voice command variations which call existing commands (by name) to expand upon current commands without having to physically edit the profile(s). The true benefit here is that this is “save file” based, if I release a v1.41 package, after import, it will ask to import the previous version save file (and subsequently any existing QCC commands like this you have set up for yourself) including personal settings like PTT keys, the state of Audio Feedback Mode, etc.
Check it out if the concept of using AVCS QCC ‘Quick Command Creator’ like this is a bit confusing - your goal is not to create a new multi-keypress macro, just to call an existing command by name - eazy peazy
https://veterans-gaming.com/wiki/…/#Alternate Phrase CommandsFor what you are doing, you might create a new advanced voice command through QCC with the ‘when I say’ phrase using a wildcard at the beginning:
*request bogey dope
with the action to ‘Execute an existing command’:
vector to nearest air threatin the same way the guide shows adding an ‘*on final’ variant for the existing ‘report on final’ command.
EDIT: If I were to create a command like this, in my ‘any way you say it’ manner, to catch homophones or phonetic phrasings that can sound correct but not fire proper recognition of a phrase, it would look like this:
*[request;requesting] [bogey;bogeyed] [dope;oak;up]
-
That sounds really interesting, I may give that a shot. Thanks for all your doing to push this community forward. Q
-
Check it out if the concept of using AVCS QCC ‘Quick Command Creator’ like this is a bit confusing - your goal is not to create a new multi-keypress macro, just to call an existing command by name - eazy peazy
https://veterans-gaming.com/wiki/…/#Alternate Phrase CommandsFor what you are doing, you might create a new advanced voice command through QCC with the ‘when I say’ phrase using a wildcard at the beginning:
*request bogey dope
with the action to ‘Execute an existing command’:
vector to nearest air threatThanks to you and Amadeus for pointing me in the right direction. This has worked perfectly. Anyone using VA should as least give this a good run around the block. I am 100% satisfied with this profile. Thanks again, Semler.
-
How do I change the push to talk keybinds now? Originally it asked me to press a key, but not I turn push to talk on or off but can’t figure out how to change the bindings.
Edit: Nevermind, I figured it out. Also figured out how to edit the save file to delete a key. Thanks for this addon!
-
Edit: Nevermind, I figured it out. However, although they are in, it doesn’t seem to listen when they are pressed… Also, any way to delete a push to talk key?
I’m working on a better interface for the PTT buttons, to be able to handle joystick POV if possible, as these are currently unseen by the PTT “Set a Button” code, and I will include a direct means to delete a push to talk key. Presently, they can only be overwritten by another key/button.
For now, you can always just start over by deleting them outright from the save file where they exist:
Say, “Open the Save File”
Then, delete any lines that begin with AVCS_VAS_PTTBUTTON_ … literally select the entire line(s) and delete them from this file.
When done, save the file (CTRL+S) and close it. AVCS will detect the change and reload the profile to make these changes active.
Next, set your buttons again, Say, “Set a Push to Talk button” and run through the prompts to get all set up again.
Regarding your comment, when you say it doesn’t seem to listen… Which PTT mode are you in? The default mode or the Global mode which enables/disables VoiceAttack listening?
The default mode is to only restrict radio keypress macro commands from executing, where all other VoiceAttack commands (including various AVCS options and feature commands) are not bound by PTT buttons/keys. The new Global mode should enable and disable Listening in the VoiceAttack program. While it may not seem like it is enabled in ‘default’ mode, you can test the functionality with a simple blank notepad - place the cursor and call a radio command such as “Two Say Fuel” and watch it type (or not) when a PTT button is pressed or unpressed. There is a cooldown surrounding any PTT button press of around 5-7 seconds depending on how long the button is held, where any command will be accepted, and users can begin speaking immediately even if Global Listening has not yet been enabled by the action of pressing a PTT key.
Additionally, a PTT button press is not required anytime AVCS has prompted users for a response, such as ‘yes/no’ confirmations - even if Global Listening is disabled, speech for responses is still being processed.
-
Apologies for not using Discord, but can’t access it. AVCS 4 ( out of the box) is working very well for me, but the AWACS commands “Check in” and “Check out” aren’t recognised. Any chance you could investigate please? Could just be me. Thank you.
-
Apologies for not using Discord, but can’t access it. AVCS 4 ( out of the box) is working very well for me, but the AWACS commands “Check in” and “Check out” aren’t recognised. Any chance you could investigate please? Could just be me. Thank you.
I think it might just be you – just tested it (both standard and as part of a sentence) and it worked each time:
Recognition issues tend to be resolved by following setup instructions in VoiceAttack, specifically training the Windows Speech Recognition Profile and running through that training at least three times. Those with a more thick English accent have reported greater success after running completely through WSR profile training several times (Kavelenko from Australia said he did it twelve times, though that seems excessive). You can turn on the option to display recognition confidence in VoiceAttack options, as shown in the image above. This way you can monitor this metric while speaking to see where things are going wrong.
Finally, if all the above has been done, yet certain words always give you problems regardless of training (for me, the word “eight”) then you can record a specific pronunciation for that word by adding it to the dictionary. I don’t have the VG Wiki created for my AVCS profiles yet, and this process is pinned in Discord for reference - check it out when you get your Discord working: https://discord.gg/BR6NjE3