epy
epy copied to clipboard
Add support for Speech Dispatcher (speechd) and other engines
TTS support on Linux is growing strong and there is currently many high-quality solutions but most of them are too slow for epy purpose.
I used Mimic3 but it's slow on some devices, Coqui would require even more hardware, so I used Mimic1 for some time.
But, I recently tried Piper wich is smooth even on some 15 years old mid-level hardware.
On linux the best way to setup any engine is to use Speech Dispatcher, it's available in every distro and with a simple module/engine conf file you get defaults and specific settings for every engines (voice, pitch, rate, language...) with the same command lines.
For those interested in Piper, I shared my setup and module configuration in this thread : Speechd: module request: piper
You can setup .config/epy/configuration.json
for speechd like that:
"PreferredTTSEngine": "speechd",
"TTSEngineArgs": ["--voice-type=male1", "--language=en", "--rate=10"]
An empty "TTSEngineArgs": []
would use speechd defaults.
I am using this w/ piper, and it works.
The keybind for !
says "toggle TTS" in source but for me it only starts. I don't know if that's related to this pr or not (and frankly I don't mind it).