Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better text-to-speech support #829

Closed
4 of 9 tasks
johnfactotum opened this issue Dec 17, 2021 · 1 comment
Closed
4 of 9 tasks

Better text-to-speech support #829

johnfactotum opened this issue Dec 17, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@johnfactotum
Copy link
Owner

johnfactotum commented Dec 17, 2021

Currently text-to-speech (TTS) support is pretty bad. It should be improved.

Specifically, it should

  • Use SpeechSynthesis API

  • "Polyfill" SpeechSynthesis API (which isn't supported by WebKitGTK) by posting messages to the GJS process, which will call speech-dispatcher.

  • Parse and handle assisting markups

    • SSML
    • PLS
    • CSS speech?
  • Segment text, with Intl.Segmenter

  • Highlight currently spoken word/sentence

    There is a "boundary" event on SpeechSynthesisUtterance. AFAICT there is no such event in speech-dispatcher. Instead we need to add SSML marks and read the INDEX_MARK event notification from speech-dispatcher. This is how Calibre does it, judging by its source code. Also, not all synthesizers supports this (or even SSML).

  • UI for controlling playback and configuring voice, speed, etc., and make the features more discoverable (see Make text-to-speech feature more discoverable #672)

@ghost
Copy link

ghost commented Oct 12, 2022

I've also come across a better sounding (IMO) TTS system than festival called mimic https://github.com/MycroftAI/mimic1

You can hear a samples comparing it to festival and espeak-ng here https://linuxreviews.org/Mimic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant