baykovr / AVPI

an open source voice command macro software
https://baykovr.github.io/gavpi.html
GNU General Public License v3.0
200 stars 42 forks source link

Unable to change language. #79

Open DereWah opened 3 years ago

DereWah commented 3 years ago

Hi, I have been trying to change language from en-GB to Italian. I have both language packs installed on my pc but the only one that is picked up from the program is en-GB. I tried installing the en-US language pack but it isn't picked up either. It's just not an option in the settings tab. Is there a way to solve? Even manually changing the language from the .xml config isn't working because it automatically changes back to en-GB.

Having only Italian installed isn't working because in the settings tab there just isn't any language to choose (like in issue #78 ).

Thank you :)

kmcnaught commented 3 years ago

Have you definitely installed the speech recognition part of the language pack? I seem to remember there were multiple options. On my PC for example, I have some language packs installed that change the Windows language but don't have speech recognition. If you see the screenshot below, you can see that english and french have the microphone symbol, but other languages don't - GAVPI picks up english and french fine in the settings.

image

DereWah commented 3 years ago

Have you definitely installed the speech recognition part of the language pack? I seem to remember there were multiple options. On my PC for example, I have some language packs installed that change the Windows language but don't have speech recognition. If you see the screenshot below, you can see that english and french have the microphone symbol, but other languages don't - GAVPI picks up english and french fine in the settings.

image

Hello, thank you for the reply.

I am trying to run the program with the Italian language, which definitely has the little microphone icon. lang

kmcnaught commented 3 years ago

I tried Italian here and I get the same problem. I'm pretty sure this is because the Windows Speech API that GAVPI uses only supports a limited number of languages, and unfortunately italian doesn't seem to be one of them.

There are two libraries for speech recognition in Windows, System.Speech (which GAVPI uses) and Microsoft.Speech (which seems to have more language support). When you install a language pack, it doesn't seem to tell you whether it's installing support for both engines or just Microsoft.Speech! If I install any of the System.Speech supported languages, they appear in GAVPI, but other languages don't. The microphone symbol seems to appear in the Windows settings in either case.

An explanation of the two: https://stackoverflow.com/questions/2977338/what-is-the-difference-between-system-speech-recognition-and-microsoft-speech-re

A list of supported languages: https://support.microsoft.com/en-us/windows/windows-speech-recognition-commands-9d25ef36-994d-f367-a81a-a326160128c7

Speech Recognition is available only for the following languages: English (United States, United Kingdom, Canada, India, and Australia), French, German, Japanese, Mandarin (Chinese Simplified and Chinese Traditional), and Spanish.

kmcnaught commented 3 years ago

You could try VoiceAttack which (with some extra effort) allows you to switch to the Microsoft Speech engine instead, see https://voiceattack.com/alternate.aspx