FoxVox Free voice control software for BMS
-
Joy2Key
In another thread you mentioned you’re considering integrating some Joy2Key functionality … I built https://github.com/arithex/DragWheel, and am currently forking it to focus solely on simplified button-to-keyboard mapping scenarios.
If C# is your thing, and you’d like to collaborate on that part, let me know…
-
I’m always interested in freeware that works!
-
Thanks for the reply. I’ve used GitHub for plenty of stuff but not quite sure if it’s the place to host it. For now, I think I’ll share it with Google Drive for beta testers with a link up.
It’s built in c# using wpf. I wanted to put it in .net 5 for cross-platform but the major hitch was that I’m using Microsoft’s speech recognition engine. No way I was going to build an engine on my own in a short time and other options all required online connection for recognition and associated fees. The MS engine runs offline and no fees or limitations. The engine api’s aren’t built into .net core frameworks, so I was limited to full .net (requires 4.7 or later version). Hence windows only.
Honestly, I’ve never used VoiceAttack so I can’t say differences, but I can say it works well. It supports fully customizeable voice keys that are accessed on a voice key group (i.e. “AWACS request vector to nearest air threat” puts you on the AWACS menu group and then finds the correct command to execute). It allows you to say words in different orders, use synonyms, and the output commands can be chained together. Theoretically you could automate the entire startup sequence on a single voice command. I’m also looking at implementing dynamic voice variables so you can on the fly define call-signs as an alias for a command group (i.e. instead of saying “AWACS” you could use the current call-sign without having to program all call-signs into the map).
Anyway, I think it will be good for some of those like me who just want a free option that works well. Send me a message if you’d like a link to the download once I post it and you can try out the beta. I need some reviews and feedback on how well it works for the community
-
Hi airtex,
Sounds cool, I’ll check it out. C# is definitely my thing!
-
Hoover,
If you’re up for the beta testing, I’ll add you to the distribution and send you a download link. Currently requires 64 bit windows with .net 4.7 or higher installed.
-
Great gift for the whole community, foxster!
Thank you for your effort
-
Excellent work! Love voice control!! I’m a huge Star Trek (TNG+) fan, won’t stop until I can talk to my house and car like it’s the Enterprise (and DYI, at that).
Best wishes and good luck!!
-
“Alexa, initiate in-air engine restart sequence” would be nice sometimes
-
I’ve added a video for Beta testers into the starting post of this thread now…it provides a bit more info on how the app works since there’s no manual yet :eek:
-
Thank you for Sharing this :drink:
-
Hoover,
If you’re up for the beta testing, I’ll add you to the distribution and send you a download link. Currently requires 64 bit windows with .net 4.7 or higher installed.
I mean, Im currently running software which requires 64 bit and .net 4.7.2 or higher… on linux. So it might not be so hard and fast as you might assume.
What licence is this under? If no choice has been made yet, may I suggest GPLv3?
-
I mean, Im currently running software which requires 64 bit and .net 4.7.2 or higher… on linux. So it might not be so hard and fast as you might assume.
What licence is this under? If no choice has been made yet, may I suggest GPLv3?
Thanks Blu3Wolf…I’ll take a look. I was also looking at the MIT license…I’ve been mainly focused on just building it. I know .net can be run on Linux and Mac (to some extent) but I haven’t looked into whether anyone’s ever run Msft Speech Recognition Engine on it.
-
I’ve been wondering if tools like this would run ok under WINE, alongside BMS.
Does Mono or Wine implement Microsoft.Speech.Recognition (or whatever native DLLs underpin that)?
Are there other blockers … can one Wine process call SendInput() to generate keystrokes for another?
Do the RawInput and HID interfaces to intercept joystick buttons/axes work (thinking of Joy2Key scenarios)?
I’m assuming vJoy (kernel driver) would not work as is … but I feel certain there’s a linux equivalent.
-
I’ve been wondering if tools like this would run ok under WINE, alongside BMS.
Does Mono or Wine implement Microsoft.Speech.Recognition (or whatever native DLLs underpin that)?
Are there other blockers … can one Wine process call SendInput() to generate keystrokes for another?
Do the RawInput and HID interfaces to intercept joystick buttons/axes work (thinking of Joy2Key scenarios)?
I’m assuming vJoy (kernel driver) would not work as is … but I feel certain there’s a linux equivalent.
I had read somewhere that MS didn’t port the namespace over to .net core or 5 due to possible licensing issues…or more likely they want to just push their online azure hosted engine which they charge for. Either way I doubt it’s supported in mono. I also read that Google plans to release an offline engine for mobile devices…could be a possibility depending on how they license it. For now though this was just the quickest path to a functional app.
As for joystick an keyboard inputs/outputs, I’m guessing it should be rather straightforward. Although keyboard support seemed archaic and clunky…like code from the 80s patched over to fit the modern world.
-
Cool! Potential successor to DWVAC :).
-
oh wait … looks like there is a System.Speech.Recognition component to .NET Framework? (I mistakenly thought it was all Microsoft.Speech…)
(The original theory behind “System." vs "Microsoft.” distinction was that the former would comprise the universal/portable runtime and base-class libraries … while the latter would be for Windows/Office/whatever proprietary stuff. But that distinction was drawn in the earliest days, when the only portable runtime envisioned was Silverlight. And even so, I recall it became muddy and inconsistent, pretty quick. One probably shouldn’t assume anything either way, based on the the namespace or assembly names. Pretty sure Mono implements a lot of stuff in Microsoft.Win32.* namespace, for example.)
-
mono does not, but you can use winetricks to install native SAPI5. I’ve been working with that to try get a System.Speech method working (in vatSys, an air traffic control client for Vatsim).
As regards the keypress stuff, I’m not entirely sure sorry.
-
FoxVox pre-release update for those following:
It’s been a busy week since the release to initial beta testers. Here’s what’s happening:
New features:
- Added on-the-fly command alias creation. You can now create a voice command to add aliases that aren’t hard coded into the library. This is useful for changing a command like “AWACS request picture” to “Sentry request picture” for a more realistic feel. It can also make commands faster/easier for mission-specific operations.
- Added a customizeable language dictionary for better recognition support, particularly for listing possible aliases. It works like the assisting phrases on individual commands but global in scope and easier to manage.
Latest developments:
- Thanks to airtex2019 and his recent code contribution, getting joystick/mouse input into the software looks promising for the very near future rather than later. This means having voice and joystick mapping all in one. This also would include a requested Push-to-Talk feature. I’ll know more about this as things develop.
I haven’t received any feedback from beta testers on producing a good quality BMS voice command library yet. Maybe I need some more help. Let me know if you’re interested in assisting the project in creating a good voice command file.
Still looking for the right home to host the released app but I’ve got some things in the works. We’ll see. Current target release date is September 17.
-
Current target release date is September 17.
It is against BMS dev culture and forum etiquette to promise release dates for anything … everything will release “in 3 or 4 weeks”.
-
It is against BMS dev culture and forum etiquette to promise release dates for anything … everything will release “in 3 or 4 weeks”.
:amen: