snipsco / snips-issues

Feel free to share your bugs with us.
14 stars 5 forks source link

[Platform][Dialogue] Cannot play a TTS or a sound longer than 15 seconds within a dialog session. #171

Open Psychokiller1888 opened 5 years ago

Psychokiller1888 commented 5 years ago
[15:51:45] [Tts] was asked to say "<s>Ok! When I'm done giving you the instructions, call me by saying <break time="250ms"/> "Hey Snips" <break time="250ms"/>, wait for the short beep to finish playing and speak my wakeword, <break time="250ms"/> "Hey Alice"</s><s>Did you understand everything?</s>"
[15:51:48] [AudioServer] was asked to play a wav of 509.7 kB with id 'aa6cb9f0-b2c8-4a9c-919d-3d2b98765648' on site default
[15:52:00] [Dialogue] session with id 'e5fcbcab-fcdb-4d79-8b0f-31ffd6e530da' was ended on site default. The session was ended because one of the component didn't respond in a timely manner

The above failed with the classic "Ended because one of the component didn't respond in a timely manner"... Yep, because it took more time to speak the long sentence than the session length was. As we still don't have neither a session resurection, which would allow to reopen it, nor a on the fly configuration setter to change the session lenght or anything to go around this, I think the session timeout should start counting when the TTS has finished speaking and not like at the moment when it starts....

cpoisson commented 5 years ago

Hi @Psychokiller1888

I try to rephrase a bit your feature request.

What's missing? What's the issue The interaction is interrupted by the dialog manager when the TTS sentence duration is above 15 seconds, leaving no workaround to prevent this behavior.

Solution envisioned Wait for the TTS sentence to be uttered by the platform before waiting for the user to answer. (Modulate component time out (15 s) for the TTS according to the sentence duration)

Psychokiller1888 commented 5 years ago

I'm more than ok with that rephrasing

cpoisson commented 5 years ago

👍 We already have an item for this one in the backlog.

Meanwhile, it's not a perfect workaround, but you can change the components timeout default duration (15 seconds) to another one that suit your need (like 50% above the maximum duration of sentence you need)

Psychokiller1888 commented 5 years ago

The problem with changing is that then the timeout is too long. That's why I've been whining for an on the fly configuration change...

Psychokiller1888 commented 5 years ago

So 1.3.0 came out, but this wasn't fixed? I don't see it in the changelog, but it was tagged for next version which just happened?

cpoisson commented 5 years ago

Hello @Psychokiller1888, no the related feature is still scoped for a future release in our backlog.