Python: синтез речи
Добавлено: 13 мар 2023, 22:40
Форум по операционной системе GNU/Linux и свободному программному обеспечению
http://linux-ru.ru:80/
Код: Выделить всё
olej@R420:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 21.1
Release: 21.1
Codename: vera
Код: Выделить всё
olej@R420:~$ python
Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyttsx3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pyttsx3'
Код: Выделить всё
olej@R420:~$ pip install pyttsx3
Defaulting to user installation because normal site-packages is not writeable
Collecting pyttsx3
Downloading pyttsx3-2.90-py3-none-any.whl (39 kB)
Installing collected packages: pyttsx3
Successfully installed pyttsx3-2.90
Код: Выделить всё
olej@R420:~$ python
Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyttsx3
>>> engine = yttsx3.init()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'yttsx3' is not defined. Did you mean: 'pyttsx3'?
>>> engine = pyttsx3.init()
Traceback (most recent call last):
File "/home/olej/.local/lib/python3.10/site-packages/pyttsx3/__init__.py", line 20, in init
eng = _activeEngines[driverName]
File "/usr/lib/python3.10/weakref.py", line 137, in __getitem__
o = self.data[key]()
KeyError: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/olej/.local/lib/python3.10/site-packages/pyttsx3/__init__.py", line 22, in init
eng = Engine(driverName, debug)
File "/home/olej/.local/lib/python3.10/site-packages/pyttsx3/engine.py", line 30, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "/home/olej/.local/lib/python3.10/site-packages/pyttsx3/driver.py", line 50, in __init__
self._module = importlib.import_module(name)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/olej/.local/lib/python3.10/site-packages/pyttsx3/drivers/espeak.py", line 9, in <module>
from . import _espeak, toUtf8, fromUtf8
File "/home/olej/.local/lib/python3.10/site-packages/pyttsx3/drivers/_espeak.py", line 18, in <module>
dll = cdll.LoadLibrary('libespeak.so.1')
File "/usr/lib/python3.10/ctypes/__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python3.10/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libespeak.so.1: cannot open shared object file: No such file or directory
>>>
Код: Выделить всё
olej@R420:~$ aptitude search libespeak
p libespeak-dev - Multi-lingual software speech synthesizer: development files
p libespeak-dev:i386 - Multi-lingual software speech synthesizer: development files
p libespeak-ng-dev - Multi-lingual software speech synthesizer: development files
p libespeak-ng-dev:i386 - Multi-lingual software speech synthesizer: development files
p libespeak-ng-libespeak-dev - Multi-lingual software speech synthesizer: development files
p libespeak-ng-libespeak-dev:i386 - Multi-lingual software speech synthesizer: development files
p libespeak-ng-libespeak1 - Multi-lingual software speech synthesizer: shared library
p libespeak-ng-libespeak1:i386 - Multi-lingual software speech synthesizer: shared library
i libespeak-ng1 - Multi-lingual software speech synthesizer: shared library
p libespeak-ng1:i386 - Multi-lingual software speech synthesizer: shared library
p libespeak1 - Multi-lingual software speech synthesizer: shared library
p libespeak1:i386 - Multi-lingual software speech synthesizer: shared library
Код: Выделить всё
olej@R420:~$ apt-file search libespeak.so
libespeak-dev: /usr/lib/x86_64-linux-gnu/libespeak.so
libespeak-ng-libespeak-dev: /usr/lib/x86_64-linux-gnu/libespeak.so
libespeak-ng-libespeak1: /usr/lib/x86_64-linux-gnu/libespeak.so.1
libespeak1: /usr/lib/x86_64-linux-gnu/libespeak.so.1
libespeak1: /usr/lib/x86_64-linux-gnu/libespeak.so.1.1.48
Код: Выделить всё
olej@R420:~$ sudo apt install libespeak-ng-libespeak1
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Следующие НОВЫЕ пакеты будут установлены:
libespeak-ng-libespeak1
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 2 пакетов не обновлено.
Необходимо скачать 2.966 B архивов.
После данной операции объём занятого дискового пространства возрастёт на 20,5 kB.
Пол:1 http://mirror.mirohost.net/ubuntu jammy/universe amd64 libespeak-ng-libespeak1 amd64 1.50+dfsg-10 [2.966 B]
Получено 2.966 B за 0с (16,4 kB/s)
Выбор ранее не выбранного пакета libespeak-ng-libespeak1:amd64.
(Чтение базы данных … на данный момент установлено 536003 файла и каталога.)
Подготовка к распаковке …/libespeak-ng-libespeak1_1.50+dfsg-10_amd64.deb …
Распаковывается libespeak-ng-libespeak1:amd64 (1.50+dfsg-10) …
Настраивается пакет libespeak-ng-libespeak1:amd64 (1.50+dfsg-10) …
Код: Выделить всё
>>>
>>> engine = pyttsx3.init()
>>> engine.say('This is Python')
>>> engine.runAndWait()
>>>
Код: Выделить всё
>>>
>>> engine.say('это русский язык')
>>> engine.runAndWait()
>>>