NVGT Android TTS Blocks Input. Any Workaround?

Hi,

I'm trying to use NVGT's built-in tts_voice on Android, but I'm facing a problem: when I call speak_interrupt() to speak something, the script execution waits until the speech is finished. This works fine on PC, because i can use a second thread but on Android it makes real-time interaction difficult.

For example, if I have a list and press UP or DOWN, the input is delayed until the previous speech is done. I tried using speak_interrupt("") to cancel the current speech when pressing a key, which works, but the next speech doesn’t start until I press the key again.

I also tried using a second thread for TTS, but it seems TTS doesn't work at all on Android when used from another thread.

Is there a proper way to use TTS on Android that allows input to remain responsive and avoids making the script wait?

Thanks in advance.

Hi,

To be clear speak_interrupt should immediately interrupt the currently spoken phrase and then begin speaking the next one. Are you saying that the first call to speak_interrupt is stopping speech and the second one speaks the next message? Also, have you tried with different speech synthesizers on Android?

Sorry for the trouble.

Hi.
Sorry, and thank you for the help.
The issue was completely my fault. I was using tts_voice dot speak_interrupt(string text) because I was used to that from BGT script, I thought the methods are the same in NVGT.
Turned out in NVGT it's tts_voice dot speak with the interrupt flag instead.
Thanks again for your patience and for helping.

Hi,

I'm glad you got it fixed. Internally, the speak_interrupt function just calls speak with the interrupt boolean set to true, so I'm not sure why they'd be performing differently for you.