Проблемы со звуком при использовании pyttsx3 и python в виртуальной среде - PullRequest
1 голос
/ 31 октября 2019

Итак, в основном я создаю программное обеспечение виртуального помощника python в виртуальной среде и хочу использовать pyttsx3 для преобразования текста в речь. Первая проблема заключается в том, что, если я запускаю pyttsx3.init (), я получаю ошибку

o = self.data[key]()
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".\__init__.py", line 3, in <module>
    init_speech()
  File "C:\Users\DJETHA\eclipse-workspace\PythonFull\PythonProjects\Betax\index.py", line 31, in init_speech
    engine = pyttsx3.init()
  File "C:\Users\DJETHA\eclipse-workspace\PythonFull\PythonProjects\Betax\venv\lib\site-packages\pyttsx3\__init__.py", line 46, in init
    eng = Engine(driverName, debug)
  File "C:\Users\DJETHA\eclipse-workspace\PythonFull\PythonProjects\Betax\venv\lib\site-packages\pyttsx3\engine.py", line 52, in __init__
    self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
  File "C:\Users\DJETHA\eclipse-workspace\PythonFull\PythonProjects\Betax\venv\lib\site-packages\pyttsx3\driver.py", line 75, in __init__
    self._module = importlib.import_module(name)
  File "C:\Users\DJETHA\eclipse-workspace\PythonFull\PythonProjects\Betax\venv\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\DJETHA\eclipse-workspace\PythonFull\PythonProjects\Betax\venv\lib\site-packages\pyttsx3\drivers\sapi5.py", line 3, in <module>
    import win32com.client
  File "C:\Users\DJETHA\eclipse-workspace\PythonFull\PythonProjects\Betax\venv\lib\site-packages\win32com\__init__.py", line 5, in <module>
    import win32api, sys, os

После моих исследований я обнаружил, что использование pyttsx3.init ("dummy") не приведет к возникновению какой-либо ошибки. Следующая проблема, однако, заключается в том, что когда я запускаю

engine =pyttsx3.init("dummy")
engine.say("hey")
engine.runAndWait()

, я ничего не слышу и не вижу ошибки

, я должен заметить, что если я использовал приведенный выше код без фиктивной переменной в pyttsx3.initвне виртуальной среды все работает нормально.

...