Como fazer o Python falar

Como poderia fazer o Python dizer alguma mensagem?

Eu poderia usar Festival com subprocessamento mas eu não serei capaz de controlá-lo (ou talvez em modo interativo, mas não será limpo).

Há alguma biblioteca Python TTS? Como uma API para o Festival, eSpeak ... ?

Author: Ninjakannon, 2009-10-23

11 answers

Por favor, note que isto só funciona com o python 2.x

Deve tentar usar o pacote PyTTSx, uma vez que o PyTTS está desactualizado. O PyTTSx trabalha com a versão lastest python.

Http://pypi.python.org/pypi/pyttsx/1.0 - > a embalagem

Espero que ajude.
 35
Author: masterLoki, 2016-03-22 23:44:30

Um pouco foleiro, mas se você usar um mac você pode passar um comando terminal para a consola de python.

Tente digitar o seguinte no terminal:

$ say 'hello world' 
E haverá uma voz do mac que falará isso. Do python tal coisa é relativamente fácil:
import os
os.system("echo 'hello world'")
os.system("say 'hello world'") 
 26
Author: cantdutchthis, 2013-08-25 11:27:23

O pacote python-espeak está disponível nas distribuições Debian, Ubuntu, Redhat e outras Linux. Ele tem atualizações recentes, e funciona bem.

from espeak import espeak
espeak.synth("Hello world.")
Jonathan Leaders observa que também funciona no Windows, e você pode instalar as vozes mbrola também. Ver o sítio Web espeak em http://espeak.sourceforge.net
 15
Author: nealmcb, 2015-02-09 03:35:50

Como ouvir a voz do pc no windows

from win32com.client import Dispatch

speak = Dispatch("SAPI.SpVoice")

speak.Speak("Ciao")

Usando a Api do google text-to-speech para criar um mp3 e aqui ele

Depois de ter instalado o módulo gtts no cmd: pip instalar 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")
 15
Author: Giovanni Gianni, 2018-01-30 16:51:04

Um simples Google levou-me a pyTTS, e a alguns documentos sobre isso. Ele parece não mantido e específico para o motor de fala da Microsoft, no entanto.

Pelo menos no Mac OS X, pode usar {[[0]} para chamar o comando {[[1]}, o que é muito divertido para se meter com os seus colegas de trabalho, mas pode não ser muito útil para as suas necessidades.

Parece que o Festival também tem algumas APIs públicas.

Festival oferece uma interface baseada no soquete BSD. Isto permite Festival para correr como um servidor e permitir que os programas clientes para acessá-lo. Basicamente, o servidor oferece um novo interpretador de comandos para cada cliente que se liga a ele. O servidor é bifurcado para cada cliente, mas isso é muito mais rápido do que ter que esperar por um processo do Festival para começar do zero. Além disso, o servidor pode rodar em uma máquina maior, oferecendo uma síntese muito mais rápida. linky

Existe também uma API de C++ completa, que poderá ser capaz de fazer sair um módulo Python of (it's fun!). O Festival também oferece uma API C arared-down -- keep scrolling in that document -- which you might be able to throw ctypes at for a one-off.

Talvez tenha identificado um buraco no mercado?
 9
Author: Jed Smith, 2009-10-23 15:13:49

Há uma série de maneiras de fazer Python falar tanto em Python3 e Python2, dois grandes métodos são:

  • utilizar os

Se estiver no mac, terá o módulo so incorporado no seu computador. Poderá importar o módulo de SO com:

import os

Poderá então usar o sistema operacional para executar os comandos de terminal usando o sistema operacional.comando do sistema:

os.system("Your terminal")
No terminal, a forma como faz o seu computador falar é usando o comando "dizer", assim, para fazer o computador falar você simplesmente uso:
os.system("say 'some text'")

Se quiser usar isto para falar uma variável, pode usar:

os.system("say " + myVariable)

A segunda maneira de fazer o python falar é usar {[[9]}

  • O módulo pyttsx

Terá de instalar isto usando

pip isntall pyttsx3

Ou para Python3

pip3 install pyttsx3

Você pode então usar o seguinte código para fazê-lo falar:

import pyttsx3
engine = pyttsx3.init()

engine.say("Your Text")

engine.runAndWait()
Espero que isto ajude! :)
 3
Author: Alex Hawking, 2018-05-30 06:52:28

Pode não haver nada 'específico em Python' , mas os desktops KDE e GNOME oferecem texto-para-voz como parte do suporte de acessibilidade, e também oferecem atalhos de biblioteca em python. Pode ser possível usar as ligações python para controlar as bibliotecas desktop para texto para fala.

Se usar a implementação Jython do Python no JVM, o sistemaFreeTTS pode ser utilizável.

Finalmente, OSX e As Janelas têm APIs nativas para texto para fala. Pode ser possível usá-los a partir do python através de ctypes ou outros mecanismos como COM.

 2
Author: grrussel, 2017-05-23 12:34:48

Pode usar o espeak a usar o python para o Conversor de texto para voz.
Aqui está um exemplo de código python

    from subprocess import call
    speech="Hello World!"
    call(["espeak",speech])

P. S: Se o espeak não estiver instalado no seu sistema linux, então terá de o instalar primeiro.
Abrir um terminal (usando ctrl + alt + T) e tipo

    sudo apt install espeak
 2
Author: alphaguy, 2017-01-26 10:11:22
Se está a usar o python 3 e o windows 10, a melhor solução que encontrei é do Giovanni Gianni. Isto tocou para mim na voz masculina:
import win32com.client as wincl
speak = wincl.Dispatch("SAPI.SpVoice")
speak.Speak("This is the pc voice speaking")
Também encontrei este vídeo no youtube, por isso, se quiseres, podes arranjar alguém que conheças e fazer a tua própria voz DIY tts.
 2
Author: Eli, 2018-08-13 01:54:10
É disto que estás à procura. Uma solução TTS completa para o Mac. Você pode usar este standalone ou como um servidor Mac de co-localização para aplicações web:

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

 1
Author: John Moore, 2015-02-06 20:16:01

PYTTSX3 !

THE COMPLETE SOLUTION TO ALL YOU PYTHON TEXT-TO-SPEECH NEEDS

O que:

O Pyttsx3 é um módulo python que é um clone do Módulo pyttsx para o Python 2.x, exceto modificado para funcionar perfeitamente bem nas últimas versões do Python 3!

Porquê:

É 100% MULTI-PLATAFORMA E FUNCIONA OFFLINE E É ATIVO/AINDA está SENDO DESENVOLVIDO E FUNCIONA COM QUALQUER VERSÃO do PYTHON

Como:

Pode ser facilmente instalado com pip install pyttsx3 e a utilização é a mesma que o pyttsx:

import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait();

Conclusão:

Funciona facilmente e sem falhas, por isso acho que é o melhor. solução
 1
Author: Toby56, 2018-07-31 08:46:50