Jump to content

Talk:Speech dispatcher

From ArchWiki
Latest comment: 18 September by Schlaefer in topic piper-tts section is no longer valid

Possible update required, need a tester

I added an accuracy tag to the festival specific section earlier, from more testing it appears that editing this line forces speech-dispatcher to only run if the engine uncommented is running. It seems as though, by adding Festival to the conf, speechd will only run if festival is running, if not then it does nothing, I would assume this applies to other engines too (like espeak and espeak-ng) though I haven't tested this. Could someone else run this test and confirm it so I can be sure its not just a config issue on my end. Thanks. Dungeonseeker (talk) 14:26, 5 August 2023 (UTC)Reply

I found the same thing - I'm working on using Piper instead of festival and I found that if the festival module was uncommented and festival wasn't running then speech-dispatcher would fail to start up. Commenting out the festival module fixed this. Jlownie (talk) 03:35, 8 June 2024 (UTC)Reply

espeakup

When I first tried to get speech-dispatcher set up, whenever I did spd-say foo it would say "It seems your speech dispatcher is working but none of it" and then it cut off. I found this forum thread and installed espeakup and TTS worked.

I would edit this in in case it helps others, but it's not clear to me if this is the same thing being referred to with Speech dispatcher#Using_TTS_causes_the_dummy_output_module_to_speak_an_error_message. If it is the same thing, I think it would help to add that output (It seems your speech dispatcher is working but none of it) so that people can find this while searching their error message. And to add that you can install espeakup to get it working (if it's an alternative to festival in the current solution). If it's something different to that section, I'm happy to add a new section about espeakup. Revsuine (talk) 17:56, 28 March 2024 (UTC)Reply

+1 to quoting the error message.
According to Install Arch Linux with accessibility options#Install essential packages espeakup is needed. It could be that it's missing from the (optional) depends of speech-dispatcher. Perhaps, you wait a few days if @Dungeonseeker has input and add it then. --Indigo (talk) 08:33, 31 March 2024 (UTC)Reply

piper-tts section is no longer valid

The commands used for piper-tts, and for playback with pw-play when applicable, no longer work.

piper-tts from the AUR can no longer output to stdout via -f -, assuming it could before. To function in the way described here, it must use --output-raw, with pw-play then using -a - on the other side of the pipe. The -q parameter also no longer exists. pw-play also requires specifying playback rate and channels in order for playback to be correct. The AUR-provided /usr/bin/piper-dispatcher gets some of these things correct, but even it doesn't work properly anymore.

For the pure piper-tts test in the wiki, it now needs to be adjusted similar to this: echo "Arch linux is the best" | piper-tts -m /usr/share/piper-voices/en/en_US/lessac/high/en_US-lessac-high.onnx --output-raw | pw-play -a --rate 22050 --channel-map LE -

The command for piper-tts-generic.conf needs to be adjusted similarly.

Note that a rate of 22050 is only valid for 'high' variant voices, and possibly medium. I believe low uses a different rate. The wrapper script addresses this, but a user config like specified on this page would need to account for it. Meli7 (talk) 00:17, 13 July 2026 (UTC)Reply

In the past -f - was working generating .wav data. Now it it seems only --output-raw is available, which is less robust and a more tricky format for audio players. Personally I switched to a … -f /tmp/piper.wav && pwplay /tmp/piper.wav … solution to avoid the output-raw complexity. --Schlaefer (talk) 05:58, 13 July 2026 (UTC)Reply
For paplay:
echo "Arch linux is the best" | piper-tts -m /usr/share/piper-voices/en/en_US/lessac/high/en_US-lessac-high.onnx --output-raw | paplay --raw --rate=22050 --format=s16le --channels=1
There is a discussion to be had about how piper-tts discourages this kind of usage due to it having to load the model each time, and in their CLI documentation on GitHub recommends running their webserver piper-tts[http] instead, but the speech-dispatcher discussion may not be the right place for that and I only mention it for the sake of completeness. Siri (talk) 08:52, 24 August 2026 (UTC)Reply
The server is faster, but it constantly sits there with 500 MB memory usage and you can't have multiple voices/languages. It's a tradeoff if it should stay a (long) one-liner. Of course it's solvable, but would require a more complex solution. Schlaefer (talk) 06:33, 18 September 2026 (UTC)Reply