Pyttsx3 пропускает первые несколько слов/букв ⇐ Python

Программы на Python
Anonymous
Pyttsx3 пропускает первые несколько слов/букв

Сообщение Anonymous »

Я перестраивал голосового чат-бота на Python и столкнулся с проблемой: каждый раз, когда бот говорит, первые несколько слов или букв пропускаются. Похоже, аудиобуфер не готов к началу воспроизведения.
Вот наименьший код, который все еще показывает проблему:
python

Код: Выделить всё

import pyttsx3

engine = pyttsx3.init()

def speak(text):
engine.say(text)
engine.runAndWait()

speak("hello there, this is a test sentence.")
speak("second test sentence to check playback.")
Ожидается: бот произнесет все предложение. На самом деле: оно обрезает начало, например «...вот здесь» вместо «привет».
Вещи, которые я уже пробовал:
  • добавление пустого engine.say("") перед первым реальным произнесением
  • небольшое засыпание после инициализации
  • переключение голоса (зира, Дэвид, Хейзел)
  • дополнение текста пробелами или фиктивными словами
  • убедитесь, что за каждым сказать() следует runAndWait()
Ничто из этого не помогло.
Вопрос
Есть ли надежный способ запретить pyttsx3 обрезать начало речи? могу ли я заставить движок полностью «разогреться» перед тем, как говорить, или подключиться к событию, чтобы воспроизведение начиналось только после того, как буфер будет готов?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ds-letters

Вернуться в «Python»