Можно ли увеличить разрыв между произнесенными словами при использовании текста в речь с SAPI5?
Проблема в том, что esp.с некоторыми голосами слова почти связаны друг с другом, что делает речь более трудной для понимания.
Я использую модуль python и pyTTS (на окнах, поскольку он использует SAPI)
Я попытался подключиться к событию OnWord и добавить time.sleep () или tts.Pause (), но, по-видимому, даже если все события перехвачены, они обрабатываются только в конце разговорного текста, независимо от того,m с использованием флага синхронизации или асинхронности.
В этом примере, не работающем, метод sleep () выполняется только после произнесения предложения:
tts = pyTTS.Create()
def f(x):
tts.Pause()
sleep(0.5)
tts.Resume()
tts.OnWord = f
tts.Speak(text)
Редактировать: -принятые решения
Фактические ответы для меня были либо
- произнесение каждого слова в его собственной команде «говорить» (предложено @Lennart Regebro), либо
замена каждого пробела запятой (как упомянуто @Dawson), например,
text = text.replace ("", ",")
, который устанавливает разумную паузу.Я не исследовал метод Паузы больше, чем упомянул выше, поскольку я доволен принятыми решениями.