nateshmbhat / pyttsx3

Offline Text To Speech synthesis for python
Mozilla Public License 2.0
2.15k stars 336 forks source link

Unified Driver for platform. #336

Open willwade opened 1 month ago

willwade commented 1 month ago

Here's a suggestion. There is a need to have a AVSpeechSynth driver for MacOS as Nss is depreciated but also it would allow this tts wrapper to support ssml across the board.

And on windows we also need uwp and sapi4 driver. To make things easier I'm suggesting the default would be a unified driver for each platform. Linux would be still just espeak (unless we can nicely integrate pico / piper or Sherpa onnx*)

This is thrown together code but you can see what I'm thinking https://gist.github.com/willwade/86ef5c0655badc90c2f3fec811c06cde

willwade commented 1 month ago

121 #287 #104

cclauss commented 4 weeks ago

SSML: https://cloud.google.com/text-to-speech/docs/ssml

willwade commented 4 weeks ago

SSML: https://cloud.google.com/text-to-speech/docs/ssml

Sapi. AVSynyh & espeak all support ssml. It's on my radar to do a pr for supporting this as soon as espeak and avsynth done

willwade commented 3 weeks ago

So I’m actually wondering if windows should have a second driver using the more modern .net api.

Here’s a quick thrown together attempt https://gist.github.com/willwade/cc268ef0b0b0ec106e644eec6835b228

it Would remove problems like #263

willwade commented 3 weeks ago

That sound very promising!

Please name the file system_speech.py instead of SystemSpeech.py to align with Python naming.

Yeah. I’m not sure I like the name of that engine. It’s technically the .NET interface. Dotnetspeech synth” I don’t know 🤷

cclauss commented 3 weeks ago

DotNetSpeech, DotNetSpeechEngine, DotNetSpeechDriver