1
0
mirror of https://github.com/mbirth/wiki.git synced 2024-12-26 23:14:06 +00:00
wiki.mbirth.de/know-how/software/linux/_posts/2009-02-22-festival.md

1.7 KiB

title layout created updated toc tags
festival Text-To-Speech default 2009-02-22 00:53:11 +0100 2009-02-22 00:54:41 +0100 false
know-how
software
linux
sound

Simultaneous playback

The festival text-to-speech synthesizer seems to use normal ALSA playback instead of PulseAudio. This leads to it failing when there's already something playing. E.g. if you're listening to music with Rhythmbox, festival fails with this message:

Linux: can't open /dev/dsp

To make it use PulseAudio, we can re-route the audio through the pacat utility as proposed on this bugreport. Just add these few lines to your /usr/share/festival/init.scm:

(Parameter.set 'Audio_Command "pacat --channels=1 --rate=$SR $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Required_Format 'raw)

Note: I had to use raw as the required format since the snd from the bugreport gave me loud noise instead of speech. raw works fine.

Announcing system errors

On fedorabook.com I found this little script which will read every new line from /var/log/messages:

{% highlight bash %} #!/bin/bash tail -0f /var/log/messages | sed "s/^[^:]:[^:]:[^:]: //" | while read LINE #tail -0f /var/log/syslog | sed "s/^[^:]:[^:]:[^:]: //" | while read LINE #tail -0f /var/log/auth.log | sed "s/^[^:]:[^:]:[^:]: //" | while read LINE #tail -0f /var/log/user.log | sed "s/^[^:]:[^:]:[^:]: //" | while read LINE do echo $LINE echo $LINE | festival --tts sleep 0.75 done {% endhighlight %}