0

我正在创建一个简单的 Alexa 技能,并希望使用 SSML 正确发音一些非英语单词。虽然在 Amazon Service Simulator 中一切正常,但我无法让它在实际的 Amazon Echo 硬件上运行。

例如,我从 Lambda 服务发送以下响应:

var cardTitle = "Test"
var speechOutput = "Test 1, red stick in French is <phoneme alphabet=\"ipa\" ph=\"bɑˈtɔn ˈɹuʒ\">baton rouge</phoneme>"
callback(session.attributes, buildSpeechletResponse(cardTitle, speechOutput, "", true));

Amazon Service Simulator 将收到的响应显示为:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "Test 1, red stick in French is <phoneme alphabet=\"ipa\" ph=\"bɑˈtɔn ˈɹuʒ\">baton rouge</phoneme>"
    },
    "reprompt": {
      "outputSpeech": {
        "type": "PlainText",
        "text": ""
      }
    },
    "shouldEndSession": true
  },
  "sessionAttributes": {}
}

如果我在Service Simulator中单击“ Listen ” ,则响应拼写正确,如测试 1,法语中的红色棒是 baton rouge

然而,当我在实际的 Echo Dot 硬件上测试相同的技能时,反应是: 测试 1,法语中的红色棒是音素字母等于 ipa ph 等于......

任何想法我做错了什么?

4

1 回答 1

1

我认为你只需要改变:

 "type": "PlainText"

成为

  "type" "SSML"
于 2017-04-28T11:31:09.433 回答