ubuntuusers.de

eSpeak NG

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

eSpeak/espeak-logo.png eSpeak NG 🇬🇧 ist die Fortführung von eSpeak 🇬🇧, 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 (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 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 symbolische Links auf espeak-ng/speak-ng gelegt.

  • espeak-ng (universe)

  • espeak-ng-espeak (optional, Ersatz für eSpeak, schließt aber die Verwendung von eSpeak selbst aus)

  • mbrola (multiverse (optional))

Befehl zum Installieren der Pakete:

sudo apt-get install espeak-ng espeak-ng-espeak mbrola 

Oder mit apturl installieren, Link: apt://espeak-ng,espeak-ng-espeak,mbrola

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:

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 MBROLA-Stimmen verwendet und bearbeitet werden, sie werden über spezielle Kürzel aufgerufen (z.B. mb-de4).

Beispiele

espeak-ng -vde "zu sprechender Text" # MBROLA-Stimmen über -vmb-deX 

spricht den angegebenen Text nach den Regeln der deutschen Sprache.

espeak-ng -vde -f ZU_SPRECHENDE_TEXTDATEI 

gibt die angegebene Datei in gleicher Weise aus.

espeak-ng -vde -f -m ZU_SPRECHENDE_HTML 

gibt die angegebene HTML-Datei in gleicher Weise aus.

espeak-ng -vde -f ZU_SPRECHENDE_TEXTDATEI -w Sprachausgabe 

schreibt die Textdatei als .wav-Klangdatei gewandelt.

Optionen

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
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 SSML, und ignoriert andere < >-Tags
-q Keine Stimmausgabe (ggf. nützlich mit -x)
-x Schreibt Phoneme-Abkürzungen in einer SAMPA-Notierung 🇬🇧 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 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 Online-Dokumentation 🇬🇧

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

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-Fenster im "Wiedergabe"-Reiter das Ausgabemodul für die eSpeak-NG-Wiedergabe anschauen und ggf. ein passendes auswählen.

Alternativen

Diese Revision wurde am 30. November 2020 22:52 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, TTS, Büro, Sprachausgabe, Kommunikation, Bildung, Barrierefreiheit