FoxVox Free voice control software for BMS
-
There was a new problem in the release v2.7 with keystrokes not being recognized in BMS anymore due to a new feature introduced to support legacy keypresses that inadvertently set a flag to indicate Unicode Scan Codes. I did not realize that was included in the latest release, so hotfix v2.7.1 is now available. There was also an issue with vJoy button labels being shifted by 1 which is now corrected.
-
@foxster I installed v2.7.1 and connected the plugins and my BMS - Auto.key but the push-to-talk buttons is not automatically recognised by my Thrustmaster Viper TQS. Any suggestion for a fix?
-
@Vikingo11 I’m not sure if something has changed in the BMS key file or not with the update. Are you running the latest BMS v4.37.4? Others seem to have reported this same issue so I’m looking into it. In the meantime, you can clear the PTT and set it directly. I do want to find out why the auto-binding isn’t working any more so I’ll keep investigating…just need a weekend with a couple of free hours.
-
@foxster yes, I have upgraded to v4.37.4. I thought the culprit was my new Thrustmaster Viper TQS. I look forward to hear from your investigation and in the meantime I will set the PTT manually. Cheers!
-
@Vikingo11 When you have a moment, I need three things from you to troubleshoot.
First, from within FoxVox, click the plugin to view the parsed BMS variables and do a search for SimTransmitCom1. Right click it to copy the value and paste it here for me.
Second, click on any PTT setting to bring up the PTT input window and click your UHF button to display it. Capture a screenshot of the button description as shown in the window like in the example pic below. You can cancel the window afterwards - no need to actually set the PTT.
Third, copy the name of the controller as found in the DeviceSorting.txt file located in you BMS user config directory. It should have an ID number followed by the device name. I’d like to see if the product name of your controller is consistent between FoxVox and BMS or not.
Thanks!
-
@foxster I got it to work! I removed the shared library Falcon BMS 4.37.3 v4, and reinstalled it. That solved the issue. The auto connection works like a charm now.
For your reference, I attach the screenshots.
-
@foxster said in FoxVox Free voice control software for BMS:
@Virus I just released version 2.7. Please update and let me know if you still have the issue. It could be an issue with syncing between the FoxVox Parser plugin and BMS, or it may be fixed with the update. If after the update it still doesn’t see the device, I’ll address it with you. Thanks!
Copy, I’ll try and let you know.
Is the profile still the same? -
@Virus I just posted a new library update for the new BMS 4.37.4 update. The new library file is available here along with information about changes, setup, etc.
https://foxster.itch.io/foxvox-libraries/devlog/745960/foxvox-falcon-bms-libary-v4374-v1-update
-
@foxster I installed the latest library, and everything works well except for the fact that I cannot access MS Speech 11. See the screenshot below. Speech Recognition is activated on my PC.
-
@foxster said in FoxVox Free voice control software for BMS:
@Virus I just posted a new library update for the new BMS 4.37.4 update. The new library file is available here along with information about changes, setup, etc.
https://foxster.itch.io/foxvox-libraries/devlog/745960/foxvox-falcon-bms-libary-v4374-v1-update
Thanks, I’ll update as soon as I’ll touch my PC.
About the speech engine, does the new one uses internet or ai to recognize voice?or it is just an evolution of the old one? -
@Vikingo11 You need to install one of the SR languages available from Microsoft
https://www.microsoft.com/en-us/download/details.aspx?id=27224
Note: TTS language packs are for Text-to-Speech, not speech recognition.
-
@Virus It is offline, no internet needed. It is not an upgrade, rather an alternative. Some have better results and others do not. It does provide options for other languages also.
-
@foxster
copy, anyway I installed 3 SR packs (us, gb and ita) but foxvox says no Language packs installed.Also unfortunately, the issue with the axis and buttons from my joystick is still there (yellow triangle),
rudder and throttle inputs (winwing orion rudder and virpil throttle) are detected without issues. -
@Virus I need to see the three things I asked here from Vikingo11 from you. Please pay special attention to instruction #2 as I need to see the actual controller description from the PTT window, not the variable name. You’ll need to actuate the button like you’re manually binding it in the PTT window. What I’m after is trying to determine what the joystick product name is per BMS inside the key file vs what it shows up as inside FoxVox. They must match in order to work correctly as there is currently no other way to correctly identify the devices between the two.
@foxster said in FoxVox Free voice control software for BMS:
@Vikingo11 When you have a moment, I need three things from you to troubleshoot.
First, from within FoxVox, click the plugin to view the parsed BMS variables and do a search for SimTransmitCom1. Right click it to copy the value and paste it here for me.
Second, click on any PTT setting to bring up the PTT input window and click your UHF button to display it. Capture a screenshot of the button description as shown in the window like in the example pic below. You can cancel the window afterwards - no need to actually set the PTT.
Third, copy the name of the controller as found in the DeviceSorting.txt file located in you BMS user config directory. It should have an ID number followed by the device name. I’d like to see if the product name of your controller is consistent between FoxVox and BMS or not.
Thanks!
-
@Virus said in FoxVox Free voice control software for BMS:
@foxster
copy, anyway I installed 3 SR packs (us, gb and ita) but foxvox says no Language packs installed.Also unfortunately, the issue with the axis and buttons from my joystick is still there (yellow triangle),
rudder and throttle inputs (winwing orion rudder and virpil throttle) are detected without issues.Also regarding the SR 11 packs, installation detection is determined from registry keys. If you are using the portable version of FoxVox and it is unable to read the keys for some reason, this might be a possible reason for it not seeing them. Installing from the msi package could possibly help. Another potential issue is that they need to be the same x64/x86 package. If you’re running 64 bit FoxVox, you must be sure to install the 64 bit SR 11 runtime and language pack. Again, installing the msi package could possibly fix this as the installed version only runs the 64 bit whereas the portable will auto-choose 64 or 32 bit. Could be a difference there.
-
This post is deleted! -
@foxster Cheers! I downloaded the SpeechPlatformRuntime x64 and MSSpeech_SR_en-US_TELE, and installed both. It works! See screenshot below and now FoxVox also recognise when I say “Flight”, which was not the case before.
-
Hi Foxster, I’ve tried your new version and thanks for your hard work, this software is shaping up pretty good, the previous foreign language issue is solved by your added language options, right now we can choose from what speech recognition language we want FoxVox to use and it no longer requires the system display language to be set in English anymore, thanks very much !!
You still need the display language to be set in English to train the English Recognition engine of your voice, but when that is done you can switch it back, fair enough I would say.
I’ve also tried the new version 11 recognition engine, without the training it’s not much better than the old one but after training I think it behave a little bit better, I’ll keep testing and have more feedback down the line.
One thing is on my mind though, since we only have a very limited vocabulary when we are using Foxbox in BMS, are there a way to give Foxvox/SR engine a pool limited only to what’s on the radio command list, rather than the whole dictionary of the English language, to improve it’s recognition? I’ve had several lines with the Crew Chief that always need a second attempt, as simple as the first greeting “How’s chief”. I’ve been trying with different combinations and keep thinking about how we can limit the pool so that the engine don’t have to search so hard for the word that’s not even relevant.
To sum it up very good work indeed, I appreciate your effort and time with all my heart, no more lag detecting control axis, a very polished work of art you have done here !!
-
@jacqueslees said in FoxVox Free voice control software for BMS:
I’ve also tried the new version 11 recognition engine, without the training it’s not much better than the old one but after training I think it behave a little bit better
Actually the MSP 11 does not support training - that is only a feature available for the traditional WSR.
@jacqueslees said in FoxVox Free voice control software for BMS:
since we only have a very limited vocabulary when we are using Foxbox in BMS, are there a way to give Foxvox/SR engine a pool limited only to what’s on the radio command list, rather than the whole dictionary of the English language, to improve it’s recognition?
First, MSP 11 doesn’t support open dictation, only WSR, so trying that out automatically contstrains it to a limited vocabulary. FoxVox does allow WSR to fall back to open dictation, but only after it fails to identify a matching voice command group, and as a lowest priority, so disabling it won’t improve its ability to recognize a phrase and ultimately will reduce speech flexibility. I’ve found that restructuring the command groups and/or voice command keys is the best way to improve a particular command (besides using a better microphone, as many, particularly gaming ones, are notoriously poor for speech recognition imo).
Thanks for your positive comments. I’m glad the improvements have helped!
-
@foxster
Hi Foxster i have reseved this massage during my last flyt in KTO campain:
Value cannot be null. (Parameter ‘source’)Inner Exception: Empty
at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func
2 predicate)
at h8Ts4w4yqnQOF6tBbhh.i6Alnf43bshqlc24YBc.<>c__DisplayClass22_0.rskIUysIgGg(G8aE1mLnDhy4fKn1vej k)
at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func
2 predicate)
at h8Ts4w4yqnQOF6tBbhh.i6Alnf43bshqlc24YBc.Ci7LTIWdoj(IEnumerable1 ) at fwPfjLf4pU5FdByWvjZI.rIOI7u7msrc(Object, IEnumerable
1 , fwPfjLf4pU5FdByWvjZI)
at WZGPqUQuhMVCg6IpnkW.WSSGceQWJ9oOH9MXUvh.JnGwaJIxksA9BVtM7kfl.<>c__DisplayClass288_0.ublItGmvx0B(kqhEF04SOL3Z2PxaptU g)
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable1 source, Func
2 predicate, Boolean& found)
at WZGPqUQuhMVCg6IpnkW.WSSGceQWJ9oOH9MXUvh.JnGwaJIxksA9BVtM7kfl.UWVIxV90ABy(IEnumerable1 , IEnumerable
1 )
at Nr8PTUfoG6sBhX8Z7tg1.rIOI7u7msrc(Object, IEnumerable1 , IEnumerable
1 , Nr8PTUfoG6sBhX8Z7tg1)
at MNax3y7tSnxQtimkDs6.a0K4UZ7Ba0KP7wGlwgy.PwY7wqqDtv(FWeH9D7YMlDk92OgwI3 , Single , kqhEF04SOL3Z2PxaptU , Boolean , CancellationToken )
at rLWnElfrw0yPgIVg3osy.rIOI7u7msrc(TaskAwaiter&, rLWnElfrw0yPgIVg3osy)
at MNax3y7tSnxQtimkDs6.a0K4UZ7Ba0KP7wGlwgy.qpQ76lXsiR(V1AUwy7nSB6oLi3oAN9 , kqhEF04SOL3Z2PxaptU , Boolean )
at rLWnElfrw0yPgIVg3osy.rIOI7u7msrc(TaskAwaiter&, rLWnElfrw0yPgIVg3osy)
at GlBF6n7PAWiUG0qoLlE.x4Nu1m7Sn8PT4P3mGW7.pZE78FJiPf(Object , xe5Qy1JuDIaRx14C13M )
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)!![alt text](
image url)