Skip to content

Text To Speech tech wrapper, player, and helpful tools

Notifications You must be signed in to change notification settings

RonenR/ttsreader

Repository files navigation

ttsreader is a Text to Speech wrapper, reader / player and helpers for the web-speech-api speech synthesis

See published npm package https://www.npmjs.com/package/ttsreader

It is the engine behind the popular ttsreader.com online text & website reader , as well as:

Import:

To use in your own html / js code use one of the following methods:

  • <script src="https://unpkg.com/ttsreader/build/bundle.min.js"></script>
  • Or - download the following built file /build/bundle.min.js and use directly in your code <script src="bundle.min.js"></script>
  • Or - for Node based projects: npm i ttsreader

How to use?

See 'test.html' for a complete example.

The tts engine itself:

let tts = wsGlobals.TtsEngine; OR import {TtsEngine} from "tts-engine"

See test.html for real example on use. test.html

Tests Documentation

Since there are so many different platfrom-browser combos, we have to carefully test on each. Documentation bout it is here: TESTS.md

Showcases

This is used on the following sites:

TODOs:

  • Utils to 'cut' large texts into smaller sections.
  • Generic Player with UI, with options to play
    • text
    • element and its contents

How to contribute & publish updates to this package?

Important practical non-obvious lessons we learned about tts:

  1. You cannot send too many chars to REMOTE tts voice. It jams. Probably - the whole text is processed at once, and some mp3 is generated on the server?
    1. 38,000 is too much. It basically never starts.
    2. Local voices (at least on mac) worked well.
  2. With Google's voices - they will use the correct voice only sometimes. It's not consistent at all! (On Mac.) // TODO: Test on Windows!
    1. Solution: If you send a single utterance - it reads with a consistent voice.
    2. Problem: if they get the wrong voice - it will mess up reading for a large portion of the text...
    3. Sent google a bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=1344469
  3. onboundary does not work with Google voices. So - we have to send small chunks anyhow...
  4. Of course - the famous google voice terminating itself after some circa 15 secs...

About

Text To Speech tech wrapper, player, and helpful tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published