AVCS4 Immersive Voice Control Radios for VoiceAttack
-
It’s not really necessary for me, I’ll just keep it off. I’ve kept VA running to see what happens and it never recovered and eventually crashed when I suspended and woke up the system, this time leaving a fault log behind:
29/02/2020 16:58:10*************************************************************************************** System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at System.Collections.Generic.List`1.Enumerator.MoveNextRare() at System.Collections.Generic.List`1.Enumerator.MoveNext() at VoiceAttack.frmMain.(String , Boolean , List`1& ) at VoiceAttack.frmMain..() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() ***VoiceAttack v1.8.3 - Windows 10.0.18363.0
So far the profile works really well, though I have doubts about the PTT mode not completely disabling/enabling listening, since Speech gathers training data all the time when it listens. Doesn’t seem to be a problem so far, we’ll see how it goes.
If I were to suggest something: add alternative syntax for “Report Overhead Break”, something like " <number>in a break". While the idea of having the profile work just by reading the radio menu options out loud is very convenient, some of those options are clearly descriptory rather than showing what the message would be like, and this is an example of that.
EDIT: Plugin support also works fine now, so there shouldn’t be any problems with VAICOM after all, at least unless it craps itself without CMDSEGMENT.</number>
-
It’s not really necessary for me, I’ll just keep it off. I’ve kept VA running to see what happens and it never recovered and eventually crashed when I suspended and woke up the system, this time leaving a fault log behind:
29/02/2020 16:58:10*************************************************************************************** System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at System.Collections.Generic.List`1.Enumerator.MoveNextRare() at System.Collections.Generic.List`1.Enumerator.MoveNext() at VoiceAttack.frmMain.(String , Boolean , List`1& ) at VoiceAttack.frmMain..() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() ***VoiceAttack v1.8.3 - Windows 10.0.18363.0
So far the profile works really well, though I have doubts about the PTT mode not completely disabling/enabling listening, since Speech gathers training data all the time when it listens. Doesn’t seem to be a problem so far, we’ll see how it goes.
If I were to suggest something: add alternative syntax for “Report Overhead Break”, something like " <number>in a break". While the idea of having the profile work just by reading the radio menu options out loud is very convenient, some of those options are clearly descriptory rather than showing what the message would be like, and this is an example of that.
EDIT: Plugin support also works fine now, so there shouldn’t be any problems with VAICOM after all, at least unless it craps itself without CMDSEGMENT.</number>
Good to know there is a viable fault for this issue.
Regarding PTT mode – again, use that link I provided to manage your Speech Profile and backup a working version you can fall back upon, and periodically created a timestamped new profile if you use adaptive recognition, so you have backups to fall back upon (as opposed to falling back to the very first backup). I’ve been working heavily with VoiceAttack for almost 5 years. For a few years, I let adaptive recognition keep running, and eventually, it got pretty borked out. Common phrases just had too many recognition errors, and I had to fall back.
I turned on adaptive recognition again, but backed up periodically, and then fell back again when issues arose, to a recent profile. Then I turned off adaptive recognition. I keep recognition confidence set at 50% now and everything fires perfectly. In my personal experience, adaptive recognition should not be used indefinitely for a number of reasons, and including grunts or sounds that get recognized as words often enough to become regular recognitions that can cause even further issues especially with a few single word commands that may be in use.Try to think about the long run for using VA - get your profile trained through Windows Speech Training a full 3 times, and either freeze it there by turning off adaptive recognition, or at the very least, backup the WSR profile so you don’t have to do WSR training again unless your voice changes or you get a new microphone that is different enough to cause issues with recognition. And if you leave adaptive recognition on, backup your WSR profile regularly and be prepared for the date when you’ll want to turn this option off for good.
https://www.dropbox.com/s/9b6ffxxkm00bu2o/Windows_Speech_Profile_Backup_Tool.rar?dl=0
The optional Push To Talk method is designed to be an option for those who do not already use a PTT mode for VoiceAttack but want/need one for the AVCS4 BMS profile only – you can most certainly craft your own overarching PTT mode that actually disables the Listening Mode in VoiceAttack – but to try and limit everything that VA hears (throughout time) in an effort to ensure speech training doesn’t get poorly trained is much more labor intensive than just letting it listen, and falling back to a WSR Profile backup if things ever become problematic.
Regarding alternate syntax commands: Tools and examples have been provided inside the profile for alternate syntax command creation, and I’ll add your suggestion to the already existing alternates, too. Basically, just duplicate any alternate syntax command examples already present in that category, or follow the formatting of one of the examples to create a new command in the correct category… All these do is call the main command by name, so inside it would be an “execute command by name” and for this example would be “Report Overhead Break”
Expand the category named: AI COMMS 3 - ATC 3 - WILDCARDS (alternate syntax)
Copy any of the commands there (duplicate) and change the when I say (and description) to your desired usage so, maybe ‘[1…4] [in;on;an;anna] [a;] break’ if you want to get a little free on the catching of this phrase
Change the Execute action to: Execute command, ‘Report Overhead Break’ (by name)There’s no way I could plan for every alternate syntax or preferred method, so I made sure it’s easy to create these items as needed. I should really poll the users to see if they have any useful alternates that should become a permanent part of AVCS4 for everyone. For now, it should be easy to modify or add to the profile in any way. The next version (coming soon, I promise) will include a voice command builder system that should allow such command additions to be created with a much more simple GUI for merely inputting the new desired “when I say” phrase - but for now, the only option is the manual examples I provided for these new alternate syntax commands.
Additionally, the method for adding additional callsigns in the current version is far too technical, but the next version will provide a GUI for adding and saving additional callsigns to the list.
The wildcard use lets us pretty much say anything before the hardset commands, and adding alternates lets us expand that even further.
-
Hey question, what does “Audio Feedback” do? By default, its turned off.
-
Hey question, what does “Audio Feedback” do? By default, its turned off.
Audio Feedback Mode provides an audio cue when a command is successfully recognized. The sound is like a radio cue-up static sound, and can be set to Stereo Left/Right/Center as desired.
When VA is working perfectly and we have max recognition, it’s almost not needed…. but for those frustrating times when you say a command and seemingly nothing happens, and you feel like repeating yourself to be sure the VA Command fires, this option gives that “command recognized” feedback without breaking immersion… a very light radio-like sound that you can distinguish from the game or other sounds.
It lets you know your voice control is operating without needing to see the VA window and it’s event log of recognized phrases/commands, or lack-thereof.
-
Not familiar with how this profile works, but is it safe to rebind default keys ( ie. rebinding q for awacs page, to z)? Or are the commands bound to certain key inputs ?
-
Not familiar with how this profile works, but is it safe to rebind default keys ( ie. rebinding q for awacs page, to z)? Or are the commands bound to certain key inputs ?
All the keys used by this profile are defined in the KEYPRESS_VARIABLES command – it’s greyed out. If your keyboard is a non QWERTY, like AZERTY or QWERTZ. these options are available on voice command “Change Default Keyboard Layout”
Otherwise, if you set non-standard keys in BMS, you’ll want to change the corresponding keys for that command through the KEYPRESS_VARIABLES init command. (These options are part of a voice command config editor in v1.5 – coming soon, I promise!!)Basically, everything the profile uses to function is defined in those init commands that are mostly greyed out - they’re called when the profile is loaded, from speech spoken by the profile to the keys it uses, the time a key is held down and then released and the time between keypresses for macros. Any questions, feel free to ask! Cheers!
-
Amazing, thank you for this profile.
Question: every once in a while I get “no keys released”. What is the cause and is there anything I can do about it?
Still, keep up the great work!
Tnx
Bikeman -
Amazing, thank you for this profile.
Question: every once in a while I get “no keys released”. What is the cause and is there anything I can do about it?
Still, keep up the great work!
Tnx
BikemanI assume that is an action message due to some command that cleans up any keys that are held down. If the profile functions, and there are no other errors or issues, just ignore it. I do try my best to make sure the event log is not populated by needless notifications such as that, and my profile’s methods are specifically designed to work around actions that would throw an error message during a ‘false’ evaluation or such.
Just ignore it, and if you have any issues, feel free to post up and I’ll help. :drink:
-
Thanks for this profile, it’s excellent - I can’t get push to talk to work though.
I’ve it on (enabled).
I’ve assigned joystick buttons correctly in the profile and commands are executed in voice attack when I press the buttons.
Is it supposed to enable listening in voice attack? I have it off by default, if it’s on, push to talk doesn’t really work, as every command is listened to and processed nonetheless. -
Thanks for this profile, it’s excellent - I can’t get push to talk to work though.
I’ve it on (enabled).
I’ve assigned joystick buttons correctly in the profile and commands are executed in voice attack when I press the buttons.
Is it supposed to enable listening in voice attack? I have it off by default, if it’s on, push to talk doesn’t really work, as every command is listened to and processed nonetheless.The PTT in AVCS4 is a sub-mode and does not have anything to do with the overall Enable/Disable Listening feature in VoiceAttack. I totally get that the concept is a bit odd on the surface, don’t feel at all bad for not ‘getting’ it on first look. I think I’ll include a better infographic on this mode for future releases.
Think of it as button(s) you hold down so that AVCS4 Voice Commands can function - it does NOT affect any other voice commands. This design allows you to have your own profiles with other voice commands that are NOT restricted by my AVCS4 PTT mode. My PTT is only designed to stop AVCS4 BMS Radio Commands from firing IF the button(s) are not held down.
Inside each AVCS4 voice command is a check that boils down to this: “IF PTT MODE ON, and IF PTT BUTTON(s) NOT PUSHED DOWN == EXIT COMMAND”
I hope that makes sense… If not, feel free to reply and I’ll take another swing at it.
*Pushing hard to get the new version of AVCS4 into public beta test before June, but life keeps getting into the way - Spring comes early in Oregon, had to get the veggie garden going and the old rototiller refuses to RAMP start … spent my week tilling a 10x10’ bed by hand. Fun fun. Tons of stuff is now on voice command, live profile updates and voice control bug reporting, and better user personalizations from adding new callsigns (or removing some), even adding to or editing the included voice commands are now on voice commands themselves, so you can edit a profile without ever even opening the profile to “edit” in the traditional sense. Voice Calculator is cool - use it all the time during development… in my standard AVCS4 “Any Way you Say It” fashion, so for example, “Tell me the square root of Pi and be quick about it!”
…back to work. Cheers!
-
Dear all,
I have enjoyed this warthog profile (Morphine’s Profile for BMS 4.33 and Beyond by Gastone) since years. Congrats again for the great work.
I have been now using VoiceAttack and the great AVCS4 profile but I am struggling with using the push-to-talk linked to VHF/UHF. When pressing these, there is no reactions from VoiceAttack. (It does work when I use a specific PTT button for this (iff in))
Does anyone use this profile with AVCS4 and does it work with the UHF/VHF function ?
-
Does anyone use this profile with AVCS4 and does it work with the UHF/VHF function ?
I use this profile also. Just go into the settings (little wrench bottom right) select the hotkeys page and there you can set the PTT to the UHF button on your throttle. I did that and it seems to work fine
-
I use this profile also. Just go into the settings (little wrench bottom right) select the hotkeys page and there you can set the PTT to the UHF button on your throttle. I did that and it seems to work fine
Thanks for your feedback. However, in multiplayer, this wouldn’t be a good solution as if you do so, when you would need to control your wingman, it would transmit on the UHF channel and everybody would hear it. In that case, you should have transmitted on to VHF.
Until now, I did use the IFF in on the throttle to speak to Voiceattack without emitting in Multiplayer. But this is not ideal as I would rather the multiplayer people hear my voice when i speak on UHF, but not when I speak on VHF (while giving orders to voiceattack)
-
Thanks for your feedback. However, in multiplayer, this wouldn’t be a good solution as if you do so, when you would need to control your wingman, it would transmit on the UHF channel and everybody would hear it. In that case, you should have transmitted on to VHF.
Until now, I did use the IFF in on the throttle to speak to Voiceattack without emitting in Multiplayer. But this is not ideal as I would rather the multiplayer people hear my voice when i speak on UHF, but not when I speak on VHF (while giving orders to voiceattack)
You do not need to set BOTH buttons for PTT, if you don’t want to. You can use either PTT button. Please view the reply just above your first post here on Page 7 of this thread (click here), it explains the PTT mode in plain examples.
If you don’t want to transmit on UHF, then why are you not just using the VHF for PTT? Remember also, this is an optional system – and it is turned OFF by default. If this mode is ON, then you have to push one of the PTT buttons you set for your controller in VoiceAttack and in both PTT Push/Release commands (VHF and/or UHF) in order for a command to fire (they will be recognized, but exit any AVCS4 Command if PTT ON and PTT BUTTON NOT PRESSED)
This Radio System is designed to allow Immersive Control of AI Wingmen through the in-game Radio Menus. If a Human is your #2 Wingman, but an AI Computer Controlled Pilot is #3 Element Leader, then AVCS4 allows you to set your #2 Wingman as “Human” –using the command “Set a Human Pilot” and assigning #2 Wingman as Human-- during the flight, if you say, “Two Say Fuel”, the in-game Radio Menu command will NOT fire (because you set that pilot to Human). But if you say, “Three Say Fuel”, it WILL fire because it assumes all pilots (in this example, #3 Element Lead) are NOT human.
Other Human Pilots do NOT need to hear you speak to your Computer Pilots such as #3 in the example above, but AVCS4 lets this occur for immersion and you can use whatever PTT button you feel is appropriate (VHF or UHF), or not at all (PTT MODE OFF).
Use VHF or UHF as you wish, it doesn’t matter to AVCS4, or BMS.
-
You do not need to set BOTH buttons for PTT, if you don’t want to. You can use either PTT button. Please view the reply just above your first post here on Page 7 of this thread (click here), it explains the PTT mode in plain examples.
If you don’t want to transmit on UHF, then why are you not just using the VHF for PTT? Remember also, this is an optional system – and it is turned OFF by default. If this mode is ON, then you have to push one of the PTT buttons you set for your controller in VoiceAttack and in both PTT Push/Release commands (VHF and/or UHF) in order for a command to fire (they will be recognized, but exit any AVCS4 Command if PTT ON and PTT BUTTON NOT PRESSED)
This Radio System is designed to allow Immersive Control of AI Wingmen through the in-game Radio Menus. If a Human is your #2 Wingman, but an AI Computer Controlled Pilot is #3 Element Leader, then AVCS4 allows you to set your #2 Wingman as “Human” –using the command “Set a Human Pilot” and assigning #2 Wingman as Human-- during the flight, if you say, “Two Say Fuel”, the in-game Radio Menu command will NOT fire (because you set that pilot to Human). But if you say, “Three Say Fuel”, it WILL fire because it assumes all pilots (in this example, #3 Element Lead) are NOT human.
Other Human Pilots do NOT need to hear you speak to your Computer Pilots such as #3 in the example above, but AVCS4 lets this occur for immersion and you can use whatever PTT button you feel is appropriate (VHF or UHF), or not at all (PTT MODE OFF).
Use VHF or UHF as you wish, it doesn’t matter to AVCS4, or BMS.
thanks for the feedback. I have tried to read again all of the comments and your message but I am confused about the use of UHF, VHF.
- the way I used it now: UHF/VHF mode off. I press a specific button on the warthog (this is the IFF in function) to talk to voiceattack. It works very well. However, not ideal to my view as I would rather use UHF/VHF buttons only so that when for example I request departure, I will talk on UHF and my teammates AND voiceattack will hear my comms
- when I do activate UHF/VHF mode on: I remove the PTT function assigned to the joystick. Then I see Voiceattack listen to me but when I am in Falcon, no actions are done
If too hard to understand, we could connect on discord to discuss about it
best,
Cobra -
If too hard to understand, we could connect on discord to discuss about it
best,
CobraSure! AVCS4 Support Discord link here: https://discord.gg/ySj56J9
I’m a bit out of sorts today, but I’ll be online later. I really think this is just a misunderstanding, and again, I could make a better infographic to explain this. It’s more simple than it seems. Discord will help, since we can drag and drop images, and interact directly like chatbox. See you around!
-
Misunderstandings of my AVCS PTT mode are not uncommon - anyone not ‘getting’ this system should not feel bad at all. I’ve added a helpful graphic and explanation from the AVCS Help & Support Discord to the first post in this thread, and I’ll quote it here, too, in case it gets missed by anyone coming here for help with PTT. Feel free to post any questions here, or find me at the AVCS Discord Help & Support channel here: https://discord.gg/ySj56J9
More that one user has been a bit confused by my AVCS4 PTT Mode - I will make better info-graphics for the next version, coming soon… until then, here’s some info that helped one person with the concept…
AVCS4 PTT Mode Notes:
The Joystick Buttons inside the (optional) AVCS4 PTT Mode Press/Release commands are inadvertently ‘hard set’ to my personal setup, as examples for everyone else with some notes in the commands themselves. You must first enable the command by clicking the checkbox on the left, then click the button by the Big Blue Arrow to set the button(s) to your desired button(s). Yours will NOT be the same as my own, it would be rare if they were, as the example preset ‘Number 24’ and ‘Number 26’ buttons that my profile is distributed with are for my joystick specifically as I have it set up in my VoiceAttack program settings.Info on upcoming AVCS4 version:
I’m wrapping up final testing for the next version of AVCS4 Immersive BMS Radios, but it will be another couple weeks and then I’ll get it into a public beta test. Apart from the Live Updates & Update Rollback systems (which allow bug fixes/updates without downloading/importing a new profile or commands), other highly useful systems include voice controlled command editing and building, a few simple choice boxes to negate the need to actually open the VA Editor and add/edit commands in the traditional sense, for everything from standard to prefix/suffix style commands, and even wildcard commands, with options for state tracking (so “turn on” commands don’t toggle something that is already “on”). I am certain people will enjoy being able to edit/add/remove callsigns recognized by AVCS4 through a simple voice command, as well as any other speech variable used by the profile or any other setting.Finally, the save file system will ensure any user settings will never be ‘lost’ by VoiceAttack, and save files can even be backed up & restored so settings can persist between physical AVCS4 profile version updates, VoiceAttack program re-installation, and even Windows OS re-installation. The save files themselves have a rolling 10 file backup for easy restoration of a previous file, too, including a ‘shadow copy’ option for making a sort of ‘restore point’ to fall back to. As an added bonus, a person could set a number of new custom callsigns, a handful of voice commands (created BY voice) for various switches in the cockpit, and then share that save file with another AVCS4 user who could instantly have those same commands now on THEIR personal AVCS4 profile on their computer.
-
Preview of the Upcoming Features of AVCS CORE Framework
& the (WIP) 1.4 (alpha) version of AVCS4 BMS Immersive Voice Control RadiosAPOLOGIES FOR THE LOW VOLUME! Took too much time to create, need to get back to work or this thing will never get into public beta tests – thanks for understanding!
Since I expected this upcoming version to be in public beta tests much sooner, I’ve created a preview of the new systems and functions in the next version of AVCS4 BMS Immersive Voice Control Radio Menus for VoiceAttack. This new version will be coming to a beta test soon.
This will include the new AVCS CORE Framework and App designed for VoiceAttack which powers the profile update system, save file system, and bug reporting and semi-automated debugging systems. AVCS CORE is a VoiceAttack Profile that will load first, and handle the initialization of any AVCS4 Profile that it switches to, in this video, AVCS4 BMS.
It will also handle my upcoming Elite: Dangerous voice control systems profile for VoiceAttack, and many other game control systems I have planned. Huge thanks for all the feedback and support! I am hoping to have a public beta test before the end of July, possibly much sooner, as I complete the final rounds of testing and get everything ready for release.
Cheers!
a note:
*Not used to public speaking, and wasn’t paying enough attention to my own actions, at about 2:10 said 0.04 was the ‘default’ - but the reason the “change” to the default keypress timings shown in the video didn’t appear in the save file was because 0.05ms is the default, and only changing to a non-default time would cause a changed value to appear in the save file.This is a feature of the save file system I created, where file write/read is very limited, and optimized to happen only when needed. *Also, “Open Keypress Timings Menu” would have been far less of a tongue-twister had it occurred to me to use that phrasing… as always, AVCS commands have ‘nearly any way you can say it’ ready so we don’t need to memorize commands in a literal sense, only conceptually.
-
I cannot install voice attack on my pc. it gives .net framework error. says it requires 4.7.2. I have tried everything to install it but it won’t work says it’s not compatible to operating system. I’m using Windows10
-
@viperboy:
I cannot install voice attack on my pc. it gives .net framework error. says it requires 4.7.2. I have tried everything to install it but it won’t work says it’s not compatible to operating system. I’m using Windows10
Complete information on .NET 4.7.2 can be found here - including an offline installer. It is a recommended update in the way Win10 delivers updates, so if you have these disabled, it may not have installed when you ran your normal Win10 updates. You can try running Win10 Update again and see if it’s on the list of recommended updates, it is required by more programs than just VoiceAttack, though that may be the first program you have that requires it.
Hard to troubleshoot without knowing what version of .NET you have installed, I assume it’s not 4.7.2 – to find out, you can copy/paste the following powershell script into Windows Powershell and run it to get the current installed .NET version:
Step 1: Open Powershell (press Windows key, type Powershell - click it or press enter)
Step 2: Copy the script from below into Powershell, paste, and press enterNote the version it tells you, and reply back here with the numbers… Or, if it’s below 4.7.2, follow the instructions above to run Windows Update and look for this in the Recommended Updates - if it’s not there, follow the link above to grab the offline installer, and install .NET Framework 4.7.2 manually.
If you ever need direct chat support for VoiceAttack, someone more knowledgeable than myself with this stuff, join the VoiceAttack Discord and post up your issue - many dedicated volunteers there happy to help new users!
$Lookup = @{ 378389 = [version]'4.5' 378675 = [version]'4.5.1' 378758 = [version]'4.5.1' 379893 = [version]'4.5.2' 393295 = [version]'4.6' 393297 = [version]'4.6' 394254 = [version]'4.6.1' 394271 = [version]'4.6.1' 394802 = [version]'4.6.2' 394806 = [version]'4.6.2' 460798 = [version]'4.7' 460805 = [version]'4.7' 461308 = [version]'4.7.1' 461310 = [version]'4.7.1' 461808 = [version]'4.7.2' 461814 = [version]'4.7.2' 528040 = [version]'4.8' 528049 = [version]'4.8' } $verNET = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -name Version, Release -EA 0 | Where-Object { $_.PSChildName -match 'Full'} | Select-Object @{name = ".NET Framework"; expression = {$_.PSChildName}}, @{name = "Product"; expression = {$Lookup[$_.Release]}}, Version, Release | Select -ExpandProperty Product clear-host write-host "My installed .NET Framework version is: $($verNET)"