Pyttsx3 überspringt die ersten paar Wörter/BuchstabenPython

Python-Programme
Anonymous
 Pyttsx3 überspringt die ersten paar Wörter/Buchstaben

Post by Anonymous »

Ich baue einen Python-Voice-Chatbot neu und stoße auf eine Wand: Jedes Mal, wenn der Bot spricht, werden die ersten paar Wörter oder Buchstaben übersprungen. Hört sich an, als wäre der Audiopuffer nicht bereit, wenn die Wiedergabe beginnt.
Hier ist der kleinste Code, der das Problem immer noch anzeigt:
Python

Code: Select all

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.")
Erwartet: Der Bot sagt den ganzen Satz. Tatsächlich: Es schneidet den Anfang ab, wie „...lo there“ anstelle von „Hallo da“.
Dinge, die ich bereits versucht habe:
  • leeres engine.say("") vor der ersten echten Äußerung hinzufügen
  • etwas schlafen nach dem Wechsel init
  • Stimmen (zira, david, hazel)
  • Text mit Leerzeichen oder Blindwörtern auffüllen
  • Stellen Sie sicher, dass auf jedes say() runAndWait() folgt
Keines davon hat das Problem behoben.
Frage
Gibt es eine zuverlässige Möglichkeit, zu verhindern, dass pyttsx3 den Sprachanfang abschneidet? Kann ich die Engine zwingen, sich vor dem Sprechen vollständig aufzuwärmen, oder ein Ereignis einbinden, sodass die Wiedergabe erst beginnt, wenn der Puffer bereit ist?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post