0

Alexa is saying minute wrong, how can I make her say minute as in 60 seconds when replying to my Skill ?

At the moment she says "as of 5 minutes ago" 5 very small objects haha

This is my skill

{
    "interactionModel": {
        "languageModel": {
            "invocationName": "jarvis",
            "intents": [
                {
                    "name": "NSStatus",
                    "slots": [],
                    "samples": [
                        "How am I doing"
                    ]
                },
                {
                    "name": "UploaderBattery",
                    "slots": [],
                    "samples": [
                        "How is my uploader battery"
                    ]
                },
                {
                    "name": "PumpBattery",
                    "slots": [],
                    "samples": [
                        "How is my pump battery"
                    ]
                },
                {
                    "name": "LastLoop",
                    "slots": [],
                    "samples": [
                        "When was my last loop"
                    ]
                },
                {
                    "name": "MetricNow",
                    "slots": [
                        {
                            "name": "metric",
                            "type": "LIST_OF_METRICS"
                        },
                        {
                            "name": "pwd",
                            "type": "AMAZON.US_FIRST_NAME"
                        }
                    ],
                    "samples": [
                        "What is my {metric}",
                        "What my {metric} is",
                        "What is {pwd} {metric}"
                    ]
                },
                {
                    "name": "InsulinRemaining",
                    "slots": [
                        {
                            "name": "pwd",
                            "type": "AMAZON.US_FIRST_NAME"
                        }
                    ],
                    "samples": [
                        "How much insulin do I have left",
                        "How much insulin do I have remaining",
                        "How much insulin does {pwd} have left",
                        "How much insulin does {pwd} have remaining"
                    ]
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                }
            ],
            "types": [
                {
                    "name": "LIST_OF_METRICS",
                    "values": [
                        {
                            "name": {
                                "value": "bg"
                            }
                        },
                        {
                            "name": {
                                "value": "blood glucose"
                            }
                        },
                        {
                            "name": {
                                "value": "number"
                            }
                        },
                        {
                            "name": {
                                "value": "iob"
                            }
                        },
                        {
                            "name": {
                                "value": "insulin on board"
                            }
                        },
                        {
                            "name": {
                                "value": "current basal"
                            }
                        },
                        {
                            "name": {
                                "value": "basal"
                            }
                        },
                        {
                            "name": {
                                "value": "cob"
                            }
                        },
                        {
                            "name": {
                                "value": "carbs on board"
                            }
                        },
                        {
                            "name": {
                                "value": "carbohydrates on board"
                            }
                        },
                        {
                            "name": {
                                "value": "loop forecast"
                            }
                        },
                        {
                            "name": {
                                "value": "ar2 forecast"
                            }
                        },
                        {
                            "name": {
                                "value": "forecast"
                            }
                        },
                        {
                            "name": {
                                "value": "raw bg"
                            }
                        },
                        {
                            "name": {
                                "value": "raw blood glucose"
                            }
                        }
                    ]
                }
            ]
        }
    }
}

Obviously this can't be launched until this is resolved as it just sounds ridiculous hahah

I tried to do some googling and searching on here but its really hard when 2 words are spelt the same to distinguish between minute and minute - see !

Thanks :D

johndoe
  • 4,387
  • 2
  • 25
  • 40
Henry Aspden
  • 1,863
  • 3
  • 23
  • 45

2 Answers2

1

Use SSML speech tag for the response texts.

<speak>
<say-as interpret-as="time" > 5' </say-as>
</speak>

will be pronounced as 5 minutes.

<speak>
<say-as interpret-as="time" > 5'10" </say-as>
</speak>

will be pronounced as 5 minutes and ten seconds.

Praveen Raj
  • 82
  • 1
  • 7
0

The say-as tag of SSML will help you to interpret your response in the desired way. You can use interpret-as="time" to make Alexa interpret it as time.

<speak>
   <say-as interpret-as="time" > 5'10" </say-as> ago.
</speak>

Beware that if you want just "minute" and not seconds, use it like 5'0". If you only include 5' it will read as "five apostrophe".

<say-as interpret-as="time" > 5'0" </say-as> ago.

In the same way for seconds alone use it like 0'10". This will read as "ten seconds".

<say-as interpret-as="time" > 0'10" </say-as>

More on say-as tag here.


phoneme

If you have some complex pronunciations or the same text has different pronunciations, then use phoneme tag to provide its exact phonetic pronunciation.

For example, The "minute" (time) and "minute" (size) can be pounced differently by giving its exact phonetic pronunciation symbols.

<speak>
   <phoneme alphabet="ipa" ph="/mʌɪˈnjuːt/">minute</phoneme>particles. 
   One <phoneme alphabet="ipa" ph="/ˈmɪnɪt/">minute</phoneme>.
</speak>

This will be spoken as "minute particles" and "One minute ago".

More on phoneme tag here.

johndoe
  • 4,387
  • 2
  • 25
  • 40