python - 使用 pyttsx3 时出现 ModuleNotFoundError
问题描述
我正在尝试使用 python 离线文本到语音库 pyttsx3。当我运行以下脚本时:
import pyttsx3
engine = pyttsx3.init('sapi')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
engine.say("hello friends")
我收到此错误:
C:\Users\Hp\AppData\Local\Programs\Python\Python38-32\python.exe C:/Users/Hp/PycharmProjects/miniproject/demo12.py
Traceback (most recent call last):
File "C:\Users\Hp\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\__init__.py", line 20, in init
eng = _activeEngines[driverName]
File "C:\Users\Hp\AppData\Local\Programs\Python\Python38-32\lib\weakref.py", line 131, in __getitem__
o = self.data[key]()
KeyError: 'sapi'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Hp/PycharmProjects/miniproject/demo12.py", line 4, in <module>
engine = pyttsx3.init('sapi')
File "C:\Users\Hp\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\__init__.py", line 22, in init
eng = Engine(driverName, debug)
File "C:\Users\Hp\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\engine.py", line 30, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "C:\Users\Hp\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\driver.py", line 50, in __init__
self._module = importlib.import_module(name)
File "C:\Users\Hp\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'pyttsx3.drivers.sapi'
解决方案
engine = pyttsx3.init('sapi5')
输入这个而不是你输入的我希望它会起作用,并且在engine.say()
你必须输入之后
engine.runAndWait()
推荐阅读
- c - 管道没有读取它应该读取的内容
- c# - 如何将按钮从另一个表单添加到表单?C# 窗体
- fonts - SHX 字体规范和字体文件的许可
- c# - 在 dotnet core 中的 Wexflow 中创建与 Sql Server 中的任何表相关的简单流
- javascript - 我们观察到 user1 可以通过更改会话 ID 来访问 USER2
- spring-boot - JMSListener 转义 '.' 对于持久订阅
- elasticsearch - JAVA的createIndex elasticsearch高级rest客户端使设置不正确
- python - 混淆矩阵中的标签不正确
- git - 如何从 git 中排除提交?
- node.js - 命令没有定义?(试图制作一个随机响应的不和谐机器人)