windows 10-64bit
我正在尝试使用一些文字转语音工具从.txt文档中读取文本,如下所示:
所以使用pyttsx:
import pyttsx
engine = pyttsx.init()
engine.say('my voice')
engine.runAndWait()
我收到了这个错误:
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,那么如何使用呢?因为这种方式模块无法识别:
import gtts
blabla = ("my voice")
tts = gtts.gTTS(text=blabla, lang='en')
tts.save("C:/rec.mp3")
或:
from gtts import gTTS
blabla = ("my voice")
tts = gTTS(text=blabla, lang='en')
tts.save("C:/rec.mp3")
错误:
import gtts
ImportError: No module named 'gtts'
我也想尝试使用espeak但不确定如何安装它,是否可以使用pip install或者我必须以其他方式安装它来尝试它:
import subprocess
text = '"my voice"'
subprocess.call('espeak '+text, shell=True)
或:
import os
os.system("espeak 'my voice'")
所以我试图找到一些解决方案,但我尝试的一切都不能在这里工作......
答案 0 :(得分:2)
python3 使用
它是一个兼容python3和python2的新库。与gTTS不同,它不需要互联网连接,并且所产生的声音没有延迟。
pip install pyttsx3
import pyttsx3
engine = pyttsx3.init()
engine.say("Hi this is working ");
engine.setProperty('volume',0.9)
engine.runAndWait()
答案 1 :(得分:1)
我使用的是Windows 10和Python 2.7。
对于pyttsx:
下面的代码对我来说很好。我确实遇到ImportError: No module named win32api
错误,我必须从here
gtts
在这方面要好得多。
import pyttsx
engine = pyttsx.init()
engine.say('my voice')
engine.runAndWait()
对于你得到的错误,你能查看你的python文件夹,看看是否存在engine.py
文件?
例如就我而言,我在以下位置安装了pyttsx
个模块
C:\Python27\Lib\site-packages\pyttsx
这是一个文件列表,
Name
----
drivers
driver.py
driver.pyc
engine.py
engine.pyc
voice.py
voice.pyc
__init__.py
__init__.pyc
由于engine
的导入失败,我想知道您是否在正确的文件夹中存在engine.py
个文件,或者是否存在。
对于gtts:
我尝试用winsound
播放声音,但它不起作用。使用pydub
我可以播放audio file
。但是,由于您的要求不是使用文件,这可能是一个没有实际意义的点。
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 :(得分:0)
我在Ubuntu上使用python2.7。
尝试从引擎导入引擎&#34;替换#34;使用&#34;来自.engine import Engine&#34;在引擎模块中。它对我有用!