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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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