Open ArcAngelica opened 2 years ago
After some investigation, I found out that Responsive Voice is using the SpeechSynthesis Web API for its text-to-speech API (here's a demo).
The voices from SpeechSynthesis include the ones installed on your PC + the ones Google provide from a private API which seems to break more and more as time goes on...
Similar issues are being reported across mobile devices and Google services:
I don't think anyone can do anything about it but Google themself... The issue has been reported to the Chromium team and even if they end up fixing it I'm not sure the change would be applied immediately to the Responsive Voice API.
I personally recommend moving towards the dedicated Google Cloud API as this type of issues will not apply and the voices are better in quality.
The Responsive Voice API in general has brought more issues to this project than anything else and will therefore not be supported for the v1 of Izabela.
I am conscious that people are attached to the voices from the SpeechSynthesis API, I love them too, but there really is nothing I can do about the fact they behave inconsistently upon regular use. The only thing I can do is provide alternative solutions that work more consistently and provide a better quality of service. 🙁
May I suggest instead of removing ResponsiveVoice you make it a setting that users must opt-in to enable, thus said opt-in can include a warning label explaining that this API might not work consistently and you're unable to provide support or fix any issues that may come from using it?
It might be a better middle-ground than outright removing it, for people who want to use those despite the issues that come with it. Better to have an option than no option at all. Obviously with clarity and communication to make people aware that this is an unstable option and not recommended.
Mind you; I was only reporting on UK variants being broken, the US variants work much more consistently and are still an option to use. Removing this API entirely when other voices and engines are still reliable might do more harm than good.
v1 is opt-in and will exist separately from this version of the app so you can technically run both on your system just fine. The current version of Izabela will stay as is but the v1 development will continue on the new repository: https://github.com/nature-heart-software/izabela
I just won't implement Responsive Voice in v1 but you'll still be able to use the current version of Izabela without any downgrades.
I'm still monitoring progress on the SpeechSynthesis issue however and if there's a better way to implement those voices (now that I know where they're coming from) I'll do it in a heartbeat.
I think this is a fair middle ground as I don't want to impose negative change on the current user base but I also don't want to implement something that will create trouble without having the option to fix it.
I'm making sure everyone gets the best possible experience that I can provide with this software so you don't have to worry about any downgrade. 😄
I wasn't aware that "v1" was a different version, I thought you were referring to a future update, if that's the case then it's all good, thank you for your work on this software!
I am aware that Responsive Voice has various inconsistencies regarding engines, updates and voices, but I felt like UK English Female and Fallback UK Female were important to report, because they are just completely broken.
Not a single engine choice is consistent, every engine choice between both of them defaults to random voices.
Trying out other voices (US Female, US Male, Swedish Female) and their engines remain consistent, at least at having options that stick to one voice, but these 2 UK options are completely breaking apart between voices, probably worth looking at or reporting it to the API in case it's an issue on their end.
Audio examples here: voice_samples.zip