I’ve started to work on a native extension allowing to use offline TTS on a device :
At this point, I’ve done the implementation for iOS and OSX platforms (which I will continue to improve), I’m looking for help for Android and Windows platforms 
I’ve used the Druid library to make the UI of the example script.
15 Likes
It’s a bug in speech synthesis API itself. When the text is too long it simply stops working(no matter if it’s JavaScript or an extensions). After googling the problem I found a solution which splits the text after each comma and runs the synthesis after every sentence again. This project is that solution wrapped in a bookmarklet.