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, ...?

Était-ce utile?

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:

http://wolfpaulus.com/jounal/mac/ttsserver/

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!

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top