По состоянию на 14 июля 2019 г. я могу сохранять в файл с библиотекой pyttsx3 (без использования другой библиотеки или подключения к Интернету).
Это не документировано, но, глядя наИсходный код в github для класса Engine в "engine.py" (https://github.com/nateshmbhat/pyttsx3/blob/master/pyttsx3/engine.py), Мне удалось найти функцию "save_to_file":
def save_to_file(self, text, filename, name=None):
'''
Adds an utterance to speak to the event queue.
@param text: Text to sepak
@type text: unicode
@param filename: the name of file to save.
@param name: Name to associate with this utterance. Included in
notifications about this utterance.
@type name: str
'''
self.proxy.save_to_file(text, filename, name)
Я могу использовать это как:
engine.save_to_file('the text I want to save as audio', path_to_save)
Не уверен, что формат - это какой-то необработанный аудиоформат (я думаю, это может быть что-то вроде aiff) - но я могу воспроизвести его в аудиоплеере.
Если вы установите pydub: https://pypi.org/project/pydub/
, тогда вы можете легко конвертировать это в mp3, например:
from pydub import AudioSegment
AudioSegment.from_file(path_to_save).export('converted.mp3', format="mp3")