首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyttsx和gTTS模块错误

pyttsx和gTTS模块错误
EN

Stack Overflow用户
提问于 2016-03-31 03:23:05
回答 3查看 13.2K关注 0票数 3

windows 10-64位

我试图使用一些文本到语音工具来读取.txt文档行中的文本,如下所示:

所以关于pyttsx:

代码语言:javascript
复制
import pyttsx
engine = pyttsx.init()
engine.say('my voice')
engine.runAndWait() 

我发现了一个错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "...", line 1, in <module>
    import pyttsx
  File "/.../pyttsx/__init__.py", line 18, in <module>
    from engine import Engine
ImportError: No module named 'engine'

现在gTTS可以作为gtts_token使用了,那么如何使用它呢?因为这种方式模块是无法识别的:

代码语言:javascript
复制
import gtts
blabla = ("my voice")
tts = gtts.gTTS(text=blabla, lang='en')
tts.save("C:/rec.mp3")

或者:

代码语言:javascript
复制
from gtts import gTTS
blabla = ("my voice")
tts = gTTS(text=blabla, lang='en')
tts.save("C:/rec.mp3")

错误:

代码语言:javascript
复制
 import gtts
ImportError: No module named 'gtts'

此外,我还想尝试使用espeak,但不确定如何安装它,它是否可与pip安装一起使用,或者我必须以其他方式安装它:

代码语言:javascript
复制
import subprocess
text = '"my voice"'
subprocess.call('espeak '+text, shell=True)

或者:

代码语言:javascript
复制
import os
os.system("espeak 'my voice'")

所以我想找个解决办法,但我所有的努力都不是在这里.

EN

回答 3

Stack Overflow用户

发布于 2017-06-26 04:00:48

用于python3

pyttsx3

它是一个与python3和python2兼容的新库。与gTTS不同的是,它不需要互联网连接,产生的声音也不会延迟。

安装:

pip install pyttsx3

用法:

代码语言:javascript
复制
import pyttsx3
engine = pyttsx3.init()
engine.say("Hi this is working ");
engine.setProperty('volume',0.9)
engine.runAndWait()
票数 3
EN

Stack Overflow用户

发布于 2016-04-05 16:36:17

我正在使用windows 10和Python2.7。

用于pyttsx的

下面的代码对我来说很好。我确实得到了ImportError: No module named win32api错误,为此我不得不从这里安装win32api

在那之后,我可以演奏“我的声音”。虽然声音的质量和保真度很低。在这方面,gtts要好得多。

代码语言:javascript
复制
import pyttsx
engine = pyttsx.init()
engine.say('my voice')
engine.runAndWait() 

对于所获得的错误,您可以查看您的python文件夹并查看是否存在engine.py文件吗?

例如,在我的例子中,我已经在下面的位置安装了pyttsx模块C:\Python27\Lib\site-packages\pyttsx,下面是一个文件列表,

代码语言:javascript
复制
 Name
 ----
 drivers
 driver.py
 driver.pyc
 engine.py
 engine.pyc
 voice.py
 voice.pyc
 __init__.py
 __init__.pyc

由于导入engine失败了,我想知道您是否在正确的文件夹中有engine.py文件或是否存在。

For gtts:

我试着用winsound来播放声音,但没有用。使用pydub,我能够播放audio file。但是,由于您的要求是不使用文件,这可能是一个没有意义的点。

代码语言:javascript
复制
import gtts
import winsound
from pydub import AudioSegment
from pydub.playback import play

blabla = ("my voice")
tts = gtts.gTTS(text=blabla, lang='en')
tts.save("rec.mp3")
print "Playing sound .."
#winsound.PlaySound("rec.wav", winsound.SND_FILENAME)
song = AudioSegment.from_mp3("rec.mp3")
play(song)

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2017-01-07 10:43:02

我在Ubuntu上使用python2.7。

尝试将“从引擎导入引擎”替换为“从.engine导入引擎”,在 engine module.It工作!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36323564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档