Has anyone found an alternative to VoiceRSS for the SkyDescribe announcements in Skywarn? VoiceRSS no longer allows you to create an account, paid or otherwise. If you already have an account, you are fine as it will continue to work. Unfortunately, those of us coming late to the game are SOL. Just wondering if anyone else has found and implemented another solution such as Google TTS or Amazons product, Polly.
Also worth noting that ASL3 has the asl3-tts package, which locally uses Piper. Kinda slow on a Raspberry Pi, much faster on even a modest X64 system, and requires no internet or API keys, produces reasonable quality speech. I prefer it to speak faster than it does by default, so I made a modified version of that script for my own use.
This is not an option if you use HamVoIP, though.
Interestingly, VoiceRSS just uses renamed versions of the Microsoft OneCore voices, which have been around since Windows 8.
My guess is that VoiceRSS is going to fold as they don’t respond to anyone. Eight of us tried to create paid accounts as well as free accounts with absolutely zero response from them. I am not a HamVOIP user. I have heard of piper and I know that it runs locally, but thats all I know. Would you be willing to share how you set it up and what you did to increase the speed?
I do plan to replace VoiceRSS with Piper and/or another alternative. Just have to find enough time to work on it.
There are actually a LOT of upgrades I want to make to SkywarnPlus. Most of them ideas I came up with over a year ago, before my daughter was born and my priorities shifted.
They are in Israel. May be part of the issue.
Makes sense. Could be an issue.
I am also looking forward to an alternative solution.
sudo apt install asl3-tts
This will get you the Piper engine, the default Amy voice (there are many others) and the asl-tts script itself.
See this link:
As for making it speak faster, I edited /usr/bin/asl-tts, and added the --length_scale parameter to the line that calls piper, changing the value of 1 to 0.5, which makes it speak twice as fast. I'm a full-time screen reader user, so I like fast speech. Not everyone will.
Anyway, the original line looks like this:
echo ${TEXT} | ${PIPER} --model ${ONNX_FILES}/${VOICE} --output_file ${FILE} > ${LOGFILE} 2>&1
and now it looks like this.
echo ${TEXT} | ${PIPER} --model ${ONNX_FILES}/${VOICE} --length_scale 0.5 --output_file ${FILE} > ${LOGFILE} 2>&1
It's a pretty dirty way to do it, but it works for the occasional times I use it. It should probably be set up to pass as an optional command line argument to the script itself, but I suppose most people probably won't care about changing it.
If you want to make it speak 25% faster, set the length scale to 0.75. To make it speak twice as slowly (not recommended, even slower than Allison,) set it to 2.
Please open this as a feature request at GitHub - AllStarLink/asl3-tts: AllStarLink text to speech system. I'm going to be doing a big update at some point for asl3-tts so it works a lot better. I'd be happy to add this.