I'm not committing to maintaining or updating the google sheet, as I expect more changes to come (likely for the better). I still recommend reviewing the actual code in `./tacspeak/grammar/_readyornot.py` as the best source of truth, but the google sheet can be a useful and potentially easier starting point, even if it's an imperfect one.
Tacspeak v0.2.0 has been released, including an EXPERIMENTAL model trained on Ready or Not commands, and important changes to user_settings.py.
The EXPERIMENTAL model may work better or worse than the base model for your particular setup + voice. I'm releasing it in the hope of some users sharing the results of their testing, by posting test results to this GitHub issue. I'd suggest only using the EXPERIMENTAL model if you're willing to testing both models, otherwise stick with the base model. You can use either the original base model (0.1) or the new EXPERIMENTAL model (0.2) with Tacspeak v0.2.
You may need to adjust the settings in user_settings.py to get it right for you, particularly "USE_NOISE_SINK", though it's equally valid advice for every other setting.
Any text editor, though I use either Visual Studio Code or Notepad++.
You might want to watch some of the Tacspeak YouTube videos. I go through some of the important settings for Tacspeak and explain what and how to change them.
After playing this a good amount, I kept running into issues with the 'freeze' command starting interactions I hadn't meant to, so I swapped the bindings around, though, I really miss having F for interaction.
I downloaded python 3.12 and tried looking into the _readyornot.py file, however, all that happens is the window opens for a split second then disappears, it seems to do that with all the .py files. Is there a particular version of python I should be using to do this with? Or am I doing something wrong?
You can rebind your yell/interact key ingame so that they are seperate, and change the bind also in the [grammar] folder - _readyornot (with editor or Notepad++ for example) - scroll down a bit where you see the set bindings to each action - now just change "interact" to anything you set - your example "f" , and "yell" to anything else you binded ingame.
Sorry for my bad english, but i hope i made it a bit clearer how to seperate those two.
Everything needed is downloaded, both files extracted into a new folder. But when I run the executable tacspeak, it pulls up the cmd prompt for a split second then it closes, aren't able to get a glimpse of what any of it says. Any ideas?
FIX: Copy the kaldi model file into the tacspeak file.
Got the cmd to not crash every time I open it which is an improvement. But despite my commands showing up in the cmd, officers don't seem to listen lol.
Try going through the troubleshooting section. Specifically check if VC++ redistributable is installed, check your keybinds in _readyornot.py and the actual game (Ready or Not) match, check if any other software is interfering with those keybinds.
How often does it not respond to speech? It should be rare.
The message means it attempted recognition but there was no audio to recognise or no active rules to match against. This can also happen if you didn’t hold listen_key long enough, the CPU was busy, your mic or windows audio drivers had a brain fart, the timing listen_key press and release was “unlucky” (CPU busy), etc.
I don’t think it can be 100% eliminated but if you can reliably reproduce the issue and describe the exact method and specifics to reproduce the issue, let me know and I can look into it. Ideally raise a new issue on GitHub, otherwise let me know the specifics here.
edit: to be clear, the message isn’t an issue, it not recognising a valid spoken speech command is an issue.
Hello this is the error that I keep getting. Sometimes tacspeak completely mishears what im saying, could this be related? [KALDI severity=-1] push-special: finished 200 iterations without converging. Output will be inaccurate
Hey jwebmeister, I think you popped in my YouTube video comments when I was using Tacspeak. Loving it so far. I do have a question and hoping you can help me find the settings. I am one of those weird guys that enjoys doing the "hold to talk" feature. Gives me more control I feel to get my thoughts and give orders. However, since I make content I am also verbalizing my thoughts to people that watch videos, and I am finding my character yelling "Freeze" "hands up" pretty frequently as if it is an open mic. I get the concept and for the average player, it would come in super handy. But .... since I am a content creator, this limits my freedom of natural speech, also it is causing me to select certain menus prematurely when walking towards intel, and I can't remember sometimes if I got the intel without checking as my character naturally picks it up due to my 'talking'.
TLDR: Is there a setting in the user-settings or the readyornot.py grammar that I can turn off the open mic, or perhaps in the game itself that would stop the open mic? Thanks for the reply.
EDIT: Okay, tried out the v0.2 and I must say it is much better, especially of resolving my issue of open mic. So far so good.
Cheers :) Yes to a mode where freeze etc is not “always” listening, just change “listen_key_toggle” to 0 or 2 (also 1, but I personally don’t recommend that mode). Readme / nexusmods mod description page has more details, so do the comments in the “user_settings.py”, but you probably want “listen_key_toggle” set to 0.
edit: it’s also very important for folks with noisy environments. I switch between “listen_key_toggle” -1, 0 and 2 depending on how noisy my background is, or if I’m talking to others. Changing the user_settings requires restarting Tacspeak for it to take effect.
261 comments
I'm not committing to maintaining or updating the google sheet, as I expect more changes to come (likely for the better).
I still recommend reviewing the actual code in `./tacspeak/grammar/_readyornot.py` as the best source of truth, but the google sheet can be a useful and potentially easier starting point, even if it's an imperfect one.
The EXPERIMENTAL model may work better or worse than the base model for your particular setup + voice. I'm releasing it in the hope of some users sharing the results of their testing, by posting test results to this GitHub issue.
I'd suggest only using the EXPERIMENTAL model if you're willing to testing both models, otherwise stick with the base model.
You can use either the original base model (0.1) or the new EXPERIMENTAL model (0.2) with Tacspeak v0.2.
You may need to adjust the settings in user_settings.py to get it right for you, particularly "USE_NOISE_SINK", though it's equally valid advice for every other setting.
More details in this article or release notes on GitHub, + YouTube video. A lot of key info is in the YouTube video.
You might want to watch some of the Tacspeak YouTube videos. I go through some of the important settings for Tacspeak and explain what and how to change them.
Thanks a lot, saves me time instead of pushing one by one the commands like a newbie noob that I am.
After playing this a good amount, I kept running into issues with the 'freeze' command starting interactions I hadn't meant to, so I swapped the bindings around, though, I really miss having F for interaction.
I downloaded python 3.12 and tried looking into the _readyornot.py file, however, all that happens is the window opens for a split second then disappears, it seems to do that with all the .py files. Is there a particular version of python I should be using to do this with? Or am I doing something wrong?
Sorry for my bad english, but i hope i made it a bit clearer how to seperate those two.
Everything needed is downloaded, both files extracted into a new folder. But when I run the executable tacspeak, it pulls up the cmd prompt for a split second then it closes, aren't able to get a glimpse of what any of it says. Any ideas?
Got the cmd to not crash every time I open it which is an improvement. But despite my commands showing up in the cmd, officers don't seem to listen lol.
[KALDI severity=-1] GetDecodedString on empty decoder
The message means it attempted recognition but there was no audio to recognise or no active rules to match against.
This can also happen if you didn’t hold listen_key long enough, the CPU was busy, your mic or windows audio drivers had a brain fart, the timing listen_key press and release was “unlucky” (CPU busy), etc.
I don’t think it can be 100% eliminated but if you can reliably reproduce the issue and describe the exact method and specifics to reproduce the issue, let me know and I can look into it. Ideally raise a new issue on GitHub, otherwise let me know the specifics here.
edit: to be clear, the message isn’t an issue, it not recognising a valid spoken speech command is an issue.
TLDR: Is there a setting in the user-settings or the readyornot.py grammar that I can turn off the open mic, or perhaps in the game itself that would stop the open mic? Thanks for the reply.
EDIT: Okay, tried out the v0.2 and I must say it is much better, especially of resolving my issue of open mic. So far so good.
edit: it’s also very important for folks with noisy environments. I switch between “listen_key_toggle” -1, 0 and 2 depending on how noisy my background is, or if I’m talking to others. Changing the user_settings requires restarting Tacspeak for it to take effect.