[[Vorlage(Getestet bionic, focal)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(./espeak-logo.png, 84, left)]] [sourceforge2:eSpeak:] {en} ist ein Open-Source-Sprach-Synthesizer, der Ausgaben in vielen Sprachen erzeugen kann. eSpeak ist eine Weiterführung des Programms "speak", und wird seit 1995 entwickelt. Die Spracherzeugung erfolgt vollständig synthetisch ([wikipedia:Sprachsynthese#Formantsynthese:Formantsynthese]), was kleine Sprachdateien und hohes Sprechtempo ermöglicht, aber zu künstlicheren Ergebnissen führt als bei größeren Sprach-Synthesizern, die auf natürlichen Sprachaufnahmen basieren. Es handelt sich um ein reines Kommandozeilenwerkzeug. Eine direkte Aufnahme der Ausgabe als '''.wav'''-Datei ist möglich. Es dient auch als Basis für andere Programme (z.B. [:Gespeaker:]), die zur Spracherzeugung auf eSpeak zurückgreifen. {{{#!vorlage Hinweis Die Entwicklung von eSpeak stagnierte seit April 2015, letzte Version war 1.48.15. Allerdings wird das Programm unter der Bezeichnung [:eSpeak_NG:] (Version 1.50.x und ggf. höher) weitergeführt; es kann neben oder statt eSpeak ab [:18.04:Ubuntu 18.04] aus den Quellen installiert werden. Die Syntax ist weitgehend gleich. Mit dem Paket '''espeak-ng-espeak''' existiert auch die Möglichkeit, andere Programm automatisch die neue Version verwenden zu lassen. }}} = Installation = eSpeak liegt in den Paketquellen vor und kann so installiert[1] werden: {{{#!vorlage Paketinstallation espeak, universe }}} = Bedienung = Die allgemeine Syntax auf der Kommandozeile[2] lautet: {{{#!vorlage Befehl espeak [OPTIONEN(EN)] ["TEXT IN ANFÜHRUNGSZEICHEN"] }}} Die Ausgabe kann über vielfältige Optionen angepasst werden; dies betrifft die Sprachgeschwindigkeit, -höhe, -lautstärke, Länge der Pause, Emphasis für Hauptwörter etc. Auch lassen sich unterschiedliche Eingabe-Formate verwenden. eSpeak kann außerdem verwendet werden, um Ausgaben in phonetischer Umschrift zu erzeugen, und auch zum Erstellen neuer Sprachanweisungen aus vorliegenden Wörterbuch-Dateien. Es können auch mbrola-Stimmen verwendet und bearbeitet werden, sie werden über spezielle Kürzel aufgerufen (z.B. `mb-de4`). {{{#!vorlage Hinweis Wenn es keine Ausgabe zu geben scheint, ist ggf. die Wiedergabe für das Alsa-Plugin in den Soundeinstellungen stumm gestellt. Das scheint bei Erstaufruf nach Systemstart aus unerfindlichen Gründen der Fall zu sein (siehe auch [#Probleme-und-Loesungen Probleme und Lösungen])! }}} == Beispiele == {{{#!vorlage Befehl espeak -vde "zu sprechender Text" # mbrola-Sprache über -vmb-deX }}} spricht den angegebenen Text nach den Regeln der deutschen Sprache. {{{#!vorlage Befehl espeak -vde -f ZU_SPRECHENDE_TEXTADATEI }}} gibt die angegebene Datei in gleicher Weise aus. {{{#!vorlage Befehl espeak -vde -f -m ZU_SPRECHENDE_HTML }}} gibt die angegebene HTML-Datei in gleicher Weise aus. {{{#!vorlage Befehl espeak -vde -f ZU_SPRECHENDE_TEXTDATEI -w Sprachausgabe }}} schreibt die Textdatei als '''.wav'''-Klangdatei gewandelt. == Optionen == {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel"> eSpeak-Optionen +++ Option Funktion +++ `-f TEXTDATEI` wiederzugebende Textdatei +++ `--stdin` Text der Standardeingabe (stdin) statt einer Textdatei wiedergeben +++ <-2> Wenn weder `-f` noch `--stdin` angeben ist, werden eingegebene Wörter gesprochen, oder der Text der Standardeingabe zeilenweise ausgegeben. +++ `-a WERT` Lautstärke, Werte von `0` bis `200`, Standard ist `100` +++ `-g WERT` Wort-Zwischenräume. Pause zwischen den Wörtern, in 10ms-Einheiten bei Standardgeschwindigkeit (siehe `-s`) +++ `-k WERT` Gebe Großbuchstaben wieder: `1`= Klicklaut bei einem Großbuchstaben oder zwei Klicklaute, wenn das Wort nur aus Großbuchstaben besteht, `2`= dem Wort "capitals", höherer Werte führen zu einer Erhöhung der Stimmlage (z.B. `-k20`) +++ `-l WERT` Zeilenlänge. Wenn nicht `0` gesetzt ist (Standardeinstellung), werden Zeilen, die kürzer als diese Länge sind, als Phrasen-Ende betrachtet +++ `-p WERT` Anpassung der Tonhöhe,Werte von 0 bis 99, Standard ist 50 +++ `-s WERT` Sprechgeschwindigkeit in Wörtern pro Minute, Werte von 80 bis 450, Standard ist 175 +++ `-v STIMMNAME` Verwendet die Sprachdatei dieses Namens aus '''/usr/share/espeak-data/voices''', erweiterbar um `[+Varianten]`, `+m1, +m2, +m3, +m4, +m5, +m6, +m7`, männliche Stimmen, `+f1, +f2, +f3, +f4`, weibliche Stimmen, sowie `+croak` (Krächzen) and `+whisper` (Flüstern) - die Varianten sind für MBROLA-Stimmen nicht nutzbar! +++ `-w WAVE_DATEINAME` Ausgabe wird in diese Wave-Datei geschrieben, statt sie direkt auszugeben +++ `-b WERT` Textencodierung der Eingabedatei, 1=UTF8, 2=8 bit, 4=16 bit +++ `-m` Verarbeitet [wikipedia:Speech_Synthesis_Markup_Language:SSML], und ignoriert andere < >-Tags +++ `-q` Keine Stimmausgabe (ggf. nützlich mit `-x`) +++ `-x` Schreibt Phoneme-Abkürzungen in einer [https://www.phon.ucl.ac.uk/home/sampa/ SAMPA-Notierung] {en} nach stout +++ `-X` Schreibt Phoneme-Abkürzungen und Übersetzung (translation trace) nach stdout +++ `-z` Keine abschließende Satzpause am Ende des Textes +++ `--compile=STIMMENNAME` Erstelle Ausspracheregeln und Wörterbuch aus dem derzeitigen Wörterbuch, `STIMMENNAME` legt die Sprache fest +++ `--ipa` Gibt Phoneme im [wikipedia:Internationales_Phonetisches_Alphabet:] (IPA) an stdout aus +++ `--path="PFAD"` Legt den Pfad fest, in dem sich das eSpeak-Daten-Verzeichnis befindet +++ `--pho` Schreibt mbrola-Phonem-Daten ('''.pho''') nach stdout oder in die mit `--phonout` festgelegte Datei +++ `--phonout="DATEINAME"` Schreibt die Phonem-Ausgabe von `-x -X --ipa` and `--pho` in diese Datei +++ `--punct="ZEICHEN"` Spricht die Zeichennamen der angegebenen Satzzeichen, wenn `=ZEICHEN` ausgelassen wird, werden alle Satzzeichen gesprochen. +++ `--split="MINUTEN"` Beginnt alle angegebenen Minuten eine neue '''.wav'''-Datei, mit `-w` verwenden +++ `--stdout` Schreibt die Sprachausgabe nach stdout +++ `--voices=SPRACHE` Listet die verfügbaren Stimmen der angegebenen Sprache auf; ohne Sprachangabe werden alle verfügbaren Stimmen aufgelistet. Installierte mbrola-Stimmen werden nur bei Angabe der Sprache ausgegeben, z.B. `espeak --voices=de` }}} Weitere Informationen in der [http://espeak.sourceforge.net/docindex.html Online-Dokumentation] {en} == Deutsche Sprachpakete (mbrola) == Für verbesserte deutsche Sprachausgabe empfiehlt sich die Installation folgender Pakete: {{{#!vorlage Paketinstallation mbrola, multiverse mbrola-de2, multiverse mbrola-de3, multiverse mbrola-de4, multiverse mbrola-de5, multiverse mbrola-de6, multiverse mbrola-de7, multiverse }}} Dies lässt sich bspw. so nutzen: {{{#!vorlage Befehl espeak -vmb-de5 -b1 "Das ist ein Test." }}} Um den aktuell ausgewählten Text vorlesen zu lassen, kann [:xsel:] installiert werden: {{{#!vorlage Paketinstallation xsel, universe }}} Dann: {{{#!vorlage Befehl xsel | espeak -vmb-de5 -b1 &> /dev/null }}} = Probleme und Lösungen = == Kein Ton über USB-Soundkarten == eSpeak kann Probleme damit haben, den Sound über USB-Soundkarten auszugeben. Trotz hochgeregeltem Soundausgang (siehe [:Alsamixer:]) wird ohne weiteren Kommentar im Terminal keine Ton ausgegeben. Abhilfe schafft es, den Ton über stdout auf z.B [:ALSA#aplay:aplay] oder [:AudioPlayer/#Player-fuer-die-Kommandozeile:paplay:] zu "pipen": {{{#!vorlage Befehl espeak -vde "zu sprechender Text" --stdout | aplay }}} Ggf. wird die Ausgabe aber auch nur "fehlgeleitet"; zur Überprüfung bei laufender - wenn auch stummer - Ausgabe im [:pavucontrol/#Benutzung:pavucontrol]-Fenster im ''"Wiedergabe"''-Reiter das Ausgabemodul für die espeak-Wiedergabe anschauen und ggf. ein passendes Modul auswählen. = Alternativen = * [:Sprachausgabe:] {Übersicht} - Übersichtsseite * [:Festival:] - weiterer Sprachgenerator, basierend auf "natürlichen" Stimmen * [:Gespeaker:] - Frontend mit komfortablerer Bedienung * [:Skripte/Book-To-MP3:] - Skript zum Vorlesen aus etlichen Dateiformaten, [:Skripte/pdf2mp3:] - ähnliches Python-Skript ## * [:Archiv/KMouth:] - KDE-Programm zur Sprachausgabe * [:xsane2speech:] - Dokumente direkt aus [:XSane:] heraus "vorlesen" und als '''.mp3''' archivieren * [:Omilo:] - GUI zur Sprachausgabe für Mary, Flite und Festival = Links = * [sourceforge2:espeak:Projektseite] {en} * [github:numediart/MBROLA: MBROLA] {en} * [ubuntu_doc:community/TextToSpeech:TextToSpeech] {en} auf ubuntu.com * [https://dl.fullcirclemagazine.org/issue150_en.pdf fullcirclemagazine] {en} - Artikel in Full Circle 150, Seite 14-17 zu Verwendung von espeak-ng in Python-Programmen #tag: Multimedia, Bildung, Büro, Kommunikation, Barrierefreiheit, Sprachausgabe, TTS