Will man deutsche Texte unter Ubuntu in Sprache umwandeln, trifft man gleich auf zwei Probleme. Das eine ist die unübersichtliche Situation der Sprachausgabe unter Linux, das andere die deutsche Sprache.
Beides läßt sich aber einigermaßen lösen, so daß am Ende ein akzeptables Ergebnis steht.
Für die Sprachausgabe braucht es grundsätzlich diverse Werkzeuge, die die einzelnen Schritte ausführen:
Für den ersten Schritt kommt espeak zum Einsatz, für den zweiten mbrola. Den dritten Schritt erledigt aplay für den Fall des Vorlesens. Will man z.B. ein mp3 speichern, muß man es entsprechend erzeugen.
Ich habe mir drei Skripte geschrieben, die mir jeweils eine Datei vorlesen. Unterschied ist die verwendete Sprache und Stimme; sprechem und sprechew lesen mit männlicher bzw. weiblicher Stimme auf deutsch vor. Entsprechend liest speak auf englisch vor (mit männlicher Stimme).
Eine leichte Verbesserung der Qualität erreicht man durch Herabsetzen der Geschwindigkeit (Option -s 140 für espeak).
speak:
espeak -vmb-us2 -f $1 |mbrola -e /usr/share/mbrola/us2/us2
- - |aplay -r16000 -f S16_LE
sprechem:
espeak -vmb-de2 -f $1 |mbrola -e /usr/share/mbrola/de2/de2
- - |aplay -r16000 -f S16_LE
sprechew:
espeak -vmb-de5 -f $1 |mbrola -e /usr/share/mbrola/de5/de5
- - |aplay -r22050 -fS 16_LE