Pyttsx3 печатает текущее произнесенное слово ⇐ Python
-
Гость
Pyttsx3 печатает текущее произнесенное слово
По сути, я хочу, чтобы tts разговаривали, распечатывая то, что они говорят. Я почти скопировал и вставил документацию pyttsx3, чтобы сделать это, но это просто не сработало.
импортировать pyttsx3 защита onStart (имя): распечатать («начало», имя) def onWord(имя, местоположение, длина): print («слово», имя, местоположение, длина) def onEnd(имя, завершено): печать («окончание», имя, завершено) двигатель = pyttsx3.init() engine.connect('начало высказывания', onStart) engine.connect('начатое слово', onWord) engine.connect('законченное высказывание', onEnd) engine.say('Быстрая коричневая лиса перепрыгнула через ленивую собаку.') двигатель.runAndWait() И вот результат. событие word срабатывает только после завершения речи и ни одно из слов фактически не печатается.
начало Нет слово Нет 1 0 окончание Нет Верно Я работал над этим несколько дней, пробовал другие библиотеки, такие как win32com.client.Dispatch('SAPI.Spvoice') и gtts, но ни одна из них, похоже, не может сделать то, что я хочу. Кажется, что в Sapi.spvoice есть событие, которое будет делать то, что я хочу, но я тоже не могу заставить его работать. хотя я тоже не уверен, что делаю это правильно. https://learn.microsoft.com/en-us/previ ... 3(v=vs.85)
из отправки импорта win32com.client импортировать win32com.client класс ContextEvents(): защита onWord(): print("произошло словесное событие") # Работа с результатом s = Отправка('SAPI.Spvoice') e = win32com.client.WithEvents(s, ContextEvents) s.Speak('Быстрая бурая лиса перепрыгнула через ленивую собаку.') Насколько я понял, для событий должен быть класс, и событие должно быть в форме On(event) в этом классе. или что-то. Я попробовал установить Espeak, но это тоже не сработало. держите в курсе, я новичок в Python, поэтому, если кто-нибудь захочет дать подробное объяснение, это будет действительно здорово.
По сути, я хочу, чтобы tts разговаривали, распечатывая то, что они говорят. Я почти скопировал и вставил документацию pyttsx3, чтобы сделать это, но это просто не сработало.
импортировать pyttsx3 защита onStart (имя): распечатать («начало», имя) def onWord(имя, местоположение, длина): print («слово», имя, местоположение, длина) def onEnd(имя, завершено): печать («окончание», имя, завершено) двигатель = pyttsx3.init() engine.connect('начало высказывания', onStart) engine.connect('начатое слово', onWord) engine.connect('законченное высказывание', onEnd) engine.say('Быстрая коричневая лиса перепрыгнула через ленивую собаку.') двигатель.runAndWait() И вот результат. событие word срабатывает только после завершения речи и ни одно из слов фактически не печатается.
начало Нет слово Нет 1 0 окончание Нет Верно Я работал над этим несколько дней, пробовал другие библиотеки, такие как win32com.client.Dispatch('SAPI.Spvoice') и gtts, но ни одна из них, похоже, не может сделать то, что я хочу. Кажется, что в Sapi.spvoice есть событие, которое будет делать то, что я хочу, но я тоже не могу заставить его работать. хотя я тоже не уверен, что делаю это правильно. https://learn.microsoft.com/en-us/previ ... 3(v=vs.85)
из отправки импорта win32com.client импортировать win32com.client класс ContextEvents(): защита onWord(): print("произошло словесное событие") # Работа с результатом s = Отправка('SAPI.Spvoice') e = win32com.client.WithEvents(s, ContextEvents) s.Speak('Быстрая бурая лиса перепрыгнула через ленивую собаку.') Насколько я понял, для событий должен быть класс, и событие должно быть в форме On(event) в этом классе. или что-то. Я попробовал установить Espeak, но это тоже не сработало. держите в курсе, я новичок в Python, поэтому, если кто-нибудь захочет дать подробное объяснение, это будет действительно здорово.