Python 3 中没有带有 pyttsx3 库的音频(无错误)
No Audio with pyttsx3 Library in Python 3 (No errors)
在 Windows 10 使用 Python 3.10.0 在 Visual Studios Code 上使用 pyttsx3(试用版本 2.5 到当前版本)。
我目前遇到的问题是代码将 运行 通过,但没有输出音频。调试时没有暂停进入或越过代码(对于包括 pyttsx3 在内的部分)。我确定我的音频已打开,并且可以正常工作。我使用了不同的 tts 库 gtts 并且音频有效,但我正在尝试离线编写。我还在 PyCharm 中尝试了来自 VS 代码的确切代码,但我仍然遇到同样的问题。同样没有错误或警告。
import speech_recognition as sr
import pyttsx3
listener = sr.Recognizer()
engine = pyttsx3.init(driverName='sapi5')
#voices = engine.getProperty('voices')
#engine.setProperty('voice', voices[0].id)
engine.say("Testing, audio")
engine.runAndWait
try:
with sr.Microphone() as source:
print('Listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
print(command)
engine.say(command)
engine.runAndWait
except:
pass
print('Hello')
我也试过没有驱动程序名称的这段代码,但同样的问题仍然存在
import speech_recognition as sr
import pyttsx3
listener = sr.Recognizer()
engine = pyttsx3.init()
#voices = engine.getProperty('voices')
#engine.setProperty('voice', voices[0].id)
engine.say("Testing, audio")
engine.runAndWait
try:
with sr.Microphone() as source:
print('Listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
print(command)
engine.say(command)
engine.runAndWait
except:
pass
print('Hello')
两个程序中的两条注释行对我来说也没有任何改变。
我还用 pyttsx3.
测试了程序
import pyttsx3
engine = pyttsx3.init(driverName='sapi5')
engine.say("Testing, audio")
engine.runAndWait
并使用 'Testing, audio' 而不是“测试,音频”进行了测试,我也尝试了单个单词。
任何帮助都会很棒!谢谢!
与此同时,我将尝试在 Linux 中测试这个(翻译成与 Linux 一起使用)程序,看看我的 OS 是否是问题所在。
我也会尝试旧版本的 python 看看是否是这个问题。连同 python 2。
我最大的假设是 pyttsx3 需要早期版本的 python 才能工作,但我也可能 100% 错了。
您忘记在 engine.runAndWait
上加上括号。这样做:engine.runAndWait()
在 Windows 10 使用 Python 3.10.0 在 Visual Studios Code 上使用 pyttsx3(试用版本 2.5 到当前版本)。 我目前遇到的问题是代码将 运行 通过,但没有输出音频。调试时没有暂停进入或越过代码(对于包括 pyttsx3 在内的部分)。我确定我的音频已打开,并且可以正常工作。我使用了不同的 tts 库 gtts 并且音频有效,但我正在尝试离线编写。我还在 PyCharm 中尝试了来自 VS 代码的确切代码,但我仍然遇到同样的问题。同样没有错误或警告。
import speech_recognition as sr
import pyttsx3
listener = sr.Recognizer()
engine = pyttsx3.init(driverName='sapi5')
#voices = engine.getProperty('voices')
#engine.setProperty('voice', voices[0].id)
engine.say("Testing, audio")
engine.runAndWait
try:
with sr.Microphone() as source:
print('Listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
print(command)
engine.say(command)
engine.runAndWait
except:
pass
print('Hello')
我也试过没有驱动程序名称的这段代码,但同样的问题仍然存在
import speech_recognition as sr
import pyttsx3
listener = sr.Recognizer()
engine = pyttsx3.init()
#voices = engine.getProperty('voices')
#engine.setProperty('voice', voices[0].id)
engine.say("Testing, audio")
engine.runAndWait
try:
with sr.Microphone() as source:
print('Listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
print(command)
engine.say(command)
engine.runAndWait
except:
pass
print('Hello')
两个程序中的两条注释行对我来说也没有任何改变。 我还用 pyttsx3.
测试了程序import pyttsx3
engine = pyttsx3.init(driverName='sapi5')
engine.say("Testing, audio")
engine.runAndWait
并使用 'Testing, audio' 而不是“测试,音频”进行了测试,我也尝试了单个单词。
任何帮助都会很棒!谢谢! 与此同时,我将尝试在 Linux 中测试这个(翻译成与 Linux 一起使用)程序,看看我的 OS 是否是问题所在。 我也会尝试旧版本的 python 看看是否是这个问题。连同 python 2。 我最大的假设是 pyttsx3 需要早期版本的 python 才能工作,但我也可能 100% 错了。
您忘记在 engine.runAndWait
上加上括号。这样做:engine.runAndWait()