Mac OS X "say" -Befehl in Ubuntu?


61

Gibt es ein Äquivalent zum Terminal-Befehl "say" des Mac in Ubuntu 9.10?


3
Nebenbei bemerkt: eine schöne Liste englischer Sätze, in denen Mac OS X den Kontext recht gut versteht, wie "Mein Name ist Dr. Smith und ich lebe von Smith Dr.", "Der Soldat hat beschlossen, sein Dessert in der Wüste zu desertieren". , "Der Wachmann lässt Sie passieren, wenn Sie eine gültige Genehmigung vorweisen" und "An den Hängen des Mount Rainier ist es viel regnerischer" unter macosxhints.com/comment.php?mode=view&cid=107211
Arjan

Antworten:


65

espeak sollte standardmäßig als Text-to-Speech-Engine unter Linux installiert sein.

Sie sollten in der Lage sein, es von der Kommandozeile aus zum Sprechen zu bringen, indem Sie Folgendes tun:

echo "Text to speak"|espeak

Sie können espeak auch starten, indem Sie einfach espeakselbst eingeben und dann jede Textzeile eingeben, die gesprochen werden soll, gefolgt von der Eingabetaste.

Andere TTS-Engines für Linux, die Sie sich ansehen können:

Espeak ist verfügbar unter (sollte aber standardmäßig installiert sein!):


3
Wenn Sie möchten, dass dies den Befehl say direkt ersetzt, können Sie eine Funktion verwenden: function say () {echo "@" | espeak; }
Jason Axelson

Unter Linux ist Mint NICHT standardmäßig installiert;)
Daveoncode

1
Espeak ist unter Ubuntu nicht standardmäßig installiert.
jasonszhao

29
alias say='echo "$1" | espeak -s 120 2>/dev/null'

Dann können Sie verwenden:

say 'How are you doing?'

Erläuterung:

-s 120 #to make it slower than default
2>/dev/null #to eliminate error masseges on the console

1
Dies scheint nicht zu funktionieren, wenn ich .bashrc aus einem Skript
quelle

6

Es gibt eine Reihe von Sprachsynthesizern, die in karmic installiert werden können. Die meisten, die ich ausprobiert habe, haben eine Konsolenversion.

Suchen Sie in synaptic nach "Speech", um die vollständige Liste zu erhalten. Das espeakPaket funktioniert wie say.


3

Installieren Sie dann den Speech-Dispatcher zusammen mit einem Synthesizer (Flite, Festival usw.)

alias say='echo "$1" | spd-say -p -25 -e'

Damit wird der von Ihnen konfigurierte Synthesizer verwendet.

Mit -p -25 wird die Tonhöhe nach Wunsch verringert. -e benutzt stdin

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.