AVCS4 Immersive Voice Control Radios for VoiceAttack
-
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
-
Appreciated. Thanks for testing. Will act on your advice.
PS. Working now. I used someone’s tip of hesitating before speaking the final words e.g. : “Challis/Sentry …… check in.”
-
I would like to add a large amount of alternate realistic phrase commands like jcenzano’s Keyspeech profiles. Is there a way to edit these outside of Voice Attack so I can add many of them? In the future, if the profile is updated, would that mass edit way be relatively quick to add or am I going to have to go line by line taking a lot of time?
-
I would like to add a large amount of alternate realistic phrase commands like jcenzano’s Keyspeech profiles. Is there a way to edit these outside of Voice Attack so I can add many of them? In the future, if the profile is updated, would that mass edit way be relatively quick to add or am I going to have to go line by line taking a lot of time?
If you create a single alternate realistic phrase command which calls an existing radio command phrase using the included Quick Command Creator system (QCC), then Yes - you could then open the save file, examine the construction of this type of command, duplicate and increment the data values, and work entirely in something like Notepad (or preferably Notepad++). I’m afraid I still have not yet completed instructional materials in the wiki I’ve developed for VG and AVCS profiles, but I can get you started on how this will operate & since you seem technically minded you’ll likely have no issues with this procedure - I’ll use some of this when I finally cement this all into a guide.
To start, you’d first follow the current example for creating at least one alternate phrase command on the VG Wiki page for AVCS4 BMS Radios: Wiki Page
Once done, say, “Open the Save File”, to see what was just created - it should look similar to this, if you followed the example exactly:
AVCS_BMS_KeyboardLayout=0 AVCS_BMS_TimeBetweenKeys=0.05 AVCS_BMS_TimeKeyIsHeldDown=0.05 AVCS_FIRST_RUN=9 AVCS_QCC_DATA_MACROS_1=QCC#1[(1)]1[(2)]EXEC[(4)]Report on Final[(3)] AVCS_QCC_MACROS_1=*on final AVCS_SFS_CurrentBackupIndex=2 AVCS_SFS_SaveFileBackupCount=10
The important lines are the QCC Macro data and command variables:
AVCS_QCC_DATA_MACROS_1=QCC#1[(1)]1[(2)]EXEC[(4)]Report on Final[(3)] AVCS_QCC_MACROS_1=*on final
If you wanted to manually create another one of these (in text format), you can duplicate these two lines in the save file by hand, and then increment the _1 to _2 (and the QCC#1 to QCC#2), and so on for additional commands up to a maximum of 225:
An incremented manually created example might look like this:
AVCS_QCC_DATA_MACROS_1=QCC#1[(1)]1[(2)]EXEC[(4)]Report on Final[(3)] AVCS_QCC_DATA_MACROS_2=QCC#2[(1)]1[(2)]EXEC[(4)]traffic in sight[(3)] AVCS_QCC_MACROS_1=*on final AVCS_QCC_MACROS_2=*visual on traffic ```_(note: these examples show use of an asterisk "*" before the phrases, because these are wildcard phrases - see notes in the AVCS Wiki & VA Manual for details)_ **Final Notes** So you see how you can increment the variable name and then edit the portion of the data line which pertains to an existing command (it is not case sensitive), and of course, the new 'actual' spoken realistic command to call that existing command. Note that by doing this manually, it cannot warn you of any existing phrases which may be in use (or created by me already in the profile) so there could be some hiccups and testing your work would be wise. It won't harm anything if a phrase was the same as an existing command, but one or the other would not function - QCC will not allow duplicate phrases to be loaded to the VA profile. Also note that by using the voice command, **"Open the Save File"**, VoiceAttack will open the current profile save file in Notepad **and wait for you to close it** - once you do, if it has changed, the profile will reload to reflect any changes you may have made. For this reason, if manually creating _*many*_ commands by hand in text format, I would recommend using the command **"Open the Save File Folder"** instead, and then manually opening the save file in your preferred program to edit it. When you are done, save the text file and close it, then just say, **"Re-initialize Profile"** to get your new manually edited save file loaded into the AVCS profile. And because this physical save file can persist between versions of AVCS that I release, it is the very best way to heavily modify AVCS4 BMS Radios commands to this extent, and have them persist so you don't have to redo work later. You will find options in the Save File Menu to manage your save file and backups - you could use this to create a shadow copy of your save file outside the AVCS folders, in case you need to roll back (AVCS save file backups eventually get overwritten, so having an outside backup can help). Say, **"Open the Save File Menu"**, to view these options. Like many AVCS functions, it is profile context specific menu, so if you are "in" the BMS profile, it pertains to the BMS save files, if you are "in" the CORE profile (or the CORE Profile blank user template), it pertains to those save file(s). Happy someone (else) is utilizing the profile in this way, it's actually why I built in so many ways to work with or edit the profile(s) I create for VA. I use them too, and don't want to lose my work or commands if I had to update or even reinstall Windows or onto a new computer. Hope this helps - and if anyone has any questions, post up & I'll try to help! Cheers!
-
Hope this helps - and if anyone has any questions, post up & I’ll try to help! Cheers!
Awesome, that helps a lot, thanks! I figured there would be some kind of edit via Notepad/Notepad++ and that does look to be pretty flexible to update!
One other thing that I can’t figure out what I’m doing wrong is with this command, maybe it is due to it being in multiple menus through the flight member commands. I was trying to add Check your six to just “*check six” but every time I put in “Check Your Six” it says it’s an unrecognized command on Step 4.
-
Awesome, that helps a lot, thanks! I figured there would be some kind of edit via Notepad/Notepad++ and that does look to be pretty flexible to update!
One other thing that I can’t figure out what I’m doing wrong is with this command, maybe it is due to it being in multiple menus through the flight member commands. I was trying to add Check your six to just “*check six” but every time I put in “Check Your Six” it says it’s an unrecognized command on Step 4.
Commands such as “Check Your Six” are part of the Prefix + Suffix command sets. Therefore, it must be called as part of a full command (“Two Check Your Six”) for example.
I’m not sure the best way for you to add a multitude of alternate commands for such things since it would need to include a command for each flight member (Two, Three, also the whole Flight). No problem on a small scale, but on a large scale, this could be daunting.
You could alternatively go at it from the source, so long as what you change was part of/inside your save file and not one of the config files. For example, the actual ‘when I say’ phrase command for the suffix “check your six” is in config file 3, and the keys it presses is in config file 1 - you could examine these and create new variables in your save file (which is always loaded after profile configs) to make new special rules for yourself.
I unfortunately don’t have time to document all of this tonight but this is the variable and command phrase inside config 1 & 3 respectively - these correspond to the key that is pressed and this phrase as stated. Adding new ones in exactly the same manner would effectively create new voice commands which press a new “end” key, such as “6” after a string of “w” presses. But you’d want to add them, as stated, in your save file and not the configs themselves which may get overwritten with updates, etc.
↑ When the profile hears (for example) “TWO Check Your Six”, it takes the “Check Your Six” suffix, removes spaces to make it “CheckYourSix”, and adds it to “AVCS_BMS_KEY_” plus something like “WINGMAN_” based on “TWO” or “THREE” or “FLIGHT” as said in the original command call phrase
Then that info equals the key that was needed to be pressed in that part of the macro. Modifying the profile to this extent in this way is not exactly mainstream, but is possible for those who dare, and still likely less work that designing an entire system like this to push keypresses based on the words used in a radio command (not to mention the AVCS CORE goodies on top of it like QCC).I’d start by copying that ‘when I say’ variable containing all of those phrases to my save file (“AVCS_BMS_COMMANDS_AI COMMS 1 - Combat Management 1”) and then add my own commands inside of it, making sure each one (without spaces) equates to the corresponding key pressed by it’s original counterpart. If I wanted to hard-add in “Check Yall Six” for example, I’d insert that with a semicolon after of course, then copy the keys variables needed from config #1 to the save file, which I’d make equal to each way I’d want folks to call it (wingman, element, flight) so it functions just like existing commands… it may seem redundant, but it’s the easiest way… in my save file, after this example, I might have the lines:
AVCS_BMS_COMMANDS_AI COMMS 1 - Combat Management 1=Attack My Target;Buddy Spike;Raygun;Weapons Free;Weapons Hold;Check Your Six;Check Yall Six;Clear My Six;Attack Targets;Go Shooter;Go Cover AVCS_BMS_KEY_WINGMAN_CheckYallSix=6 AVCS_BMS_KEY_ELEMENT_CheckYallSix=6 AVCS_BMS_KEY_FLIGHT_CheckYallSix=6
This way they’d persist in save file, not interfere with existing callbacks or keys, and be loaded directly after the config files to include user changes.
Whatever you decide, I’m happy to answer questions along the way. I just happen to have my hands full this week with a server upgrade and migration for all the games we host (which are not BMS) at VG.
-
Overall, I feel like my adding of commands is going well. I’m still learning the most efficient way to select words after the “*” wildcard but then also have them unique so they don’t conflict with other similar commands. Long term, I know this will be key to the process.
“Check Six” is added for the wingman, element, and flight commands. I don’t see myself editing too many more of the other wingman/element/flight management commands so that solution should work. I just know that the “your” is one of those things that in the heat of the moment I could forget.
I’m coming across two issues though.
Issue 1. This is unique to the “Remove EPU Ground Safety Pin” which I have added a “*remove eepeeyou pin” but I get the following errors:
“6:06:14.241 Release by variable [~selection_key] not set. No keys released.”
“6:06:14.186 Key down by variable [~selection_key] not set. No keys pressed.”
The single time I’ve been able to get Voice Attack to recognize all of me actually saying “Remove EPU Ground Safety Pin”, that command works fine. I cannot see what is wrong in the save.txt so that is causing my additional phrase to issue that error:AVCS_QCC_DATA_MACROS_21=QCC#21[(1)]1[(2)]EXEC[(4)]Remove EPU Ground Safety Pin[(3)] ... AVCS_QCC_MACROS_21=*remove eepeeyou pin
Issue 2. This is the bigger one. I’m getting a lot of commands that are “Unrecognized catch-all” still. It seems that it’s only using the last few commands that I add for a Macro. Was there a limitation I missed for an editing session? For instance:
AVCS_QCC_DATA_MACROS_1=QCC#1[(1)]1[(2)]EXEC[(4)]Request Air Refueling[(3)] ... AVCS_QCC_MACROS_1=*request fuel AVCS_QCC_MACROS_1=*request observation AVCS_QCC_MACROS_1=*request precontact AVCS_QCC_MACROS_1=*request prix contact AVCS_QCC_MACROS_1=*request rejoin ```Currently only "*request rejoin" is **not** coming up as a Unrecognized catch-all. It is not always just the last command that is being recognized but tends to be the last one or few on a macro:
AVCS_QCC_MACROS_3=*declare bulls
AVCS_QCC_MACROS_3=*declare bullseye
AVCS_QCC_MACROS_3=*declare contact
AVCS_QCC_MACROS_3=*declare contact bulls
AVCS_QCC_MACROS_3=*declare contact bullseye
AVCS_QCC_MACROS_3=*declare target
AVCS_QCC_MACROS_3=*declare target bulls
AVCS_QCC_MACROS_3=*declare target bullseyeIt will still do this on dissimilar commands:
AVCS_QCC_MACROS_6=*cannot comply
AVCS_QCC_MACROS_6=*negative
AVCS_QCC_MACROS_6=*request deniedI have had multiple restarts of Voice Attack and both the automatic re-initialization after closing the save.txt and using the "Re-initialize profile" voice command. Overall though, I am very impressed with your work SemlerPDX!!! For reference here is my full save.txt so far:
AVCS_AFM_Audio_On=True
AVCS_BMS_COMMANDS_AI COMMS 1 - Combat Management 1=Attack My Target;Buddy Spike;Raygun;Weapons Free;Weapons Hold;Check Your Six;Check Six;Clear My Six;Attack Targets;Go Shooter;Go Cover
AVCS_BMS_KEY_ELEMENT_CheckSix=6
AVCS_BMS_KEY_FLIGHT_CheckSix=6
AVCS_BMS_KEY_WINGMAN_CheckSix=6
AVCS_BMS_PTTBUTTON_1=STATE_JOYSTICK1BUTTON:29
AVCS_BMS_PTTBUTTON_2=STATE_JOYSTICK1BUTTON:31
AVCS_BMS_RadioButtons_ON=True
AVCS_FIRST_RUN=9
AVCS_QCC_DATA_MACROS_1=QCC#1[(1)]1[(2)]EXEC[(4)]Request Air Refueling[(3)]
AVCS_QCC_DATA_MACROS_2=QCC#2[(1)]1[(2)]EXEC[(4)]Request Picture[(3)]
AVCS_QCC_DATA_MACROS_3=QCC#3[(1)]1[(2)]EXEC[(4)]Declare[(3)]
AVCS_QCC_DATA_MACROS_4=QCC#4[(1)]1[(2)]EXEC[(4)]request help[(3)]
AVCS_QCC_DATA_MACROS_5=QCC#5[(1)]1[(2)]EXEC[(4)]wilco[(3)]
AVCS_QCC_DATA_MACROS_6=QCC#6[(1)]1[(2)]EXEC[(4)]unable[(3)]
AVCS_QCC_DATA_MACROS_7=QCC#7[(1)]1[(2)]EXEC[(4)]check in[(3)]
AVCS_QCC_DATA_MACROS_8=QCC#8[(1)]1[(2)]EXEC[(4)]check out[(3)]
AVCS_QCC_DATA_MACROS_9=QCC#9[(1)]1[(2)]EXEC[(4)]request relief[(3)]
AVCS_QCC_DATA_MACROS_10=QCC#10[(1)]1[(2)]EXEC[(4)]Request Rescue Chopper[(3)]
AVCS_QCC_DATA_MACROS_11=QCC#11[(1)]1[(2)]EXEC[(4)]Vector To Nearest Air Threat[(3)]
AVCS_QCC_DATA_MACROS_12=QCC#12[(1)]1[(2)]EXEC[(4)]Vector To Target[(3)]
AVCS_QCC_DATA_MACROS_13=QCC#13[(1)]1[(2)]EXEC[(4)]Vector To Package[(3)]
AVCS_QCC_DATA_MACROS_14=QCC#14[(1)]1[(2)]EXEC[(4)]vector to tanker[(3)]
AVCS_QCC_DATA_MACROS_15=QCC#15[(1)]1[(2)]EXEC[(4)]vector to divert field[(3)]
AVCS_QCC_DATA_MACROS_16=QCC#16[(1)]1[(2)]EXEC[(4)]Vector To Home Plate[(3)]
AVCS_QCC_DATA_MACROS_17=QCC#17[(1)]1[(2)]EXEC[(4)]vector to carrier group[(3)]
AVCS_QCC_DATA_MACROS_18=QCC#18[(1)]1[(2)]EXEC[(4)]Back In Pre Contact Position[(3)]
AVCS_QCC_DATA_MACROS_19=QCC#19[(1)]1[(2)]EXEC[(4)]done refueling[(3)]
AVCS_QCC_DATA_MACROS_20=QCC#20[(1)]1[(2)]EXEC[(4)]Install EPU Ground Safety Pin[(3)]
AVCS_QCC_DATA_MACROS_21=QCC#21[(1)]1[(2)]EXEC[(4)]Remove EPU Ground Safety Pin[(3)]
AVCS_QCC_DATA_MACROS_22=QCC#22[(1)]1[(2)]EXEC[(4)]install chocks[(3)]
AVCS_QCC_DATA_MACROS_23=QCC#23[(1)]1[(2)]EXEC[(4)]remove chocks[(3)]
AVCS_QCC_MACROS_1=*request fuel
AVCS_QCC_MACROS_1=*request observation
AVCS_QCC_MACROS_1=*request precontact
AVCS_QCC_MACROS_1=*request prix contact
AVCS_QCC_MACROS_1=*request rejoin
AVCS_QCC_MACROS_2=*picture
AVCS_QCC_MACROS_2=*request picture
AVCS_QCC_MACROS_2=*say picture
AVCS_QCC_MACROS_3=*declare bulls
AVCS_QCC_MACROS_3=*declare bullseye
AVCS_QCC_MACROS_3=*declare contact
AVCS_QCC_MACROS_3=*declare contact bulls
AVCS_QCC_MACROS_3=*declare contact bullseye
AVCS_QCC_MACROS_3=*declare target
AVCS_QCC_MACROS_3=*declare target bulls
AVCS_QCC_MACROS_3=*declare target bullseye
AVCS_QCC_MACROS_4=*help needed
AVCS_QCC_MACROS_4=*i need fighter assistance
AVCS_QCC_MACROS_4=*i need fighter support
AVCS_QCC_MACROS_4=*request assistance
AVCS_QCC_MACROS_4=*request fighter assistance
AVCS_QCC_MACROS_4=*request fighter support
AVCS_QCC_MACROS_4=*request immediate fighter assistance
AVCS_QCC_MACROS_4=*request immediate fighter support
AVCS_QCC_MACROS_5=*a firm
AVCS_QCC_MACROS_5=*affirmative
AVCS_QCC_MACROS_5=*roger
AVCS_QCC_MACROS_5=*will comply
AVCS_QCC_MACROS_6=*cannot comply
AVCS_QCC_MACROS_6=*negative
AVCS_QCC_MACROS_6=*request denied
AVCS_QCC_MACROS_7=*checking in
AVCS_QCC_MACROS_7=*on station
AVCS_QCC_MACROS_8=*checking out
AVCS_QCC_MACROS_8=*is arteebee
AVCS_QCC_MACROS_8=*is RTB
AVCS_QCC_MACROS_8=*leaving station
AVCS_QCC_MACROS_8=*off station
AVCS_QCC_MACROS_9=*request arteebee
AVCS_QCC_MACROS_9=*request RTB
AVCS_QCC_MACROS_10=*airman down request chopper
AVCS_QCC_MACROS_10=*airman down request S A R
AVCS_QCC_MACROS_10=*airman down request SAR
AVCS_QCC_MACROS_10=*airman down send S A R
AVCS_QCC_MACROS_10=*airman down send SAR
AVCS_QCC_MACROS_10=*airman down send Search and rescue
AVCS_QCC_MACROS_10=*request S A R
AVCS_QCC_MACROS_10=*request SAR
AVCS_QCC_MACROS_10=*request Search and rescue
AVCS_QCC_MACROS_10=*send Search and rescue
AVCS_QCC_MACROS_11=*bogey dope
AVCS_QCC_MACROS_11=*is tumbleweed
AVCS_QCC_MACROS_11=*request bogey dope
AVCS_QCC_MACROS_11=*tumbleweed
AVCS_QCC_MACROS_11=*where is the nearest threat
AVCS_QCC_MACROS_12=*i need a target
AVCS_QCC_MACROS_12=*request vector to target
AVCS_QCC_MACROS_12=*vector to assigned target
AVCS_QCC_MACROS_12=*vector to planned target
AVCS_QCC_MACROS_13=*request package posit
AVCS_QCC_MACROS_14=*i need a tanker
AVCS_QCC_MACROS_14=*request tanker posit
AVCS_QCC_MACROS_14=*request vector to nearest tanker
AVCS_QCC_MACROS_14=*say tanker posit
AVCS_QCC_MACROS_15=*i need a divert field
AVCS_QCC_MACROS_15=*request vector to alternate
AVCS_QCC_MACROS_15=*request vector to divert field
AVCS_QCC_MACROS_16=*pigeons
AVCS_QCC_MACROS_17=*vector mother
AVCS_QCC_MACROS_18=*prix contact
AVCS_QCC_MACROS_18=*prix contact position
AVCS_QCC_MACROS_18=*stablized
AVCS_QCC_MACROS_18=*stablized and ready
AVCS_QCC_MACROS_19=*disconnect
AVCS_QCC_MACROS_19=*finished refuelling
AVCS_QCC_MACROS_19=*full
AVCS_QCC_MACROS_19=*reform
AVCS_QCC_MACROS_19=*reform left
AVCS_QCC_MACROS_19=*reform right
AVCS_QCC_MACROS_19=*request disconnect
AVCS_QCC_MACROS_19=*showing a full tank
AVCS_QCC_MACROS_19=*tank is full
AVCS_QCC_MACROS_19=*topped off
AVCS_QCC_MACROS_19=*topped off and ready to go
AVCS_QCC_MACROS_20=*install eepeeyou pin
AVCS_QCC_MACROS_21=*remove eepeeyou pin
AVCS_QCC_MACROS_22=*place chocks
AVCS_QCC_MACROS_23=*pull chocks
AVCS_SFS_CurrentBackupIndex=5
AVCS_SFS_SaveFileBackupCount=10
uAVCS_AFM_Audio_Channel=CENTER -
Overall, I feel like my adding of commands is going well. I’m still learning the most efficient way to select words after the “*” wildcard but then also have them unique so they don’t conflict with other similar commands. Long term, I know this will be key to the process.
“Check Six” is added for the wingman, element, and flight commands. I don’t see myself editing too many more of the other wingman/element/flight management commands so that solution should work. I just know that the “your” is one of those things that in the heat of the moment I could forget.
Great to hear! I agree, that one seems it could use a hard-set variant for all users. I’ll likely add “Check Six” as a proper option for everyone on the next patch, and I’ll keep an eye on your work here to see about others that may be good alternates to hard-set for everyone. When I was nose deep in the code, it was difficult to imagine all the ways these could be called or spoken - I don’t want to add too many more, but those which are glaringly obvious like “Check Six” are easy to approve for inclusion. In the end, I’ll never be able to cover all those things as you are trying to do, and having too many wildcard phrases overall could add to unintentional recognition when modes like Push to Talk are not used, which is why editing like this is possible for the individual users to personalize their AVCS4.
FYI:
*"request picture" is a proper primary command in this profile already, so there is no need to add it to your alternate command options:
Primary commands are those set and readily match the in-game radio menu lists, and required no alternates when I made the profile. They are also technically faster than any QCC commands we create, though in the millisecond scale so it is functionally the same as any primary command as we’d see it.I’m coming across two issues though.
Issue 1. This is unique to the “Remove EPU Ground Safety Pin” which I have added a “*remove eepeeyou pin” but I get the following errors:
“6:06:14.241 Release by variable [~selection_key] not set. No keys released.”
“6:06:14.186 Key down by variable [~selection_key] not set. No keys pressed.”
The single time I’ve been able to get Voice Attack to recognize all of me actually saying “Remove EPU Ground Safety Pin”, that command works fine. I cannot see what is wrong in the save.txt so that is causing my additional phrase to issue that error:AVCS_QCC_DATA_MACROS_21=QCC#21[(1)]1[(2)]EXEC[(4)]Remove EPU Ground Safety Pin[(3)] ... AVCS_QCC_MACROS_21=*remove eepeeyou pin
This is a proper bug that has not been discovered. I’ve prepared a patch update to resolve this, and this macro command should work as set next time you load AVCS4 BMS (and apply the patch update)
*(so I guess “Check Six” is coming now for all users )
Issue 2. This is the bigger one. I’m getting a lot of commands that are “Unrecognized catch-all” still. It seems that it’s only using the last few commands that I add for a Macro. Was there a limitation I missed for an editing session? For instance:
AVCS_QCC_DATA_MACROS_1=QCC#1[(1)]1[(2)]EXEC[(4)]Request Air Refueling[(3)] ... AVCS_QCC_MACROS_1=*request fuel AVCS_QCC_MACROS_1=*request observation AVCS_QCC_MACROS_1=*request precontact AVCS_QCC_MACROS_1=*request prix contact AVCS_QCC_MACROS_1=*request rejoin ```Currently only "*request rejoin" is **not** coming up as a Unrecognized catch-all. It is not always just the last command that is being recognized but tends to be the last one or few on a macro:
AVCS_QCC_MACROS_3=*declare bulls
AVCS_QCC_MACROS_3=*declare bullseye
AVCS_QCC_MACROS_3=*declare contact
AVCS_QCC_MACROS_3=*declare contact bulls
AVCS_QCC_MACROS_3=*declare contact bullseye
AVCS_QCC_MACROS_3=*declare target
AVCS_QCC_MACROS_3=*declare target bulls
AVCS_QCC_MACROS_3=*declare target bullseyeIt will still do this on dissimilar commands:
AVCS_QCC_MACROS_6=*cannot comply
AVCS_QCC_MACROS_6=*negative
AVCS_QCC_MACROS_6=*request deniedI have had multiple restarts of Voice Attack and both the automatic re-initialization after closing the save.txt and using the "Re-initialize profile" voice command.
We’ve had a miscommunication, no worries…
Any new variable variant added to your save file must have a unique incremented number, else it would be ‘overwritten’ when read, and the value changed in program memory.Corrected for example:
AVCS_QCC_MACROS_6=*cannot comply;*negative;*request denied
This sort of formatting must be applied to all of your variables where you have listed them more than once - again, each time a new line was read, it was redefining what that variable meant to the profile, not adding new words to it…. Hope you understand how this works now. A variable can only equal one thing (starting at the equals symbol and ending at the start of the next new line/carriage return).
You’ll need to correct all of those in this similar manner - then they will work fine:
AVCS_QCC_MACROS_1=*request fuel;*request observation;*request precontact;*request prix contact;*request rejoin AVCS_QCC_MACROS_2=*picture;*request picture;*say picture AVCS_QCC_MACROS_3=*declare bulls;*declare bullseye;*declare contact;*declare contact bulls;*declare contact bullseye;*declare target;*declare target bulls;*declare target bullseye
More details, why/how:
The program reads these files top to bottom, if the top two lines read:MyVariable_1=pickles MyVariable_1=bananas ```…then in this example the program is going to have only 1 definition for "MyVariable_1", and it ain't gonna be 'pickles', or 'pickles' and 'bananas' - it's only gonna be 'bananas'. The program read it as "this variable word equals pickles" and directly after that "this variable word now equals bananas". For this QCC example, since these are the phrases for the 'When I say' portion of these commands, you can use a semicolon ";" to add alternate phrases to the same command. If you call up QCC (like normal, say, "Create a Voice Command") the pop-up windows have simple instructions which you are missing by doing this by hand, particularly those on the screen where you enter the phrase. This variable (and the space after the '=' sign) is equivalent to the "When I say" field when creating/editing a command in VoiceAttack in the normal manner. It supports square brackets for dynamics, allows wildcards (asterisks around, before, or after), and semicolons for many alternate phrase combinations in the same command. This would also be acceptable by VA 'when i say' structure rules, for example -
AVCS_QCC_MACROS_3=*declare [bulls;bullseye];*declare [contact;target] [bulls;bullseye;]
AVCS_QCC_MACROS_3=*declare bulls;*declare bullseye;*declare contact;*declare contact bulls;*declare contact bullseye;*declare target;*declare target bulls;*declare target bullseye
-
I’m coming across two issues though.
Issue 1. This is unique to the “Remove EPU Ground Safety Pin” which I have added a “*remove eepeeyou pin” but I get the following errors:
“6:06:14.241 Release by variable [~selection_key] not set. No keys released.”
“6:06:14.186 Key down by variable [~selection_key] not set. No keys pressed.”
The single time I’ve been able to get Voice Attack to recognize all of me actually saying “Remove EPU Ground Safety Pin”, that command works fine. I cannot see what is wrong in the save.txt so that is causing my additional phrase to issue that error:AVCS_QCC_DATA_MACROS_21=QCC#21[(1)]1[(2)]EXEC[(4)]Remove EPU Ground Safety Pin[(3)] ... AVCS_QCC_MACROS_21=*remove eepeeyou pin
This is a proper bug that has not been discovered. I’ve prepared the following patch update to resolve this:
Public Release AVCS4 BMS v1.40.3 Changelog July-28-2021 This is a simple Live Update patch fix, no new profile download is required - the following fix applies to this update: New Commands: -Added "Check Six" as New Alternate Syntax/Phrasing for "Check Your Six" suffix command (for 2/3/Flight) - thx to Snake122 Fixes/Improvements: -Fixed ATC Command(s) for "Remove EPU Ground Safety Pin" -- missing keyword Ground in variable holding key to press
Again, to be clear - this patch will be automatically applied to all users next time AVCS4 BMS Radios is loaded in VoiceAttack (follow pop-up prompts to apply this patch update).
(details on automatic patch updates and version numbers here: benchmarksims.org/forum/showthread/…/AVCS4…/#post574244 ) -
Semler mate i am hesitant to release may alternate Voicemacro profile as i admire your tenacity to making this right for the community i also admire you explanations and methods in the workings of your profile, i have the Voicemacro ready to go but i dont want you to lose credibility for the excellent work you have already achieved with this macro,(not saying mne is any better or worse) keep up the good work sir
-
Hi SemlerPDX, I’ve got a problem getting AVCS4 running and I couldn’t get the registration to work for Veterans-Gaming.com to contact you, so hope you won’t mind me posting here. I’m that software developer’s worst nightmare, got no idea what I’m doing and just follow instructions blindly! Here’s where I got to:
1. Downloaded AVCS CORE Framework Profile v1.0.zip for VoiceAttack and unzipped it
2. Downloaded AVCS4 Voice Control Radios for Falcon BMs.zip and unzipped it
3. Installed VoiceAttack from Steam
4. Opened VoiceAttack
5. Opens at MyProfile (empty)
6. Click Import in VoiceAttack
7. Select AVCS CORE 9v 1.0) Package (IMPORT THIS).vax
8. Package imported successfully with warning message, OK
9. VoiceAttack Profiles now lists My Profile, and AVCS CORE (v1.0): selecting the latter from drop down generates:11:38:25.247 AVCS ERROR! Try again later, check the AVCS Downloads for the most recent version, or contact SemlerPDX at veterans-gaming.com
11:38:25.246 AVCS ERROR! AVCS CORE Online Database is offline, and cannot install this profile - or this AVCS Profile Version has been replaced by an update.
11:38:24.910 Inline function execution exception: Exception has been thrown by the target of an invocation. Access to the path ‘C:\Windows\system32\10D60AC8C0E3D’ is denied.
11:38:24.273 …continuing initialization…
11:38:23.110 New AVCS4 Profile(s) Found! Adding Profile to List of Names and cleaning up new profiles file afterwards…10. The drop-down also contains AVCS4 USER PROFILE TEMPLATE (V1.0) (rename this - see readme command) with instructions about how to include core profile
commands in this profile, and says to me “Please rename this profile” - but I don’t know how to rename a profile!
11. I haven’t imported the …radios… file yet.So, and I apologise for taking up your time, could you sort me out? Is the clue in the line ‘AVCS CORE Online Database is offline’ and is that why I can’t get registered, server off-line maybe?
Alan -
Hi SemlerPDX, I’ve got a problem getting AVCS4 running and I couldn’t get the registration to work for Veterans-Gaming.com to contact you, so hope you won’t mind me posting here. I’m that software developer’s worst nightmare, got no idea what I’m doing and just follow instructions blindly!
…
So, and I apologise for taking up your time, could you sort me out? Is the clue in the line ‘AVCS CORE Online Database is offline’ and is that why I can’t get registered, server off-line maybe?
AlanNo worries, common user issue/bug… Easy to fix. VoiceAttack needs to be ‘Run as Administrator’ through VoiceAttack Options Menu so that AVCS can access its own files (and write to them) in the VoiceAttack programs folder, under the “Apps” folder. This is the designated location for VoiceAttack user created applications such as AVCS - its save file(s) and config files sit in here - yet Windows does not allow the program access to its own folder unless we elevate its permissions.
How to Run VoiceAttack as Admin:
Open VoiceAttack Options by clicking on the wrench/spanner icon in the main program window - select the last tab along the top, ‘System / Advanced’ - check the box circled below. Good to ensure that “Use Nested Tokens” is checked as shown, and “Allow command segment info for composite commands” is unchecked – click OK when done, restart VoiceAttack and switch to AVCS CORE and everything will work fine.
Most complex VA Profiles such as AVCS require this setting, it’s not just my profiles. In this case, AVCS checked the VG Website to see that AVCS CORE updates are online, then tried (and failed) to write the value “true” to the ‘avcs_core_status’ file which my program refers to when asking itself “Is AVCS CORE website online?”, rather than physically checking the website each time… just once per session is plenty.*Regarding the included Blank Template profile for AVCS - This is NOT required for using AVCS4 BMS Radios and the BMS Simulator, just FYI. It is an included add-on part of AVCS CORE, a profile builder’s template using my systems. Since you are brand new to VoiceAttack, you may want to just leave this on the side for now, unless you are prepared and interested in using voice control for things other than Falcon BMS. Once renamed, it becomes useable - just open the profile to edit it (small icon with the pencil), then change the name at the top left. Click “Apply” or “Done” at the bottom right to save changes. Follow instructions from AVCS: don’t start its new name with “AVCS” and do not end its new name with the word “CORE”.
More Details on the AVCS Template:
It is a means for VoiceAttack users to create their own voice commands in a profile template which uses and has access to all of the AVCS CORE profile features, like the save file system, with templates of actions users can copy into their own commands to add these features to new commands or systems. I use this blank template (renamed “.Malcolm AVCS Template”) for my general Windows stuff and other commands outside games. I added time/date commands, media center controls to play my music/videos on voice, open my frequent website bookmarks, and when I’m playing some random game and need a quick voice command like “Keep Running” or “Open the Map”, I can use QCC to quickly make a new voice command that presses a keyboard key like M or W without having to open the full VoiceAttack program editor and insert actions one-by-one. You can manually add new commands in the typical manner, through VoiceAttack editor, include other profiles, or copy/paste commands into this AVCS Template Profile. This cannot be done with AVCS CORE itself, so this Template is a means to use AVCS CORE as a standalone profile outside simulators or games, and build upon a user created work over time. -
Semler mate i am hesitant to release may alternate Voicemacro profile as i admire your tenacity to making this right for the community i also admire you explanations and methods in the workings of your profile, i have the Voicemacro ready to go but i dont want you to lose credibility for the excellent work you have already achieved with this macro,(not saying mne is any better or worse) keep up the good work sir
Please don’t hold up your own projects on account of me. It’s great to have options whatever program people use. Best wishes and good luck!