jwebmeister / tacspeak

Tacspeak - Fast, lightweight, modular speech recognition for gaming
GNU Affero General Public License v3.0
42 stars 2 forks source link

Randomly not working anymore. #27

Closed 4lternative closed 3 months ago

4lternative commented 4 months ago

Hi! Let me know if this is not the right place to post this.

So, installed tacspeak few days ago, it worked great with listen_key_toggle=2 and old model. New model didn't worked for me, though I'm french, so might be my accent ^^ Didn't play for a day or two, relauch the game and tacspeak, nothing works... Tried pretty much everything I can think off, resinstalled everything, tried both models, tried changing some settings, I don't know why it just doesn't work anymore.

Issue is, when listen_key_toggle=-1, voice commands are sometimes picked up, but rarely match what I say, and when it does, nothing happens ingame. You'll see one "Stack up" went through correctly but didn't do anything in game. When listen_key_toggle is set to anything else, it's like I'm mute, nothing is picked up.

Weird note, I'm using a cheap gamer headset with a on/off button for the mic. When I cycle on/off, the command is going through. Exemple: I say "blue team", nothing is picked up. I turn off the mic. Turn it back on. "Blue team" is instantly registered in the console (nothing happen in game still). If i don't say anything but style cycle the mic off and on. When back on some random commands are registered in the console.

Log attached are with old model, everything default beside ingame key bindings and debug_mode=true. .tacspeak.log

If there is anyway I can get you more info, let me know how... I kind of don't trust my cheap headset, but I don't have another way to try it right now. And, the mic does work fine in other apps so...

Troubleshooting section wise : vcredist is installed four files are there always run as admin microphone is set as default listen_key is registered in the console Keybinding is the same as when it worked attached tacspeak.log so you can see with debug_mode on tried setting audio_input_device to hard integer, doesn't change anything mic is set to 2 channel, 16-bit, 48000 Hz Exclusive mode on or off doesn't change anything using an azerty keyboard, kept same binding as before when it worked, try another key too, doesn't change anything noise_sink true or false doesn't change anything

jwebmeister commented 4 months ago

Thanks for attaching the log, it makes it a bit easier to troubleshoot.

First things to try:

  1. Set DEBUG_MODE to False
  2. Set listen_key_toggle to 0
  3. Set USE_NOISE_SINK to False
  4. (Optional) comment out (i.e. disable) “ grammar_priority.add_rule(YellFreeze())” in _readyornot.py

Do all of the above, and I suspect it will work a lot better.

Additional notes and info:

4lternative commented 4 months ago

Just tried it real quick, seems to work! Thank you. I've also tweak my headset a little so I get less white noise input.

I'll try it a bit more when I have time and let you know if any issue arise. Just by curiosity, is there anyway to get more logs than the debug_mode? especially if using debug_mode doesn't push the info to the game.

Thanks for your help and the great work you're doing, I'm gonna look into model testing.

jwebmeister commented 3 months ago

I'll try it a bit more when I have time and let you know if any issue arise. Just by curiosity, is there anyway to get more logs than the debug_mode? especially if using debug_mode doesn't push the info to the game.

short version - not easily with the release binary (.exe) version.

You'd need to change the code in __main__.py related to logging levels, but the source code is compiled in the binary version (changed to __main__.pyc).
You can do it easily enough if you run the source code version using a Python interpreter.