fbacher / service.kodi.tts

Continue development on dormant project service.xbmc.tts
GNU General Public License v2.0
3 stars 0 forks source link

TTS solutions for windows. #4

Open RealAmethyst opened 1 year ago

RealAmethyst commented 1 year ago

Hi there. First I would like to say thank you so, so much for bringing this TTS addon to modern versions of Kodi. This will let blind and low vision users like myself to enjoy Kodi again. The version of the addon that was available in the past has NVDA support. NVDA being a popular screen reader for windows. This had the benefit of letting users use Kodi with a voice config they already use for every other task, with the screen reader itself outputing speech in the application. Would it be possible to ad this to this version? This would be a huge improvement for using Kodi with speech on windows.

fbacher commented 2 months ago

I am planning on first making Beta quality code to a few volunteers. Then make frequent releases addressing the biggest issues. After things stabilize I'll add more engine support.

The initial Beta will support ONLY eSpeak and GoogleTTS on Linux and Windows. The first additional engine to add will be to re-enable SAPI5 support for Windows. This may give you NVDA support free, but will at least work with the basic native Windows TTS. Fixing this problem is a little tricky since the current Kodi on Windows uses a private copy of Python which is incompatible with the libraries that I would normally use. However, I think that it is likely that I can use some scripts to accomplish the same thing.

Although I have been working very hard on this project since May and made much progress, I think it will be December before I can get the first Beta available. It is kind of strange, because I have been using my version for myself for years. But there is a big difference between something that is good enough for a developer who is tinkering with it and the general public.

I'm am striving to make this as easy as possible to install, use and configure. I don't think it is practical for it to auto-install into Kodi. (Kodi tries to prevent this, and for good reason). But it will work after the addon is installed, alas, without anything being voiced while trying to do it.

On first use the default engine will be GoogleTTS, which requires an internet connection. Also on first use, a configuration dialog will open allowing you to configure TTS. You will be able to hear the effect of the changes as you make them. You will also be able to revert back to the previously saved settings. Only the most important settings are exposed at this point.

I should mention that GoogleTTS is configured to use a cache for voice files. While this takes space, it makes the system MUCH more responsive. My cache is 700MB, but I hope even a few gigabytes will not be too large for most people's systems. The cache is configured to be in the user's Kodi 'userdata', but can be changed manually (not yet by the configuration dialog). The cache can be turned off, but voicing will get a lot choppier. You can use espeak with or without the cache as well. Depending upon feedback I can do a few things to reduce the cache size.

On initial installation, Kodi TTS will have a few pre-defined keyboard commands predefined in Kodi. I know next to nothing about what keys are commonly used for this purpose, but as a starting point I picked my own. They are mostly like: Control-F1 for the help system, Control-F12 to open configuration, etc.. When closer to release I'll post the assignments and seek feedback (of course if you have suggestions now I am happy to hear about them).

Speaking of the help-system, it is a very basic dialog that is displayed with a hierarchy of categories and subjects. I wanted to include some documentation with the product that I hope will be of value. It will address every setting, keyboard shortcut, etc.. I have it working, but I need to add much more content.

I appreciate any feedback that you have.

RealAmethyst commented 1 month ago

@fbacher I am definitely interested in testing, as I use Kodi pretty much every day. Google TTS is interesting. Interested to see how well it works. I understand that SAPI and NVDA could be difficult to ad and I look forward to try the beta. I have a suggestion or a feature request. I don't know if it will be possible, but would it be possible to have the TTS speak subtitles? This is not a dealbreaker for me by any means, but would be nice to have, although first priority should be to have everything stable and working.