mirror of
https://github.com/mbirth/wiki.git
synced 2024-11-09 13:16:45 +00:00
53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
---
|
|
title: festival Text-To-Speech
|
|
layout: default
|
|
created: 2009-02-22 00:53:11 +0100
|
|
updated: 2009-02-22 00:54:41 +0100
|
|
toc: false
|
|
tags:
|
|
- 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](https://bugzilla.redhat.com/show_bug.cgi?id=467531).
|
|
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](http://dailypackage.fedorabook.com/index.php?/archives/42-Productive-Monday-Festival-Speech) 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 %}
|