Linux and Windows desktop support
🚀 Feature Requests
Desktop TTS support for Linux and Windows
Contextualize the feature
The framework already supports iOS, Android, and MacOS, so adding Linux and Windows support would round out the offering and provide more flexibility.
Describe the feature
For both Linux and Windows, build out feature parity with other platforms where possible. Windows has built in TTS support as far as I know, but not sure if Linux has a standard TTS package or if one would need to be bundled or listed as a dependency.
Platforms affected (mark all that apply)
- [ ] :iphone: iOS
- [ ] :robot: Android
- [X] :penguin: Linux
- [X] :computer: Windows
I'd be interested submitting a PR for Linux at least, but its been a long time since I did anything in C++. Will give it a shot if you would consider a PR!
@drcdev I'm always open to PRs and thanks for suggesting it. My next target was going to be Windows anyways, however I was hoping for C# support. It doesn't look like that will be possible according to some of the issues raised in the flutter github repo, so I'll have to do it in C++.
any resolution for Linux?
@dlutton I'm happy to help in any way with Windows TTS and C++. Is there any work in progress on your side? (I don't see a brach for that, so I assume there was no progress with that since November. )
@vagoston that would be amazing if you can do a c++ implementation as I haven't had the time to implement that yet.
As I know there is no TTS for Windows version of Flutter yet. So it would be very-very good if you could implement it! Thank you in advance!
Any updates for Windows or Linux?
@0Vipin0 unfortunately no updates on my end as I haven't had the time to implement that yet. I am open to any PRs related to windows/linux support.
I have a kind of working version on windows with the win32 API. There are strong limitation in that case, e.g. if you want to install a voice, you need to find an old 32bit version, the list of availabe voices reported by the OS is not the same as reported by the API. UWP would be a better solution, but the flutter support for UWP was not good enough when I checked last time. For my personal use I was waiting for a better UWP support but if there is any interest in a 32bit version I can send a PR
I checked again and I sorted out the UWP part, so now I'm actively working on a windows implementation.
@vagoston unfortunately I don't have access to a windows machine right now, so feel free to send a PR when ready and I'll merge it in. Anything you can add to the readme with instructions for windows will be very beneficial for other users. Thanks!
@dlutton This took me ages to finish, and sometimes I almost gave up. Not the best quality code I ever wrote, but it works. https://github.com/dlutton/flutter_tts/pull/320
@vagoston awesome, and don't worry about the code quality, this is open source (we aren't getting paid to do this) and can be improved upon over time. I'll get it merged in. Thank you!
Many many thank you!!! I tried it and works for English language of TTS! :) But I'am searching the cause of problem: why "getLanguages" gives me only one result (it is the en-US lang). I set up a new speak language in the Windows settings and I can test it also. Now I'am studying your c++ code :) It seems that all set up languages of voices is en-US, even if the voice language is other one. And again: thank you!
@zsmiklos You install languages for the 'new' (winrt) speech syntesis in Windows. That can not be accessed by SAPI5, the 'old' (win32) speech synthesis. In flutter you can use windows platform, but that is actually win32 and can access only SAPI5. You can also use winuwp, which is actually my suggestion regardless of speech synthesis. If you really want, you can make available your installed languages for win32, but you have to copy registry entries, and your users are going to face the same difficulties.