Amazon web services 如何修改amazon lex输出语音?
我正在尝试用aws lex创建一个语音机器人 在这种情况下,意向响应之一是“您的事件INC11111已结束”(文本) 上述响应来自lambda函数。请检查下面的代码Amazon web services 如何修改amazon lex输出语音?,amazon-web-services,aws-lex,Amazon Web Services,Aws Lex,我正在尝试用aws lex创建一个语音机器人 在这种情况下,意向响应之一是“您的事件INC11111已结束”(文本) 上述响应来自lambda函数。请检查下面的代码 let response = (event, data) => { let lambda_response = { "sessionAttributes": { "incidentNo": event.currentIntent.slots.INCIDENT_NO, },
let response = (event, data) => {
let lambda_response = {
"sessionAttributes": {
"incidentNo": event.currentIntent.slots.INCIDENT_NO,
},
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "Hi " + data["User ID"].split('.')[0]+", Your Incident Number " + "INC"+event.currentIntent.slots.INCIDENT_NO+ " is ," + data["Status"]
},
}
};
return lambda_response;
};
Ex事件编号:INC11111
但声音输出是“你的事故公司110万11千1百11已关闭”
我所期待的是“你的事件公司一号关闭”。
提前感谢。您需要使用SSML(语音合成标记语言) 使用SSML标记,您可以自定义和控制语音的各个方面,例如发音、音量和语速 在SSML中,可以使用多种指令以不同的方式发音。在您的情况下,
say as
指令可能很有用
根据问题编辑,尝试以下更改
"message": {
"contentType": "SSML",
"content": "<speak> Hi " + data["User ID"].split('.')[0]+", Your Incident Number <say-as interpret-as="characters">" + "INC"+event.currentIntent.slots.INCIDENT_NO+ "</say-as> is ," + data["Status"] +"</speak>"
},
“消息”:{
“contentType”:“SSML”,
“内容”:“Hi”+数据[“用户ID”]。拆分('.)[0]+”,您的事件编号“+”INC“+事件。currentIntent.slots。事件号+”为“+数据[“状态”]+”
},
相关阅读:Hi@juned Ahsan,我收到aws lambda函数的响应。请检查更新的问题。@Vijay只需将contentType更改为SSML并将文本包装在标记中。我已为您提供的消息标记的答案添加了更新