TTS - Microsoft / buttons payload

Hi there.

I’m using Microsoft Text-to-speech- TTS with Rasa OS. Everything works fine except when I’ve a response with buttons, the TTS always reads the button’s payload. Is there a way to configure TTS to skip reading a the payload?

  utter_menu_NIF:

  - text: "What do you like to read? Select your answer:"
    buttons:
    - title: "A book"
      payload: "/read a book"                 --------this line shouldn’t be read
    - title: "A newspaper"
      payload: "/read a newspaper"       -------- this line shouldn’t be read

The problem is that TTS “reads” like this:

What do you like to read? Select your answer:
1: A book read a book
2: A newspaper read a newspaper

When it should read like this:

What do you like to read? Select your answer:
1: A book 
2: A newspaper

I’ve a custom action that defines some configurations for the TTS service, which as this code:

                dispatcher.utter_message(json_message = {
                    "type": "event",
                    "name": "config",
                    "sessionParams": {
                        "userNoInputTimeoutMS": 5000,
                        "userNoInputRetries": 2,
                        "bargeIn": True,
                        "sttProfanityFilter": "keep",
                        "userNoInputSendEvent": True,
                        "sttSpeechContexts": [ 
                                                {
                                                    "phrases": ["

Is there any configuration to be added to avoid this issue?

Thanks a lot, for any help. Pedro

You probably want to use channel specific responses if you’re going to support both text and speech in the same bot.

Hi @stephens! Thanks for your reply.

Well, I use channel specific responses. The problem here is that the TTS service (Microsoft) reads the buttons’ payload, and it shouldn’t.

As I told, in this case:

  utter_menu_NIF:

  - text: "What do you like to read? Select your answer:"
    buttons:
    - title: "A book"
      payload: "/read a book"                 --------this line shouldn’t be read
    - title: "A newspaper"
      payload: "/read a newspaper"       -------- this line shouldn’t be read

The TTS service is also reading “/read a book” & “/read a newspaper” and I would like it to skip the reading of the payloads.

Thanks.

Use a separate channel response for the TTS and don’t use buttons in those responses.