Ответ 1
Попробуйте использовать pyttsx3 2.5, согласно документации:
gTTS, который прекрасно работает в python3, но для работы ему требуется подключение к Интернету, так как он использует google для получения аудиоданных. Но Pyttsx полностью автономен и работает, по-видимому, и поддерживает несколько движков tts.
Работает на Python 2 и 3
Чтобы установить его:
pip install pyttsx3
Использовать его так же просто, как:
import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait() ;
Редактировать 1 - Изменение голоса
Чтобы получить менее автоматизированный голос, вы можете попробовать изменить голос следующим образом:
engine.setProperty('voice', voice.id)
Чтобы получить доступные голоса
voices = engine.getProperty('voices')
Вы можете попробовать разные доступные голоса, как описано в этом вопросе: Изменение голоса с помощью модуля PYTTSX в python.
Редактировать 2 - Выбор речевого двигателя
Библиотека поддерживает следующие движки:
- sapi5 - SAPI5 в Windows
- nsss - NSSpeechSynthesizer в Mac OS X
- espeak - eSpeak на любой другой платформе
Если espeak не очень естественный, вы можете попробовать sapi5, если вы используете Windows, или nsss, если вы используете Mac OS X.
Вы можете указать движок в методе init, например:
pyttsx3.init(driverName='sapi5')
Более подробная информация здесь: http://pyttsx3.readthedocs.io/en/latest/engine.html