Jump to content

Mpstark

Member
  • Content Count

    30
  • Joined

  • Last visited

  • Medals

Everything posted by Mpstark

  1. Articulate (Squad Voice Command Utility for Arma 3) What It Is: Articulate is a custom written voice control program designed for ArmA. It makes controlling your squad simply a matter of saying what you wish them to do. We believe that voice commands are extremely intuitive, increase user immersion, and act much faster than the traditional Arma menu system. For example, instead of having to remember that the Open Fire command for your whole squad is "~ 3 1" you can simply say "All, open fire". Advantages: Compared to other voice command options Articulate: Only accepts valid commands. Doesn't require pauses between sections of a command. Tailored to ArmA's command menu Completely Free Usage: You will generally be able to use Articulate by giving the same commands your in-game character gives to his squad. This means that you are able to give commands like "Squad, Open Fire" and Articulate will understand exactly what you mean. For a full list of available commands, take a look at the wiki. For more information on improving the accuracy of Articulate's speech recognition, read this page. Future Development: You can read more about some of the exciting new features which will be arriving by visiting the wiki's todo page. Providing Feedback: You can provide feedback to help improve Articulate by: Using our issue tracker on GitHub Posting in our BI forum post (right here!) Filling out our feedback form. A list of known issues and some solutions is here. Download Development Preview
  2. I would guess that your training has reset since there wasn't any changes to how Articulate does recognition between those two versions. Retrain and then make sure that the confidence is set to what works for you.
  3. I've opened a ticket in our tracker for this issue.
  4. Right now, Articulate only supports English and as such, you must have the English Speech Recognizer, since that's what we're using to perform recognition. We are working on the next version of Articulate that will support more than just English (and more than just Arma).
  5. If you are talking about hearing an actual echo of your voice over your speakers, you should turn off the "Listen To This Device" feature located in the "Recording Device">"Properties" menu for your microphone. If you are talking about hearing your in-game character repeat your command, you can download a mod called MRB Voice Stop that disables the in-game radio commands. ArmaHolic link here ---------- Post added at 20:22 ---------- Previous post was at 20:04 ---------- Context and command-injection will require a plugin/mod for the game that communicates with Articulate using a small API (through a pipe or other inter-process communication) that is to be developed that will be application-independent. That way, context and command-injection will only depend on community developed/supported resources and will not require additional Articulate development. Along with human-readable application profiles (likely XML, perhaps with some scripting), this will allow players to develop their own commands that either tie into a game or do the current keyboard emulation. I'm hoping that an official or paired-up Arma modification for Articulate includes an Arma-side scripting API that mission editors and other mod authors can use to utilize optional voice commands for their mission or mod. However, we need to develop those features as well as attract a mod developer that is willing to work with us for this to be possible; we would also need to realize enough community support to actually get high profile mods and missions to use the feature as well.
  6. Context is hard (but it's on the list for us to do!) in a couple different ways: first and most obviously, you have to get the information out of Arma and into the separate Articulate executable, which requires a mod running in Arma and piping data out (which is entirely possible) and then second, you need to be able to *do* something with the contextual information like add/remove particular phrases that come into or go out of context or add phrase alternates (like Smith -> soldier two), and then lastly, you need to update the Microsoft SAPI (Speech API) instance to reflect the new status of your commands. Unfortunately, SAPI wasn't designed to be used quite so dynamically, so there might little bit of weirdness in the actual implementation. Since we're planning Articulate to be more of a framework that will work for many different games and applications (without any modification of the actual application, just by the creation of additional application profiles; which is incidentally why the design/specification is so hard to nail down), we have to be sure to make something very general that will work for multiple things, not just Arma. Now as to your other comment about using a "speech-to-text" to capture arbitrary speech and then do some matching on the text. As much as I would like to say that it's possible, it's just not feasible on multiple levels. Microsoft calls this "dictation" and for good reason, that's really all you can use it for. Because it has to be able to match arbitrary speech, it basically relies upon average word use in the language that you're speaking -- that is, you can dictate a letter to it and it works fairly well in the general case, but as soon as you start talking about something specific like weapons or tactics, it just.. doesn't work and you get odd results like "Terry, get the plumber" instead of "Two, get into cover" -- even though they don't sound much alike to a human, they share the same number of syllables and, in the general case, telling someone to get the plumber is much more likely than telling two to get into cover. The reason that Google or Apple is able to get consistent results for seemingly odd recognition snippets on the phone is that they offload all of the recognition to massive servers with massive databases. We can't use these options because they don't work in real-time: you don't want to wait for the data to be sent to Google and then for Google to process it and then send back the text (it's like an average of 2-3 seconds, in which time, your number two got real dead, real fast). One of the things that we've got going for us though is that in reality humans have a hard time understanding each other, which is why radio discipline and voice procedure are so important during military communication. So Articulate could have fairly "authentic sounding" and decently "conversational" commands using some contextual information as well as a boat-load of custom scripts in Arma (being triggered by Articulate). Most of your examples fit into this vision of a context-sensitive Articulate (maybe overall less conversational) that communicates directly with an Arma loaded with custom scripts (where the majority of the heavy lifting would actually be). We'll also see about supporting optional curse words, since that's something that can be used to spice things up and makes things feel more "conversational" -- I like the idea and it's technically possible, but as you add more and more grammars (phrase combinations and rules) past a certain point, you start to get more and more false positives and wrong matches. There is definitely a balance to strike. I'm a dreamer too so I often get ahead of myself with ideas. Actual implementation is right now is very slow, since my "free time" is often dedicated to class work for my last year of university, to my other side projects including tinkering with Android and car infotainment hardware, and to family and friends and my own health and Benjamin is also bogged down with real life. Often times, I look at something that I'm working on and see it many, many versions from now when it's complete and perfect and then come back to reality, hard, when I realize that just how far away I am from getting there. With that in mind, I'd like to share with y'all what I've got floating around in my brain as a someday kind of thing. This is for your entertainment and to hopefully scare up more interest in the development of AI control plugins for Arma. Again, this is something that may not happen, we may have to scale back in vision or maybe I just may not be able to get it down into code, but, at least for players that get reliable vocal recognition off of the Microsoft SAPI, it is at least technically possible. ---------- Post added at 02:11 ---------- Previous post was at 02:04 ---------- It should be possible to install the English recognizer if it isn't installed by installing the English Language Pack.
  7. Both Benjamin and I are talking about what features that we want in the next release (.0.3+) and we are working with several members of the community to figure out the best plan of attack. We are in the design phase of things now because the next version will require significant redesign of nearly every part of the application. Rest assured, though, that the plan is to bring the configuration up to a point where adding these kind of things will be user configurable (and able to be localized). I'm sorry that things have been so slow around here; there has been very little development from myself because of some personal things going on and Benjamin has only been able to put out hotfixes due to real world commitments. We are hoping to be able to squeeze the development of the 0.3 series in soon. Remember though: Articulate is distributed under the M.I.T. licence -- the source code (other than the libraries used) has been entirely given over to the community and we encourage anyone to download it and tinker around. ---------- Post added at 22:07 ---------- Previous post was at 22:02 ---------- Try looking for a log message in the "%AppData%\Articulate\Crashes" folder. ---------- Post added at 22:12 ---------- Previous post was at 22:07 ---------- Thanks for the support! Unfortunately, the mod that you linked uses fairly hard to emulate keybinds that are unpredictable and require context to support 100%. We're looking at ways to support actions like this in the 0.3 series that we are designing now. ---------- Post added at 22:18 ---------- Previous post was at 22:12 ---------- While technically possible, we're only supporting voice commands that occur all at once as a phrase. Picking the second number is something that requires you to be in the menu to see the possible selections. We are exploring ways to support less hackish ways of doing this such as the phrase: "Three, heal Two" or even better "Medic, heal two". I do wish that we could support things like "Fuck man, get some bandaids on Smith", but the technology for voice recognition at that level is beyond the API that we are using and beyond the average computing power of an average computer.
  8. This is an Arma issue, not a mod issue. Saves include the mod list, I believe.
  9. Glad to oblige. Note that I should not take all of the credit since Benjamin (SPARTAN-563) has been a huge part of the recent changes. Note that small changes like adding/removing alternate phrases for commands and changing the keys that are pressed in response will hopefully be part of a settings menu sometime in the future along with the ability to add/remove entire commands. This will open the way for support for other games, user-built mods, and even perhaps an official Articulate Arma 3 mod.
  10. Thanks! Benjamin (SPARTAN-563) is again responsible for most of the improvements in this release. I continue to stumble along trying to make the backend of the application better (read: so that it could be customizable and usable with other applications).
  11. 0.2.1 release has been posted. Find it in the usual place at https://github.com/Mpstark/articulate/releases New: New command alternate phrases from your suggestions. Wiki has been updated with them. New: Advanced settings menu. New: Command Termination Pause option. Adjust higher to give yourself more time between words. New: Command Key (PTT, PTI, PTA) now accepts combinations of keys. New: Can have more than one Command Key. New: Command Keys can have mouse keys included. New: Should load UI a mite quicker. Fixed: Detects Arma 2 Operation Arrowhead. Fixed: Push-to-arm now turns off after a second click of the command key. Fixed: Crash relating to running Arma as admin.
  12. Only a couple of things to iron out before we release a 0.2.1 development preview.
  13. You would compile it with a copy of Visual Studio. We will be releasing a version soon with this fix along with several others soon.
  14. It is already completely open sourced under the extremely open MIT/X11 licence. The source is available at https://github.com/Mpstark/articulate
  15. This is definitly a WIP problem. Could you get a list of the keys (not include the mouse keys) that don't work? I'm think that this has to do with the QWERTZ format. I'd love to see more MP maps like this, but unfortunately, squad AI control is just too limited (even with Articulate) for this to be a popular option. Hopefully, the Articulate team can grow to include an Arma modification that extends this functionality (and then is signed for MP use). WW AIMenu's system (including waypoints, clear/garrison building command, heal up command, etc.) might be a good place to start.
  16. The use case is right there -- there are multiple keys for communicating to humans and PTI is for ignoring that kind of voice input -- so PTI should accommodate this. I'll add it to the issue tracker, but it isn't a high priority since ordering AI squad around is very rare when playing with other humans (though hopefully, with Articulate, it shouldn't be too horrible).
  17. A new version, 0.2.0 is out. Download it from here. There are many new features and improvements in this release. New: Installer (you can still choose a No Installer version!) New: Metro-themed UI New: Listening Modes (Push-To-Talk, Push-To-Arm, Push-To-Ignore and Continuous) New: Displays detected phrase on the UI New: Can now change the Voice Input's Confidence Margin, which can increase speech responsiveness at the cost of accuracy New: Will only output keystrokes if an ArmA game is foreground New: Will (hopefully) log crash reports Fixed: Now detects best version of Microsoft Speech Recognizer to use (only supports English currently) -- this means the British should have significantly better voice input and should not crash on program startup Most of these features are brought to you by Benjamin Pannell, a new member of the Articulate team. Mad props to him! Please uninstall the old ClickOnce installer since we are now using a normal installer.
  18. THESE ARE DEVELOPMENT BRANCH CHANGES -- THEY ARE NOT FINAL Figured since I haven't had an update in a little bit, I might as well show off the new stuff that we've been working on. New UI with settings(!) and working listening modes! Thanks to Benjamin Pannell, one of the new members of the Articulate team for basically everything that you see in these screenshots! Push to Arm listens after a button press for a single command and then shuts off. Push to Ignore is the opposite of push to talk -- you can assign the key to your ACRE/Teamspeak key and have it ignore all you say during that time. Other changes in the development branch include: Only outputs keypresses to an Arma game. Now supports the British! Hopefully, a new installer! Some backend improvements. Bug fixes. Some other stuff that we are working on (read: thinking forward to) but isn't yet in the development branch (and will probably not make it for the next release): Support for German language voice input! Thanks Alpha-Kilo! XML-based commands that you can potentially customize! New default command phrases! Support for WW AI_Menu
  19. Hmm.. sounds like it is having a hard time with the UK locale. Switching to the US locale will fix it probably. I am working on a fix for the next release. Yes. This would be the better way to do it. I will be switching to this soon. ---------- Post added at 13:31 ---------- Previous post was at 12:25 ---------- It's the reason that the commands are accepted in a natural pace. In order to get the same functionality in VAC, you would have to systematically assign every command to every possible subject, which borders on the impossible. This is the primary reason that I built Articulate.
  20. Hmm... I don't know. Do you mind giving me as much information as possible about your setup? What locale are you setup in? What version of Windows? If you go to Control Panel>Ease of Access>Speech Recognition>Advanced speech options what does the panel have for language?
  21. What version of Articulate are you running? It's available in the Control Panel under Add/Remove programs. This error has to do with the system locale settings, not the default input device.
  22. This isn't true. Articulate's voice recognition can distinguish from when you say "team red, form up" and when you say "form up" without a subject. Every utterance (don't hate me, that's what it's called!) that you make it is checked for validity against a set of rules. It just so happens that I've included selecting units by saying their names as a command.
  23. Thank you for the list of phrases -- I will probably end up stealing some of them. Yes. That is the problem with emulating keypresses without any sort of context. I'm looking into building a plugin for Arma 3 that connects to the outside application to provide it that missing context (as well as get rid of emulating keypresses at all, providing extra AI commands, and giving additional options for voice input) -- that is a far way off, mind you. One of the main features of this over any other kind of input program is that it matches vocal input to only valid commands. Now, I see your argument that you can select units without issuing a command -- I know that this gets in the way, but it is important to be able to select those units for now (for contextual menus and such). We will see if assuming 'all' is the correct thing to do later on in development.
  24. There shouldn't be a way to move unit's yet because the move unit command relies on the context menu and I have no way of knowing from this outside application what the current selection is. It could be Move, Get In, Target, etc. The best workaround for this is to select the units that you want to move using voice commands and then use the middle mouse to select move (notice that it doesn't have a keybind!) from the context menu that pops up. Teams will not pop up a context menu, but there is some way, unknown to me to get it back.
  25. There will be an option for setting the timeout on commands. Sounds like you need it to be a little higher so that you can wait more between pieces of a command. There is a list of available commands located here, "fall in", "regroup" are not actually recognized by the program. ---------- Post added at 19:31 ---------- Previous post was at 19:30 ---------- This will be included in a future version.
×