web-dev-qa-db-fra.com

Commande "dire" de Mac OS X sous Ubuntu?

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

61
roflwaffle

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 à écrire en entrant simplement espeak lui-même, puis entrez chaque ligne de texte que vous souhaitez voir suivie de l'entrée.

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

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

65
Bergman
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
29
rodvlopes

Il existe un certain nombre de synthétiseurs vocaux disponibles pour l'installation en karmique, la plupart de ceux que j'ai essayés ayant une version console.

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

6
Seth

installer un répartiteur vocal 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

3
user104502