我正在创建一个简单的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等于.......
任何想法我做错了什么?
答案 0 :(得分:1)
我认为你只需要改变:
"type": "PlainText"
是
"type" "SSML"