{{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] [:Terminal: Ein Terminal öffnen] [:Skripte: Ein Skript ausführen] }}} [[Inhaltsverzeichnis(2)]] Sprachausgabe ("Text-to-Speech", TTS) ist die Möglichkeit, geschriebenen Text in gesprochene und damit hörbare Sprache umzuwandeln. Die Ausgabe von Text als Sprache ist Teil des barrierefreien Ubuntu: [:Barrierefreiheit:]. Dazu gehört * die Umwandlung der Buchstaben in Lautwerte ([wikipedia:Phonem:Phoneme]) auf Basis der gewählten Sprache (eine Ausgabe auf Deutsch mit der voreingestellten Sprache "Englisch" ist nahezu unverständlich) * die Ausgabe dieser Phoneme als Sprache mit einer installierten Stimme "Einfache" Programme wie [:eSpeak:] nutzen synthetische "Computer"-Stimmen. Anspruchsvoller ist die digitale Sprachsynthese auf der Basis menschlicher Sprecher. = Einfache Sprachausgabe = Hierbei geht es darum, einen gewünschten Text als gesprochene Sprache wie ein Hörbuch auszugeben. Die nachstehenden Programme eSpeak und Festival werden gern von komplexeren Programmen als Basis zur Phonemerzeugung verwendet. == eSpeak == [[Bild(eSpeak/espeak-logo.png, 60, right)]] [:eSpeak:]/[:eSpeak_NG:] ist ein Open-Source-Sprach-Synthesizer, der Ausgaben in vielen Sprachen erzeugen kann. Die Spracherzeugung erfolgt vollständig synthetisch ([wikipedia:Sprachsynthese#Formantsynthese:Formantsynthese]). Es handelt sich um ein reines Kommandozeilenwerkzeug. Eine direkte Aufnahme der Ausgabe als '''.wav'''-Datei ist möglich. eSpeak dient auch als Basis für andere Programme (z.B. [:Gespeaker:]), die zur Spracherzeugung darauf zurückgreifen. === Gespeaker === [[Bild(Gespeaker/gespeaker-logo.png, 60, right)]] [:Gespeaker:] ist ein [:GUI-Toolkits#GTK:GTK+]-Frontend für eSpeak. Es kann verwendet werden, um eingegebenen Text direkt als Sprache auszugeben, oder vorhandene Texte ('''*.txt''') vorlesen zu lassen. Dabei können auch gleich Aufnahmen im '''.wav'''-Format erstellt werden. Neben den in eSpeak vorhandenen Stimmen lassen sich auch die "schöneren", natürlicher klingenden Stimmen des [http://tcts.fpms.ac.be/synthesis/mbrola/ MBROLA-Projekts] {en} nutzen. == Festival == [:Festival:] liefert ein Gerüst zur Sprachwiedergabe (TTS - "Text-to-Speech"). Das Projekt wird von der Universität Edinburgh entwickelt. Es lassen sich Module für etliche Sprachen integrieren; der Zugriff kann über verschiedene Wege erfolgen: über die Kommandozeile, einen [wikipedia:Scheme:]-Interpreter, als Server, über Java oder eine Emacs-Schnittstelle. Standardmäßig wird Englisch als Ausgabe-Sprache verwendet; es lassen sich aber weitere Sprachen integrieren. Die vollständige Dokumentation, auch zum Erstellen neuer Sprachen/Stimmen, ist über das Projekt [http://festvox.org festvox.org] {en} der Carnegie Mellon University beziehbar. === Flite === [:Flite:] ('''F'''estival '''lite''') ist ein kleines Laufzeit-Sprachsynthesizer-Programm, das auf [:Festival:] basiert, aber vollständig in [:Programmiersprache#C:C] verfasst ist. Das Programm wurde an der [http://www.speech.cs.cmu.edu/ Carnegie Mellon University] {en} entwickelt. Es ist als Ausgabemodul für andere Programme oder Server konzipiert, Flite kann beispielsweise in [:Archiv/Jovie:] oder [:Archiv/KMouth:] eingesetzt werden. Das Programm ist mit den Festival-Stimmen kompatibel, beim Kompilieren ließen sich auch weitere Stimmen aus [http://www.festvox.org/dbs/index.html festvox] {en} einbeziehen. == Omilo == [[Bild(Omilo/omilo-qt5.png, 60, right)]] [:Omilo:] (abgeleitet vom griech. ομιλία - Sprache) ist ein Programm zur Textumwandlung, das [:Festival:], [:Flite:] oder [http://mary.dfki.de/ Open Mary] {en} als Sprachausgabe verwenden kann. Es lassen sich beliebige Texte oder Textdateien in Sprache umwandeln und als Wave-Dateien abspeichern. == Thorsten-Voice == [[Bild(Thorsten-Voice/Logo_Thorsten-Voice.jpg, 60, right)]] [:Thorsten-Voice:] ist eine freie, deutsche, künstliche TTS-Stimme auf Basis eines menschlichen Sprechers. Die Stimme kann komplett lokal erzeugt werden und benötigt als Voraussetzung lediglich eine [:Python:] Umgebung. Eine Ausgabe der Stimme als '''.wav'''-Datei ist möglich. == SVOX - pico2wave == pico2wave von [wikipedia_en:SVOX:] ist ein vollwertiger Sprachsynthesizer für die Kommandozeile, der Texte in deutsch, englisch/amerikanisch, italienisch, französisch und spanisch in eine Wave-Datei umwandeln kann. Verwendet werden "[wikipedia:Hidden_Markov_Model:Hidden Markov Model-Algorithmen]" (HMM) zur Spracherzeugung. Benötigt werden die Pakete {{{#!vorlage Paketinstallation libttspico-utils sox }}} Die Befehlssyntax auf der Kommandozeile ist {{{#!vorlage Befehl pico2wave --lang SPRACHKÜRZEL --wave DATEINAME.wav "TEXT" }}} Verwendbare Sprachkürzel sind `de-DE, en-US, en-GB, es-ES fr-FR, it-IT`. Eine direkte Wiedergabe kann z.B. mit einer Eingabe wie {{{#!vorlage Befehl pico2wave --lang de-DE --wave /tmp/Test.wav "Hier folgt der Test-Text" ; play /tmp/Test.wav; rm /tmp/Test.wav }}} erfolgen; hier wird `play aus` [:SoX:] für die Ausgabe verwendet, die Testdatei in '''/tmp''' anschließend gleich wieder gelöscht. In gewissem Umfang lassen sich auch Textdateien direkt wiedergeben (bis ca. 35 kb Größe, UTF-8-Kodierung), hier ein Beispielskript, mit dem das möglich ist (Wiedergabe erfolgt mit [:ffplay:]): {{{#!code bash #!/bin/bash pico2wave -l=de-DE -w=/tmp/test.wav "$(cat ${1})" ffplay -f wav -loglevel 0 >/dev/null -x 100 -y 50 -vn -autoexit /tmp/test.wav rm /tmp/test.wav }}} Das Skript abspeichern (z.B. als '''svox.sh''' in '''/usr/local/bin''', um es systemweit nutzen zu können) und ausführbar machen, Aufruf erfolgt im Terminal über {{{#!vorlage Befehl svox.sh TEXTDATEI.txt }}} Wenn die Textdatei zu umfangreich ist, erscheint umgehend die Meldung {{{ Cannot put Text (-102): invalid argument supplied }}} = Sprachsynthese = Um für verschiedene Aussprachen aus dem Text korrekt klingende [wikipedia:Phonem:Phoneme] erstellen zu können, werden neben dem geeigneten Sprachpaket auch Sprecher, ''"Stimmen"'', benötigt. == MBROLA == Das [github:numediart/MBROLA:MBROLA-Projekt] {en} stellt hierfür eine Reihe von Stimmen sehr vieler Sprachen zur Verfügung. Das Programm kann aus den Paketquellen installiert[1] werden: {{{#!vorlage Paketinstallation mbrola, multiverse mbrola-de7, multiverse, weiblich mbrola-de6, multiverse, männlich mbrola-de5, multiverse, weiblich mbrola-de4, multiverse, männlich mbrola-de3, multiverse, weiblich mbrola-de2, multiverse, männlich mbrola-de1, multiverse, weiblich mbrola-de8, multiverse, bayrisch, männlich, ab 19.04 }}} MBROLA stellt dabei lediglich die Ausgabe von fertigen Phonemen in Sprache mittels eigener installierbarer Stimmen zur Verfügung und kann nur mit einem Textwandelprogrammes wie [:eSpeak:] oder [:Festival:] eingesetzt werden. Sinnvoll ist daher z.B. die Kombination von [:Gespeaker:] mit MBROLA. {{{#!vorlage Hinweis Unter [:16.04: Ubuntu 16.04] funktioniert zumindest die 64-bit-Version aus den Paketquellen nicht; der Aufruf führt zu einem "Segmenation fault". Abhilfe schafft die Verwendung einer neuen Debian-Version 3.01h+2-3+b1, die z.B. von der [ftp://ftp.wh2.tu-dresden.de/pub/mirrors/debian/pool/non-free/m/mbrola/ TU Dresden] {dl} bezogen werden kann. Hintergründe dazu in diesem [debianbug:856331:Debian Bug-Report] {en}. }}} Zusätzliche Stimmen, oder zur Verwendung in älteren Ubuntu-Versionen, kann man von der [github:numediart/MBROLA-voices:Downloadseite] {dl} des Projektes herunterladen. Nach dem Entpacken [3] mit Root-Rechten [4] nach '''/usr/share/mbrola''' kopieren und die Leserechte anpassen (`drwxr-xr-x` für Ordner und `-rwxr--r--` für Dateien). Das Verzeichnis '''de*''' sollte sich somit im Ordner '''/usr/share/mbrola''' befinden. = KDE-Accessibility-Projekt = Das [http://community.kde.org/Accessibility KDE-Accessibility-Projekt] {en} stellt einige Programme für die [:Barrierefreiheit:] unter Ubuntu zur Verfügung. Es kann als Metapaket {{{#!vorlage Paketinstallation kdeaccessibility }}} installiert[1] werden. Es handelt sich dabei um ein Meta-Paket, das u.a folgende Pakete auf den Rechner holt: '''kmag''', '''kmousetools''', '''kaccessible''', '''kmouth''', '''jovie'''. = Wandelprogramme Text in Tondatei = Damit kann ein Textdokument (z.B. [:PDF:]- oder ASCII-Dateien) in eine Tondatei umgewandelt und dann mit einem üblichen Audiospieler wiedergegeben werden. In der Regel handelt es sich um Skripte, die auf der Kommandozeile[6] auszuführen sind. == abtool == [:abtool:] ist eine Weiterentwicklung von Book-To-MP3 und liefert ein umfangreiches Programm, das es ermöglicht, eine Vielzahl von Dokumenttypen einfach in MP3- bzw. OGG-Dateien umzuwandeln. == Book-To-MP3 == [:Skripte/Book-To-MP3:Book-To-MP3] ist ein von [user:Manabe:] entwickeltes Bash-Skript, mit dem eine Vielzahl von Textdokumenten in MP3-Dateien umgewandelt und so wiedergegeben werden können. Es verarbeitet '''.txt, .rtf, .pdf, .doc, .lit, .html/htm'''-Dateien, die Ausgabe erfolgt entweder als eine große Datei oder in mehreren kleineren Dateien. Das Skript erkennt deutsche und englische Texte automatisch und verwendet die entsprechenden Sprach-Stimmen für die Aufzeichnung. == pdf2mp3 == [:Skripte/pdf2mp3:pdf2mp3] ist ein von [user:rennau80:] entwickeltes [:Python:]-Skript. Es verbindet mehrere Programme (wie `pdftotext`, `lame`, `espeak`, `wavbreaker`), um aus einer ASCII- ( '''.txt''', '''.dat''') oder [:PDF:]-Datei eine Audio-Datei ('''.wav''' oder '''.mp3''') zu erstellen. Da [:eSpeak:] verwendet wird, sind sehr viele Sprachen verfügbar. Unter diesem [topic:pdf-datei-in-mp3-datei-konvertieren-pdf2mp3:Foreneintrag] sind zwei Code-Versionen zu finden: eine, die mit `text2wave` arbeitet (nur in englischer Sprache), sowie eine Version, die etliche Sprachen bei der Konvertierung zu einer Audio-Datei beherrscht. == xsane2speech == [:xsane2speech:] ist eine Wrapper-Skript für [:XSane:], mit dem eine eingescannte Textvorlage sofort "vorgelesen" werden kann. Die dafür nötige Texterkennung erfolgt über [:tesseract-ocr:] oder [:Cuneiform-Linux:], die Textausgabe kann über die Sprachsynthesizer-Programme [:eSpeak:]/[:eSpeak_NG:] oder [:Festival:] erfolgen. Der Text wird gespeichert, er kann sowohl direkt wiedergegeben als auch via [:Audiodateien_umwandeln#Lame:Lame] als '''.mp3'''-Datei gespeichert werden. Zum Einsatz kommen außerdem [:Zenity:] (für Abfragen zum Verlauf), ggf. auch [:Zeichensatz-Konverter#recode:recode] (zur Sicherstellung der richtigen Textkodierung). = Bildschirm-Vorleseprogramme (Screen-Reader) = Bei diesen Programmen wird alles, was am Bildschirm zu sehen ist, also auch das Menü sowie Möglichkeiten bei Eingabe- und Auswahlfenstern, akustisch ausgegeben. Das ist für Sehbehinderte wesentlich. Siehe [:Barrierefreiheit#Screenreader:] == Orca == [:Orca:] ist der Screen-Reader der [:GNOME:]-Desktop-Umgebung, und als solcher Bestandteil der Ubuntu-Standard-Installation. Orca greift für die Sprachausgabe standardmäßig auf `speech-dispatcher` zurück, es können verschiedene Sprach-Synthesizer zum Einsatz kommen. Für deutschsprachige Ausgaben empfiehlt sich die Verwendung von [:eSpeak:]/[:eSpeak_NG:]. Orca liefert außerdem eine Bildschirmlupe, die Ausgabe kann zudem auch in [wikipedia:Braille:Brailleschrift] erfolgen. Dabei ist das Programm sehr vielseitig konfigurierbar, sodass blinde Menschen oder Menschen mit einer Sehbeeinträchtigung/Behinderung die Ausgaben sehr dezidiert für spezielle unterschiedliche Bedürfnisse anpassen können. == Knoppix-adriane == Das bekannte Live-System "Knoppix" kann mit der Option `adriane` gestartet werden und funktioniert dann gleich als Bildschirmvorleseprogramm für die Menüs usw. [http://knopper.net/knoppix-adriane/ Knoppix Adriane] {de}. Wenn man ohne Optionseingabe auskommen möchte, kann man von [http://www.knopper.net/knoppix/knoppix62.html knopper.net] {de} eine Knoppix-Version herunterladen, die automatisch mit dem Sprachausgabesystem "Adriane" (steht für "Audio Desktop Referenzimplementation und Netzwerk-Umgebung") hochfährt. == Speakup == Von der Seite [http://www.linux-speakup.org/download.html/ linux-speakup.org] {en} gibt es ein weiteres Linuxprogramm, Speakup, das zu einem Projekt für blinde Linuxnutzer gehört. = FreeTTS = FreeTTS ist freie Software zur Sprachsynthese komplett in Java auf der Basis von [http://www.speech.cs.cmu.edu/flite/ Flite] {en} geschrieben und ist eine Implementierung von Suns Java Speech API. Es kann von [sourceforge:freetts:FreeTTS] {en} heruntergeladen werden. Auch hier gibt es ein Installationsskript[6]. = Onlinesysteme = Statt sich ein Programm zu installieren und einzurichten, kann man Sprachausgabe von Texteingaben auch komplett im Netz vornehmen. Meist nutzt man dazu eine Demoversion und gibt seinen Text jeweils ein. Hier nur zwei Beispiele, mehr dazu unter [#Kommerzielle-Systeme Kommerzielle Systeme]. [[Bild(./VoiceForge.png,300 ,align=right)]] == VoiceForge == Von der Fa. Cepstral gibt es auf [http://www.voiceforge.com/demo/ voiceforge.com] {en} eine Online-Demoversion, welche beliebige einkopierbare Texte oder Nachrichten auch auf Deutsch spricht (Stimmen ''"Katrin"'' oder ''"Matthias"''). == Mary == Eine weitere Online-Demoversion gibt es vom Text-To-Speech Projekt [http://mary.dfki.de/ MARY] {de}. [http://mary.dfki.de:59125/Download Download] {dl} mit etlichen Optionen, u.a. auch der Möglichkeit, den Text als '''.wav'''-Datei auszugeben. Basiert auf [:Java:]. Die Open-Source-Version wird z.B. von [:Omilo:] für die Sprachgenerierung verwendet. = Kommerzielle Systeme = Eine hervorragende und aktuelle Übersicht über kommerzielle Systeme zur Sprachausgabe, teilweise auch als Screenreader, gibt es unter [http://ttssamples.syntheticspeech.de/ ttssamples.syntheticspeech.de] {de} jeweils mit Möglichkeit, die Qualität an Beispielsätzen zu testen. Etliche der Firmen bieten auch die Möglichkeit eines Online-Tests. == Cepstral == [[Bild(./Cepstral.png, 300, align=right)]] Hierbei handelt es sich um ein kommerzielles Programm, für welches eine [http://www.cepstral.com/demos/ Demoversion] {en} zu finden ist (s. oben Online-Version "VoiceForge"). Es gibt auch Deutsch als Sprache mit sowohl männlicher als auch weiblicher Stimme in sehr guter Qualität. Beide kann man sich zu Testzwecken herunterladen (Stimmen ''"Katrin"'' und ''"Matthias"''). Nach dem Entpacken des '''tar.gz'''-Archivs [3] in ein Verzeichnis kann man dort das Skript '''install.sh''' ausführen[4]. {{{#!vorlage Befehl sudo ./install.sh }}} Ein Test mit dem Beispiel der Stimme "Katrin" sieht so aus: {{{#!vorlage Befehl swift %t -o %w -n Katrin swift "Hallo, ein Katrin Stimmentest" }}} Solange man die Stimme nicht erworben hat, bekommt man vorher jeweils einen Hinweis zu hören. == Voxin== Von [http://voxin.oralux.net/ Oralux.org] {en} gibt es das IBM-Programm Viavoice mit den Screenreadern JAWS und VIRGO für EUR 4,29 pro Sprache auch für Linux. ##= Ungetestet = ## * Epos Text-to-speech ## * Logox Von der "Fa. Logox" offenbar nicht für Linux. ## * DecTalk (uralt) ## * Emacs Speak aus den Paketquellen '''emacs'''. = Problembehebung = == PulseAudio == Falls die Sprachausgabe unvollständig sein sollte, d.h. Teile verschluckt werden, kann das an den zu niedrigen Qualitätseinstellungen von [:PulseAudio:] liegen. = Links = * [http://www.linux-fuer-blinde.de/ Linux für Blinde] {de} * [http://www.linuxlinks.com/Software/Multimedia/Speech_Synthesis/ Übersicht verschiedener Text-To-Speech "Systeme"] {en} * [ubuntu:Accessibility/doc/LanguagesAndSpeechSynthesis:Übersicht zu Text-to-Speech Software bei ubuntu.com] {en} im Ubuntu-Wiki * [https://linuxnetz.wordpress.com/2009/09/22/robo/ Robo] {de} einfaches Skript zur Sprachausgabe * [http://tcts.fpms.ac.be/synthesis/mbrola.html MBROLA] {en} * [http://www.cepstral.com/cgi-bin/support?page=faq&type=i386-linux Cepstral - Linux] {en} * [wikipedia_en:FreeTTS:] * [http://freetts.sourceforge.net/mbrola/README.html Setting up MBROLA for FreeTTS] {en} * [http://www.linux-fuer-blinde.de/108-0-sprachausgabe-ibm-viavoice-fuer-linux-verfuegbar.html ViaVoice] {de} #tag: Multimedia, Kommunikation, Barrierefreiheit, Sprachausgabe, TTS