#python-3.x #text-to-speech #pyttsx3
Вопрос:
Я пытаюсь создать один аудиофайл из списка предложений с помощью pyttsx3. Я хочу назначить каждое предложение в списке другому голосу и сохранить его в одном аудиофайле. Итак, упрощенная версия того, что я пытаюсь сделать, была бы:
import pyttsx3
sentences = ['1: Hi there', '2: Hi', '1: How are you?', '2: I am fine']
speaker = pyttsx3.init()
voices = speaker.getProperty('voices')
for s in sentences:
if s.startswith('1: '):
speaker.setProperty('voice', 'com.apple.speech.synthesis.voice.fiona')
speaker.save_to_file(s[2:], 'test.mp3')
else:
speaker.setProperty('voice', 'com.apple.speech.synthesis.voice.daniel')
speaker.save_to_file(s[2:], 'test.mp3')
speaker.runAndWait()
Если я выполню приведенный выше код, файл test.mp3 будет создан, но он пуст.
Если я попробую то же самое, но вместо того, чтобы сохранить предложение, я попытаюсь воспроизвести его, все сработает:
import pyttsx3
sentences = ['1: Hi there', '2: Hi', '1: How are you?', '2: I am fine']
speaker = pyttsx3.init()
voices = speaker.getProperty('voices')
for s in sentences:
if s.startswith('1: '):
speaker.setProperty('voice', 'com.apple.speech.synthesis.voice.fiona')
speaker.say(s[2:])
else:
speaker.setProperty('voice', 'com.apple.speech.synthesis.voice.daniel')
speaker.say(s[2:])
speaker.runAndWait()
Это также работает, если я сохраняю каждое предложение в отдельный файл, но не в один файл.
Есть какие-нибудь предложения о том, как достичь того, чего я хочу?
Я с удовольствием воспользуюсь любой другой бесплатной библиотекой для преобразования текста в речь.