Comment faire parler Python
-
06-07-2019 - |
Question
Comment faire en sorte que Python dise du texte?
Je pourrais utiliser Festival avec un sous-processus mais je ne pourrai pas le contrôler (ou peut-être en mode interactif, mais ce ne sera pas propre).
Existe-t-il une bibliothèque TTS Python? Comme une API pour Festival, eSpeak, ...?
La solution
Veuillez noter que cela ne fonctionne qu'avec Python 2.x
Vous devriez essayer d’utiliser le paquet PyTTSx car PyTTS est obsolète. PyTTSx fonctionne avec la dernière version de python.
http://pypi.python.org/pypi/pyttsx/1.0 - > Le package
J'espère que ça aide
Autres conseils
Un peu ringard, mais si vous utilisez un Mac, vous pouvez passer une commande de terminal à la console à partir de python.
Essayez de saisir les informations suivantes dans le terminal:
$ say 'hello world'
Et il y aura une voix du mac qui parlera de ça. Depuis python, une telle chose est relativement facile:
import os
os.system("echo 'hello world'")
os.system("say 'hello world'")
Comment entendre la voix du PC sous Windows
from win32com.client import Dispatch
speak = Dispatch("SAPI.SpVoice")
speak.Speak("Ciao")
Utilisation de l'API text-to-go de Google pour créer un mp3 et le trouver ici
Après avoir installé le module gtts dans cmd: pip installer gtts
from gtts import gTTS
import os
tts = gTTS(text="This is the pc speaking", lang='en')
tts.save("pcvoice.mp3")
# to start the file from python
os.system("start pcvoice.mp3")
Le package python-espeak est disponible dans les distributions Debian, Ubuntu, Redhat et autres. Il a des mises à jour récentes et fonctionne bien.
from espeak import espeak
espeak.synth("Hello world.")
Jonathan Leaders note que cela fonctionne également sous Windows et que vous pouvez également installer les voix mbrola. Consultez le site Web Espeak à l'adresse http://espeak.sourceforge.net
.Un simple Google m'a conduit à pyTTS et à quelques documents à ce sujet . Il semble cependant non spécifique et propre au moteur de traitement de la parole de Microsoft.
Sous Mac OS X au moins, vous pouvez utiliser le sous-processus
pour appeler la commande say
, ce qui est très amusant pour jouer avec vos collègues mais peut ne pas être trop terrible. utile pour vos besoins.
On dirait que Festival possède également quelques API publiques:
Festival propose une interface à base de socket BSD. Cela permet à Festival de fonctionner en tant que serveur et aux programmes clients d'y accéder. Fondamentalement, le serveur propose un nouvel interpréteur de commande pour chaque client qui s'y attache. Le serveur est créé pour chaque client, mais cela est beaucoup plus rapide que d’attendre le début d’un processus Festival. Le serveur peut également fonctionner sur une machine plus grande, offrant une synthèse beaucoup plus rapide. linky
Il existe également une API C ++ complète , dont vous pourrez peut-être faire un module Python (c'est amusant!). Festival propose également une API C épurée - continuez à faire défiler ce document - que vous pourrez peut-être lancer avec ctypes
pour une opération ponctuelle.
Peut-être avez-vous identifié un trou sur le marché?
Il existe un certain nombre de façons de faire parler Python à la fois en Python3 et en Python2. Voici deux méthodes géniales:
- Utiliser os
Si vous êtes sur mac, le module os sera intégré à votre ordinateur. Vous pouvez importer le module os à l’aide de:
import os
Vous pouvez ensuite utiliser os pour exécuter des commandes de terminal à l'aide de la commande os.system:
os.system("Your terminal")
Dans les terminaux, vous faites parler votre ordinateur à l'aide de l'option "dire". Pour faire parler votre ordinateur, utilisez simplement:
os.system("say 'some text'")
Si vous voulez utiliser ceci pour parler d'une variable, vous pouvez utiliser:
os.system("say " + myVariable)
La deuxième façon de faire parler python est d'utiliser
- Le module pyttsx
Vous devrez l'installer à l'aide de
pip isntall pyttsx3
ou pour Python3
pip3 install pyttsx3
Vous pouvez ensuite utiliser le code suivant pour le faire parler:
import pyttsx3
engine = pyttsx3.init()
engine.say("Your Text")
engine.runAndWait()
J'espère que cela aide! :)
Il n’ya peut-être rien de spécifique à Python, mais les bureaux KDE et GNOME offrent la synthèse vocale dans le cadre de la prise en charge de l’accessibilité, ainsi que des liaisons de bibliothèque Python. Il peut être possible d’utiliser les liaisons python pour contrôler les bibliothèques du bureau pour la synthèse vocale.
Si vous utilisez l'implémentation Jython de Python sur la machine virtuelle Java, le système FreeTTS peut être utilisable.
Enfin, OSX et Windows ont des API natives pour la synthèse vocale. Il peut être possible de les utiliser depuis python via ctypes ou d’autres mécanismes tels que COM.
Vous pouvez utiliser espeak en utilisant python pour le convertisseur de synthèse vocale.
Voici un exemple de code python
from subprocess import call speech="Hello World!" call(["espeak",speech])
P.S: si espeak n'est pas installé sur votre système Linux, vous devez d'abord l'installer.
Ouvrez le terminal (en utilisant ctrl + alt + T) et tapez
sudo apt install espeak
Si vous utilisez Python 3 et Windows 10, la meilleure solution que j’ai trouvée fonctionne est celle de Giovanni Gianni. Cela a joué pour moi dans la voix masculine:
import win32com.client as wincl
speak = wincl.Dispatch("SAPI.SpVoice")
speak.Speak("This is the pc voice speaking")
J'ai également trouvé cette vidéo sur youtube, donc vous voulez vraiment, vous pouvez trouver quelqu'un que vous connaissez et faire votre propre voix de bricolage.
C'est ce que vous recherchez. Une solution TTS complète pour Mac. Vous pouvez utiliser ce serveur Mac autonome ou co-localisé pour les applications Web:
PYTTSX3 !
LA SOLUTION COMPLÈTE À TOUS VOUS BESOIN DE PYTHON TEXT-TO-SPEECH
QUOI:
Pyttsx3 est un module python qui est un clone du module pyttsx pour Python 2.x, sauf qu'il a été modifié pour fonctionner parfaitement dans les dernières versions de Python 3!
- Index des packages Python pour les téléchargements: https://pypi.python.org
- GitHub pour les sources, les bogues et les questions & réponses: https: // github .com / nateshmbhat / pyttsx3
- Lisez la documentation complète à : https://pyttsx3.readthedocs.org
POURQUOI:
C’est 100% MULTI-PLATEFORME ET TRAVAILLE HORS LIGNE ET EST ACTIF / ENCORE ÊTRE DÉVELOPPÉ ET FONCTIONNE AVEC TOUTE VERSION PYTHON
COMMENT:
Il peut être facilement installé avec pip install pyttsx3
et son utilisation est identique à celle de pyttsx:
import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait();
CONCLUSION:
Cela fonctionne facilement et sans faille, je pense donc que c'est la meilleure solution