La commande “dire” de Mac OS X dans Ubuntu?

61

Existe-t-il un équivalent de la commande de terminal du Mac "say" dans Ubuntu 9.10?

tourteau
la source
3
En passant: une belle liste de phrases anglaises dans lesquelles Mac OS X comprend très bien le contexte, comme "Mon nom est Dr. Smith et je vis sur Smith Dr.", "Le soldat a décidé d'abandonner son dessert dans le désert". , "La garde vous permettra de passer si vous montrez un permis valide" et "Il pleut beaucoup plus sur les pentes du Mt. Rainier" sur macosxhints.com/comment.php?mode=view&cid=107211
Arjan

Réponses:

65

espeak devrait être installé par défaut en tant que moteur de synthèse vocale sous Linux.

Vous devriez pouvoir le faire parler en ligne de commande en faisant quelque chose comme ceci:

echo "Text to speak"|espeak

Vous pouvez également commencer à parler en entrant simplement espeak, puis entrez chaque ligne de texte à suivre, puis appuyez sur entrer.

D'autres moteurs TTS pour Linux que vous pourriez regarder:

Espeak est disponible sur (mais devrait être installé par défaut!):

Meta Bergman
la source
3
Si vous voulez que cela remplace directement la commande say, vous pouvez utiliser une fonction: function say () {echo "@" | espeak; }
Jason Axelson
sur Linux Mint n'est PAS installé par défaut;)
daveoncode
1
Espeak n'est pas installé par défaut sur Ubuntu.
jasonszhao
29
alias say='echo "$1" | espeak -s 120 2>/dev/null'

Ensuite, vous pouvez utiliser:

say 'How are you doing?'

Explication:

-s 120 #to make it slower than default
2>/dev/null #to eliminate error masseges on the console
rodvlopes
la source
1
cela ne semble pas fonctionner lorsque je source .bashrc à partir d'un script
chovy
6

Il existe un certain nombre de synthétiseurs vocaux disponibles à installer dans karmic, la plupart de ceux que j'ai essayés ayant une version console.

Recherchez "Speech" dans synaptic pour obtenir la liste complète. Le espeakpaquet fonctionne comme say.

Seth
la source
3

installez le répartiteur de parole avec un synthétiseur (flite, festival, etc.) puis

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

qui utilisera le synthétiseur que vous avez configuré.

Le -p -25 règle le ton le plus bas ... changez comme vous le souhaitez. -e utilise stdin

utilisateur104502
la source