如何让Python说话

dug*_*res 63 python text-to-speech

我怎么能让Python说出一些文字?

我可以使用节与子进程,但我将无法控制它(或者可能在交互模式,但它不会干净).

有没有Python TTS库?就像节日的API,eSpeak,......?

mas*_*oki 36

请注意,这只适用于python 2.x.

你应该尝试使用PyTTSx包,因为PyTTS已经过时了.PyTTSx使用最新的python版本.

http://pypi.python.org/pypi/pyttsx/1.0 - >包

希望能帮助到你

  • 不适用于python 3.截至2009年,这个答案是最新的 (5认同)
  • 尽管通过pip可用,但截至2015年仍然无效 (4认同)

can*_*his 31

有点俗气,但如果你使用mac,你可以从python传递一个终端命令到控制台.

尝试在终端中键入以下内容:

$ say 'hello world' 
Run Code Online (Sandbox Code Playgroud)

并且将会有来自mac的声音.从python这样的事情相对容易:

import os
os.system("echo 'hello world'")
os.system("say 'hello world'") 
Run Code Online (Sandbox Code Playgroud)

  • 我不希望`say`命令阻止我的Python代码,所以我添加一个这样的&符号:`os.system("say'hello world'&")` (6认同)

Gio*_* PY 23

如何在Windows上听到电脑的声音

from win32com.client import Dispatch

speak = Dispatch("SAPI.SpVoice")

speak.Speak("Ciao")
Run Code Online (Sandbox Code Playgroud)

使用谷歌文本到语音Api创建一个MP3和它

在cmd:pip install gtts中安装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")
Run Code Online (Sandbox Code Playgroud)

  • You can install required module in your system by running `pip install pypiwin32` as administartor. (2认同)
  • 谷歌解决方案似乎是最好的解决方案之一:允许更改语言,而且速度也非常快。 (2认同)

nea*_*mcb 15

蟒-espeak的包可在Debian中的,Ubuntu,红帽和其他Linux发行版.它有最新的更新,并且工作正常.

from espeak import espeak
espeak.synth("Hello world.")
Run Code Online (Sandbox Code Playgroud)

Jonathan Leaders指出它也适用于Windows,你也可以安装mbrola语音.请访问espeak网站http://espeak.sourceforge.net


Jed*_*ith 9

一个简单的谷歌引导我去pyTTS,以及一些关于它的文件.然而,它看起来没有维护,特定于微软的语音引擎.

至少在Mac OS X上,您可以使用subprocess调用say命令,这对于弄乱您的同事非常有趣,但可能对您的需求不是非常有用.

听起来,Festival也有一些公共API:

Festival提供基于BSD套接字的界面.这允许Festival作为服务器运行并允许客户端程序访问它.基本上,服务器为每个附加到它的客户端提供一个新的命令解释器.服务器是为每个客户端分叉的,但这比等待Festival进程从头开始要快得多.此外,服务器可以在更大的机器上运行,提供更快的合成. linky

还有一个功能齐全的C++ API,你可以用它制作一个Python模块(很有趣!).Festival还提供了一个精简的C API - 继续在该文档中滚动 - 您可以将其投入ctypes一次性.

也许你已经确定了市场上的一个漏洞?


Ale*_*ing 7

有很多方法可以让 Python 在 Python3 和 Python2 中都能说话,两个很好的方法是:

  • 使用操作系统

如果您使用的是 mac,您的计算机将内置 os 模块。您可以使用以下方法导入 os 模块:

import os
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用 os 使用 os.system 命令运行终端命令:

os.system("Your terminal")
Run Code Online (Sandbox Code Playgroud)

在终端中,您让计算机说话的方式是使用“say”命令,因此要让计算机说话,您只需使用:

os.system("say 'some text'")
Run Code Online (Sandbox Code Playgroud)

如果你想用它来说话一个变量,你可以使用:

os.system("say " + myVariable)
Run Code Online (Sandbox Code Playgroud)

让python说话的第二种方法是使用

  • pyttsx 模块

您必须使用

pip isntall pyttsx3
Run Code Online (Sandbox Code Playgroud)

或 Python3

pip3 install pyttsx3
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下代码让它说话:

import pyttsx3
engine = pyttsx3.init()

engine.say("Your Text")

engine.runAndWait()
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!:)


小智 6

PYTTSX3

什么:

Pyttsx3是一个 python 模块,它是pyttsx的现代克隆,经过修改可以在最新版本的 Python 3 中完美运行!

为什么:

它是 100%多平台脱机工作,并且正在/仍在开发中并且适用于任何 PYTHON 版本

如何:

它可以很容易地安装,pip install pyttsx3用法与 pyttsx 相同:

import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait();
Run Code Online (Sandbox Code Playgroud)

这是最好的多平台选择!