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 - >包
希望能帮助到你
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)
Gio*_* PY 23
from win32com.client import Dispatch
speak = Dispatch("SAPI.SpVoice")
speak.Speak("Ciao")
Run Code Online (Sandbox Code Playgroud)
在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)
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
一个简单的谷歌引导我去pyTTS,以及一些关于它的文件.然而,它看起来没有维护,特定于微软的语音引擎.
至少在Mac OS X上,您可以使用subprocess
调用say
命令,这对于弄乱您的同事非常有趣,但可能对您的需求不是非常有用.
听起来,Festival也有一些公共API:
Festival提供基于BSD套接字的界面.这允许Festival作为服务器运行并允许客户端程序访问它.基本上,服务器为每个附加到它的客户端提供一个新的命令解释器.服务器是为每个客户端分叉的,但这比等待Festival进程从头开始要快得多.此外,服务器可以在更大的机器上运行,提供更快的合成. linky
还有一个功能齐全的C++ API,你可以用它制作一个Python模块(很有趣!).Festival还提供了一个精简的C API - 继续在该文档中滚动 - 您可以将其投入ctypes
一次性.
也许你已经确定了市场上的一个漏洞?
有很多方法可以让 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说话的第二种方法是使用
您必须使用
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是一个 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)
这是最好的多平台选择!