gexgd0419 / NaturalVoiceSAPIAdapter

Make Azure natural TTS voices accessible to any SAPI 5-compatible application.
MIT License
167 stars 7 forks source link

[Bug] Report of my thoughts #20

Open Milor123 opened 1 month ago

Milor123 commented 1 month ago

In the experience we had a moment ago with the error. https://github.com/gexgd0419/NaturalVoiceSAPIAdapter/issues/19

I had the opportunity to test the graphical client several times, and I could notice that in repeated cases it doesn't create the logs correctly, and for some reason it doesn't skip the path to the local voices either, even in cases where I hit delete and reinstall.

I think it works fine if you set it up with the right parameters from the first start, but then it doesn't correct some logs.

I'm not sure if it has to do with my language or if I was doing something wrong, but the changes made by the .exe didn't show up in my regedit log, so I preferred to do everything manually because the program got stuck.

I know this is a bit subjective and lacks log or video evidence. But that's what I could notice.

By the way I also thank you very much for this code, it is wonderful, very useful, you should add to the README.md that it is linux compatible, sure many will be happy with this!

Again thank you very much! ❤️

gexgd0419 commented 1 month ago

Currently the installer program only writes the change you made to the registry when its window is closed.

And yes, sometimes your change might be lost if, for example, you change the local voice path, then click Install. As the path hasn't been saved, and the installer will re-read the registry after installation to check if the install succeeds, the path will be reset to the previous value. I will consider changing the logic here.

To be honest, being a Windows user, I'm not familiar with Linux systems or Wine, and I never thought of using this program on Linux via Wine before. Also, this isn't quite "Linux-compatible", as Linux TTS apps usually use some other TTS interfaces, such as speech-dispatcher, which this program doesn't support, so it will only be useful to other Windows apps running in Wine.

As this project is a "Natural voice to SAPI adapter", it is mostly a bridge between the Azure Speech SDK and the SAPI5 interface, so that other apps that know nothing about the fancy Azure Speech Service can also utilize the Azure voices via the familiar SAPI5 interface which has been supported since Windows XP.

The Azure Speech SDK supports Windows, macOS, Linux and Android natively. So theoretically, bridges between the SDK and the native speech systems of macOS, Linux and Android can also be made.

But the key to making the Azure AI voices work offline is ... well, the key. Microsoft provides some offline "natural voices" to use with Narrator and nothing else, but I managed to get the decryption key, so now I can use the voice however I want, and even make every SAPI5-compatible apps able to use them, for now. That's why I said in the readme file, "this is a hack", and "this can stop working at any time".