[[Vorlage(Getestet bionic, focal)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(eSpeak/espeak-logo.png, 84, left)]] [github:espeak-ng/espeak-ng:eSpeak NG] {en} ist die Fortführung von [sourceforge2:eSpeak:] {en}, eines Open-Source-Sprach-Synthesizer, der Ausgaben in vielen Sprachen erzeugen kann. Die Entwicklung von [:eSpeak:] stagniert seit 2015, letzte Version war 1.48.15, es wurde 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 kann auch als Basis für andere Programme (z.B. [:Gespeaker:]) dienen, die zur Spracherzeugung im Original auf eSpeak zurückgreifen. = Installation = eSpeak NG kann (neben oder statt [:eSpeak:]) ab [:18.04:Ubuntu 18.04] aus den Quellen installiert werden. Die Syntax ist weitgehend gleich. Das Paket '''espeak-ng-espeak''' bietet die Möglichkeit, das aktuellere eSpeak NG unter dem alten Namen `espeak` bereitzustellen, um anderen Programmen die Nutzung (unabhängig von deren Umstellung) zu ermöglichen. Dabei werden anstelle der Programmdateien espeak/speak [:ln/#Symbolische-Verknuepfungen:symbolische Links] auf espeak-ng/speak-ng gelegt. {{{#!vorlage Paketinstallation espeak-ng, universe espeak-ng-espeak, optional, Ersatz für eSpeak, schließt aber die Verwendung von eSpeak selbst aus mbrola, multiverse (optional) }}} Außerdem die gewünschte mbrola-Stimmenpakete installieren, die eine "natürlichere" Wiedergabe ermöglichen. Anders als eSpeak kann eSpeak NG auch '''mbrola-de1''' und '''mbrola-de8''' verwenden, letztere liefert ist allerdings eine bayrische Stimme, die etliche Laut-Kombinationen nicht wiedergeben kann. = Bedienung = Die allgemeine Syntax auf der Kommandozeile[2] lautet: {{{#!vorlage Befehl espeak-ng [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 NG 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 [:Sprachausgabe/#MBROLA:MBROLA]-Stimmen verwendet und bearbeitet werden, sie werden über spezielle Kürzel aufgerufen (z.B. `mb-de4`). == Beispiele == {{{#!vorlage Befehl espeak-ng -vde "zu sprechender Text" # MBROLA-Stimmen über -vmb-deX }}} spricht den angegebenen Text nach den Regeln der deutschen Sprache. {{{#!vorlage Befehl espeak-ng -vde -f ZU_SPRECHENDE_TEXTDATEI }}} gibt die angegebene Datei in gleicher Weise aus. {{{#!vorlage Befehl espeak-ng -vde -f -m ZU_SPRECHENDE_HTML }}} gibt die angegebene HTML-Datei in gleicher Weise aus. {{{#!vorlage Befehl espeak-ng -vde -f ZU_SPRECHENDE_TEXTDATEI -w Sprachausgabe }}} schreibt die Textdatei als '''.wav'''-Klangdatei gewandelt. == Optionen == {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel"> eSpeak-NG-Optionen +++ Option Funktion +++ `-d NUMMER` anzusteuernde Soundkarte, wenn nicht spezifiziert wird die Standard-Karte verwendet. +++ `-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/lib/x86_64-linux-gnu//espeak-ng-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) und `+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` und `--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-ng --voices=de` +++ `--voices=mb` Listet alle verwendbaren MBROLA-Stimmen auf, auch nicht installierte }}} Weitere Informationen in der [github:espeak-ng/espeak-ng/blob/master/docs/index.md:Online-Dokumentation] {en} = Probleme und Lösungen = == Kein Ton über USB-Soundkarten == eSpeak NG kann Probleme damit haben, den Sound über USB-Soundkarten auszugeben. Trotz hochgeregeltem Soundausgang (siehe [:Alsamixer:]) wird - ggf. auch ohne weiteren Kommentar im Terminal - kein Ton ausgegeben. Über {{{#!vorlage Befehl cat /proc/asound/cards }}} können die verwendbaren Soundkarten angezeigt werden; mit der Option `-d X` (X steht dabei für die Nummer der gewünschten Karte) kann die Ausgabe dann gesteuert werden. 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-NG-Wiedergabe anschauen und ggf. ein passendes 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 * [:xsane2speech:] - Dokumente direkt aus [:XSane:] heraus "vorlesen" und als '''.mp3''' archivieren * [:Omilo:] - GUI zur Sprachausgabe für Mary, Flite und Festival = Links = * [github:espeak-ng/espeak-ng: 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