Actually I edited my comment because I couldn't remember if it works on IOS. I just double checked and yeah my code fails on IOS also but does work fine (albeit slowly) on Android.
It didn't seem to work on my tablet (samsung tab, few years old).
Thanks! (Even, if reasults aren't what we may have hoped for.)
Feel free to look through my code, I haven't touched it in a few months but does seem to work alright on Android. I had to change how the espeak files get loaded quite a bit.
Works fine on Pixel 2XL on Android Q, latest version of mobile Chrome.