在过去的几天里,我一直试图让这个“简单”的语音合成器工作。该代码出现在树莓派的手册中。这是我第一次真正进入python所以我的脑袋有点旋转。这是代码:
import subprocess
subprocess.call(["espeak"])
from espeak import espeak
from tkinter import *
from datetime import datetime
def hello_world():
espeak.synth("Hello World")
def time_now():
t = datetime.now().strftime("%K %M")
espeak.synth("The time is %s"%t)
def read_text():
text_to_read = input_text.get()
espeak.synth(text_to_read)
def root_Tk():
root.title("voice box")
input_text = StrinVar()
box = Frame(root, height = 200, width =500)
box.pack_propagate(0)
box.pack(padx = 5, pady =5)
Label(box, text="Enter Text").pack()
entry_text = Entry(box, exportselection =0, textvariable = input_text,)
entry_text.pack()
entry_ready = Button(box, text = "Read this", command = read_text)
entry_ready.pack()
hello_button = Button(box, text = "Hello World", command = hello_world)
hello_button.pack()
time_button = Button(box, text = "What's the time?", command = time_now)
time_button.pack()
root.mainloop()
这是我运行时的错误消息:
追踪(最近一次通话): 文件“/home/pi/espeak.py”,第4行,in 来自espeak import espeak 文件“/home/pi/espeak.py”,第4行,in 来自espeak import espeak ImportError:无法导入名称'espeak'
对此事的任何帮助都将非常感激,我有一种感觉,我只是犯了一个简单的新手错误。希望我能够正确地将它发布到论坛,代码的底部部分与其余部分一致,但由于某种原因,它在这里稍微偏离......
答案 0 :(得分:2)
使用apt-get在Ubuntu中安装espeak和python-espeak包。
sudo apt-get install espeak python-espeak
在你的.py文件中:
from espeak import espeak
def hello_world():
espeak.synth("Hello World")
....
这将解决您的问题!
参考:http://www.devdungeon.com/content/text-speech-python-espeak
奖励:您可以考虑使用gTTS代替espeak,因为它在Python包索引下维护。