Sprachausgabe

Der Artikel ist schon etwas älter und wird auf den meisten Systemen so nicht mehr funktionieren. Um Überarbeitung wird gebeten.

Unter Gentoo benötigt man zur Sprachausgabe folgende Dinge:

Mbrola installiert sich ganz einfach mit emerge. Hat man die Sprache in der make.conf gesetzt, werden die Sprecher auch gleich mit installiert.

emerge mbrola

Mbrola wurde nach /opt/mbrola installiert

Txt2pho gibt es auch in einem Overlay. Da die Installation damit aber nicht richtig funktioniert, und auch Dateien fehlen, wenden wir uns der manuellen Installation zu. Zuerst laden wir uns das Paket wie schon oben beschrieben herunter. Danach entpacken wir es mal auf dem Desktop. Folgende Dateien werden enpackt:

-rw-r--r-- 1 user user   16528 12. Okt 2004  README
drwxr-xr-x 2 user user    4096 10. Mai 2005  data
drwxr-xr-x 2 user user    4096 10. Mai 2005  demo
drwxr-xr-x 2 user user    4096 10. Mai 2005  pipefilt
drwxr-xr-x 5 user user    4096 10. Mai 2005  preproc
-rw-r--r-- 1 user user 1225220 12. Okt 2004  txt2pho
-rw-r--r-- 1 user user     799 12. Okt 2004  txt2phorc

Konfiguration

Nun werden sämtliche Dateien an ihrem Ort gebracht und modifiziert.

cp -r pipefilt /opt/mbrola/
cp -r preproc /opt/mbrola/
cp -r data /opt/mbrola/
cp txt2phorc /etc/txt2pho
cp txt2pho /opt/mbrola
chmod +x /opt/mbrola/txt2pho

In der Datei /etc/txt2pho müssen noch die Pfade angepasst werden.

DATAPATH=/opt/mbrola/data/

# Path to voice files
INVPATH=/opt/mbrola/data/

# Path to temporary and log files (default: /tmp/)
TEMPPATH=/tmp/

Symbolischen Link anlegen:

ln -s /opt/mbrola/txt2pho /opt/bin/

Dies ist ein Script das Mbrola und txt2pho zusammenfasst. Es ermöglicht die einfache Sprachausgabe in einem Linuxsystem. Ich habe das Script Gentoo angepasst. Ausser dem spezifischen Sprecher sollte eigentlich nichts zu ändern sein.

cd /opt/mbrola
wget http://www.osit.cc/apps/speak.sh
chmod +x speak.sh
ln -s /opt/mbrola/speak.sh /opt/bin/speak

Je nach installierten Sprachen sollte der Ordner so aussehen:

drwxr-xr-x 2 root root    4096  3. Mai 2010  data
drwxr-xr-x 3 root root    4096 23. Okt 01:28 de1
drwxr-xr-x 3 root root    4096 23. Okt 01:28 de2
drwxr-xr-x 3 root root    4096 23. Okt 01:28 de3
drwxr-xr-x 2 root root    4096  3. Mai 2010  de4
drwxr-xr-x 2 root root    4096 23. Okt 01:28 de5
drwxr-xr-x 2 root root    4096 23. Okt 01:28 de8
-rwxr-xr-x 1 root root   32876 23. Okt 01:27 mbrola
drwxr-xr-x 2 root root    4096 13. Jul 2010  pipefilt
drwxr-xr-x 5 root root    4096 13. Jul 2010  preproc
-rwxr-xr-x 1 root root    7328 13. Jul 2010  speak.sh
-rwxr-xr-x 1 root root 1225220  3. Mai 2010  txt2pho
drwxr-xr-x 3 root root    4096 23. Okt 01:28 us1
drwxr-xr-x 3 root root    4096 23. Okt 01:28 us2
drwxr-xr-x 3 root root    4096 23. Okt 01:28 us3

Die Bedienung ist sehr simpel.

echo "Hallo, ich bin dein Computer. Wie geht es dir?" | speak

Wie ihr dabei hören könnt werden auch die Satzzeichen richtig betont. Zu empfehlen ist der Sprecher „weiblich de5“. So eine Zeile lässt sich natürlich auch praktisch im KDE-Kontrollzentrum unter Benachrichtigungen eintragen. So kann man auch ohne lästige Plugins alles in Sprache ausgeben.

Auch das ist sehr einfach. Zuerst wird die Sprache in phonetischer Schrift umgewandelt diese wird dann durch Mbrola gejagt und in eine WAV-Datei gespeichert.

echo "Passwort nicht korrekt Selbstzerstoerung aktiviert" | txt2pho > passwortfalsch.pho
mbrola /opt/mbrola/de5/de5 passwortfalsch.pho passwortfalsch.wav

Und abspielen:

mplayer passwortfalsch.wav

So, das wars. Hoffe ihr habt Spass damit! :)