SSML音素在Alexa服务模拟器中正常工作但不适用于Echo硬件

时间:2017-04-27 19:07:52

标签: node.js alexa alexa-skills-kit alexa-skill ssml

我正在创建一个简单的Alexa技能,并希望使用SSML正确地发音一些非英语单词。虽然在亚马逊服务模拟器中一切正常,但我无法在实际的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));

亚马逊服务模拟器将收到的回复显示为:

{
  "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": {}
}

如果我点击&#34; 倾听&#34;在服务模拟器中,响应拼写正确,因为测试1,法语中的红色棒是警棍胭脂

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

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:1)

我认为你只需要改变:

 "type": "PlainText"

  "type" "SSML"