35 comments

[ 3.1 ms ] story [ 40.3 ms ] thread
I wish I had something more constructive to say than 'wow, this is really cool' but, wow, this is really cool. I was saddened to see speech synthesis and speech generation (seemingly) punted from the Win8 WinRT APIs. And here you are doing it with a bit of Javascript.
iOS doesn't offer much in the realm of TTS either. Siri has such a good voice but there is no API to make your iPhone or iPad talk from your own app.

OpenEars has made a decent TTS engine (based on flite) but it is far from the top of the line engines offered by Acapela, Ivona, and NeoSpeech.

Why does it pronounce Caligula as Caligul? And is it possible to input IPA into it?
It seems to ignore the -a in "sucka" too. Must be something with trailing As.
Not working - Ubuntu Lucid, Firefox 13.0.1., no speakers - headphones.

Otherwise - excellent hack, can have many uses - marketing, e-commerce, people with disabilities, you name it.

Not playing on Safari, Mac OS X 10.7.4
Doesn't work on Firefox 13.01 on Ubuntu Precise. Works on Chromium 18.05.

Fun one: Speed - 115, Amplitude - 50, Pitch - 200, Text - "Never give up, never surrender"

Off-topic, but Ubuntu Software Center seems to be stuck on Chromium 18 for a while. Plus, for some reason there's no Chrome in the Software Center, although you can download it from Google in the browser (Chrome 20 now, and seems more stable than Chromium 18).
Works on Firefox 16 on Ubuntu.

Do you get an error in the web console (control-shift-k)?

Works on Firefox 14 just fine.
Not friendly with Dolphin Browser on Android.
I will be adding this to my accessibility toolbox -- thanks for sharing this! A bit of a tangent -- does anyone have experience making their (single-page) web apps accessible (especially in the context of W3's "Web Content Accessibility Guidelines (WCAG) 2.0"): http://www.w3.org/TR/WCAG/)? If so, could you share a starting point/good-resource on troubleshooting some of the issues that arise?
Doesn't work with Flashblock enabled, which seems odd to me.
Works here for me with flash disabled in chrome settings. The code is an embedded audio with inline base64 data.
For those curious (I didn't know myself until researching some ideas for this API), Chrome has a built-in text-to-speech API (http://code.google.com/chrome/extensions/tts.html) for use in extensions and packaged web apps.
Nice! Sounds like this has higher quality though it's only available in chrome.
Note that the Chrome one is limited to Chrome browser extensions and packaged apps. For one reason or another it doesn't extend to hosted Chrome apps.
Doesn't work with Firefox in Arch Linux using kernel 3.3.7 -- odd.
Works on Chrome - osx lion, you have to wait a good 15 seconds before sound starts though
Not working in Ubuntu 11.10, Firefox 13.
Chromuim 20.0.1106.0 (svn132566) on Fedora 16:

  Speech started application.js:6
  speak.js: worker processing took 1262.00 ms speakClient.js:128
  Uncaught TypeError: Object #<HTMLElement> has no method 'play' speakClient.js:88
Firefox 13 on Fedora 16:

  Timestamp: 09.07.12 12:10:47
  Error: amplitude is not defined
  Source: http://speak-demo.herokuapp.com/js/application.js
  Line: 8
GPL V3 so I would not take a chance with it.
If there is another speech generator with permissive licensing we can compile that one too.
hiho

somethings in the air ... i coded a little project (also based on kripkens awesome speak.js) a month or so ago (in a little cabana in bolivia while i was travelling) http://lalo.li 100% client side, shareable text2speech voice messages

after some data crunching so far: people dont use it for anything useful, most traffic via facebook shares (of funny messages)