SAPI5でテキスト読み上げを使用する場合、話し言葉間のギャップを広げることは可能ですか?
問題はそのespです。一部の声では、単語がほぼつながっているため、スピーチが理解しにくくなります。
私はpythonとpyTTSモジュールを使用しています(SAPIを使用しているため、Windowsで)
OnWordイベントにフックして、time.sleep()またはtts.Pause()を追加しようとしましたが、すべてのイベントがキャッチされたとしても、話されたテキストの最後でのみ処理されているようです。同期または非同期フラグを使用します。
このNONWORKINGの例では、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( ""、 "、")
それは合理的な一時停止を設定します。受け入れられた解決策に満足しているので、私は上記のように一時停止方法を調査しませんでした。